diff --git a/changelog.txt b/changelog.txt index c0a51c8..aa41b73 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,7 +1,85 @@ Theme : Anew -Version : 2.0.8 +Version : 2.2.2 Author : Alexander "Alx" Agnarson - http://alxmedia.se +February 6 2015 - 2.2.2 +=========================================================== +- Fixed dropdown menus for iPhone +- Fixed toggle sidebars for iPhone and iPad +- Fixed typos in functions.php - @jaylinski (via GitHub) +- Added missing wp_reset_postdata to tabs and posts widgets - @Marco Almeida +- Optimized search results - @Marco Almeida +- Updated language files +- Updated to jPlayer 2.9.2 + +January 29 2015 - 2.2.1 +=========================================================== +- Fixed double title tags + +December 31 2014 - 2.2.0 +=========================================================== +- Added WP 4.1 title tag support +- Updated to OptionTree 2.4.6 + +October 10 2014 - 2.1.9 +=========================================================== +- Updated documentation +- Fixed gallery format post slider, downgraded to flexslider 2.1 instead of 2.2 +- Re-fixed responsive Jetpack embeds + +September 18 2014 - 2.1.8 +=========================================================== +- Added option to turn recommended plugins off +- Fixed protocol-relative URLs for Google Fonts - @chkorn (via GitHub) +- Fixed Twitter embeds - @ShinichiNishikawa (via GitHub) +- Fixed capability with WP-UserAgent - @JayXon (via GitHub) + +September 3 2014 - 2.1.7 +=========================================================== +- Updated to Font Awesome 4.2.0 + +August 20 2014 - 2.1.6 +=========================================================== +- Updated to OptionTree 2.4.2 + +May 17 2014 - 2.1.5 +=========================================================== +- Updated to OptionTree 2.4.0 +- Updated to Font Awesome 4.1.0 +- Improved alx_wp_title function - @Gummibeer (via GitHub) + +April 16 2014 - 2.1.4 +=========================================================== +- Fixed IE8 blank page issue, downgraded to stable selectivizr.js 1.0.2 instead of 1.0.3b + +Mars 31 2014 - 2.1.3 +=========================================================== +- WP-PageNavi optimizations - @devinsays (via GitHub) +- Fixed admin comment accent color styling option +- Restructured comment/pingback counts for no plural translation + +Mars 24 2014 - 2.1.2 +=========================================================== +- Updated to OptionTree 2.3.4 + +February 10 2014 - 2.1.1 +=========================================================== +- Updated to OptionTree 2.3.0 +- Changed checkbox options to the new on-off toggle +- Added additional Google fonts +- Updated help dropdown information and included theme documentation with the theme + +January 29 2014 - 2.1.0 +=========================================================== +- Updated to OptionTree 2.2.2 +- Fixed background-size styling option +- Fixed comment counts to be hidden when disabled +- Removed inline css from comments template + +January 23 2014 - 2.0.9 +=========================================================== +- Updated to OptionTree 2.2.1 + December 28 2013 - 2.0.8 =========================================================== - Added missing "says:" language string for tabs widget diff --git a/comments.php b/comments.php index f0ca0b4..2b83830 100644 --- a/comments.php +++ b/comments.php @@ -7,8 +7,8 @@
field_name:is(value), field_name:not(value), field_name:contains(value), field_name:less_than(value), field_name:less_than_or_equal_to(value), field_name:greater_than(value), or field_name:greater_than_or_equal_to(value).', 'option-tree' ) . 'value is a placeholder for your condition, which can be in the form of %s.', 'option-tree' ), 'field_id:is(value), field_id:not(value), field_id:contains(value), field_id:less_than(value), field_id:less_than_or_equal_to(value), field_id:greater_than(value), or field_id:greater_than_or_equal_to(value)' ) . '' . sprintf( __( 'Export your Settings into a fully functional theme-options.php file by clicking this button. For more information on how to use this file read the theme mode %s. Remember, you should always check the file for errors before including it in your theme.', 'option-tree' ), 'OptionTree->Documentation' ) . '
' . sprintf( __( 'Export your Settings into a fully functional %s file. If you want to add your own custom %s text domain to the file, enter it into the text field before exporting. For more information on how to use this file read the documentation on %s. Remember, you should always check the file for errors before including it in your theme.', 'option-tree' ), 'theme-options.php', 'I18n', '' . __( 'Theme Mode', 'option-tree' ) . '' ) . '
OptionTree->Documentation "
+"for more information on which ones."
+msgstr ""
+"Standard. standardväärtuse määramine mõjub vaid mõnele "
+"valikutüübile. Lisainfot leiad OptionTree->Dokumentatsioon "
+"lehelt."
+
+#: ../includes/ot-functions-admin.php:4103
+msgid ""
+"Rows: Enter a numeric value for the number of rows in your "
+"textarea. This will only affect the following option types: CSS, Textarea, & "
+"Textarea Simple."
+msgstr ""
+"Ridu: sisesta numbriline väärtus, mis määrab ridade arvu "
+"tekstiväljal. Mõjutab vaid järgnevaid valikutüüpe: CSS, tekstiväli ja lihtne "
+"tekstiväli."
+
+#: ../includes/ot-functions-admin.php:4111
+msgid ""
+"Post Type: Add a comma separated list of post type like "
+"'post,page'. This will only affect the following option types: Custom Post "
+"Type Checkbox, & Custom Post Type Select."
+msgstr ""
+"Postituse tüüp: lisa siia komaga eraldatud loend "
+"postitüüpidest - näiteks 'post,page'. See mõjutab vaid järgnevaid "
+"valikutüüpe: enda loodud postitüübi valikkastid ja enda loodud postitüübi "
+"rippvalik."
+
+#: ../includes/ot-functions-admin.php:4119
+msgid ""
+"Taxonomy: Add a comma separated list of any registered "
+"taxonomy like 'category,post_tag'. This will only affect the following "
+"option types: Taxonomy Checkbox, & Taxonomy Select."
+msgstr ""
+"Taksonoomia: lisa komaga eraldatud loend registreeritud "
+"taksonoomiatest nagu 'category,post_tag'. See mõjutab vaid järgnevaid "
+"valikutüüpe: taksonoomia valikukastid & taksonoomia rippvalik."
+
+#: ../includes/ot-functions-admin.php:4127
+msgid ""
+"Min, Max, & Step: Add a comma separated list of options in "
+"the following format 0,100,1 (slide from 0-100 in "
+"intervals of 1). The three values represent the minimum, "
+"maximum, and step options and will only affect the Numeric Slider option "
+"type."
+msgstr ""
+"min, max & aste: lisa komaga eraldatud loend valikutest "
+"järgnevas formaadis: 0,100,1 ( liugle vahemikus 0-100"
+"code> intervalliga 1 ). Need kolm väärtust näitavad miinimumi, "
+"maksimumi ja astme valikuid ning mõjutavad vaid numbriliuguri valikutüüpi."
+
+#: ../includes/ot-functions-admin.php:4135
+msgid "CSS Class: Add and optional class to this option type."
+msgstr ""
+"CSS klass: Soovi korral lisa sellele valikutüübile klass."
+
+#: ../includes/ot-functions-admin.php:4143
+#, php-format
+msgid ""
+"Condition: Add a comma separated list (no spaces) of "
+"conditions in which the field will be visible, leave this setting empty to "
+"always show the field. In these examples, value is a "
+"placeholder for your condition, which can be in the form of %s."
+msgstr ""
+"Tingimus: lisa komaga eraldatud loend ( ilma tühikuteta ) "
+"tingimustest, mille korral see väli on nähtav. Välja alati näitamiseks jäta "
+"tühjaks. Nendes näidetes on value kohahoidja teie tingimustele, "
+"mis võivad olla kujul %s."
+
+#: ../includes/ot-functions-admin.php:4151
+msgid ""
+"Operator: Choose the logical operator to compute the result "
+"of the conditions."
+msgstr ""
+"Operaator: vali loogiline operaator, millega arvutada välja "
+"tingimuste tulemus."
+
+#: ../includes/ot-functions-admin.php:4154
+#: ../includes/ot-functions-docs-page.php:111
+#: ../includes/ot-functions-docs-page.php:378
+msgid "and"
+msgstr "ja"
+
+#: ../includes/ot-functions-admin.php:4155
+msgid "or"
+msgstr "või"
+
+#: ../includes/ot-functions-admin.php:4201
+#: ../includes/ot-functions-docs-page.php:29
+msgid "Label"
+msgstr "Nimetus"
+
+#: ../includes/ot-functions-admin.php:4211
+msgid "Value"
+msgstr "Väärtus"
+
+#: ../includes/ot-functions-admin.php:4221
+msgid "Image Source (Radio Image only)"
+msgstr "Pildi allikas ( ainult pildiga raadiovaliku jaoks )"
+
+#: ../includes/ot-functions-admin.php:4267
+msgid ""
+"Title: Displayed as a contextual help menu item on the "
+"Theme Options page."
+msgstr ""
+"Pealkiri: kuvatakse kui kontekstipõhine abimenüü element "
+"teema valikute lehel."
+
+#: ../includes/ot-functions-admin.php:4283
+msgid ""
+"Content: Enter the HTML content about this contextual help "
+"item displayed on the Theme Option page for end users to read."
+msgstr ""
+"Sisu: sisesta HTML sisu selle kontekstipõhise elemendi "
+"kohta. Näidatakse teema valikute lehel lõppkasutajatele."
+
+#: ../includes/ot-functions-admin.php:4314
+msgid "Layout"
+msgstr "Paigutus"
+
+#: ../includes/ot-functions-admin.php:4316
+#: ../includes/ot-functions-admin.php:4317
+msgid "Activate"
+msgstr "Aktiveeri"
+
+#: ../includes/ot-functions-admin.php:4353 ../includes/ot-meta-box-api.php:223
+#: ../includes/ot-settings-api.php:610
+msgid "Title"
+msgstr "Pealkiri"
+
+#: ../includes/ot-functions-admin.php:4693
+msgid "New Layout"
+msgstr "Uus paigutus"
+
+#: ../includes/ot-functions-admin.php:5448
+msgid "Link URL"
+msgstr "Viide"
+
+#: ../includes/ot-functions-admin.php:5455
+msgid "Link Title"
+msgstr "Lingi pealkiri"
+
+#: ../includes/ot-functions-admin.php:5485
+msgid "Quote"
+msgstr "Tsitaat"
+
+#: ../includes/ot-functions-admin.php:5494
+msgid "Source Name (ex. author, singer, actor)"
+msgstr "Allika nimi (nt autor, laulja, näitleja)"
+
+#: ../includes/ot-functions-admin.php:5501
+msgid "Source URL"
+msgstr "Allika URL"
+
+#: ../includes/ot-functions-admin.php:5508
+msgid "Source Title (ex. book, song, movie)"
+msgstr "Allika pealkiri (nt raamat, laul, film)"
+
+#: ../includes/ot-functions-admin.php:5515
+msgid "Source Date"
+msgstr "Allika kuupäev"
+
+#: ../includes/ot-functions-admin.php:5545
+msgid "Video"
+msgstr "Video"
+
+#: ../includes/ot-functions-admin.php:5554
+#, php-format
+msgid ""
+"Embed video from services like Youtube, Vimeo, or Hulu. You can find a list "
+"of supported oEmbed sites in the %1$s. Alternatively, you could use the "
+"built-in %2$s shortcode."
+msgstr ""
+"Lisa video välisest allikast, nagu näiteks Youtube, Vimeo või Hulu. "
+"Nimekirja toetatud oEmbed veebilehtedest leiad %1$s. Teine variant oleks "
+"kasutada sisse ehitatud lühikoodi %2$s."
+
+#: ../includes/ot-functions-admin.php:5554
+#: ../includes/ot-functions-admin.php:5593
+msgid "Wordpress Codex"
+msgstr "Wordpress Codex"
+
+#: ../includes/ot-functions-admin.php:5584
+msgid "Audio"
+msgstr "Audio"
+
+#: ../includes/ot-functions-admin.php:5593
+#, php-format
+msgid ""
+"Embed audio from services like SoundCloud and Rdio. You can find a list of "
+"supported oEmbed sites in the %1$s. Alternatively, you could use the built-"
+"in %2$s shortcode."
+msgstr ""
+"Lisa heli teenustest SoundCloud, Rdio või teistest sarnastest. Nimekirja "
+"toetatud oEmbed veebilehtedest leiad %1$s. Teine variant oleks kasutada "
+"sisse ehitatud lühikoodi %2$s."
+
+#: ../includes/ot-functions-docs-page.php:30
+msgid ""
+"The Label field should be a short but descriptive block of text 100 "
+"characters or less with no HTML."
+msgstr ""
+"Nimetuse väli peaks olema lühike kuid kirjeldav tekstiblokk, mis on kuni 100 "
+"tähemärki pikk ja ei sisalda HTML-i."
+
+#: ../includes/ot-functions-docs-page.php:32
+msgid "ID"
+msgstr "ID"
+
+#: ../includes/ot-functions-docs-page.php:33
+msgid ""
+"The ID field is a unique alphanumeric key used to differentiate each theme "
+"option (underscores are acceptable). Also, the plugin will change all text "
+"you write in this field to lowercase and replace spaces and special "
+"characters with an underscore automatically."
+msgstr ""
+"ID väli on unikaalne tähtnumbriline võti eristamaks teema valikuid "
+"( alakriipsud on lubatud ). Lisaks muudetakse kõik siia välja kirjutatav "
+"tekst väiketähtedeks ning erimärgid asendatakse automaatselt alakriipsudega."
+
+#: ../includes/ot-functions-docs-page.php:35
+msgid "Type"
+msgstr "Tüüp"
+
+#: ../includes/ot-functions-docs-page.php:36
+msgid ""
+"You are required to choose one of the supported option types when creating a "
+"new option. Here is a list of the available option types. For more "
+"information about each type click the Option Types tab to the "
+"left."
+msgstr ""
+"Uue valiku loomisel peate valima mõne toetatud valikutüüpidest. Siin on "
+"nimekiri saadaolevatest valikutüüpidest. Lisainfo igaühe kohta neist on "
+"saadaval vajutades vasakul olevat Valiku tüüp sakki."
+
+#: ../includes/ot-functions-docs-page.php:44
+msgid ""
+"Enter a detailed description for the users to read on the Theme Options "
+"page, HTML is allowed. This is also where you enter content for both the "
+"Textblock & Textblock Titled option types."
+msgstr ""
+"Sisesta detailne kirjeldus, mida kasutajad saavad lugeda teema valikute "
+"lehel. HTML on lubatud. See on ka koht sisu sisestamiseks tekstibloki ja "
+"pealkirjaga tekstibloki valikutüüpide jaoks."
+
+#: ../includes/ot-functions-docs-page.php:46
+msgid "Choices"
+msgstr "Valikud"
+
+#: ../includes/ot-functions-docs-page.php:47
+msgid ""
+"Click the \"Add Choice\" button to add an item to the choices array. This "
+"will only affect the following option types: Checkbox, Radio, Select & "
+"Select Image."
+msgstr ""
+"Elemendi lisamiseks valikute massiivi vajuta \"Lisa valik\" nuppu. See "
+"mõjutab järgnevaid valikutüüpe: valikkastid, raadiokastid, rippvalik ja "
+"pildivalik."
+
+#: ../includes/ot-functions-docs-page.php:50
+msgid ""
+"Click the \"Add Setting\" button found inside a newly created setting to add "
+"an item to the settings array. This will only affect the List Item type."
+msgstr ""
+"Elemendi lisamiseks sätete massiivi vajuta vastloodud sättes asuvat \"Lisa "
+"säte\" nuppu. See mõjutab vaid nimekirja elemendi tüüpi."
+
+#: ../includes/ot-functions-docs-page.php:52
+msgid "Standard"
+msgstr "Standartne"
+
+#: ../includes/ot-functions-docs-page.php:53
+msgid ""
+"Setting the standard value for your option only works for some option types. "
+"Those types are one that have a single string value saved to them and not an "
+"array of values."
+msgstr ""
+"Standard väärtuse määramine oma valikule töötab vaid mõnede valikutüüpidega. "
+"Need tüübid on sellised, kus hoitakse vaid ühte väärtust stringi kujul, "
+"mitte väärtuste massiivi."
+
+#: ../includes/ot-functions-docs-page.php:55
+msgid "Rows"
+msgstr "Ridasid"
+
+#: ../includes/ot-functions-docs-page.php:56
+msgid ""
+"Enter a numeric value for the number of rows in your textarea. This will "
+"only affect the following option types: CSS, Textarea, & Textarea Simple."
+msgstr ""
+"Sisesta numbriline väärtus, mis määrab ridade arvu tekstialas. See mõjutab "
+"vaid järgnevaid valikutüüpe: CSS, tekstiala & lihtne tekstiala."
+
+#: ../includes/ot-functions-docs-page.php:58
+msgid "Post Type"
+msgstr "Postitüüp"
+
+#: ../includes/ot-functions-docs-page.php:59
+msgid ""
+"Add a comma separated list of post type like post,page. This "
+"will only affect the following option types: Custom Post Type Checkbox, & "
+"Custom Post Type Select. Below are the default post types available with "
+"WordPress and that are also compatible with OptionTree. You can also add "
+"your own custom post_type. At this time any does "
+"not seem to return results properly and is something I plan on looking into."
+msgstr ""
+"Lisa komaga eraldatud loetelu postitüüpidest, näiteks post,page"
+"code>. See mõjutab vaid järgnevaid valikutüüpe: kohandatud postitüübi "
+"valikkastid ja kohandatud postitüübi rippmenüü. All on vaikimisi Wordpressis "
+"saadaval postitüübid, mis on OptionTreega kokkusobivad. Saad kasutada ka "
+"enda loodud post_type. Hetkel any ei tagasta "
+"õigeid väärtusi."
+
+#: ../includes/ot-functions-docs-page.php:67
+msgid "Taxonomy"
+msgstr "Taksonoomia"
+
+#: ../includes/ot-functions-docs-page.php:68
+msgid ""
+"Add a comma separated list of any registered taxonomy like category,"
+"post_tag. This will only affect the following option types: Taxonomy "
+"Checkbox, & Taxonomy Select."
+msgstr ""
+"Lisa komaga eraldatud loend registreeritud taksonoomiatest nagu 'category,"
+"post_tag'. See mõjutab vaid järgnevaid valikutüüpe: taksonoomia valikukastid "
+"& taksonoomia rippvalik."
+
+#: ../includes/ot-functions-docs-page.php:70
+msgid "Min, Max, & Step"
+msgstr "Miinimum, maksimum ning aste"
+
+#: ../includes/ot-functions-docs-page.php:71
+msgid ""
+"Add a comma separated list of options in the following format 0,100,1"
+"code> (slide from 0-100 in intervals of 1). The "
+"three values represent the minimum, maximum, and step options and will only "
+"affect the Numeric Slider option type."
+msgstr ""
+"Lisa komaga eraldatud loend valikutest järgnevas formaadis: 0,100,1"
+"code> ( liugle vahemikus 0-100 intervalliga 1 ). "
+"Need kolm väärtust näitavad miinimumi, maksimumi ja astme valikuid ning "
+"mõjutavad vaid numbriliuguri valikutüüpi."
+
+#: ../includes/ot-functions-docs-page.php:73
+msgid "CSS Class"
+msgstr "CSS klass"
+
+#: ../includes/ot-functions-docs-page.php:74
+msgid "Add and optional class to any option type."
+msgstr "Soovi korral lisa klassi-atribuut ükskõik millisele valikutüübile."
+
+#: ../includes/ot-functions-docs-page.php:76
+msgid "Condition"
+msgstr "Tingimus"
+
+#: ../includes/ot-functions-docs-page.php:77
+#, php-format
+msgid ""
+"Add a comma separated list (no spaces) of conditions in which the field will "
+"be visible, leave this setting empty to always show the field. In these "
+"examples, %s is a placeholder for your condition, which can be in the form "
+"of %s."
+msgstr ""
+"Lisa komaga eraldatud loend ( ilma tühikuteta ) tingimustest, mille korral "
+"see väli on nähtav. Tühjaks jättes on väli alati nähtav. Nendes näidetes on "
+"%s tingimuse kohahoidjaks, mis tohib olla kujul %s."
+
+#: ../includes/ot-functions-docs-page.php:79
+msgid "Operator"
+msgstr "Operaator"
+
+#: ../includes/ot-functions-docs-page.php:80
+#, php-format
+msgid ""
+"Choose the logical operator to compute the result of the conditions. Your "
+"options are %s and %s."
+msgstr ""
+"Vali loogiline operaator, millega arvutada tingimuste tulemus. Sinu "
+"valikuteks on %s ja %s."
+
+#: ../includes/ot-functions-docs-page.php:111
+#, php-format
+msgid ""
+"The Background option type is for adding background styles to your theme "
+"either dynamically via the CSS option type below or manually with %s. The "
+"Background option type has filters that allow you to remove fields or change "
+"the defaults. For example, you can filter %s to remove unwanted fields from "
+"all Background options or an individual one. You can also filter %s. These "
+"filters allow you to fine tune the select lists for your specific needs."
+msgstr ""
+"Tausta valikutüüpi kasutatakse teemasse tausta stiilide lisamiseks "
+"dünaamiliselt alloleva CSS valikutüübiga või käsitsi kasutades %s. Tausta "
+"valikutüübil on filtrid, mis võimaldavad eemaldada välju või muuta "
+"vaikeväärtusi. Näiteks saab filtreerida %s eemaldamaks soovimatuid välju "
+"kõikidelt tausta valikutelt või ainult ühelt neist. Saab filtreerida ka %s. "
+"Need filtrid võimaldavad sul sättida valikute nimekirja täpselt oma "
+"vajadustele vastavaks."
+
+#: ../includes/ot-functions-docs-page.php:114
+#, php-format
+msgid ""
+"The Border option type is used to set width, unit, style, and color values. "
+"The text input excepts a numerical value and the unit select lets you choose "
+"the unit of measurement to add to that value. Currently the default units "
+"are %s, %s, %s, and %s. However, you can change them with the %s filter. The "
+"style select lets you choose the border style. The default styles are %s, "
+"%s, %s, %s, %s, %s, %s, and %s. However, you can change them with the %s "
+"filter. The colorpicker saves a hexadecimal color code."
+msgstr ""
+"Äärise valikutüüp kasutatakse laiuse, ühiku, stiili ja värvi määramiseks. "
+"Tekstisisendisse saab kirjutada numbrilise väärtuse ning rippmenüü laseb "
+"valida talle mõõtühiku. Hetkel on vaikimisi ühikuteks %s, %s, %s ja %s. Neid "
+"saab muuta %s filtriga. Stiili rippmenüü laseb valida äärise stiili. "
+"Vaikimisi stiilid on %s, %s, %s, %s, %s, %s, %s ja %s. Neid saab muuta %s "
+"filtriga. Värvivalija salvestab värvikoodi kuueteistkümnendiksüsteemis."
+
+#: ../includes/ot-functions-docs-page.php:117
+#, php-format
+msgid ""
+"The Box Shadow option type is used to set %s, %s, %s, %s, %s, and %s values."
+msgstr ""
+"Kasti varju valikutüüpi kasutatakse %s, %s, %s, %s, %s ja %s väärtuse "
+"määramiseks."
+
+#: ../includes/ot-functions-docs-page.php:120
+msgid ""
+"The Category Checkbox option type displays a list of category IDs. It allows "
+"the user to check multiple category IDs and will return that value as an "
+"array for use in a custom function or loop."
+msgstr ""
+"Kategooria valikkastide valikutüüp näitab loendit kategooriate ID-dest. See "
+"laseb kasutajal märkida mitu kategooria ID-d ja tagastab selle väärtuse "
+"massiivina, enda funktsioonis või tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:123
+msgid ""
+"The Category Select option type displays a list of category IDs. It allows "
+"the user to select only one category ID and will return that value for use "
+"in a custom function or loop."
+msgstr ""
+"Kategooria rippvaliku valikutüüp näitab loendit kategooriate ID-dest. See "
+"laseb kasutajal märkida üks kategooria ID ja tagastab selle väärtuse enda "
+"funktsioonis või tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:126
+msgid ""
+"The Checkbox option type displays a group of choices. It allows the user to "
+"check multiple choices and will return that value as an array for use in a "
+"custom function or loop."
+msgstr ""
+"Valikkastide valikutüüp kuvab valikute grupi. See laseb kasutajal märkida "
+"mitu valikut ning tagastab selle väärtuse massiivina enda funktsioonis või "
+"tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:129
+msgid ""
+"The Colorpicker option type saves a hexadecimal color code for use in CSS. "
+"Use it to modify the color of something in your theme."
+msgstr ""
+"Värvi valija valikutüüp salvestab värvikoodi kuueteistkümnendiksüsteemis, "
+"mida saab kasutada CSS-is. Kasuta seda millegi värvi muutmiseks enda teemas."
+
+#: ../includes/ot-functions-docs-page.php:132
+#, php-format
+msgid ""
+"The Colorpicker Opacity option type saves a hexadecimal color code with an "
+"opacity value from %s to %s in increments of %s. Though the value is saved "
+"as hexadecimal, if used within the CSS option type the color and opacity "
+"values will be converted into a valid RGBA CSS value."
+msgstr ""
+"Värvivalija läbipaistmatuse valikutüüp salvestab värvikoodi "
+"kuueteistkümnendiksüsteemis läbipaistmatuse väärtusega %s kuni %s sammuga "
+"%s. Kuigi väärtus salvestatakse kuueteistkümnendiksüsteemis, kasutades teda "
+"koos CSS valikutüübiga teisendatakse ja korrektseks RGBA CSS väärtuseks."
+
+#: ../includes/ot-functions-docs-page.php:135
+#, php-format
+msgid ""
+"The CSS option type is a textarea that when used properly can add dynamic "
+"CSS to your theme from within OptionTree. Unfortunately, due server "
+"limitations you will need to create a file named %s at the root level of "
+"your theme and change permissions using %s so the server can write to the "
+"file. I have had the most success setting this single file to %s but feel "
+"free to play around with permissions until everything is working. A good "
+"starting point is %s. When the server can save to the file, CSS will "
+"automatically be updated when you save your Theme Options."
+msgstr ""
+"CSS valikutüüp on tekstiväli, mille õigel kasutamisel saab teemale lisada "
+"dünaamiliselt genereeritud CSS-i OptionTree kaudu. Serveri piirangute tõttu "
+"peate selleks looma teema juurkausta faili nimega %s ning muutma õiguseid "
+"kasutades %s, et server saaks faili kirjutada. Mul on tulnud parimad "
+"tulemused siis, kui muutsin selle ainsa faili õiguste väärtuseks %s, kuid "
+"katsetage teisi variante, kuni kõik toimib nagu vaja. Hea alguspunkt on %s. "
+"Kui server saab edukalt faili salvestada. siis uuendatakse CSS automaatselt "
+"teema salvestamisel."
+
+#: ../includes/ot-functions-docs-page.php:137
+#, php-format
+msgid ""
+"This example assumes you have an option with the ID of %1$s. Which means "
+"this option will automatically insert the value of %1$s into the %2$s when "
+"the Theme Options are saved."
+msgstr ""
+"See näide eeldab, et sul on valik ID-ga %1$s. See tähendab, et teema "
+"valikute salvestamisel sisestatakse %1$s väärtus automaatselt %2$s külge."
+
+#: ../includes/ot-functions-docs-page.php:139
+msgid "Input"
+msgstr "Sisend"
+
+#: ../includes/ot-functions-docs-page.php:145
+msgid "Output"
+msgstr "Väljund"
+
+#: ../includes/ot-functions-docs-page.php:154
+#, php-format
+msgid ""
+"The Custom Post Type Select option type displays a list of IDs from any "
+"available WordPress post type or custom post type. It allows the user to "
+"check multiple post IDs for use in a custom function or loop. Requires at "
+"least one valid %1$s in the %1$s field."
+msgstr ""
+"Enda loodud postitüübi rippvaliku valikutüüp kuvab nimekirja kõikidest "
+"WordPressi postitüüpide või enda loodud postitüüpide ID-dest. See võimaldab "
+"kasutajal märgistada mitu postituse ID-d, mida kasutada enda funktsioonis "
+"või tsüklis. Vajab vähemalt ühte sobivat %1$s väljal %1$s."
+
+#: ../includes/ot-functions-docs-page.php:157
+#, php-format
+msgid ""
+"The Custom Post Type Select option type displays a list of IDs from any "
+"available WordPress post type or custom post type. It will return a single "
+"post ID for use in a custom function or loop. Requires at least one valid "
+"%1$s in the %1$s field."
+msgstr ""
+"Enda loodud postitüübi rippvaliku valikutüüp kuvab nimekirja kõikidest "
+"WordPressi postitüüpide või enda loodud postitüüpide ID-dest. See tagastab "
+"ühe postituse ID, mida kasutada enda funktsioonis või tsüklis. Vajab "
+"vähemalt ühte sobivat %1$s väljal %1$s."
+
+#: ../includes/ot-functions-docs-page.php:160
+msgid ""
+"The Date Picker option type is tied to a standard form input field which "
+"displays a calendar pop-up that allow the user to pick any date when focus "
+"is given to the input field. The returned value is a date formatted string."
+msgstr ""
+"Kuupäeva valiku valikutüüp on seotud standartse vormi sisendväljaga. Kui "
+"sellele antakse fookus, siis kuvatakse kalendri aken, mis laseb kasutajal "
+"valida suvalise kuupäeva. Tagastatav väärtus on kuupäeva formaadis string."
+
+#: ../includes/ot-functions-docs-page.php:163
+msgid ""
+"The Date Time Picker option type is tied to a standard form input field "
+"which displays a calendar pop-up that allow the user to pick any date and "
+"time when focus is given to the input field. The returned value is a date "
+"and time formatted string."
+msgstr ""
+"Kuupäeva ja aja valiku valikutüüp on seotud standartse vormi sisendväljaga. "
+"Kui sellele antakse fookus, siis kuvatakse kalendri aken, mis laseb "
+"kasutajal valida suvalise kuupäeva ja kellaaja. Tagastatav väärtus on "
+"kuupäeva ja kellaaja formaadis string."
+
+#: ../includes/ot-functions-docs-page.php:166
+#, php-format
+msgid ""
+"The Dimension option type is used to set width and height values. The text "
+"inputs except numerical values and the select lets you choose the unit of "
+"measurement to add to that value. Currently the default units are %s, %s, "
+"%s, and %s. However, you can change them with the %s filter."
+msgstr ""
+"Mõõtme valikutüüpi kasutatakse laiuse ja kõrguse väärtuste jaoks. "
+"Tekstisisendisse saab kirjutada numbrilise väärtuse ning rippmenüü laseb "
+"valida talle mõõtühiku. Hetkel on vaikimisi ühikuteks %s, %s, %s ja %s. Neid "
+"saab muuta %s filtriga."
+
+#: ../includes/ot-functions-docs-page.php:169
+msgid ""
+"The Gallery option type saves a comma separated list of image attachment "
+"IDs. You will need to create a front-end function to display the images in "
+"your theme."
+msgstr ""
+"Galerii valikutüüp salvestab komaga eraldatud loendi pildi tüüpi manuste ID-"
+"dest. Nende piltide teemas näitamiseks tuleb luua kuvatava lehe jaoks "
+"funktsioon."
+
+#: ../includes/ot-functions-docs-page.php:172
+#, php-format
+msgid ""
+"The Google Fonts option type will dynamically enqueue any number of Google "
+"Web Fonts into the document %1$s. As well, once the option has been saved "
+"each font family will automatically be inserted into the %2$s array for the "
+"Typography option type. You can further modify the font stack by using the "
+"%3$s filter, which is passed the %4$s, %5$s, and %6$s parameters. The %6$s "
+"parameter is being passed from %7$s, so it will be the ID of a Typography "
+"option type. This will allow you to add additional web safe fonts to "
+"individual font families on an as-need basis."
+msgstr ""
+"Google Fontide valikutüüp kaasab dokumendi %1$s dünaamiliselt soovitud hulga "
+"Google veebifonte. Lisaks salvestub iga valitud fondi perekond automaatselt "
+"%2$s massiivi tüpograafia valikutüübis. Fondi salve saab veel rohkem "
+"modifitseerida %3$s filtriga, mis saab kaasa %4$s, %5$s ja %6$s parameetrid. "
+"%6$s parameeter antakse %7$s, nii et ta on tüpograafia valikutüübi ID. See "
+"võimaldab lisada veebis kasutamiseks sobilikke fonte erinevatele fondi "
+"perekondadele vastavalt vajadusele."
+
+#: ../includes/ot-functions-docs-page.php:175
+#, php-format
+msgid ""
+"The JavaScript option type is a textarea that uses the %s code editor to "
+"highlight your JavaScript and display errors as you type."
+msgstr ""
+"JavaScript valikutüüp on tekstiväli, mis kasutab %s koodi redaktorit sinu "
+"kirjutatava JavaScripti süntaksi esile toomiseks ning vigade näitamiseks "
+"kirjutamise ajal."
+
+#: ../includes/ot-functions-docs-page.php:178
+msgid "The Link Color option type is used to set all link color states."
+msgstr ""
+"Lingi värvi valikutüüpi kasutatakse kõikide linkide värviolekute määramiseks."
+
+#: ../includes/ot-functions-docs-page.php:181
+msgid ""
+"The List Item option type replaced the Slider option type and allows for a "
+"great deal of customization. You can add settings to the List Item and those "
+"settings will be displayed to the user when they add a new List Item. "
+"Typical use is for creating sliding content or blocks of code for custom "
+"layouts."
+msgstr ""
+"Nimekirja valikutüüp vahetas välja slaidiesitaja valikutüübi ning võimaldab "
+"põhjalikku kohandamist. Nimekirja elementidele saab lisada sätteid, mida "
+"näidatakse kasutajale uue elemendi lisamisel. Tüüpiline kasutusjuht on "
+"liugleva sisu või koodiblokkide loomiseks."
+
+#: ../includes/ot-functions-docs-page.php:184
+#, php-format
+msgid ""
+"The Measurement option type is a mix of input and select fields. The text "
+"input excepts a value and the select lets you choose the unit of measurement "
+"to add to that value. Currently the default units are %s, %s, %s, and %s. "
+"However, you can change them with the %s filter."
+msgstr ""
+"Mõõdu valikutüüp on segu sisendväljast ja valikuväljast. Tekstisisend eeldab "
+"väärtust ning rippvalik laseb valida mõõduühiku sellele väärtusele. Hetkel "
+"on vaikimisi ühikuteks %s, %s, %s ja %s. Neid saab muuta %s filtriga."
+
+#: ../includes/ot-functions-docs-page.php:186
+#, php-format
+msgid ""
+"Example filter to add new units to the Measurement option type. Added to %s."
+msgstr "Näidisfilter mõõdu valikutüüpi ühikute lisamiseks. Lisatakse %s faili."
+
+#: ../includes/ot-functions-docs-page.php:199
+msgid ""
+"Example filter to completely change the units in the Measurement option "
+"type. Added to functions.php."
+msgstr ""
+"Näidisfilter, mis muudab mõõdu valikutüübi ühikud täiesti teistsugusteks. "
+"Lisatakse functions.php faili."
+
+#: ../includes/ot-functions-docs-page.php:215
+msgid ""
+"The Numeric Slider option type displays a jQuery UI slider. It will return a "
+"single numerical value for use in a custom function or loop."
+msgstr ""
+"Numbriliuguri valikutüüp kuvab jQuery UI liuguri. See tagastab ühe "
+"numbrilise väärtuse enda funktsioonis või tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:218
+#, php-format
+msgid ""
+"The On/Off option type displays a simple switch that can be used to turn "
+"things on or off. The saved return value is either %s or %s."
+msgstr ""
+"Sees/väljas valikutüüp kuvab lihtsa lüliti, millega saab asju sisse või "
+"välja lülitada. Salvestatud väärtus on kas %s või %s."
+
+#: ../includes/ot-functions-docs-page.php:221
+msgid ""
+"The Page Checkbox option type displays a list of page IDs. It allows the "
+"user to check multiple page IDs for use in a custom function or loop."
+msgstr ""
+"Lehe valikkastide valikutüüp kuvab nimekirja kõikidest lehtede ID-dest. See "
+"võimaldab kasutajal märgistada mitu lehe ID-d, mida kasutada enda "
+"funktsioonis või tsüklis."
+
+#: ../includes/ot-functions-docs-page.php:224
+msgid ""
+"The Page Select option type displays a list of page IDs. It will return a "
+"single page ID for use in a custom function or loop."
+msgstr ""
+"Lehe rippvaliku valikutüüp kuvab nimekirja kõikidest lehtede ID-dest. See "
+"tagastab ühe lehe ID, mida kasutada enda funktsioonis või tsüklis."
+
+#: ../includes/ot-functions-docs-page.php:227
+msgid ""
+"The Post Checkbox option type displays a list of post IDs. It allows the "
+"user to check multiple post IDs for use in a custom function or loop."
+msgstr ""
+"Postituse valikkastid valikutüüp kuvab nimekirja kõikidest postituste ID-"
+"dest. See võimaldab kasutajal märgistada mitu postituse ID-d, mida kasutada "
+"enda funktsioonis või tsüklis."
+
+#: ../includes/ot-functions-docs-page.php:230
+msgid ""
+"The Post Select option type displays a list of post IDs. It will return a "
+"single post ID for use in a custom function or loop."
+msgstr ""
+"Postituse rippvaliku valikutüüp kuvab nimekirja kõikidest postituste ID-"
+"dest. See tagastab ühe postituse ID, mida kasutada enda funktsioonis või "
+"tsüklis."
+
+#: ../includes/ot-functions-docs-page.php:233
+msgid ""
+"The Radio option type displays a group of choices. It allows the user to "
+"choose one and will return that value as a string for use in a custom "
+"function or loop."
+msgstr ""
+"Raadiovaliku valikutüüp näitab valikute gruppi. See laseb kasutajal valida "
+"neist ühe ning tagastab selle väärtuse string-ina enda funktsioonis või "
+"tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:236
+#, php-format
+msgid ""
+"the Radio Images option type is primarily used for layouts. However, you can "
+"filter the image list using %s. As well, you can add your own custom images "
+"using the choices array."
+msgstr ""
+"Piltidega raadiovaliku valikutüüpi kasutatakse peamiselt paigutuste jaoks. "
+"Piltide loendit saab filtreerida %s abil. Valikute massiivi saab lisada enda "
+"pilte."
+
+#: ../includes/ot-functions-docs-page.php:238
+msgid ""
+"This example executes the ot_radio_images filter on layout "
+"images attached to the my_radio_images field. Added to "
+"functions.php."
+msgstr ""
+"See näide käivitab ot_radio_images filtri "
+"my_radio_images väljale lisatud paigutuse piltidel. Lisatakse "
+"functions.php faili."
+
+#: ../includes/ot-functions-docs-page.php:263
+msgid ""
+"The Select option type is used to list anything you want that would be "
+"chosen from a select list."
+msgstr ""
+"Rippvaliku valikutüüpi saab kasutada ükskõik mille loendamiseks, mida saab "
+"valida rippmenüüst."
+
+#: ../includes/ot-functions-docs-page.php:266
+#, php-format
+msgid ""
+"This option type makes it possible for users to select a WordPress "
+"registered sidebar to use on a specific area. By using the two provided "
+"filters, %s, and %s we can be selective about which sidebars are available "
+"on a specific content area."
+msgstr ""
+"See valikutüüp võimaldab kasutajatel valida WordPressis registreeritud "
+"küljeriba, kasutamaks seda kindlas kohas. Kahe kaasa antud filtri, %s ja %s "
+"abil saab määrata, millist küljeriba millises sisuosas näidata."
+
+#: ../includes/ot-functions-docs-page.php:267
+#, php-format
+msgid ""
+"For example, if we create a WordPress theme that provides the ability to "
+"change the Blog Sidebar and we don't want to have the footer sidebars "
+"available on this area, we can unset those sidebars either manually or by "
+"using a regular expression if we have a common name like %s."
+msgstr ""
+"Näiteks kui luua WordPressi teema, mis võimaldab muuta blogi küljeriba ning "
+"me ei soovi siin alas näha jaluse küljeribasid, siis saame need küljeribad "
+"ära võtta kas käsitsi või kasutades regulaaravaldist, nagu näiteks %s."
+
+#: ../includes/ot-functions-docs-page.php:270
+msgid ""
+"The Slider option type is technically deprecated. Use the List Item option "
+"type instead, as it's infinitely more customizable. Typical use is for "
+"creating sliding image content."
+msgstr ""
+"Tehniliselt on slaidiesitaja valikutüübi kasutamine taunitud. Kasutage parem "
+"nimekirja elemendi valikutüüpi, kuna see on lõpmatult kohandatav. Tüüpiline "
+"kasutusjuht on libisevate piltidega sisu jaoks."
+
+#: ../includes/ot-functions-docs-page.php:273
+#, php-format
+msgid ""
+"The Social Links option type utilizes a drag & drop interface to create a "
+"list of social links. There are a few filters that make extending this "
+"option type easy. You can set the %s filter to %s and turn off loading "
+"default values. Use the %s filter to change the default values that are "
+"loaded. To filter the settings array use the %s filter."
+msgstr ""
+"Sotsiaalmeedia linkide valikutüübis kasutatakse nimekirja loomiseks tiri-ja-"
+"pilla liidest. On loodud mõned filtrid, mis teevad selle valikutüübi "
+"täiendamise kergeks. Filter %s väärtuseks saab määrata %s, et lülitada välja "
+"vaikimisi väärtuste laadimine. %s filtriga saab muuta vaikeväärtuseid. "
+"Sätete massiivi filtreerimiseks on %s."
+
+#: ../includes/ot-functions-docs-page.php:276
+#, php-format
+msgid ""
+"The Spacing option type is used to set spacing values such as padding or "
+"margin in the form of top, right, bottom, and left. The text inputs except "
+"numerical values and the select lets you choose the unit of measurement to "
+"add to that value. Currently the default units are %s, %s, %s, and %s. "
+"However, you can change them with the %s filter."
+msgstr ""
+"Vahede valikutüüpi kasutatakse \"padding\" ja \"margin\" väärtuste jaoks "
+"kujul \"top\", \"right\", \"bottom\", \"left\". Tekstisisendisse saab "
+"kirjutada numbrilise väärtuse ning rippmenüü laseb valida talle mõõtühiku. "
+"Hetkel on vaikimisi ühikuteks %s, %s, %s ja %s. Neid saab muuta %s filtriga."
+
+#: ../includes/ot-functions-docs-page.php:279
+msgid ""
+"The Tab option type will break a section or metabox into tabbed content."
+msgstr ""
+"Saki valikutüüp muudab sektsiooni või meta-kasti sakkidega sisuelemendiks."
+
+#: ../includes/ot-functions-docs-page.php:282
+msgid ""
+"The Tag Checkbox option type displays a list of tag IDs. It allows the user "
+"to check multiple tag IDs and will return that value as an array for use in "
+"a custom function or loop."
+msgstr ""
+"Sildi valikukasti valikutüüp kuvab loendi siltide ID-dega. See laseb "
+"kasutajal märkida mitu sildi ID-d ning tagastab selle väärtuse massiivina "
+"enda funktsioonis või tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:285
+msgid ""
+"The Tag Select option type displays a list of tag IDs. It allows the user to "
+"select only one tag ID and will return that value for use in a custom "
+"function or loop."
+msgstr ""
+"Sildi rippvaliku valikutüüp kuvab loendi siltide ID-dega. See laseb "
+"kasutajal märkida ainult ühe sildi ID ning tagastab selle väärtuse enda "
+"funktsioonis või tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:288
+msgid ""
+"The Taxonomy Checkbox option type displays a list of taxonomy IDs. It allows "
+"the user to check multiple taxonomy IDs and will return that value as an "
+"array for use in a custom function or loop."
+msgstr ""
+"Taksonoomia valikukasti valikutüüp kuvab loendi taksonoomiate ID-dega. See "
+"laseb kasutajal märkida mitu taksonoomia ID-d ning tagastab selle väärtuse "
+"massiivina enda funktsioonis või tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:291
+msgid ""
+"The Taxonomy Select option type displays a list of taxonomy IDs. It allows "
+"the user to select only one taxonomy ID and will return that value for use "
+"in a custom function or loop."
+msgstr ""
+"Taksonoomia rippvaliku valikutüüp kuvab loendi taksonoomiate ID-dega. See "
+"laseb kasutajal märkida ainult ühe taksonoomia ID ning tagastab selle "
+"väärtuse enda funktsioonis või tsüklis kasutamiseks."
+
+#: ../includes/ot-functions-docs-page.php:294
+msgid ""
+"The Text option type is used to save string values. For example, any "
+"optional or required text that is of reasonably short character length."
+msgstr ""
+"Teksti valikutüüpi kasutatakse väärtuste salvestamiseks stringi kujul. "
+"Näiteks mõni valikuline või nõutud tekst, mis on piisavalt lühike."
+
+#: ../includes/ot-functions-docs-page.php:297
+#, php-format
+msgid ""
+"The Textarea option type is a large string value used for custom code or "
+"text in the theme and has a WYSIWYG editor that can be filtered to change "
+"the how it is displayed. For example, you can filter %s, %s, %s, and %s."
+msgstr ""
+"Tekstivälja valikutüüp on suur väärtus stringi kujul salvestamiseks, millel "
+"on WYSIWYG toimetaja, mida saab filtreerida muutmaks tema kuvamist. Näiteks "
+"saab filtreerida %s, %s, %s ja %s."
+
+#: ../includes/ot-functions-docs-page.php:299
+msgid ""
+"Example filters to alter the Textarea option type. Added to functions."
+"php."
+msgstr ""
+"Näidisfiltrid, millega muuta tekstivälja valikutüüpi. Lisatakse "
+"functions.php faili."
+
+#: ../includes/ot-functions-docs-page.php:301
+msgid ""
+"This example keeps WordPress from executing the wpautop filter "
+"on the line breaks. The default is true which means it wraps "
+"line breaks with an HTML p tag."
+msgstr ""
+"See näide takistab Wordpressil kasutada wpautop filtrit "
+"reavahetustel. Vaikeväärtus on true, mis tähendab, et "
+"reavahtused mähitakse HTML p elemendiga."
+
+#: ../includes/ot-functions-docs-page.php:314
+msgid ""
+"This example keeps WordPress from executing the media_buttons "
+"filter on the textarea WYSIWYG. The default is true which means "
+"show the buttons."
+msgstr ""
+"See näide takistab Wordpressil kasutada media_buttons filtrit "
+"tekstivälja WYSIWYG toimetajas. Vaikeväärtus on true, mis "
+"tähendab, et nuppe näidatakse."
+
+#: ../includes/ot-functions-docs-page.php:327
+msgid ""
+"This example keeps WordPress from executing the tinymce filter "
+"on the textarea WYSIWYG. The default is true which means show "
+"the tinymce."
+msgstr ""
+"See näide takistab Wordpressil kasutada tinymce filtrit "
+"tekstivälja WYSIWYG toimetajas. Vaikeväärtus on true, mis "
+"tähendab, et tinymce on nähtaval."
+
+#: ../includes/ot-functions-docs-page.php:340
+msgid ""
+"This example alters the quicktags filter on the textarea "
+"WYSIWYG. The default is array( 'buttons' => 'strong,em,link,block,del,"
+"ins,img,ul,ol,li,code,spell,close' ) which means show those "
+"quicktags. It also means you can filter in your own custom quicktags."
+msgstr ""
+"See näide muudab quicktags filtrit tekstivälja WYSIWYG "
+"toimetajas. Vaikeväärtus on array('buttons' => 'strong,em,link,block,"
+"del,ins,img,ul,ol,li,code,spell,close'), mis tähendab, et neid "
+"elemente näidatakse. Siitkaudu saad kaasata endale sobivaid elemente."
+
+#: ../includes/ot-functions-docs-page.php:356
+msgid ""
+"The Textarea Simple option type is a large string value used for custom code "
+"or text in the theme. The Textarea Simple does not have a WYSIWYG editor."
+msgstr ""
+"Lihtsa tekstivälja valikutüüp on suur string-tüüpi väärtus teemas oleva "
+"kohandatud koodi või teksti jaoks. Lihtsal tekstiväljal ei ole WYSIWYG "
+"toimetajat."
+
+#: ../includes/ot-functions-docs-page.php:358
+#, php-format
+msgid ""
+"This example tells WordPress to execute the %s filter on the line breaks. "
+"The default is %s which means it does not wraps line breaks with an HTML %s "
+"tag. Added to %s."
+msgstr ""
+"See näide ütleb Wordpressile, et reavahetuste korral kasutada %s filtrit. "
+"Vaikeväärtus on %s, mis tähendab, et reavahetusi ei mähita HTML %s "
+"elemendiga. Lisatakse %s faili."
+
+#: ../includes/ot-functions-docs-page.php:372
+msgid ""
+"The Textblock option type is used only on the Theme Option page. It will "
+"allow you to create & display HTML, but has no title above the text block. "
+"You can then use the Textblock to add a more detailed set of instruction on "
+"how the options are used in your theme. You would never use this in your "
+"themes template files as it does not save a value."
+msgstr ""
+"Tekstibloki valikutüüpi kasutatakse teema valikute lehel. See võimaldab luua "
+"ja kuvada HTML-i, kuid tal puudub pealkiri. Sellega saab lisada detailsemaid "
+"kirjeldusi teemas kasutatavate valikute jaoks. Seda ei kasutata teema "
+"mallifailides, kuna ta ei salvesta mingit väärtust."
+
+#: ../includes/ot-functions-docs-page.php:375
+msgid ""
+"The Textblock Titled option type is used only on the Theme Option page. It "
+"will allow you to create & display HTML, and has a title above the text "
+"block. You can then use the Textblock Titled to add a more detailed set of "
+"instruction on how the options are used in your theme. You would never use "
+"this in your themes template files as it does not save a value."
+msgstr ""
+"Pealkirjaga tekstibloki valikutüüpi kasutatakse teema valikute lehel. See "
+"võimaldab luua ja kuvada HTML-i ning tema kohal on pealkiri. Sellega saab "
+"lisada detailsemaid kirjeldusi teemas kasutatavate valikute jaoks. Seda ei "
+"kasutata teema mallifailides, kuna ta ei salvesta mingit väärtust."
+
+#: ../includes/ot-functions-docs-page.php:378
+#, php-format
+msgid ""
+"The Typography option type is for adding typography styles to your theme "
+"either dynamically via the CSS option type above or manually with %s. The "
+"Typography option type has filters that allow you to remove fields or change "
+"the defaults. For example, you can filter %s to remove unwanted fields from "
+"all Background options or an individual one. You can also filter %s. These "
+"filters allow you to fine tune the select lists for your specific needs."
+msgstr ""
+"Tüpograafia valikutüübiga saab teemale lisada stiile, kas dünaamiliselt ülal "
+"oleva CSS valikutüübiga või käsitsi %s abil. Tüpograafia valikutüübil on "
+"filtrid, mis lasevad välju eemaldada või vaikimisi välju muuta. Näiteks saab "
+"filtreerida %s, eemaldamaks soovimatuid välju kõikidelt tausta valikutelt "
+"või mõnelt neist. Saab filtreerida ka %s. Need filtrid aitavad valikute "
+"nimekirja täpselt oma vajaduste järgi häälestada."
+
+#: ../includes/ot-functions-docs-page.php:380
+msgid ""
+"This example would filter ot_recognized_font_families to build "
+"your own font stack. Added to functions.php."
+msgstr ""
+"See näide filtreerib ot_recognized_font_families loomaks enda "
+"fondipinu. Lisatakse functions.php faili."
+
+#: ../includes/ot-functions-docs-page.php:398
+#, php-format
+msgid ""
+"The Upload option type is used to upload any WordPress supported media. "
+"After uploading, users are required to press the \"%s\" button in order to "
+"populate the input with the URI of that media. There is one caveat of this "
+"feature. If you import the theme options and have uploaded media on one site "
+"the old URI will not reflect the URI of your new site. You will have to re-"
+"upload or %s any media to your new server and change the URIs if necessary."
+msgstr ""
+"Üleslaadimise valikutüüp kasutatakse suvalise Wordpressi toetatava meedia "
+"üles laadimiseks. Peale üleslaadimist peab kasutaja vajutama \"%s\" nuppu, "
+"et täita sisend selle meediaelemendi URI-ga. Selle omadusega kaasneb üks "
+"probleem - kui importida teema valikuid teistsuguse aadressiga veebilehelt, "
+"siis URI-d automaatselt ei uuene. Meediafailid tuleb kas uuesti üles laadida "
+"või %s, vajadusel muutes URI-sid."
+
+#: ../includes/ot-functions-docs-page.php:430
+msgid ""
+"This function returns a value from the \"option_tree\" array of saved values "
+"or the default value supplied. The returned value would be mixed. Meaning it "
+"could be a string, integer, boolean, or array."
+msgstr ""
+"See funktsioon tagastab või vajadusel trükib väärtuse \"option_tree\" "
+"massiivi salvestatud väärtustest või kaasaantud vaikeväärtuse. Tagastatud "
+"väärtus tüüp on segunenud. See tähendab, et ta võib olla string, integer, "
+"boolean või massiiv."
+
+#: ../includes/ot-functions-docs-page.php:432
+#: ../includes/ot-functions-docs-page.php:482
+msgid "Usage"
+msgstr "Kasutus"
+
+#: ../includes/ot-functions-docs-page.php:436
+#: ../includes/ot-functions-docs-page.php:486
+msgid "Parameters"
+msgstr "Parameetrid"
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:490
+msgid "string"
+msgstr "string"
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:490
+msgid "required"
+msgstr "nõutud"
+
+#: ../includes/ot-functions-docs-page.php:440
+msgid "Enter the options unique identifier."
+msgstr "Sisesta valikule unikaalne identifikaator."
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:490
+msgid "Default:"
+msgstr "Vaikimisi:"
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:490
+#: ../includes/ot-functions-docs-page.php:494
+msgid "None"
+msgstr "Puudub"
+
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:494
+#: ../includes/ot-functions-docs-page.php:498
+#: ../includes/ot-functions-docs-page.php:502
+#: ../includes/ot-functions-docs-page.php:506
+msgid "optional"
+msgstr "valikuline"
+
+#: ../includes/ot-functions-docs-page.php:444
+msgid ""
+"Enter a default return value. This is just incase the request returns null."
+msgstr "Sisesta vaikeväärtus. See on vajalik juhul, kui päring tagastab nulli."
+
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:494
+#: ../includes/ot-functions-docs-page.php:498
+#: ../includes/ot-functions-docs-page.php:502
+#: ../includes/ot-functions-docs-page.php:506
+msgid "Default"
+msgstr "Vaikimisi"
+
+#: ../includes/ot-functions-docs-page.php:474
+msgid ""
+"This function has been deprecated. That means it has been replaced by a new "
+"function or is no longer supported, and may be removed from future versions. "
+"All code that uses this function should be converted to use its replacement."
+msgstr ""
+"Selle funktsiooni kasutamist taunitakse. See tähendab, et ta on asendatud "
+"uue funktsiooniga või teda ei toetata enam ning ta võidakse tulevastest "
+"versioonidest välja jätta. Kõik seda funktsiooni kasutav kood tuleks ümber "
+"muuta kasutamaks tema asendust."
+
+#: ../includes/ot-functions-docs-page.php:476
+msgid "Use"
+msgstr "Kasuta"
+
+#: ../includes/ot-functions-docs-page.php:476
+msgid "instead"
+msgstr "asemel"
+
+#: ../includes/ot-functions-docs-page.php:480
+msgid ""
+"This function returns, or echos if asked, a value from the \"option_tree\" "
+"array of saved values."
+msgstr ""
+"See funktsioon tagastab või vajadusel trükib väärtuse \"option_tree\" "
+"massiivi salvestatud väärtustest."
+
+#: ../includes/ot-functions-docs-page.php:490
+msgid "Enter a unique Option Key to get a returned value or array."
+msgstr "Sisesta unikaalne valiku võti saamaks väärtust või massiivi."
+
+#: ../includes/ot-functions-docs-page.php:494
+msgid "array"
+msgstr "array"
+
+#: ../includes/ot-functions-docs-page.php:494
+msgid "Used to cut down on database queries in template files."
+msgstr "Kasutatakse andmebaasi päringute vähendamiseks mallifailides."
+
+#: ../includes/ot-functions-docs-page.php:498
+#: ../includes/ot-functions-docs-page.php:502
+msgid "boolean"
+msgstr "boolean"
+
+#: ../includes/ot-functions-docs-page.php:498
+msgid "Echo the output."
+msgstr "Trüki väljund."
+
+#: ../includes/ot-functions-docs-page.php:502
+msgid "Used to indicate the $item_id is an array of values."
+msgstr "Kasutatakse märkimaks, et $item_id on väärtuste massiiv."
+
+#: ../includes/ot-functions-docs-page.php:506
+msgid "integer"
+msgstr "integer"
+
+#: ../includes/ot-functions-docs-page.php:506
+msgid ""
+"Numeric offset key for the $item_id array, -1 will return all values (an "
+"array starts at 0)."
+msgstr ""
+"Numbriline nihkevõti $item_id massiivi jaoks, -1 tagastab kõik väärtused "
+"( massiiv algab 0-st )."
+
+#: ../includes/ot-functions-docs-page.php:534
+msgid ""
+"If you're using the plugin version of OptionTree it is highly recommended to "
+"include a function_exists check in your code, as described in "
+"the examples below. If you've integrated OptionTree directly into your "
+"themes root directory, you will not need to wrap your code "
+"with function_exists, as you're guaranteed to have the "
+"ot_get_option() function available."
+msgstr ""
+"Kui kasutate OptionTree mooduli versiooni, siis on soovitatav oma koodi "
+"lisada function_exists kontroll, nagu kirjeldatud allpool "
+"toodud näidetes. Kui olete OptionTree otse oma teema juurkataloogi sisse "
+"ehitanud, siis teil ei ole vaja mähkida oma koodi "
+"function_exists kontrolliga, sest teil on "
+"ot_get_option() funktsiooni saadavus garanteeritud."
+
+#: ../includes/ot-functions-docs-page.php:536
+msgid "String Examples"
+msgstr "String-i näited"
+
+#: ../includes/ot-functions-docs-page.php:538
+msgid "Returns the value of test_input."
+msgstr "Tagastab test_input väärtuse."
+
+#: ../includes/ot-functions-docs-page.php:544
+msgid ""
+"Returns the value of test_input, but also has a default value "
+"if it returns empty."
+msgstr ""
+"Tagastab test_input väärtuse või vaikeväärtuse, kui tagastatud "
+"väärtus on tühi."
+
+#: ../includes/ot-functions-docs-page.php:550
+msgid "Array Examples"
+msgstr "Array näited"
+
+#: ../includes/ot-functions-docs-page.php:552
+msgid ""
+"Assigns the value of navigation_ids to the variable $ids"
+"code>. It then echos an unordered list of links (navigation) using "
+"wp_list_pages()."
+msgstr ""
+"Omistab navigation_ids väärtuse $ids muutujale. "
+"See trükib välja järjestamata loetelu ( navigatsiooni ) linkidest, kasutades "
+"wp_list_pages()."
+
+#: ../includes/ot-functions-docs-page.php:572
+msgid ""
+"The next two examples demonstrate how to use the Measurement"
+"strong> option type. The Measurement option type is an array with two key/"
+"value pairs. The first is the value of measurement and the second is the "
+"unit of measurement."
+msgstr ""
+"Järgnevad kaks näidet demonstreerivad, kuidas kasutada mõõdu"
+"strong> valikutüüpi. Mõõdu valikutüüp on massiiv kahe võti-väärtus paariga. "
+"Esimene on mõõdu väärtus ning teine on mõõduühik."
+
+#: ../includes/ot-functions-docs-page.php:598
+msgid "This example displays a very basic slider loop."
+msgstr "See näide kuvab väga algelise slaidi esitleja tsükli."
+
+#: ../includes/ot-functions-docs-page.php:643
+msgid "It's Super Simple"
+msgstr "See on imelihtne"
+
+#: ../includes/ot-functions-docs-page.php:645
+msgid ""
+"Layouts make your theme awesome! With theme options data that you can save/"
+"import/export you can package themes with different color variations, or "
+"make it easy to do A/B testing on text and so much more. Basically, you save "
+"a snapshot of your data as a layout."
+msgstr ""
+"Paigutused teevad su teema aukartust äratavaks! Teema valikute infoga, mida "
+"saad salvestada/importida/eksportida, saad pakendada teemasid erinevate "
+"värvivariatsioonidega või kergelt teostada A/B testimist tekstiosadel ning "
+"palju muud. Põhimõtteliselt on paigutus sinu andmete ülesvõtte salvestus."
+
+#: ../includes/ot-functions-docs-page.php:647
+msgid ""
+"Once you have created all your different layouts, or theme variations, you "
+"can save them to a separate text file for repackaging with your theme. "
+"Alternatively, you could just make different variations for yourself and "
+"change your theme with the click of a button, all without deleting your "
+"previous options data."
+msgstr ""
+"Peale kõikide erinevate paigutuste või teema variatsioonide loomist saab nad "
+"salvestada eraldi tekstifaili, mida teemaga kaasa pakendada. Teine "
+"kasutusviis oleks teha enda jaoks erinevad variatsioonid ja muuta oma teemat "
+"ainsa nupuvajutusega, ilma eelnevate andmete kustutamiseta."
+
+#: ../includes/ot-functions-docs-page.php:649
+msgid ""
+" Adding a layout is ridiculously easy, follow these steps and you'll be on "
+"your way to having a WordPress super theme."
+msgstr ""
+"Paigutuse lisamine on naeruväärselt lihtne. Järgi neid samme ning oled teel "
+"WordPressi superteema omamisele."
+
+#: ../includes/ot-functions-docs-page.php:651
+msgid "For Developers"
+msgstr "Arendajatele"
+
+#: ../includes/ot-functions-docs-page.php:653
+#: ../includes/ot-functions-docs-page.php:682
+msgid "Creating a Layout"
+msgstr "Paigutuse loomine"
+
+#: ../includes/ot-functions-docs-page.php:655
+#: ../includes/ot-functions-docs-page.php:662
+#: ../includes/ot-functions-docs-page.php:668
+msgid "Go to the OptionTre->Settings->Layouts tab."
+msgstr "Mine OptionTree->Sätted->Paigutused sakile."
+
+#: ../includes/ot-functions-docs-page.php:656
+msgid ""
+"Enter a name for your layout in the text field and hit \"Save Layouts\", "
+"you've created your first layout."
+msgstr ""
+"Sisesta tekstivälja oma paigutuse nimi ja vajuta \"Salvesta paigutused\" "
+"nuppu. Oled loonud oma esimese paigutuse."
+
+#: ../includes/ot-functions-docs-page.php:657
+#: ../includes/ot-functions-docs-page.php:686
+msgid "Adding a new layout is as easy as repeating the steps above."
+msgstr "Uue paigutuse lisamine on lihtne, kui järgid ülaltoodud samme."
+
+#: ../includes/ot-functions-docs-page.php:660
+#: ../includes/ot-functions-docs-page.php:689
+msgid "Activating a Layout"
+msgstr "Paigutuse aktiveerimine"
+
+#: ../includes/ot-functions-docs-page.php:663
+msgid "Click on the activate layout button in the actions list."
+msgstr "Vajuta paigutuse aktiveerimise nupul tegevuste nimekirjas."
+
+#: ../includes/ot-functions-docs-page.php:666
+#: ../includes/ot-functions-docs-page.php:695
+msgid "Deleting a Layout"
+msgstr "Paigutuse kustutamine"
+
+#: ../includes/ot-functions-docs-page.php:669
+msgid "Click on the delete layout button in the actions list."
+msgstr "Vajuta paigutuse kustutamise nupul tegevuste nimekirjas."
+
+#: ../includes/ot-functions-docs-page.php:672
+#: ../includes/ot-functions-docs-page.php:700
+msgid "Edit Layout Data"
+msgstr "Muuda paigutuse andmeid"
+
+#: ../includes/ot-functions-docs-page.php:674
+#: ../includes/ot-functions-docs-page.php:684
+#: ../includes/ot-functions-docs-page.php:691
+msgid "Go to the Appearance->Theme Options page."
+msgstr "Mine Välimus->Teema valikud lehele."
+
+#: ../includes/ot-functions-docs-page.php:675
+#: ../includes/ot-functions-docs-page.php:703
+msgid ""
+"Modify and save your theme options and the layout will be updated "
+"automatically."
+msgstr ""
+"Muuda ja salvesta oma teema valikuid ning paigutust uuendatakse automaatselt."
+
+#: ../includes/ot-functions-docs-page.php:676
+#: ../includes/ot-functions-docs-page.php:704
+msgid ""
+"Saving theme options data will update the currently active layout, so before "
+"you start saving make sure you want to modify the current layout."
+msgstr ""
+"Teema valikute andmete salvestamine uuendab hetkel aktiivset paigutust, "
+"seega enne salvestamist veendu, et soovid muuta hetkel kasutuses olevat "
+"paigutust."
+
+#: ../includes/ot-functions-docs-page.php:677
+msgid ""
+"If you want to edit a new layout, first create it then save your theme "
+"options."
+msgstr ""
+"Kui soovid muuta uut paigutust, tuleb see kõigepealt luua ja seejärel teema "
+"valikud salvestada."
+
+#: ../includes/ot-functions-docs-page.php:680
+msgid "End-Users Mode"
+msgstr "Lõppkasutaja režiim"
+
+#: ../includes/ot-functions-docs-page.php:685
+msgid ""
+"Enter a name for your layout in the text field and hit \"New Layout\", "
+"you've created your first layout."
+msgstr ""
+"Sisesta tekstivälja oma uue paigutuse nimi ja vajuta nuppu \"Uus paigutus\". "
+"Oled loonud oma esimese paigutuse."
+
+#: ../includes/ot-functions-docs-page.php:692
+msgid ""
+"Choose a layout from the select list and click the \"Activate Layout\" "
+"button."
+msgstr "Vali rippmenüüst paigutus ja vajuta \"Aktiveeri paigutus\" nuppu."
+
+#: ../includes/ot-functions-docs-page.php:697
+msgid "End-Users mode does not allow deleting layouts."
+msgstr "Lõppkasutaja režiim ei luba paigutusi kustutada."
+
+#: ../includes/ot-functions-docs-page.php:702
+msgid "Go to the Appearance->Theme Options tab."
+msgstr "Mine Välimus->Teema valikud sakile."
+
+#: ../includes/ot-functions-docs-page.php:733
+#: ../includes/ot-functions-docs-page.php:815
+msgid "How-to-guide"
+msgstr "Õpetus"
+
+#: ../includes/ot-functions-docs-page.php:735
+msgid ""
+"There are a few simple steps you need to take in order to use OptionTree's "
+"built in Meta Box API. In the code below I'll show you a basic demo of how "
+"to create your very own custom meta box using any number of the option types "
+"you have at your disposal. If you would like to see some demo code, there is "
+"a directory named theme-mode inside the assets "
+"directory that contains a file named demo-meta-boxes.php you "
+"can reference."
+msgstr ""
+"OptionTreele sisse ehitatud Meta Box API kasutamiseks on vaja paari lihtsat "
+"toimingut. Allolevas koodis demonstreeritakse meta kasti loomist suvalise "
+"hulga saadaolevate valikutüüpidega. Koodinäiteid leiab ka failist demo-"
+"meta-boxes.php, mis asub kaustas theme-mode, mis "
+"omakorda asub kaustas assets."
+
+#: ../includes/ot-functions-docs-page.php:737
+msgid ""
+"It's important to note that Meta Boxes do not support WYSIWYG editors at "
+"this time and if you set one of your options to Textarea it will "
+"automatically revert to a Textarea Simple until a valid solution is found. "
+"WordPress released this statement regarding the wp_editor() function:"
+msgstr ""
+"Tähtis märkus: meta kastid ei toeta hetkel WYSIWYG redaktoreid. Kui määrata "
+"mõne valiku tüübiks tekstiala, muudetakse see automaatselt lihtsustatud "
+"tekstialaks, kuni leitakse töötav lahendus. Wordpress väljastas järgneva "
+"teadaande wp_editor() funktsiooni kohta:"
+
+#: ../includes/ot-functions-docs-page.php:739
+msgid ""
+"Once instantiated, the WYSIWYG editor cannot be moved around in the DOM. "
+"What this means in practical terms, is that you cannot put it in meta-boxes "
+"that can be dragged and placed elsewhere on the page."
+msgstr ""
+"Korra loodud WYSIWYG toimetajat ei saa DOM-is ringi liigutada. Praktikas "
+"tähendab see, et teda ei saa panna meta-kastidesse, mida on võimalik "
+"leheküljel ringi liigutada."
+
+#: ../includes/ot-functions-docs-page.php:741
+msgid "Create and include your custom meta boxes file."
+msgstr "Loo ja kaasa oma kohandatud meta kastide fail."
+
+#: ../includes/ot-functions-docs-page.php:743
+msgid ""
+"Create a file and name it anything you want, maybe meta-boxes.php"
+"code>."
+msgstr ""
+"Loo fail ja anna talle meelepärane nimi, näiteks meta-boxes.php."
+
+#: ../includes/ot-functions-docs-page.php:744
+msgid ""
+"As well, you'll probably want to create a directory named includes"
+"code> to put your meta-boxes.php into which will help keep you "
+"file structure nice and tidy."
+msgstr ""
+"Tõenäoliselt soovid luua kausta nimega includes, kuhu panna oma "
+"meta-boxes.php fail, hoidmaks oma failistruktuuri ilusa ja "
+"puhtana."
+
+#: ../includes/ot-functions-docs-page.php:745
+#: ../includes/ot-functions-docs-page.php:845
+msgid "Add the following code to your functions.php."
+msgstr "Lisa järgnev kood oma functions.php faili."
+
+#: ../includes/ot-functions-docs-page.php:755
+msgid ""
+"Add a variation of the following code to your meta-boxes.php. "
+"You'll obviously need to fill it in with all your custom array values. It's "
+"important to note here that we use the admin_init filter "
+"because if you were to call the ot_register_meta_box function "
+"before OptionTree was loaded the sky would fall on your head."
+msgstr ""
+"Lisa variatsioon järgnevast koodist oma meta-boxes.php faili. "
+"Loomulikult tuleb see täita enda kohandatud massiivi väärtustega. Oluline "
+"märkus: kasutame admin_init filtrit, sest kui kutsuda "
+"ot_register_meta_box funktsiooni enne OptionTree laadimist, "
+"kukuks taevas kaela."
+
+#: ../includes/ot-functions-docs-page.php:817
+msgid ""
+"There are a few simple steps you need to take in order to use OptionTree as "
+"a theme included module. In the code below I'll show you a basic demo of how "
+"to include the entire plugin as a module, which will allow you to have the "
+"most up-to-date version of OptionTree without ever needing to hack the core "
+"of the plugin. If you would like to see some demo code, there is a directory "
+"named theme-mode inside the assets directory that "
+"contains a file named demo-theme-options.php you can reference."
+msgstr ""
+"Paari lihtsa sammuga saab Optiontreed kasutada teemasse kaasatud moodulina. "
+"Allolevas koodis näidatakse lihtsat demonstratsiooni, kuidas kaasata terve "
+"moodul moodulina. Sellisel moel on sul kõige uuem versioon OptionTreest, "
+"ilma et peaks mooduli tuuma häkkima. Näidiskoodi leiab failist demo-"
+"theme-options.php, mis asub kaustas theme-mode, mis "
+"omakorda asub kaustas assets."
+
+#: ../includes/ot-functions-docs-page.php:819
+msgid "Step 1: Include the plugin & turn on theme mode."
+msgstr "Samm 1: kaasa moodul ja lülita sisse teemarežiim."
+
+#: ../includes/ot-functions-docs-page.php:821
+#, php-format
+msgid "Download the latest version of %s and unarchive the %s directory."
+msgstr "Lae alla viimane %s versioon ja paki ta lahti %s kausta."
+
+#: ../includes/ot-functions-docs-page.php:822
+#, php-format
+msgid ""
+"Put the %s directory in the root of your theme. For example, the server path "
+"would be %s."
+msgstr "Pane %s kaust oma teema juurkausta. Serveri rada oleks näiteks %s."
+
+#: ../includes/ot-functions-docs-page.php:823
+#, php-format
+msgid "Add the following code to the beginning of your %s."
+msgstr "Lisa järgnev kood oma %s algusesse."
+
+#: ../includes/ot-functions-docs-page.php:837
+#, php-format
+msgid ""
+"For a list of all the OptionTree UI display filters refer to the %s file "
+"found in the %s directory of this plugin. This file is the starting point "
+"for developing themes with Theme Mode."
+msgstr ""
+"Täieliku OptionTree UI kuvamise filtrite nimekirja leiad selle plugina %s "
+"failist %s kaustast. See fail on teemarežiimis teemade arenduse "
+"alguspunktiks."
+
+#: ../includes/ot-functions-docs-page.php:839
+msgid ""
+"You now have OptionTree built into your theme and anytime an update is "
+"available replace the old version with the new one."
+msgstr ""
+"Sul on nüüd OptionTree teemasse sisse ehitatud. Iga kord, kui saadaval on "
+"uus versioon, vaheta oma vana versioon uue vastu välja."
+
+#: ../includes/ot-functions-docs-page.php:841
+msgid "Step 2: Create Theme Options without using the UI Builder."
+msgstr "Samm 2: loo teema valikud ilma UI ehitajata."
+
+#: ../includes/ot-functions-docs-page.php:843
+msgid ""
+"Create a file and name it anything you want, maybe theme-options.php"
+"code>, or use the built in file export to create it for you. Remember, you "
+"should always check the file for errors before including it in your theme."
+msgstr ""
+"Loo fail ja anna talle suvaline nimi, näiteks theme-options.php"
+"code>, või kasuta selle loomiseks sisse ehitatud faili eksporti. Enne teemas "
+"kasutamist tuleks failile kindlasti vigade kontroll teha."
+
+#: ../includes/ot-functions-docs-page.php:844
+msgid ""
+"As well, you'll probably want to create a directory named includes"
+"code> to put your theme-options.php into which will help keep "
+"you file structure nice and tidy."
+msgstr ""
+"Tõenäoliselt soovid luua ka kausta includes, kuhu oma "
+"theme-options.php fail panna. See hoiab failistruktuuri ilusa "
+"ja puhtana."
+
+#: ../includes/ot-functions-docs-page.php:855
+msgid ""
+"Add a variation of the following code to your theme-options.php"
+"code>. You'll obviously need to fill it in with all your custom array values "
+"for contextual help (optional), sections (required), and settings (required)."
+msgstr ""
+"Lisa oma theme-options.php faili mingi variatsioon järgnevast "
+"koodist. Loomulikult tuleb see täita enda massiiviväärtustega "
+"kontekstipõhise abi ( valikuline ), sektsioonide ( nõutud ) ja sätete "
+"( nõutud ) jaoks."
+
+#: ../includes/ot-functions-docs-page.php:858
+msgid ""
+"The code below is a boilerplate to get your started. For a full list of the "
+"available option types click the \"Option Types\" tab above. Also a quick "
+"note, you don't need to put OptionTree in theme mode to manually create "
+"options but you will want to hide the docs and settings as each time you "
+"load the admin area the settings be written over with the code below if "
+"they've changed in any way. However, this ensures your settings do not get "
+"tampered with by the end-user."
+msgstr ""
+"Allolev kood on stereotüüp, millega saad alustada. Saadaolevate "
+"valikutüüpide täieliku nimekirja saad ülalolevast \"Valikutüübid\" sakist. "
+"Kiire vahemärkus: käsitsi valikute loomiseks ei pea OptionTree olema "
+"teemarežiimis, kuid sel juhul tuleks peita ära dokumentatsioon ja sätted, "
+"sest iga kord kui haldusliides laaditakse kirjutatakse sätted üle alloleva "
+"koodiga. Samas see kindlustab, et lõppkasutaja ei saa sätteid näppida."
+
+#: ../includes/ot-functions-option-types.php:46
+msgid "Sorry, this function does not exist"
+msgstr "Kahjuks sellist funktsiooni pole."
+
+#: ../includes/ot-functions-option-types.php:134
+msgid "background-repeat"
+msgstr "background-repeat"
+
+#: ../includes/ot-functions-option-types.php:152
+msgid "background-attachment"
+msgstr "background-attachment"
+
+#: ../includes/ot-functions-option-types.php:171
+msgid "background-position"
+msgstr "background-position"
+
+#: ../includes/ot-functions-option-types.php:224
+msgid "background-size"
+msgstr "background-size"
+
+#: ../includes/ot-functions-option-types.php:238
+msgid "background-image"
+msgstr "background-image"
+
+#: ../includes/ot-functions-option-types.php:241
+#: ../includes/ot-functions-option-types.php:3178
+msgid "Add Media"
+msgstr "Lisa meediat"
+
+#: ../includes/ot-functions-option-types.php:316
+#: ../includes/ot-functions-option-types.php:1045
+msgid "width"
+msgstr "width"
+
+#: ../includes/ot-functions-option-types.php:327
+#: ../includes/ot-functions-option-types.php:1065
+#: ../includes/ot-functions-option-types.php:1537
+#: ../includes/ot-functions-option-types.php:2482
+msgid "unit"
+msgstr "ühik"
+
+#: ../includes/ot-functions-option-types.php:346
+msgid "style"
+msgstr "style"
+
+#: ../includes/ot-functions-option-types.php:439
+msgid "offset-x"
+msgstr "offset-x"
+
+#: ../includes/ot-functions-option-types.php:448
+msgid "offset-y"
+msgstr "offset-y"
+
+#: ../includes/ot-functions-option-types.php:457
+msgid "blur-radius"
+msgstr "blur-radius"
+
+#: ../includes/ot-functions-option-types.php:466
+msgid "spread-radius"
+msgstr "spread-radius"
+
+#: ../includes/ot-functions-option-types.php:538
+#: ../includes/ot-functions-option-types.php:592
+msgid "No Categories Found"
+msgstr "Kategooriaid ei leitud"
+
+#: ../includes/ot-functions-option-types.php:587
+#: ../includes/ot-functions-option-types.php:870
+#: ../includes/ot-functions-option-types.php:1806
+#: ../includes/ot-functions-option-types.php:1917
+#: ../includes/ot-functions-option-types.php:2622
+#: ../includes/ot-functions-option-types.php:2737
+msgid "Choose One"
+msgstr "Valik üks"
+
+#: ../includes/ot-functions-option-types.php:818
+#: ../includes/ot-functions-option-types.php:876
+#: ../includes/ot-functions-option-types.php:1868
+#: ../includes/ot-functions-option-types.php:1923
+msgid "No Posts Found"
+msgstr "Postitusi ei leitud"
+
+#: ../includes/ot-functions-option-types.php:1054
+msgid "height"
+msgstr "height"
+
+#: ../includes/ot-functions-option-types.php:1232
+#: ../includes/ot-functions-option-types.php:1275
+msgid "Remove Google Font"
+msgstr "Eemalda Google Font"
+
+#: ../includes/ot-functions-option-types.php:1234
+#: ../includes/ot-functions-option-types.php:1277
+msgid "-- Choose One --"
+msgstr "-- Vali üks --"
+
+#: ../includes/ot-functions-option-types.php:1298
+msgid "Add Google Font"
+msgstr "Lisa Google Font"
+
+#: ../includes/ot-functions-option-types.php:1384
+msgctxt "color picker"
+msgid "Standard"
+msgstr "Standard"
+
+#: ../includes/ot-functions-option-types.php:1385
+msgctxt "color picker"
+msgid "Hover"
+msgstr "Hõljudes"
+
+#: ../includes/ot-functions-option-types.php:1386
+msgctxt "color picker"
+msgid "Active"
+msgstr "Aktiivne"
+
+#: ../includes/ot-functions-option-types.php:1387
+msgctxt "color picker"
+msgid "Visited"
+msgstr "Külastatud"
+
+#: ../includes/ot-functions-option-types.php:1388
+msgctxt "color picker"
+msgid "Focus"
+msgstr "Fookus"
+
+#: ../includes/ot-functions-option-types.php:1485
+#: ../includes/ot-functions-option-types.php:2222
+#: ../includes/ot-functions-option-types.php:2387
+msgid "Add New"
+msgstr "Lisa uus"
+
+#: ../includes/ot-functions-option-types.php:1488
+#: ../includes/ot-functions-option-types.php:2225
+#: ../includes/ot-functions-option-types.php:2390
+msgid "You can re-order with drag & drop, the order will update after saving."
+msgstr ""
+"Lohistades saab elemente ümber paigutada. Järjekord uueneb peale "
+"salvestamist."
+
+#: ../includes/ot-functions-option-types.php:1657
+msgid "On"
+msgstr "Sees"
+
+#: ../includes/ot-functions-option-types.php:1679
+msgid "Off"
+msgstr "Väljas"
+
+#: ../includes/ot-functions-option-types.php:1757
+#: ../includes/ot-functions-option-types.php:1812
+msgid "No Pages Found"
+msgstr "Lehekülgi ei leitud"
+
+#: ../includes/ot-functions-option-types.php:2145
+msgid "Choose Sidebar"
+msgstr "Vali küljendusmenüü"
+
+#: ../includes/ot-functions-option-types.php:2150
+msgid "No Sidebars"
+msgstr "Küljendusmenüüd puuduvad"
+
+#: ../includes/ot-functions-option-types.php:2258
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../includes/ot-functions-option-types.php:2263
+msgid "Twitter"
+msgstr "Twitter"
+
+#: ../includes/ot-functions-option-types.php:2268
+msgid "Google+"
+msgstr "Google+"
+
+#: ../includes/ot-functions-option-types.php:2273
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../includes/ot-functions-option-types.php:2278
+msgid "Pinterest"
+msgstr "Pinterest"
+
+#: ../includes/ot-functions-option-types.php:2283
+msgid "Youtube"
+msgstr "Youtube"
+
+#: ../includes/ot-functions-option-types.php:2288
+msgid "Dribbble"
+msgstr "Dribbble"
+
+#: ../includes/ot-functions-option-types.php:2293
+msgid "Github"
+msgstr "Github"
+
+#: ../includes/ot-functions-option-types.php:2298
+msgid "Forrst"
+msgstr "Forrst"
+
+#: ../includes/ot-functions-option-types.php:2303
+msgid "Digg"
+msgstr "Digg"
+
+#: ../includes/ot-functions-option-types.php:2308
+msgid "Delicious"
+msgstr "Delicious"
+
+#: ../includes/ot-functions-option-types.php:2313
+msgid "Tumblr"
+msgstr "Tumblr"
+
+#: ../includes/ot-functions-option-types.php:2318
+msgid "Skype"
+msgstr "Skype"
+
+#: ../includes/ot-functions-option-types.php:2323
+msgid "SoundCloud"
+msgstr "SoundCloud"
+
+#: ../includes/ot-functions-option-types.php:2328
+msgid "Vimeo"
+msgstr "Vimeo"
+
+#: ../includes/ot-functions-option-types.php:2333
+msgid "Flickr"
+msgstr "Flickr"
+
+#: ../includes/ot-functions-option-types.php:2338
+msgid "VK.com"
+msgstr "VK.com"
+
+#: ../includes/ot-functions-option-types.php:2444
+msgid "top"
+msgstr "top"
+
+#: ../includes/ot-functions-option-types.php:2453
+msgid "right"
+msgstr "right"
+
+#: ../includes/ot-functions-option-types.php:2462
+msgid "bottom"
+msgstr "bottom"
+
+#: ../includes/ot-functions-option-types.php:2471
+msgid "left"
+msgstr "left"
+
+#: ../includes/ot-functions-option-types.php:2573
+#: ../includes/ot-functions-option-types.php:2627
+msgid "No Tags Found"
+msgstr "Märksõnu ei leitud"
+
+#: ../includes/ot-functions-option-types.php:2685
+#: ../includes/ot-functions-option-types.php:2742
+msgid "No Taxonomies Found"
+msgstr "Taksonoomiaid ei leitud"
+
+#: ../includes/ot-functions-settings-page.php:35
+msgid "Warning!"
+msgstr "Hoiatus!"
+
+#: ../includes/ot-functions-settings-page.php:36
+#, php-format
+msgid ""
+"Go to the %s page if you want to save data, this page is for adding settings."
+msgstr "Info salvestamiseks on %s leht, see leht siin on sätete lisamiseks."
+
+#: ../includes/ot-functions-settings-page.php:37
+#, php-format
+msgid ""
+"If you're unsure or not completely positive that you should be editing these "
+"settings, you should read the %s first."
+msgstr "Kui kahtled, kas peaksid neid sätteid muutma, loe kõigepealt %s."
+
+#: ../includes/ot-functions-settings-page.php:38
+msgid ""
+"Things could break or be improperly displayed to the end-user if you do one "
+"of the following:"
+msgstr ""
+"Kui teed ühte järgnevatest, võivad asjad katki minna või olla lõpp-"
+"kasutajale valesti kuvatud:"
+
+#: ../includes/ot-functions-settings-page.php:39
+msgid ""
+"Give two sections the same ID, give two settings the same ID, give two "
+"contextual help content areas the same ID, don't create any settings, or "
+"have a section at the end of the settings list."
+msgstr ""
+"annad kahele sektsioonile sama ID, annad kahele sättele sama ID, annad "
+"kahele kontekstipõhise abi alale sama ID, ei loo ühtegi sätet või jätad "
+"sektsiooni sätete nimekirja lõppu."
+
+#: ../includes/ot-functions-settings-page.php:40
+msgid ""
+"You can create as many settings as your project requires and use them how "
+"you see fit. When you add a setting here, it will be available on the Theme "
+"Options page for use in your theme. To separate your settings into sections, "
+"click the \"Add Section\" button, fill in the input fields, and a new "
+"navigation menu item will be created."
+msgstr ""
+"Sätteid saab luua nii palju kui vaja ning kasutada oma parema äranägemise "
+"järgi. Siia sätte lisamisel tekib see teema valikute lehele oma teemas "
+"kasutamiseks. Sätete sektsioonidesse eraldamiseks vajuta \"Lisa sektsioon\" "
+"nupule, täida sisendväljad ning uus navigatsioonimenüü element on loodud."
+
+#: ../includes/ot-functions-settings-page.php:41
+msgid ""
+"All of the settings can be sorted and rearranged to your liking with Drag & "
+"Drop. Don't worry about the order in which you create your settings, you can "
+"always reorder them."
+msgstr ""
+"Kõiki sätteid saab sorteerida ja ümber paigutada lohistamise abil. Sätete "
+"loomise järjekorra üle ei pea muretsema, sest neid saab alati ümber "
+"järjestada."
+
+#: ../includes/ot-functions-settings-page.php:92
+msgid "Add Section"
+msgstr "Lisa sektsioon"
+
+#: ../includes/ot-functions-settings-page.php:99
+msgid "Contextual Help"
+msgstr "Konteksti põhine abi"
+
+#: ../includes/ot-functions-settings-page.php:103
+msgid "Contextual Help Sidebar"
+msgstr "Konteksti põhise abi küljeriba"
+
+#: ../includes/ot-functions-settings-page.php:103
+msgid ""
+"If you decide to add contextual help to the Theme Option page, enter the "
+"optional \"Sidebar\" HTML here. This would be an extremely useful place to "
+"add links to your themes documentation or support forum. Only after you've "
+"added some content below will this display to the user."
+msgstr ""
+"Kui soovida lisada kontekstipõhist abiteksti, sisesta \"Küljeriba\" HTML "
+"siia. See oleks väga hea koht, kuhu lisada linke oma teema "
+"dokumentatsioonile või kasutajatoe foorumile. Seda näidatakse kasutajale "
+"vaid juhul, kui allpool on mingi sisu lisatud."
+
+#: ../includes/ot-functions-settings-page.php:132
+msgid "Add Contextual Help Content"
+msgstr "Lisa konteksti põhine abitekst"
+
+#: ../includes/ot-functions-settings-page.php:168
+msgid ""
+"This import method has been deprecated. That means it has been replaced by a "
+"new method and is no longer supported, and may be removed from future "
+"versions. All themes that use this import method should be converted to use "
+"its replacement below."
+msgstr ""
+"Impordi meetodit taunitakse. See tähendab, et teda asendab uuem meetod ja "
+"enam teda ei toetata. Ta võidakse tulevastes versioonides eemaldada. Kõik "
+"teemad, mis seda impordi meetodit kasutavad, tuleks ümber muuta allolevat "
+"asendust kasutama."
+
+#: ../includes/ot-functions-settings-page.php:170
+#, php-format
+msgid ""
+"If you were given a Theme Options XML file with a premium or free theme, "
+"locate it on your hard drive and upload that file by clicking the upload "
+"button. A popup window will appear, upload the XML file and click \"%s\". "
+"The file URL should be in the upload input, if it is click \"Import XML\"."
+msgstr ""
+"Kui sulle anti teemaga kaasa valikute XML fail, leia see oma kõvakettalt "
+"ning vajuta üleslaadimise nuppu. Avanevas aknas lae üles XML fail ja vajuta "
+"\"%s\". Faili URL peaks olema üleslaadimise sisendis. Kui see seal on, "
+"vajuta nuppu \"Impordi XML\"."
+
+#: ../includes/ot-functions-settings-page.php:173
+msgid "Import XML"
+msgstr "Impordi XML"
+
+#: ../includes/ot-functions-settings-page.php:189
+msgid "Add XML"
+msgstr "Lisa XML"
+
+#: ../includes/ot-functions-settings-page.php:226
+msgid ""
+"To import your Settings copy and paste what appears to be a random string of "
+"alpha numeric characters into this textarea and press the \"Import Settings"
+"\" button."
+msgstr ""
+"Sätete importimiseks kopeeri ja kleebi näiliselt juhuslik string tähtedest "
+"ja numbritest siia tekstialasse ning vajuta \"Impordi sätted\" nuppu."
+
+#: ../includes/ot-functions-settings-page.php:229
+msgid "Import Settings"
+msgstr "Impordi seaded"
+
+#: ../includes/ot-functions-settings-page.php:271
+msgid ""
+"Only after you've imported the Settings should you try and update your Theme "
+"Options."
+msgstr "Enne teema valikute uuendamist impordi sätted."
+
+#: ../includes/ot-functions-settings-page.php:273
+msgid ""
+"To import your Theme Options copy and paste what appears to be a random "
+"string of alpha numeric characters into this textarea and press the \"Import "
+"Theme Options\" button."
+msgstr ""
+"Teema valikute importimiseks kopeeri ja kleebi näiliselt juhuslik string "
+"tähtedest ja numbritest siia tekstialasse ning vajuta \"Impordi teema valikud"
+"\" nuppu."
+
+#: ../includes/ot-functions-settings-page.php:276
+msgid "Import Theme Options"
+msgstr "Impordi teema valikud"
+
+#: ../includes/ot-functions-settings-page.php:318
+msgid ""
+"Only after you've imported the Settings should you try and update your "
+"Layouts."
+msgstr "Enne paigutuste uuendamist impordi sätted."
+
+#: ../includes/ot-functions-settings-page.php:320
+msgid ""
+"To import your Layouts copy and paste what appears to be a random string of "
+"alpha numeric characters into this textarea and press the \"Import Layouts\" "
+"button. Keep in mind that when you import your layouts, the active layout's "
+"saved data will write over the current data set for your Theme Options."
+msgstr ""
+"Paigutuste importimiseks kopeeri ja kleebi näiliselt juhuslik string "
+"tähtedest ja numbritest siia tekstialasse ning vajuta \"Impordi paigutus\" "
+"nuppu. Arvesta, et aktiivse paigutuse salvestatud andmed kirjutavad "
+"hetkeandmed üle."
+
+#: ../includes/ot-functions-settings-page.php:323
+msgid "Import Layouts"
+msgstr "Impordi paigutused"
+
+#: ../includes/ot-functions-settings-page.php:366
+#, php-format
+msgid ""
+"Export your Settings into a fully functional %s file. If you want to add "
+"your own custom %s text domain to the file, enter it into the text field "
+"before exporting. For more information on how to use this file read the "
+"documentation on %s. Remember, you should always check the file for errors "
+"before including it in your theme."
+msgstr ""
+"Ekspordi oma sätted täisfunktsionaalsesse %s faili. Kui soovid failile "
+"lisada enda kohandatud %s tekstidomeeni, sisesta see tekstivälja enne "
+"eksportimist. Lisainformatsiooni selle faili kasutamise kohta leiad "
+"dokumentatsioonis %s. Pea meeles, et failile tuleks teha vigade kontroll "
+"enne teemasse kaasamist."
+
+#: ../includes/ot-functions-settings-page.php:375
+msgid "Export Settings File"
+msgstr "Ekspordi seadete fail"
+
+#: ../includes/ot-functions-settings-page.php:405
+msgid ""
+"Export your Settings by highlighting this text and doing a copy/paste into a "
+"blank .txt file. Then save the file for importing into another install of "
+"WordPress later. Alternatively, you could just paste it into the "
+"OptionTree->Settings->Import Settings textarea "
+"on another web site."
+msgstr ""
+"Ekspordi oma sätted, markeerides see tekst ja kopeerides ta tühja .txt "
+"faili. Seejärel salvesta fail hilisemaks importimiseks teise WordPressi "
+"installatsiooni. Alternatiivina võib selle kleepida otse teise veebilehe "
+"OptionTree->Sätted->Import Sätted tekstialasse."
+
+#: ../includes/ot-functions-settings-page.php:441
+msgid ""
+"Export your Theme Options data by highlighting this text and doing a copy/"
+"paste into a blank .txt file. Then save the file for importing into another "
+"install of WordPress later. Alternatively, you could just paste it into the "
+"OptionTree->Settings->Import Theme Options "
+"textarea on another web site."
+msgstr ""
+"Ekspordi oma teema valikud, markeerides see tekst ja kopeerides ta tühja ."
+"txt faili. Seejärel salvesta fail hilisemaks importimiseks teise WordPressi "
+"installatsiooni. Alternatiivina võib selle kleepida otse teise veebilehe "
+"OptionTree->Sätted->Import Teema valikud "
+"tekstialasse."
+
+#: ../includes/ot-functions-settings-page.php:477
+msgid ""
+"Export your Layouts by highlighting this text and doing a copy/paste into a "
+"blank .txt file. Then save the file for importing into another install of "
+"WordPress later. Alternatively, you could just paste it into the "
+"OptionTree->Settings->Import Layouts textarea "
+"on another web site."
+msgstr ""
+"Ekspordi oma paigutused, markeerides see tekst ja kopeerides ta tühja .txt "
+"faili. Seejärel salvesta fail hilisemaks importimiseks teise WordPressi "
+"installatsiooni. Alternatiivina võib selle kleepida otse teise veebilehe "
+"OptionTree->Sätted->Import Paigutused "
+"tekstialasse."
+
+#: ../includes/ot-functions-settings-page.php:519
+msgid ""
+"To add a new layout enter a unique lower case alphanumeric string (dashes "
+"allowed) in the text field and click \"Save Layouts\"."
+msgstr ""
+"Uue paigutuse lisamiseks sisestage tekstivälja unikaalne väiketähtedega "
+"alfanumbriline string ( sidekriipsud lubatud ) ning vajutage \"Salvesta "
+"paigutused\" nupul."
+
+#: ../includes/ot-functions-settings-page.php:520
+msgid ""
+"As well, you can activate, remove, and drag & drop the order; all situations "
+"require you to click \"Save Layouts\" for the changes to be applied."
+msgstr ""
+"Saate ka aktiveerida, eemaldada ning lohistades järjekorda muuta. Muudatused "
+"ei mõju enne, kui vajutate \"Salvesta paigutused\" nuppu."
+
+#: ../includes/ot-functions-settings-page.php:521
+msgid ""
+"When you create a new layout it will become active and any changes made to "
+"the Theme Options will be applied to it. If you switch back to a different "
+"layout immediately after creating a new layout that new layout will have a "
+"snapshot of the current Theme Options data attached to it."
+msgstr ""
+"Uue paigutuse loomisel muudetakse see aktiivseks ning edasised muudatused "
+"teema valikutes mõjuvad talle. Kui peale uue paigutuse loomist kohe mõne muu "
+"paigutuse peale vahetada, siis uue paigutuse külge jääb teema valikute "
+"andmete hetkeseis paigutuse loomisel."
+
+#: ../includes/ot-functions-settings-page.php:522
+msgid ""
+"Visit OptionTree->Documentation->Layouts Overview to see a more "
+"in-depth description of what layouts are and how to use them."
+msgstr ""
+"Lehel OptionTree->Dokumentatsioon->Paigutuste ülevaade leiad "
+"põhjalikuma paigutuste kirjelduse ja kasutusjuhendi."
+
+#: ../includes/ot-functions-settings-page.php:559
+msgid "Save Layouts"
+msgstr "Salvesta paigutused"
+
+#: ../includes/ot-settings-api.php:364
+msgid "Reset Options"
+msgstr "Algseadista seaded"
+
+#: ../ot-loader.php:21
+msgid ""
+"OptionTree is installed as a plugin and also embedded in your current theme. "
+"Please deactivate the plugin to load the theme dependent version of "
+"OptionTree, and remove this warning."
+msgstr ""
+"OptionTree on paigaldatud nii moodulina kui ka kaasatud aktiivses teemas. "
+"Palun lülita moodul välja, et laetaks teemast sõltuv versioon OptionTreest "
+"ja see hoiatus kaoks."
+
+#~ msgid "The Colorpicker only allows valid hexadecimal values."
+#~ msgstr ""
+#~ "Värvi valija lubab vaid sobivaid kuueteistkümnendiksüsteemis väärtuseid."
+
+#~ msgid "Congratulations! You have a clean install."
+#~ msgstr "Õnnitlused! Sul on puhas paigaldus."
+
+#~ msgid ""
+#~ "Your version of OptionTree does not have any outdated data. If there was "
+#~ "outdated data, you would be presented with options to clean it up."
+#~ msgstr ""
+#~ "Sinu OptionTree versioonis ei ole aegunud andmeid. Kui neid oleks, siis "
+#~ "pakutaks võimalust puhastamiseks."
+
+#~ msgid "Hide This Page"
+#~ msgstr "Peida lehekülg"
+
+#~ msgid "Demo Meta Box"
+#~ msgstr "Näidis meta kast"
+
+#~ msgid "Conditions"
+#~ msgstr "Tingimused"
+
+#~ msgid "Show Gallery"
+#~ msgstr "Näita galeriid"
+
+#~ msgid "Shows the Gallery when set to %s."
+#~ msgstr "Näitab galeriid, kui on määratud asendisse %s"
+
+#~ msgid "Congratulations, you created a gallery!"
+#~ msgstr "Õnnitlused, lõite just galerii!"
+
+#~ msgid "This is a Gallery option type. It displays when %s."
+#~ msgstr "See on galerii valikutüüp. Nähtaval, kui ta on %s"
+
+#~ msgid "More Options"
+#~ msgstr "Rohkem seadeid"
+
+#~ msgid "This is a demo Text field."
+#~ msgstr "See on näidis tekstisisend."
+
+#~ msgid "This is a demo Textarea field."
+#~ msgstr "See on näidis tekstiväli."
+
+#~ msgid "Help content goes here!"
+#~ msgstr "Siia lähevad abitekstid!"
+
+#~ msgid "Sidebar content goes here!"
+#~ msgstr "Siia läheb küljeriba sisu!"
+
+#~ msgid "No"
+#~ msgstr "Ei"
+
+#~ msgid "Yes"
+#~ msgstr "Jah"
+
+#~ msgid "Gallery Shortcode"
+#~ msgstr "Galerii lühikood"
+
+#~ msgid ""
+#~ "The Gallery option type can also be saved as a shortcode by adding %s to "
+#~ "the class attribute. Using the Gallery option type in this manner will "
+#~ "result in a better user experience as you're able to save the link, "
+#~ "column, and order settings."
+#~ msgstr ""
+#~ "Lisades %s klassiatribuudiks saab galerii valikutüübi salvestada ka "
+#~ "lühikoodina. Sellisel moel galerii valikutüüpi kasutades on tulemuseks "
+#~ "parem kasutajakogemus, kuna saad salvestada lingi, tulba ja järjekorra "
+#~ "sätteid."
+
+#~ msgid ""
+#~ "The List Item option type allows for a great deal of customization. You "
+#~ "can add settings to the List Item and those settings will be displayed to "
+#~ "the user when they add a new List Item. Typical use is for creating "
+#~ "sliding content or blocks of code for custom layouts."
+#~ msgstr ""
+#~ "Nimekirja elemendi valikutüüpi on väga hästi kohandatav. Nimekirja "
+#~ "elementidele saab lisada sätteid ning neid näidatakse kasutajale uue "
+#~ "elemendi lisamisel. Tüüpiline kasutus on liugleva sisu jaoks või "
+#~ "kohandatud paigutuse koodiblokkide tarvis."
+
+#~ msgid "Content"
+#~ msgstr "Sisu"
+
+#~ msgid "Maybe"
+#~ msgstr "Võib-olla"
+
+#~ msgid "Upload Attachment ID"
+#~ msgstr "Üles laetud manuse ID"
+
+#~ msgid ""
+#~ "The Upload option type can also be saved as an attachment ID by adding %s "
+#~ "to the class attribute."
+#~ msgstr ""
+#~ "Üleslaadimise valikutüüpi saab salvestada ka manuse ID-na, lisades %s "
+#~ "klassi atribuudile."
+
+#~ msgid "Color Picker"
+#~ msgstr "Värvi valija"
diff --git a/option-tree/languages/option-tree.po b/option-tree/languages/option-tree.po
new file mode 100644
index 0000000..8ed82ad
--- /dev/null
+++ b/option-tree/languages/option-tree.po
@@ -0,0 +1,2461 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: OptionTree\n"
+"POT-Creation-Date: 2015-02-13 19:31-0800\n"
+"PO-Revision-Date: 2015-02-13 19:31-0800\n"
+"Last-Translator: Derek Herman \n"
+"Language-Team: Valen Designs\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.7.4\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;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
+"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
+"X-Poedit-Basepath: .\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Poedit-SearchPath-0: ..\n"
+"X-Poedit-SearchPathExcluded-0: ../.git\n"
+"X-Poedit-SearchPathExcluded-1: ../composer.json\n"
+"X-Poedit-SearchPathExcluded-2: ../assets\n"
+
+#: ../includes/ot-cleanup-api.php:86 ../includes/ot-cleanup-api.php:103
+#: ../includes/ot-cleanup-api.php:132
+msgid "OptionTree Cleanup"
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:103
+#, php-format
+msgid ""
+"OptionTree has outdated data that should be removed. Please go to %s for "
+"more information."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:138
+msgid "Multiple Media Posts"
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:140
+#, php-format
+msgid ""
+"There are currently %s OptionTree media posts in your database. At some "
+"point in the past, a version of OptionTree added multiple %s media post "
+"objects cluttering up your %s table. There is no associated risk or harm "
+"that these posts have caused other than to add size to your overall "
+"database. Thankfully, there is a way to remove all these orphaned media "
+"posts and get your database cleaned up."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:142
+#, php-format
+msgid ""
+"By clicking the button below, OptionTree will delete %s records and "
+"consolidate them into one single OptionTree media post for uploading "
+"attachments to. Additionally, the attachments will have their parent ID "
+"updated to the correct media post."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:144
+msgid ""
+"This could take a while to fully process depending on how many records you "
+"have in your database, so please be patient and wait for the script to "
+"finish."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:146
+#, php-format
+msgid ""
+"%s Your server is running in safe mode. Which means this page will "
+"automatically reload after deleting %s posts, you can filter this number "
+"using %s if your server is having trouble processing that many at one time."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:148
+msgid "Consolidate Posts"
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:176
+msgid "Reloading..."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:212
+msgid "Clean up script has completed, the page will now reload..."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:232
+msgid "Outdated Table"
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:234
+#, php-format
+msgid ""
+"If you have upgraded from an old 1.x version of OptionTree at some point, "
+"you have an extra %s table in your database that can be removed. It's not "
+"hurting anything, but does not need to be there. If you want to remove it. "
+"Click the button below."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:236
+msgid "Drop Table"
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:240
+#, php-format
+msgid "Deleting the outdated and unused %s table..."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:246
+#, php-format
+msgid "The %s table has been successfully deleted. The page will now reload..."
+msgstr ""
+
+#: ../includes/ot-cleanup-api.php:258
+#, php-format
+msgid "Something went wrong. The %s table was not deleted."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:50 ../includes/ot-functions-admin.php:51
+#: ../includes/ot-functions-admin.php:169
+#: ../includes/ot-functions-admin.php:193 ../includes/ot-functions.php:361
+msgid "Theme Options"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:56
+#: ../includes/ot-functions-admin.php:126
+#: ../includes/ot-functions-admin.php:220
+msgid "Theme Options updated."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:57
+#: ../includes/ot-functions-admin.php:127
+#: ../includes/ot-functions-admin.php:221
+msgid "Theme Options reset."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:58
+#: ../includes/ot-functions-settings-page.php:94
+#: ../includes/ot-functions-settings-page.php:133
+msgid "Save Changes"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:97
+msgid ""
+"The Theme Options UI Builder is being overridden by a custom file in your "
+"theme. Any changes you make via the UI Builder will not be saved."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:109
+#: ../includes/ot-functions-admin.php:110
+#: ../includes/ot-functions-docs-page.php:821
+msgid "OptionTree"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:120
+#: ../includes/ot-functions-admin.php:121
+#: ../includes/ot-functions-admin.php:163
+#: ../includes/ot-functions-admin.php:187
+#: ../includes/ot-functions-docs-page.php:49
+msgid "Settings"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:128
+#: ../includes/ot-functions-admin.php:222
+msgid "Save Settings"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:133
+msgid "Theme Options UI"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:137
+msgid "Import"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:141
+msgid "Export"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:145
+#: ../includes/ot-functions-admin.php:175
+#: ../includes/ot-functions-admin.php:199
+msgid "Layouts"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:151
+msgid "Theme Options UI Builder"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:157
+msgid "Settings XML"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:181
+msgid "Settings PHP File"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:205
+msgid "Layout Management"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:214
+#: ../includes/ot-functions-admin.php:215
+msgid "Documentation"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:227
+msgid "Creating Options"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:231
+msgid "Option Types"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:235
+msgid "Function References"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:239
+#: ../includes/ot-functions-admin.php:281
+#: ../includes/ot-functions-settings-page.php:366
+msgid "Theme Mode"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:243
+#: ../includes/ot-functions-admin.php:287
+msgid "Meta Boxes"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:247
+msgid "Code Examples"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:251
+msgid "Layouts Overview"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:257
+msgid "Overview of available Theme Option fields."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:263
+msgid "Option types in alphabetical order & hooks to filter them."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:269
+msgid "Function Reference:ot_get_option()"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:275
+msgid "Function Reference:get_option_tree()"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:293
+msgid "Code examples for front-end development."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:299
+msgid "What's a layout anyhow?"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:502
+#: ../includes/ot-functions-admin.php:604
+#: ../includes/ot-functions-admin.php:673
+#, php-format
+msgid "The %s input field for %s only allows numeric values."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:563
+#, php-format
+msgid "The %s Colorpicker only allows valid hexadecimal or rgba values."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:841
+#: ../includes/ot-functions-docs-page.php:398
+#: ../includes/ot-functions-settings-page.php:170 ../ot-loader.php:782
+msgid "Send to OptionTree"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:842
+#: ../includes/ot-functions-option-types.php:257
+#: ../includes/ot-functions-option-types.php:3194
+msgid "Remove Media"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:843
+msgid "Are you sure you want to reset back to the defaults?"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:844
+msgid "You can't remove this! But you can edit the values."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:845
+msgid "Are you sure you want to remove this?"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:846
+msgid "Are you sure you want to activate this layout?"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:847
+msgid "Sorry, you can't have settings three levels deep."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:848
+#: ../includes/ot-functions-option-types.php:1159
+msgid "Delete Gallery"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:849
+#: ../includes/ot-functions-option-types.php:1160
+msgid "Edit Gallery"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:850
+#: ../includes/ot-functions-option-types.php:1167
+msgid "Create Gallery"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:851
+msgid "Are you sure you want to delete this Gallery?"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:852
+msgid "Today"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:853
+msgid "Now"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:854
+msgid "Close"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:855
+msgid "Featured Image"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:856
+#: ../includes/ot-functions-admin.php:3244
+#: ../includes/ot-functions-admin.php:3305
+msgid "Image"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:924
+msgid "Option Tree"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:1061
+msgid "General"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:1067
+msgid "Sample Text Field Label"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:1068
+msgid "Description for the sample text field."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2310
+msgid "Settings updated."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2314
+msgid "Settings could not be saved."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2322
+msgid "Settings Imported."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2326
+msgid "Settings could not be imported."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2333
+msgid "Data Imported."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2337
+msgid "Data could not be imported."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2345
+msgid "Layouts Imported."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2349
+msgid "Layouts could not be imported."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2357
+msgid "Layouts Updated."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2361
+msgid "Layouts could not be updated."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2365
+msgid "Layouts have been deleted."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2371
+msgid "Layout activated."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2410
+#: ../includes/ot-functions-docs-page.php:110
+msgid "Background"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2411
+#: ../includes/ot-functions-docs-page.php:113
+msgid "Border"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2412
+#: ../includes/ot-functions-docs-page.php:116
+msgid "Box Shadow"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2413
+#: ../includes/ot-functions-docs-page.php:119
+msgid "Category Checkbox"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2414
+#: ../includes/ot-functions-docs-page.php:122
+msgid "Category Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2415
+#: ../includes/ot-functions-docs-page.php:125
+msgid "Checkbox"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2416
+#: ../includes/ot-functions-docs-page.php:128
+msgid "Colorpicker"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2417
+#: ../includes/ot-functions-docs-page.php:131
+msgid "Colorpicker Opacity"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2418
+#: ../includes/ot-functions-docs-page.php:134
+msgid "CSS"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2419
+#: ../includes/ot-functions-docs-page.php:153
+msgid "Custom Post Type Checkbox"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2420
+#: ../includes/ot-functions-docs-page.php:156
+msgid "Custom Post Type Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2421
+#: ../includes/ot-functions-docs-page.php:159
+msgid "Date Picker"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2422
+#: ../includes/ot-functions-docs-page.php:162
+msgid "Date Time Picker"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2423
+#: ../includes/ot-functions-docs-page.php:165
+msgid "Dimension"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2424
+#: ../includes/ot-functions-admin.php:5399
+#: ../includes/ot-functions-docs-page.php:168
+msgid "Gallery"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2425
+#: ../includes/ot-functions-docs-page.php:171
+msgid "Google Fonts"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2426
+#: ../includes/ot-functions-docs-page.php:174
+msgid "JavaScript"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2427
+#: ../includes/ot-functions-docs-page.php:177
+msgid "Link Color"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2428
+#: ../includes/ot-functions-docs-page.php:180
+msgid "List Item"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2429
+#: ../includes/ot-functions-docs-page.php:183
+msgid "Measurement"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2430
+#: ../includes/ot-functions-docs-page.php:214
+msgid "Numeric Slider"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2431
+#: ../includes/ot-functions-docs-page.php:217
+msgid "On/Off"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2432
+#: ../includes/ot-functions-docs-page.php:220
+msgid "Page Checkbox"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2433
+#: ../includes/ot-functions-docs-page.php:223
+msgid "Page Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2434
+#: ../includes/ot-functions-docs-page.php:226
+msgid "Post Checkbox"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2435
+#: ../includes/ot-functions-docs-page.php:229
+msgid "Post Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2436
+#: ../includes/ot-functions-docs-page.php:232
+msgid "Radio"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2437
+#: ../includes/ot-functions-docs-page.php:235
+msgid "Radio Image"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2438
+#: ../includes/ot-functions-docs-page.php:262
+msgid "Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2439
+#: ../includes/ot-functions-docs-page.php:265
+msgid "Sidebar Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2440
+#: ../includes/ot-functions-docs-page.php:269
+msgid "Slider"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2441
+#: ../includes/ot-functions-docs-page.php:272
+msgid "Social Links"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2442
+#: ../includes/ot-functions-docs-page.php:275
+msgid "Spacing"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2443
+#: ../includes/ot-functions-docs-page.php:278
+msgid "Tab"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2444
+#: ../includes/ot-functions-docs-page.php:281
+msgid "Tag Checkbox"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2445
+#: ../includes/ot-functions-docs-page.php:284
+msgid "Tag Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2446
+#: ../includes/ot-functions-docs-page.php:287
+msgid "Taxonomy Checkbox"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2447
+#: ../includes/ot-functions-docs-page.php:290
+msgid "Taxonomy Select"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2448
+#: ../includes/ot-functions-docs-page.php:293
+msgid "Text"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2449
+#: ../includes/ot-functions-docs-page.php:296
+msgid "Textarea"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2450
+#: ../includes/ot-functions-docs-page.php:355
+msgid "Textarea Simple"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2451
+#: ../includes/ot-functions-docs-page.php:371
+msgid "Textblock"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2452
+#: ../includes/ot-functions-docs-page.php:374
+msgid "Textblock Titled"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2453
+#: ../includes/ot-functions-docs-page.php:377
+msgid "Typography"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:2454
+#: ../includes/ot-functions-docs-page.php:397
+msgid "Upload"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3189
+msgid "Left Sidebar"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3194
+msgid "Right Sidebar"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3199
+msgid "Full Width (no sidebar)"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3204
+msgid "Dual Sidebar"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3209
+msgid "Left Dual Sidebar"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3214
+msgid "Right Dual Sidebar"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3255
+#: ../includes/ot-functions-admin.php:3311
+#: ../includes/ot-functions-admin.php:5439
+msgid "Link"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3266
+#: ../includes/ot-functions-admin.php:3317
+#: ../includes/ot-functions-docs-page.php:43
+#: ../includes/ot-functions-docs-page.php:428
+#: ../includes/ot-functions-docs-page.php:478
+msgid "Description"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3381
+msgid "Name"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3382
+msgid "Enter the name of the social website."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3390
+msgid "Enter the text shown in the title attribute of the link."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3396
+#, php-format
+msgid ""
+"Enter a link to the profile or page on the social website. Remember to add "
+"the %s part to the front of the link."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3689
+#, php-format
+msgid "Unable to write to file %s."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3959
+msgid "edit"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3960
+#: ../includes/ot-functions-admin.php:4028
+#: ../includes/ot-functions-admin.php:4029
+#: ../includes/ot-functions-admin.php:4191
+#: ../includes/ot-functions-admin.php:4192
+#: ../includes/ot-functions-admin.php:4257
+#: ../includes/ot-functions-admin.php:4258
+#: ../includes/ot-functions-admin.php:4385
+#: ../includes/ot-functions-admin.php:4386
+#: ../includes/ot-functions-admin.php:4538
+#: ../includes/ot-functions-admin.php:4539
+msgid "Edit"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3962
+#: ../includes/ot-functions-admin.php:3963
+#: ../includes/ot-functions-admin.php:4031
+#: ../includes/ot-functions-admin.php:4032
+#: ../includes/ot-functions-admin.php:4194
+#: ../includes/ot-functions-admin.php:4195
+#: ../includes/ot-functions-admin.php:4260
+#: ../includes/ot-functions-admin.php:4261
+#: ../includes/ot-functions-admin.php:4319
+#: ../includes/ot-functions-admin.php:4320
+#: ../includes/ot-functions-admin.php:4388
+#: ../includes/ot-functions-admin.php:4389
+#: ../includes/ot-functions-admin.php:4541
+#: ../includes/ot-functions-admin.php:4542
+msgid "Delete"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3969
+msgid ""
+"Section Title: Displayed as a menu item on the Theme "
+"Options page."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:3977
+msgid ""
+"Section ID: A unique lower case alphanumeric string, "
+"underscores allowed."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4038
+msgid ""
+"Label: Displayed as the label of a form element on the "
+"Theme Options page."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4046
+#: ../includes/ot-functions-admin.php:4275
+msgid ""
+"ID: A unique lower case alphanumeric string, underscores "
+"allowed."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4054
+msgid ""
+"Type: Choose one of the available option types from the "
+"dropdown."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4065
+msgid ""
+"Description: Enter a detailed description for the users to "
+"read on the Theme Options page, HTML is allowed. This is also where you "
+"enter content for both the Textblock & Textblock Titled option types."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4073
+msgid ""
+"Choices: This will only affect the following option types: "
+"Checkbox, Radio, Select & Select Image."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4078
+msgid "Add Choice"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4084
+msgid ""
+"Settings: This will only affect the List Item option type."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4089
+#: ../includes/ot-functions-settings-page.php:93
+msgid "Add Setting"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4095
+msgid ""
+"Standard: Setting the standard value for your option only "
+"works for some option types. Read the OptionTree->Documentation "
+"for more information on which ones."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4103
+msgid ""
+"Rows: Enter a numeric value for the number of rows in your "
+"textarea. This will only affect the following option types: CSS, Textarea, & "
+"Textarea Simple."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4111
+msgid ""
+"Post Type: Add a comma separated list of post type like "
+"'post,page'. This will only affect the following option types: Custom Post "
+"Type Checkbox, & Custom Post Type Select."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4119
+msgid ""
+"Taxonomy: Add a comma separated list of any registered "
+"taxonomy like 'category,post_tag'. This will only affect the following "
+"option types: Taxonomy Checkbox, & Taxonomy Select."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4127
+msgid ""
+"Min, Max, & Step: Add a comma separated list of options in "
+"the following format 0,100,1 (slide from 0-100 in "
+"intervals of 1). The three values represent the minimum, "
+"maximum, and step options and will only affect the Numeric Slider option "
+"type."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4135
+msgid "CSS Class: Add and optional class to this option type."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4143
+#, php-format
+msgid ""
+"Condition: Add a comma separated list (no spaces) of "
+"conditions in which the field will be visible, leave this setting empty to "
+"always show the field. In these examples, value is a "
+"placeholder for your condition, which can be in the form of %s."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4151
+msgid ""
+"Operator: Choose the logical operator to compute the result "
+"of the conditions."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4154
+#: ../includes/ot-functions-docs-page.php:111
+#: ../includes/ot-functions-docs-page.php:378
+msgid "and"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4155
+msgid "or"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4201
+#: ../includes/ot-functions-docs-page.php:29
+msgid "Label"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4211
+msgid "Value"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4221
+msgid "Image Source (Radio Image only)"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4267
+msgid ""
+"Title: Displayed as a contextual help menu item on the "
+"Theme Options page."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4283
+msgid ""
+"Content: Enter the HTML content about this contextual help "
+"item displayed on the Theme Option page for end users to read."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4314
+msgid "Layout"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4316
+#: ../includes/ot-functions-admin.php:4317
+msgid "Activate"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4353 ../includes/ot-meta-box-api.php:223
+#: ../includes/ot-settings-api.php:610
+msgid "Title"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:4693
+msgid "New Layout"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5448
+msgid "Link URL"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5455
+msgid "Link Title"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5485
+msgid "Quote"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5494
+msgid "Source Name (ex. author, singer, actor)"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5501
+msgid "Source URL"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5508
+msgid "Source Title (ex. book, song, movie)"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5515
+msgid "Source Date"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5545
+msgid "Video"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5554
+#, php-format
+msgid ""
+"Embed video from services like Youtube, Vimeo, or Hulu. You can find a list "
+"of supported oEmbed sites in the %1$s. Alternatively, you could use the "
+"built-in %2$s shortcode."
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5554
+#: ../includes/ot-functions-admin.php:5593
+msgid "Wordpress Codex"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5584
+msgid "Audio"
+msgstr ""
+
+#: ../includes/ot-functions-admin.php:5593
+#, php-format
+msgid ""
+"Embed audio from services like SoundCloud and Rdio. You can find a list of "
+"supported oEmbed sites in the %1$s. Alternatively, you could use the built-"
+"in %2$s shortcode."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:30
+msgid ""
+"The Label field should be a short but descriptive block of text 100 "
+"characters or less with no HTML."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:32
+msgid "ID"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:33
+msgid ""
+"The ID field is a unique alphanumeric key used to differentiate each theme "
+"option (underscores are acceptable). Also, the plugin will change all text "
+"you write in this field to lowercase and replace spaces and special "
+"characters with an underscore automatically."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:35
+msgid "Type"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:36
+msgid ""
+"You are required to choose one of the supported option types when creating a "
+"new option. Here is a list of the available option types. For more "
+"information about each type click the Option Types tab to the "
+"left."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:44
+msgid ""
+"Enter a detailed description for the users to read on the Theme Options "
+"page, HTML is allowed. This is also where you enter content for both the "
+"Textblock & Textblock Titled option types."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:46
+msgid "Choices"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:47
+msgid ""
+"Click the \"Add Choice\" button to add an item to the choices array. This "
+"will only affect the following option types: Checkbox, Radio, Select & "
+"Select Image."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:50
+msgid ""
+"Click the \"Add Setting\" button found inside a newly created setting to add "
+"an item to the settings array. This will only affect the List Item type."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:52
+msgid "Standard"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:53
+msgid ""
+"Setting the standard value for your option only works for some option types. "
+"Those types are one that have a single string value saved to them and not an "
+"array of values."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:55
+msgid "Rows"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:56
+msgid ""
+"Enter a numeric value for the number of rows in your textarea. This will "
+"only affect the following option types: CSS, Textarea, & Textarea Simple."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:58
+msgid "Post Type"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:59
+msgid ""
+"Add a comma separated list of post type like post,page. This "
+"will only affect the following option types: Custom Post Type Checkbox, & "
+"Custom Post Type Select. Below are the default post types available with "
+"WordPress and that are also compatible with OptionTree. You can also add "
+"your own custom post_type. At this time any does "
+"not seem to return results properly and is something I plan on looking into."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:67
+msgid "Taxonomy"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:68
+msgid ""
+"Add a comma separated list of any registered taxonomy like category,"
+"post_tag. This will only affect the following option types: Taxonomy "
+"Checkbox, & Taxonomy Select."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:70
+msgid "Min, Max, & Step"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:71
+msgid ""
+"Add a comma separated list of options in the following format 0,100,1"
+"code> (slide from 0-100 in intervals of 1). The "
+"three values represent the minimum, maximum, and step options and will only "
+"affect the Numeric Slider option type."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:73
+msgid "CSS Class"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:74
+msgid "Add and optional class to any option type."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:76
+msgid "Condition"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:77
+#, php-format
+msgid ""
+"Add a comma separated list (no spaces) of conditions in which the field will "
+"be visible, leave this setting empty to always show the field. In these "
+"examples, %s is a placeholder for your condition, which can be in the form "
+"of %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:79
+msgid "Operator"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:80
+#, php-format
+msgid ""
+"Choose the logical operator to compute the result of the conditions. Your "
+"options are %s and %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:111
+#, php-format
+msgid ""
+"The Background option type is for adding background styles to your theme "
+"either dynamically via the CSS option type below or manually with %s. The "
+"Background option type has filters that allow you to remove fields or change "
+"the defaults. For example, you can filter %s to remove unwanted fields from "
+"all Background options or an individual one. You can also filter %s. These "
+"filters allow you to fine tune the select lists for your specific needs."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:114
+#, php-format
+msgid ""
+"The Border option type is used to set width, unit, style, and color values. "
+"The text input excepts a numerical value and the unit select lets you choose "
+"the unit of measurement to add to that value. Currently the default units "
+"are %s, %s, %s, and %s. However, you can change them with the %s filter. The "
+"style select lets you choose the border style. The default styles are %s, "
+"%s, %s, %s, %s, %s, %s, and %s. However, you can change them with the %s "
+"filter. The colorpicker saves a hexadecimal color code."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:117
+#, php-format
+msgid ""
+"The Box Shadow option type is used to set %s, %s, %s, %s, %s, and %s values."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:120
+msgid ""
+"The Category Checkbox option type displays a list of category IDs. It allows "
+"the user to check multiple category IDs and will return that value as an "
+"array for use in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:123
+msgid ""
+"The Category Select option type displays a list of category IDs. It allows "
+"the user to select only one category ID and will return that value for use "
+"in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:126
+msgid ""
+"The Checkbox option type displays a group of choices. It allows the user to "
+"check multiple choices and will return that value as an array for use in a "
+"custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:129
+msgid ""
+"The Colorpicker option type saves a hexadecimal color code for use in CSS. "
+"Use it to modify the color of something in your theme."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:132
+#, php-format
+msgid ""
+"The Colorpicker Opacity option type saves a hexadecimal color code with an "
+"opacity value from %s to %s in increments of %s. Though the value is saved "
+"as hexadecimal, if used within the CSS option type the color and opacity "
+"values will be converted into a valid RGBA CSS value."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:135
+#, php-format
+msgid ""
+"The CSS option type is a textarea that when used properly can add dynamic "
+"CSS to your theme from within OptionTree. Unfortunately, due server "
+"limitations you will need to create a file named %s at the root level of "
+"your theme and change permissions using %s so the server can write to the "
+"file. I have had the most success setting this single file to %s but feel "
+"free to play around with permissions until everything is working. A good "
+"starting point is %s. When the server can save to the file, CSS will "
+"automatically be updated when you save your Theme Options."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:137
+#, php-format
+msgid ""
+"This example assumes you have an option with the ID of %1$s. Which means "
+"this option will automatically insert the value of %1$s into the %2$s when "
+"the Theme Options are saved."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:139
+msgid "Input"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:145
+msgid "Output"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:154
+#, php-format
+msgid ""
+"The Custom Post Type Select option type displays a list of IDs from any "
+"available WordPress post type or custom post type. It allows the user to "
+"check multiple post IDs for use in a custom function or loop. Requires at "
+"least one valid %1$s in the %1$s field."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:157
+#, php-format
+msgid ""
+"The Custom Post Type Select option type displays a list of IDs from any "
+"available WordPress post type or custom post type. It will return a single "
+"post ID for use in a custom function or loop. Requires at least one valid "
+"%1$s in the %1$s field."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:160
+msgid ""
+"The Date Picker option type is tied to a standard form input field which "
+"displays a calendar pop-up that allow the user to pick any date when focus "
+"is given to the input field. The returned value is a date formatted string."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:163
+msgid ""
+"The Date Time Picker option type is tied to a standard form input field "
+"which displays a calendar pop-up that allow the user to pick any date and "
+"time when focus is given to the input field. The returned value is a date "
+"and time formatted string."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:166
+#, php-format
+msgid ""
+"The Dimension option type is used to set width and height values. The text "
+"inputs except numerical values and the select lets you choose the unit of "
+"measurement to add to that value. Currently the default units are %s, %s, "
+"%s, and %s. However, you can change them with the %s filter."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:169
+msgid ""
+"The Gallery option type saves a comma separated list of image attachment "
+"IDs. You will need to create a front-end function to display the images in "
+"your theme."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:172
+#, php-format
+msgid ""
+"The Google Fonts option type will dynamically enqueue any number of Google "
+"Web Fonts into the document %1$s. As well, once the option has been saved "
+"each font family will automatically be inserted into the %2$s array for the "
+"Typography option type. You can further modify the font stack by using the "
+"%3$s filter, which is passed the %4$s, %5$s, and %6$s parameters. The %6$s "
+"parameter is being passed from %7$s, so it will be the ID of a Typography "
+"option type. This will allow you to add additional web safe fonts to "
+"individual font families on an as-need basis."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:175
+#, php-format
+msgid ""
+"The JavaScript option type is a textarea that uses the %s code editor to "
+"highlight your JavaScript and display errors as you type."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:178
+msgid "The Link Color option type is used to set all link color states."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:181
+msgid ""
+"The List Item option type replaced the Slider option type and allows for a "
+"great deal of customization. You can add settings to the List Item and those "
+"settings will be displayed to the user when they add a new List Item. "
+"Typical use is for creating sliding content or blocks of code for custom "
+"layouts."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:184
+#, php-format
+msgid ""
+"The Measurement option type is a mix of input and select fields. The text "
+"input excepts a value and the select lets you choose the unit of measurement "
+"to add to that value. Currently the default units are %s, %s, %s, and %s. "
+"However, you can change them with the %s filter."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:186
+#, php-format
+msgid ""
+"Example filter to add new units to the Measurement option type. Added to %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:199
+msgid ""
+"Example filter to completely change the units in the Measurement option "
+"type. Added to functions.php."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:215
+msgid ""
+"The Numeric Slider option type displays a jQuery UI slider. It will return a "
+"single numerical value for use in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:218
+#, php-format
+msgid ""
+"The On/Off option type displays a simple switch that can be used to turn "
+"things on or off. The saved return value is either %s or %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:221
+msgid ""
+"The Page Checkbox option type displays a list of page IDs. It allows the "
+"user to check multiple page IDs for use in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:224
+msgid ""
+"The Page Select option type displays a list of page IDs. It will return a "
+"single page ID for use in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:227
+msgid ""
+"The Post Checkbox option type displays a list of post IDs. It allows the "
+"user to check multiple post IDs for use in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:230
+msgid ""
+"The Post Select option type displays a list of post IDs. It will return a "
+"single post ID for use in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:233
+msgid ""
+"The Radio option type displays a group of choices. It allows the user to "
+"choose one and will return that value as a string for use in a custom "
+"function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:236
+#, php-format
+msgid ""
+"the Radio Images option type is primarily used for layouts. However, you can "
+"filter the image list using %s. As well, you can add your own custom images "
+"using the choices array."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:238
+msgid ""
+"This example executes the ot_radio_images filter on layout "
+"images attached to the my_radio_images field. Added to "
+"functions.php."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:263
+msgid ""
+"The Select option type is used to list anything you want that would be "
+"chosen from a select list."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:266
+#, php-format
+msgid ""
+"This option type makes it possible for users to select a WordPress "
+"registered sidebar to use on a specific area. By using the two provided "
+"filters, %s, and %s we can be selective about which sidebars are available "
+"on a specific content area."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:267
+#, php-format
+msgid ""
+"For example, if we create a WordPress theme that provides the ability to "
+"change the Blog Sidebar and we don't want to have the footer sidebars "
+"available on this area, we can unset those sidebars either manually or by "
+"using a regular expression if we have a common name like %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:270
+msgid ""
+"The Slider option type is technically deprecated. Use the List Item option "
+"type instead, as it's infinitely more customizable. Typical use is for "
+"creating sliding image content."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:273
+#, php-format
+msgid ""
+"The Social Links option type utilizes a drag & drop interface to create a "
+"list of social links. There are a few filters that make extending this "
+"option type easy. You can set the %s filter to %s and turn off loading "
+"default values. Use the %s filter to change the default values that are "
+"loaded. To filter the settings array use the %s filter."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:276
+#, php-format
+msgid ""
+"The Spacing option type is used to set spacing values such as padding or "
+"margin in the form of top, right, bottom, and left. The text inputs except "
+"numerical values and the select lets you choose the unit of measurement to "
+"add to that value. Currently the default units are %s, %s, %s, and %s. "
+"However, you can change them with the %s filter."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:279
+msgid ""
+"The Tab option type will break a section or metabox into tabbed content."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:282
+msgid ""
+"The Tag Checkbox option type displays a list of tag IDs. It allows the user "
+"to check multiple tag IDs and will return that value as an array for use in "
+"a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:285
+msgid ""
+"The Tag Select option type displays a list of tag IDs. It allows the user to "
+"select only one tag ID and will return that value for use in a custom "
+"function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:288
+msgid ""
+"The Taxonomy Checkbox option type displays a list of taxonomy IDs. It allows "
+"the user to check multiple taxonomy IDs and will return that value as an "
+"array for use in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:291
+msgid ""
+"The Taxonomy Select option type displays a list of taxonomy IDs. It allows "
+"the user to select only one taxonomy ID and will return that value for use "
+"in a custom function or loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:294
+msgid ""
+"The Text option type is used to save string values. For example, any "
+"optional or required text that is of reasonably short character length."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:297
+#, php-format
+msgid ""
+"The Textarea option type is a large string value used for custom code or "
+"text in the theme and has a WYSIWYG editor that can be filtered to change "
+"the how it is displayed. For example, you can filter %s, %s, %s, and %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:299
+msgid ""
+"Example filters to alter the Textarea option type. Added to functions."
+"php."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:301
+msgid ""
+"This example keeps WordPress from executing the wpautop filter "
+"on the line breaks. The default is true which means it wraps "
+"line breaks with an HTML p tag."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:314
+msgid ""
+"This example keeps WordPress from executing the media_buttons "
+"filter on the textarea WYSIWYG. The default is true which means "
+"show the buttons."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:327
+msgid ""
+"This example keeps WordPress from executing the tinymce filter "
+"on the textarea WYSIWYG. The default is true which means show "
+"the tinymce."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:340
+msgid ""
+"This example alters the quicktags filter on the textarea "
+"WYSIWYG. The default is array( 'buttons' => 'strong,em,link,block,del,"
+"ins,img,ul,ol,li,code,spell,close' ) which means show those "
+"quicktags. It also means you can filter in your own custom quicktags."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:356
+msgid ""
+"The Textarea Simple option type is a large string value used for custom code "
+"or text in the theme. The Textarea Simple does not have a WYSIWYG editor."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:358
+#, php-format
+msgid ""
+"This example tells WordPress to execute the %s filter on the line breaks. "
+"The default is %s which means it does not wraps line breaks with an HTML %s "
+"tag. Added to %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:372
+msgid ""
+"The Textblock option type is used only on the Theme Option page. It will "
+"allow you to create & display HTML, but has no title above the text block. "
+"You can then use the Textblock to add a more detailed set of instruction on "
+"how the options are used in your theme. You would never use this in your "
+"themes template files as it does not save a value."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:375
+msgid ""
+"The Textblock Titled option type is used only on the Theme Option page. It "
+"will allow you to create & display HTML, and has a title above the text "
+"block. You can then use the Textblock Titled to add a more detailed set of "
+"instruction on how the options are used in your theme. You would never use "
+"this in your themes template files as it does not save a value."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:378
+#, php-format
+msgid ""
+"The Typography option type is for adding typography styles to your theme "
+"either dynamically via the CSS option type above or manually with %s. The "
+"Typography option type has filters that allow you to remove fields or change "
+"the defaults. For example, you can filter %s to remove unwanted fields from "
+"all Background options or an individual one. You can also filter %s. These "
+"filters allow you to fine tune the select lists for your specific needs."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:380
+msgid ""
+"This example would filter ot_recognized_font_families to build "
+"your own font stack. Added to functions.php."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:398
+#, php-format
+msgid ""
+"The Upload option type is used to upload any WordPress supported media. "
+"After uploading, users are required to press the \"%s\" button in order to "
+"populate the input with the URI of that media. There is one caveat of this "
+"feature. If you import the theme options and have uploaded media on one site "
+"the old URI will not reflect the URI of your new site. You will have to re-"
+"upload or %s any media to your new server and change the URIs if necessary."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:430
+msgid ""
+"This function returns a value from the \"option_tree\" array of saved values "
+"or the default value supplied. The returned value would be mixed. Meaning it "
+"could be a string, integer, boolean, or array."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:432
+#: ../includes/ot-functions-docs-page.php:482
+msgid "Usage"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:436
+#: ../includes/ot-functions-docs-page.php:486
+msgid "Parameters"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:490
+msgid "string"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:490
+msgid "required"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:440
+msgid "Enter the options unique identifier."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:490
+msgid "Default:"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:440
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:490
+#: ../includes/ot-functions-docs-page.php:494
+msgid "None"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:494
+#: ../includes/ot-functions-docs-page.php:498
+#: ../includes/ot-functions-docs-page.php:502
+#: ../includes/ot-functions-docs-page.php:506
+msgid "optional"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:444
+msgid ""
+"Enter a default return value. This is just incase the request returns null."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:444
+#: ../includes/ot-functions-docs-page.php:494
+#: ../includes/ot-functions-docs-page.php:498
+#: ../includes/ot-functions-docs-page.php:502
+#: ../includes/ot-functions-docs-page.php:506
+msgid "Default"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:474
+msgid ""
+"This function has been deprecated. That means it has been replaced by a new "
+"function or is no longer supported, and may be removed from future versions. "
+"All code that uses this function should be converted to use its replacement."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:476
+msgid "Use"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:476
+msgid "instead"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:480
+msgid ""
+"This function returns, or echos if asked, a value from the \"option_tree\" "
+"array of saved values."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:490
+msgid "Enter a unique Option Key to get a returned value or array."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:494
+msgid "array"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:494
+msgid "Used to cut down on database queries in template files."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:498
+#: ../includes/ot-functions-docs-page.php:502
+msgid "boolean"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:498
+msgid "Echo the output."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:502
+msgid "Used to indicate the $item_id is an array of values."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:506
+msgid "integer"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:506
+msgid ""
+"Numeric offset key for the $item_id array, -1 will return all values (an "
+"array starts at 0)."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:534
+msgid ""
+"If you're using the plugin version of OptionTree it is highly recommended to "
+"include a function_exists check in your code, as described in "
+"the examples below. If you've integrated OptionTree directly into your "
+"themes root directory, you will not need to wrap your code "
+"with function_exists, as you're guaranteed to have the "
+"ot_get_option() function available."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:536
+msgid "String Examples"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:538
+msgid "Returns the value of test_input."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:544
+msgid ""
+"Returns the value of test_input, but also has a default value "
+"if it returns empty."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:550
+msgid "Array Examples"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:552
+msgid ""
+"Assigns the value of navigation_ids to the variable $ids"
+"code>. It then echos an unordered list of links (navigation) using "
+"wp_list_pages()."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:572
+msgid ""
+"The next two examples demonstrate how to use the Measurement"
+"strong> option type. The Measurement option type is an array with two key/"
+"value pairs. The first is the value of measurement and the second is the "
+"unit of measurement."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:598
+msgid "This example displays a very basic slider loop."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:643
+msgid "It's Super Simple"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:645
+msgid ""
+"Layouts make your theme awesome! With theme options data that you can save/"
+"import/export you can package themes with different color variations, or "
+"make it easy to do A/B testing on text and so much more. Basically, you save "
+"a snapshot of your data as a layout."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:647
+msgid ""
+"Once you have created all your different layouts, or theme variations, you "
+"can save them to a separate text file for repackaging with your theme. "
+"Alternatively, you could just make different variations for yourself and "
+"change your theme with the click of a button, all without deleting your "
+"previous options data."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:649
+msgid ""
+" Adding a layout is ridiculously easy, follow these steps and you'll be on "
+"your way to having a WordPress super theme."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:651
+msgid "For Developers"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:653
+#: ../includes/ot-functions-docs-page.php:682
+msgid "Creating a Layout"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:655
+#: ../includes/ot-functions-docs-page.php:662
+#: ../includes/ot-functions-docs-page.php:668
+msgid "Go to the OptionTre->Settings->Layouts tab."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:656
+msgid ""
+"Enter a name for your layout in the text field and hit \"Save Layouts\", "
+"you've created your first layout."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:657
+#: ../includes/ot-functions-docs-page.php:686
+msgid "Adding a new layout is as easy as repeating the steps above."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:660
+#: ../includes/ot-functions-docs-page.php:689
+msgid "Activating a Layout"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:663
+msgid "Click on the activate layout button in the actions list."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:666
+#: ../includes/ot-functions-docs-page.php:695
+msgid "Deleting a Layout"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:669
+msgid "Click on the delete layout button in the actions list."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:672
+#: ../includes/ot-functions-docs-page.php:700
+msgid "Edit Layout Data"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:674
+#: ../includes/ot-functions-docs-page.php:684
+#: ../includes/ot-functions-docs-page.php:691
+msgid "Go to the Appearance->Theme Options page."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:675
+#: ../includes/ot-functions-docs-page.php:703
+msgid ""
+"Modify and save your theme options and the layout will be updated "
+"automatically."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:676
+#: ../includes/ot-functions-docs-page.php:704
+msgid ""
+"Saving theme options data will update the currently active layout, so before "
+"you start saving make sure you want to modify the current layout."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:677
+msgid ""
+"If you want to edit a new layout, first create it then save your theme "
+"options."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:680
+msgid "End-Users Mode"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:685
+msgid ""
+"Enter a name for your layout in the text field and hit \"New Layout\", "
+"you've created your first layout."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:692
+msgid ""
+"Choose a layout from the select list and click the \"Activate Layout\" "
+"button."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:697
+msgid "End-Users mode does not allow deleting layouts."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:702
+msgid "Go to the Appearance->Theme Options tab."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:733
+#: ../includes/ot-functions-docs-page.php:815
+msgid "How-to-guide"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:735
+msgid ""
+"There are a few simple steps you need to take in order to use OptionTree's "
+"built in Meta Box API. In the code below I'll show you a basic demo of how "
+"to create your very own custom meta box using any number of the option types "
+"you have at your disposal. If you would like to see some demo code, there is "
+"a directory named theme-mode inside the assets "
+"directory that contains a file named demo-meta-boxes.php you "
+"can reference."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:737
+msgid ""
+"It's important to note that Meta Boxes do not support WYSIWYG editors at "
+"this time and if you set one of your options to Textarea it will "
+"automatically revert to a Textarea Simple until a valid solution is found. "
+"WordPress released this statement regarding the wp_editor() function:"
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:739
+msgid ""
+"Once instantiated, the WYSIWYG editor cannot be moved around in the DOM. "
+"What this means in practical terms, is that you cannot put it in meta-boxes "
+"that can be dragged and placed elsewhere on the page."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:741
+msgid "Create and include your custom meta boxes file."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:743
+msgid ""
+"Create a file and name it anything you want, maybe meta-boxes.php"
+"code>."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:744
+msgid ""
+"As well, you'll probably want to create a directory named includes"
+"code> to put your meta-boxes.php into which will help keep you "
+"file structure nice and tidy."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:745
+#: ../includes/ot-functions-docs-page.php:845
+msgid "Add the following code to your functions.php."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:755
+msgid ""
+"Add a variation of the following code to your meta-boxes.php. "
+"You'll obviously need to fill it in with all your custom array values. It's "
+"important to note here that we use the admin_init filter "
+"because if you were to call the ot_register_meta_box function "
+"before OptionTree was loaded the sky would fall on your head."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:817
+msgid ""
+"There are a few simple steps you need to take in order to use OptionTree as "
+"a theme included module. In the code below I'll show you a basic demo of how "
+"to include the entire plugin as a module, which will allow you to have the "
+"most up-to-date version of OptionTree without ever needing to hack the core "
+"of the plugin. If you would like to see some demo code, there is a directory "
+"named theme-mode inside the assets directory that "
+"contains a file named demo-theme-options.php you can reference."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:819
+msgid "Step 1: Include the plugin & turn on theme mode."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:821
+#, php-format
+msgid "Download the latest version of %s and unarchive the %s directory."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:822
+#, php-format
+msgid ""
+"Put the %s directory in the root of your theme. For example, the server path "
+"would be %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:823
+#, php-format
+msgid "Add the following code to the beginning of your %s."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:837
+#, php-format
+msgid ""
+"For a list of all the OptionTree UI display filters refer to the %s file "
+"found in the %s directory of this plugin. This file is the starting point "
+"for developing themes with Theme Mode."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:839
+msgid ""
+"You now have OptionTree built into your theme and anytime an update is "
+"available replace the old version with the new one."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:841
+msgid "Step 2: Create Theme Options without using the UI Builder."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:843
+msgid ""
+"Create a file and name it anything you want, maybe theme-options.php"
+"code>, or use the built in file export to create it for you. Remember, you "
+"should always check the file for errors before including it in your theme."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:844
+msgid ""
+"As well, you'll probably want to create a directory named includes"
+"code> to put your theme-options.php into which will help keep "
+"you file structure nice and tidy."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:855
+msgid ""
+"Add a variation of the following code to your theme-options.php"
+"code>. You'll obviously need to fill it in with all your custom array values "
+"for contextual help (optional), sections (required), and settings (required)."
+msgstr ""
+
+#: ../includes/ot-functions-docs-page.php:858
+msgid ""
+"The code below is a boilerplate to get your started. For a full list of the "
+"available option types click the \"Option Types\" tab above. Also a quick "
+"note, you don't need to put OptionTree in theme mode to manually create "
+"options but you will want to hide the docs and settings as each time you "
+"load the admin area the settings be written over with the code below if "
+"they've changed in any way. However, this ensures your settings do not get "
+"tampered with by the end-user."
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:46
+msgid "Sorry, this function does not exist"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:134
+msgid "background-repeat"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:152
+msgid "background-attachment"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:171
+msgid "background-position"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:224
+msgid "background-size"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:238
+msgid "background-image"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:241
+#: ../includes/ot-functions-option-types.php:3178
+msgid "Add Media"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:316
+#: ../includes/ot-functions-option-types.php:1045
+msgid "width"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:327
+#: ../includes/ot-functions-option-types.php:1065
+#: ../includes/ot-functions-option-types.php:1537
+#: ../includes/ot-functions-option-types.php:2482
+msgid "unit"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:346
+msgid "style"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:439
+msgid "offset-x"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:448
+msgid "offset-y"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:457
+msgid "blur-radius"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:466
+msgid "spread-radius"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:538
+#: ../includes/ot-functions-option-types.php:592
+msgid "No Categories Found"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:587
+#: ../includes/ot-functions-option-types.php:870
+#: ../includes/ot-functions-option-types.php:1806
+#: ../includes/ot-functions-option-types.php:1917
+#: ../includes/ot-functions-option-types.php:2622
+#: ../includes/ot-functions-option-types.php:2737
+msgid "Choose One"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:818
+#: ../includes/ot-functions-option-types.php:876
+#: ../includes/ot-functions-option-types.php:1868
+#: ../includes/ot-functions-option-types.php:1923
+msgid "No Posts Found"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1054
+msgid "height"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1232
+#: ../includes/ot-functions-option-types.php:1275
+msgid "Remove Google Font"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1234
+#: ../includes/ot-functions-option-types.php:1277
+msgid "-- Choose One --"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1298
+msgid "Add Google Font"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1384
+msgctxt "color picker"
+msgid "Standard"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1385
+msgctxt "color picker"
+msgid "Hover"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1386
+msgctxt "color picker"
+msgid "Active"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1387
+msgctxt "color picker"
+msgid "Visited"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1388
+msgctxt "color picker"
+msgid "Focus"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1485
+#: ../includes/ot-functions-option-types.php:2222
+#: ../includes/ot-functions-option-types.php:2387
+msgid "Add New"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1488
+#: ../includes/ot-functions-option-types.php:2225
+#: ../includes/ot-functions-option-types.php:2390
+msgid "You can re-order with drag & drop, the order will update after saving."
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1657
+msgid "On"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1679
+msgid "Off"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:1757
+#: ../includes/ot-functions-option-types.php:1812
+msgid "No Pages Found"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2145
+msgid "Choose Sidebar"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2150
+msgid "No Sidebars"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2258
+msgid "Facebook"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2263
+msgid "Twitter"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2268
+msgid "Google+"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2273
+msgid "LinkedIn"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2278
+msgid "Pinterest"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2283
+msgid "Youtube"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2288
+msgid "Dribbble"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2293
+msgid "Github"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2298
+msgid "Forrst"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2303
+msgid "Digg"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2308
+msgid "Delicious"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2313
+msgid "Tumblr"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2318
+msgid "Skype"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2323
+msgid "SoundCloud"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2328
+msgid "Vimeo"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2333
+msgid "Flickr"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2338
+msgid "VK.com"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2444
+msgid "top"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2453
+msgid "right"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2462
+msgid "bottom"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2471
+msgid "left"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2573
+#: ../includes/ot-functions-option-types.php:2627
+msgid "No Tags Found"
+msgstr ""
+
+#: ../includes/ot-functions-option-types.php:2685
+#: ../includes/ot-functions-option-types.php:2742
+msgid "No Taxonomies Found"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:35
+msgid "Warning!"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:36
+#, php-format
+msgid ""
+"Go to the %s page if you want to save data, this page is for adding settings."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:37
+#, php-format
+msgid ""
+"If you're unsure or not completely positive that you should be editing these "
+"settings, you should read the %s first."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:38
+msgid ""
+"Things could break or be improperly displayed to the end-user if you do one "
+"of the following:"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:39
+msgid ""
+"Give two sections the same ID, give two settings the same ID, give two "
+"contextual help content areas the same ID, don't create any settings, or "
+"have a section at the end of the settings list."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:40
+msgid ""
+"You can create as many settings as your project requires and use them how "
+"you see fit. When you add a setting here, it will be available on the Theme "
+"Options page for use in your theme. To separate your settings into sections, "
+"click the \"Add Section\" button, fill in the input fields, and a new "
+"navigation menu item will be created."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:41
+msgid ""
+"All of the settings can be sorted and rearranged to your liking with Drag & "
+"Drop. Don't worry about the order in which you create your settings, you can "
+"always reorder them."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:92
+msgid "Add Section"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:99
+msgid "Contextual Help"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:103
+msgid "Contextual Help Sidebar"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:103
+msgid ""
+"If you decide to add contextual help to the Theme Option page, enter the "
+"optional \"Sidebar\" HTML here. This would be an extremely useful place to "
+"add links to your themes documentation or support forum. Only after you've "
+"added some content below will this display to the user."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:132
+msgid "Add Contextual Help Content"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:168
+msgid ""
+"This import method has been deprecated. That means it has been replaced by a "
+"new method and is no longer supported, and may be removed from future "
+"versions. All themes that use this import method should be converted to use "
+"its replacement below."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:170
+#, php-format
+msgid ""
+"If you were given a Theme Options XML file with a premium or free theme, "
+"locate it on your hard drive and upload that file by clicking the upload "
+"button. A popup window will appear, upload the XML file and click \"%s\". "
+"The file URL should be in the upload input, if it is click \"Import XML\"."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:173
+msgid "Import XML"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:189
+msgid "Add XML"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:226
+msgid ""
+"To import your Settings copy and paste what appears to be a random string of "
+"alpha numeric characters into this textarea and press the \"Import Settings"
+"\" button."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:229
+msgid "Import Settings"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:271
+msgid ""
+"Only after you've imported the Settings should you try and update your Theme "
+"Options."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:273
+msgid ""
+"To import your Theme Options copy and paste what appears to be a random "
+"string of alpha numeric characters into this textarea and press the \"Import "
+"Theme Options\" button."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:276
+msgid "Import Theme Options"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:318
+msgid ""
+"Only after you've imported the Settings should you try and update your "
+"Layouts."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:320
+msgid ""
+"To import your Layouts copy and paste what appears to be a random string of "
+"alpha numeric characters into this textarea and press the \"Import Layouts\" "
+"button. Keep in mind that when you import your layouts, the active layout's "
+"saved data will write over the current data set for your Theme Options."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:323
+msgid "Import Layouts"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:366
+#, php-format
+msgid ""
+"Export your Settings into a fully functional %s file. If you want to add "
+"your own custom %s text domain to the file, enter it into the text field "
+"before exporting. For more information on how to use this file read the "
+"documentation on %s. Remember, you should always check the file for errors "
+"before including it in your theme."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:375
+msgid "Export Settings File"
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:405
+msgid ""
+"Export your Settings by highlighting this text and doing a copy/paste into a "
+"blank .txt file. Then save the file for importing into another install of "
+"WordPress later. Alternatively, you could just paste it into the "
+"OptionTree->Settings->Import Settings textarea "
+"on another web site."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:441
+msgid ""
+"Export your Theme Options data by highlighting this text and doing a copy/"
+"paste into a blank .txt file. Then save the file for importing into another "
+"install of WordPress later. Alternatively, you could just paste it into the "
+"OptionTree->Settings->Import Theme Options "
+"textarea on another web site."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:477
+msgid ""
+"Export your Layouts by highlighting this text and doing a copy/paste into a "
+"blank .txt file. Then save the file for importing into another install of "
+"WordPress later. Alternatively, you could just paste it into the "
+"OptionTree->Settings->Import Layouts textarea "
+"on another web site."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:519
+msgid ""
+"To add a new layout enter a unique lower case alphanumeric string (dashes "
+"allowed) in the text field and click \"Save Layouts\"."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:520
+msgid ""
+"As well, you can activate, remove, and drag & drop the order; all situations "
+"require you to click \"Save Layouts\" for the changes to be applied."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:521
+msgid ""
+"When you create a new layout it will become active and any changes made to "
+"the Theme Options will be applied to it. If you switch back to a different "
+"layout immediately after creating a new layout that new layout will have a "
+"snapshot of the current Theme Options data attached to it."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:522
+msgid ""
+"Visit OptionTree->Documentation->Layouts Overview to see a more "
+"in-depth description of what layouts are and how to use them."
+msgstr ""
+
+#: ../includes/ot-functions-settings-page.php:559
+msgid "Save Layouts"
+msgstr ""
+
+#: ../includes/ot-settings-api.php:364
+msgid "Reset Options"
+msgstr ""
+
+#: ../ot-loader.php:21
+msgid ""
+"OptionTree is installed as a plugin and also embedded in your current theme. "
+"Please deactivate the plugin to load the theme dependent version of "
+"OptionTree, and remove this warning."
+msgstr ""
diff --git a/option-tree/languages/option-tree.pot b/option-tree/languages/option-tree.pot
deleted file mode 100644
index 7f5bfad..0000000
--- a/option-tree/languages/option-tree.pot
+++ /dev/null
@@ -1,1753 +0,0 @@
-# Copyright (C) 2014
-# This file is distributed under the same license as the package.
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://wordpress.org/tag/option-tree\n"
-"POT-Creation-Date: 2014-01-13 06:39:33+00:00\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: LANGUAGE \n"
-
-#: includes/ot-functions-admin.php:50 includes/ot-functions-admin.php:51
-#: includes/ot-functions-admin.php:157 includes/ot-functions-admin.php:181
-#: includes/ot-functions.php:187
-msgid "Theme Options"
-msgstr ""
-
-#: includes/ot-functions-admin.php:56 includes/ot-functions-admin.php:113
-#: includes/ot-functions-admin.php:208
-msgid "Theme Options updated."
-msgstr ""
-
-#: includes/ot-functions-admin.php:57 includes/ot-functions-admin.php:114
-#: includes/ot-functions-admin.php:209
-msgid "Theme Options reset."
-msgstr ""
-
-#: includes/ot-functions-admin.php:58
-#: includes/ot-functions-settings-page.php:94
-#: includes/ot-functions-settings-page.php:133
-msgid "Save Changes"
-msgstr ""
-
-#: includes/ot-functions-admin.php:96 includes/ot-functions-admin.php:97
-msgid "OptionTree"
-msgstr ""
-
-#: includes/ot-functions-admin.php:107 includes/ot-functions-admin.php:108
-#: includes/ot-functions-admin.php:151 includes/ot-functions-admin.php:175
-#: includes/ot-functions-docs-page.php:49
-msgid "Settings"
-msgstr ""
-
-#: includes/ot-functions-admin.php:115 includes/ot-functions-admin.php:210
-msgid "Save Settings"
-msgstr ""
-
-#: includes/ot-functions-admin.php:121
-msgid "Theme Options UI"
-msgstr ""
-
-#: includes/ot-functions-admin.php:125
-msgid "Import"
-msgstr ""
-
-#: includes/ot-functions-admin.php:129
-msgid "Export"
-msgstr ""
-
-#: includes/ot-functions-admin.php:133 includes/ot-functions-admin.php:163
-#: includes/ot-functions-admin.php:187
-msgid "Layouts"
-msgstr ""
-
-#: includes/ot-functions-admin.php:139
-msgid "Theme Options UI Builder"
-msgstr ""
-
-#: includes/ot-functions-admin.php:145
-msgid "Settings XML"
-msgstr ""
-
-#: includes/ot-functions-admin.php:169
-msgid "Settings PHP File"
-msgstr ""
-
-#: includes/ot-functions-admin.php:193
-msgid "Layout Management"
-msgstr ""
-
-#: includes/ot-functions-admin.php:202 includes/ot-functions-admin.php:203
-msgid "Documentation"
-msgstr ""
-
-#: includes/ot-functions-admin.php:216
-msgid "Creating Options"
-msgstr ""
-
-#: includes/ot-functions-admin.php:220
-msgid "Option Types"
-msgstr ""
-
-#: includes/ot-functions-admin.php:224
-msgid "Function References"
-msgstr ""
-
-#: includes/ot-functions-admin.php:228 includes/ot-functions-admin.php:270
-msgid "Theme Mode"
-msgstr ""
-
-#: includes/ot-functions-admin.php:232 includes/ot-functions-admin.php:276
-msgid "Meta Boxes"
-msgstr ""
-
-#: includes/ot-functions-admin.php:236
-msgid "Code Examples"
-msgstr ""
-
-#: includes/ot-functions-admin.php:240
-msgid "Layouts Overview"
-msgstr ""
-
-#: includes/ot-functions-admin.php:246
-msgid "Overview of available Theme Option fields."
-msgstr ""
-
-#: includes/ot-functions-admin.php:252
-msgid "Option types in alphabetical order & hooks to filter them."
-msgstr ""
-
-#: includes/ot-functions-admin.php:258
-msgid "Function Reference:ot_get_option()"
-msgstr ""
-
-#: includes/ot-functions-admin.php:264
-msgid "Function Reference:get_option_tree()"
-msgstr ""
-
-#: includes/ot-functions-admin.php:282
-msgid "Code examples for front-end development."
-msgstr ""
-
-#: includes/ot-functions-admin.php:288
-msgid "What's a layout anyhow?"
-msgstr ""
-
-#: includes/ot-functions-admin.php:476
-msgid "The Colorpicker only allows valid hexadecimal values."
-msgstr ""
-
-#: includes/ot-functions-admin.php:564
-msgid "Send to OptionTree"
-msgstr ""
-
-#: includes/ot-functions-admin.php:565
-#: includes/ot-functions-option-types.php:152
-#: includes/ot-functions-option-types.php:1872
-msgid "Remove Media"
-msgstr ""
-
-#: includes/ot-functions-admin.php:566
-msgid "Are you sure you want to reset back to the defaults?"
-msgstr ""
-
-#: includes/ot-functions-admin.php:567
-msgid "You can't remove this! But you can edit the values."
-msgstr ""
-
-#: includes/ot-functions-admin.php:568
-msgid "Are you sure you want to remove this?"
-msgstr ""
-
-#: includes/ot-functions-admin.php:569
-msgid "Are you sure you want to activate this layout?"
-msgstr ""
-
-#: includes/ot-functions-admin.php:570
-msgid "Sorry, you can't have settings three levels deep."
-msgstr ""
-
-#: includes/ot-functions-admin.php:616
-msgid "Option Tree"
-msgstr ""
-
-#: includes/ot-functions-admin.php:752
-msgid "General"
-msgstr ""
-
-#: includes/ot-functions-admin.php:758
-msgid "Sample Text Field Label"
-msgstr ""
-
-#: includes/ot-functions-admin.php:759
-msgid "Description for the sample text field."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1957
-msgid "Settings updated."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1961
-msgid "Settings could not be saved."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1969
-msgid "Settings Imported."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1973
-msgid "Settings could not be imported."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1980
-msgid "Data Imported."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1984
-msgid "Data could not be imported."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1992
-msgid "Layouts Imported."
-msgstr ""
-
-#: includes/ot-functions-admin.php:1996
-msgid "Layouts could not be imported."
-msgstr ""
-
-#: includes/ot-functions-admin.php:2004
-msgid "Layouts Updated."
-msgstr ""
-
-#: includes/ot-functions-admin.php:2008
-msgid "Layouts could not be updated."
-msgstr ""
-
-#: includes/ot-functions-admin.php:2012
-msgid "Layouts have been deleted."
-msgstr ""
-
-#: includes/ot-functions-admin.php:2018
-msgid "Layout activated."
-msgstr ""
-
-#: includes/ot-functions-admin.php:2580
-msgid "Left Sidebar"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2585
-msgid "Right Sidebar"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2590
-msgid "Full Width (no sidebar)"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2595
-msgid "Dual Sidebar"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2600
-msgid "Left Dual Sidebar"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2605
-msgid "Right Dual Sidebar"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2635 includes/ot-functions-admin.php:2696
-msgid "Image"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2646 includes/ot-functions-admin.php:2702
-msgid "Link"
-msgstr ""
-
-#: includes/ot-functions-admin.php:2657 includes/ot-functions-admin.php:2708
-#: includes/ot-functions-docs-page.php:43
-#: includes/ot-functions-docs-page.php:380
-#: includes/ot-functions-docs-page.php:430
-msgid "Description"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3180
-msgid "edit"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3181 includes/ot-functions-admin.php:3248
-#: includes/ot-functions-admin.php:3249 includes/ot-functions-admin.php:3392
-#: includes/ot-functions-admin.php:3393 includes/ot-functions-admin.php:3458
-#: includes/ot-functions-admin.php:3459 includes/ot-functions-admin.php:3586
-#: includes/ot-functions-admin.php:3587
-msgid "Edit"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3183 includes/ot-functions-admin.php:3184
-#: includes/ot-functions-admin.php:3251 includes/ot-functions-admin.php:3252
-#: includes/ot-functions-admin.php:3395 includes/ot-functions-admin.php:3396
-#: includes/ot-functions-admin.php:3461 includes/ot-functions-admin.php:3462
-#: includes/ot-functions-admin.php:3520 includes/ot-functions-admin.php:3521
-#: includes/ot-functions-admin.php:3589 includes/ot-functions-admin.php:3590
-msgid "Delete"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3190
-msgid ""
-"Section Title: Displayed as a menu item on the Theme "
-"Options page."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3198
-msgid ""
-"Section ID: A unique lower case alphanumeric string, "
-"underscores allowed."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3258
-msgid ""
-"Label: Displayed as the label of a form element on the "
-"Theme Options page."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3266 includes/ot-functions-admin.php:3476
-msgid ""
-"ID: A unique lower case alphanumeric string, underscores "
-"allowed."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3274
-msgid ""
-"Type: Choose one of the available option types from the "
-"dropdown."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3285
-msgid ""
-"Description: Enter a detailed description for the users to "
-"read on the Theme Options page, HTML is allowed. This is also where you "
-"enter content for both the Textblock & Textblock Titled option types."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3293
-msgid ""
-"Choices: This will only affect the following option types: "
-"Checkbox, Radio, Select & Select Image."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3298
-msgid "Add Choice"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3304
-msgid ""
-"Settings: This will only affect the List Item option type."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3309
-#: includes/ot-functions-settings-page.php:93
-msgid "Add Setting"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3315
-msgid ""
-"Standard: Setting the standard value for your option only "
-"works for some option types. Read the OptionTree->Documentation "
-"for more information on which ones."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3323
-msgid ""
-"Rows: Enter a numeric value for the number of rows in your "
-"textarea. This will only affect the following option types: CSS, Textarea, & "
-"Textarea Simple."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3331
-msgid ""
-"Post Type: Add a comma separated list of post type like "
-"'post,page'. This will only affect the following option types: Custom Post "
-"Type Checkbox, & Custom Post Type Select."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3339
-msgid ""
-"Taxonomy: Add a comma separated list of any registered "
-"taxonomy like 'category,post_tag'. This will only affect the following "
-"option types: Taxonomy Checkbox, & Taxonomy Select."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3347
-msgid ""
-"Min, Max, & Step: Add a comma separated list of options in "
-"the following format 0,100,1 (slide from 0-100 in "
-"intervals of 1). The three values represent the minimum, "
-"maximum, and step options and will only affect the Numeric Slider option "
-"type."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3355
-msgid "CSS Class: Add and optional class to this option type."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3402 includes/ot-functions-docs-page.php:29
-msgid "Label"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3412
-msgid "Value"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3422
-msgid "Image Source (Radio Image only)"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3468
-msgid ""
-"Title: Displayed as a contextual help menu item on the "
-"Theme Options page."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3484
-msgid ""
-"Content: Enter the HTML content about this contextual help "
-"item displayed on the Theme Option page for end users to read."
-msgstr ""
-
-#: includes/ot-functions-admin.php:3515
-msgid "Layout"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3517 includes/ot-functions-admin.php:3518
-msgid "Activate"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3554 includes/ot-meta-box-api.php:186
-#: includes/ot-settings-api.php:587
-msgid "Title"
-msgstr ""
-
-#: includes/ot-functions-admin.php:3720
-msgid "New Layout"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:30
-msgid ""
-"The Label field should be a short but descriptive block of text 100 "
-"characters or less with no HTML."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:32
-msgid "ID"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:33
-msgid ""
-"The ID field is a unique alphanumeric key used to differentiate each theme "
-"option (underscores are acceptable). Also, the plugin will change all text "
-"you write in this field to lowercase and replace spaces and special "
-"characters with an underscore automatically."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:35
-msgid "Type"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:36
-msgid ""
-"You are required to choose one of the supported option types when creating a "
-"new option. Here is a list of the available option types. For more "
-"information about each type click the Option Types tab to the "
-"left."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:44
-msgid ""
-"Enter a detailed description for the users to read on the Theme Options "
-"page, HTML is allowed. This is also where you enter content for both the "
-"Textblock & Textblock Titled option types."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:46
-msgid "Choices"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:47
-msgid ""
-"Click the \"Add Choice\" button to add an item to the choices array. This "
-"will only affect the following option types: Checkbox, Radio, Select & "
-"Select Image."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:50
-msgid ""
-"Click the \"Add Setting\" button found inside a newly created setting to add "
-"an item to the settings array. This will only affect the List Item type."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:52
-msgid "Standard"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:53
-msgid ""
-"Setting the standard value for your option only works for some option types. "
-"Those types are one that have a single string value saved to them and not an "
-"array of values."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:55
-msgid "Rows"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:56
-msgid ""
-"Enter a numeric value for the number of rows in your textarea. This will "
-"only affect the following option types: CSS, Textarea, & Textarea Simple."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:58
-msgid "Post Type"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:59
-msgid ""
-"Add a comma separated list of post type like post,page. This "
-"will only affect the following option types: Custom Post Type Checkbox, & "
-"Custom Post Type Select. Below are the default post types available with "
-"WordPress and that are also compatible with OptionTree. You can also add "
-"your own custom post_type. At this time any does "
-"not seem to return results properly and is something I plan on looking into."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:67
-msgid "Taxonomy"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:68
-msgid ""
-"Add a comma separated list of any registered taxonomy like category,"
-"post_tag. This will only affect the following option types: Taxonomy "
-"Checkbox, & Taxonomy Select."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:70
-msgid "Min, Max, & Step"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:71
-msgid ""
-"Add a comma separated list of options in the following format 0,100,1"
-"code> (slide from 0-100 in intervals of 1). The "
-"three values represent the minimum, maximum, and step options and will only "
-"affect the Numeric Slider option type."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:73
-msgid "CSS Class"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:74
-msgid "Add and optional class to any option type."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:104
-msgid "Background"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:105
-msgid ""
-"The Background option type is for adding background styles to your theme "
-"either dynamically via the CSS option type below or manually with "
-"ot_get_option(). Background has filters that allow you to "
-"change the defaults. For example, you can filter on "
-"ot_recognized_background_repeat, "
-"ot_recognized_background_attachment, and "
-"ot_recognized_background_position. These filters allow you to "
-"fine tune the select lists for your specific CSS needs."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:107
-msgid "Category Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:108
-msgid ""
-"The Category Select option type displays a list of category IDs. It allows "
-"the user to select only one category ID and will return that value for use "
-"in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:110
-msgid "Category Checkbox"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:111
-msgid ""
-"The Category Checkbox option type displays a list of category IDs. It allows "
-"the user to check multiple category IDs and will return that value as an "
-"array for use in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:113
-msgid "Checkbox"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:114
-msgid ""
-"The Checkbox option type is fairly self explanatory. Typically used to ask "
-"questions. For example, \"Do you want to activate asynchronous Google "
-"analytics?\" would be a single checkbox with a value of yes. You could have "
-"more complex usages but the idea is that you can easily grab the value of "
-"the checkbox and use it in you theme. In this situation you would test if "
-"the checkbox has a value and execute a block of code if it does and do "
-"nothing if it doesn't."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:116
-msgid "Colorpicker"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:117
-msgid ""
-"The Colorpicker option type saves a hexadecimal color code for use in CSS. "
-"Use it to modify the color of something in your theme."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:119
-msgid "CSS"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:120
-msgid ""
-"The CSS option type is a textarea that when used properly can add dynamic "
-"CSS to your theme from within OptionTree. Unfortunately, due server "
-"limitations you will need to create a file named dynamic.css at "
-"the root level of your theme and change permissions using chmod so the "
-"server can write to the file. I have had the most success setting this "
-"single file to 0777 but feel free to play around with permissions until "
-"everything is working. A good starting point is 0666. When the server can "
-"save to the file CSS will automatically be updated each time you save your "
-"theme options."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:122
-msgid ""
-"An example of the CSS option type: This assumes you have an option with the "
-"ID of custom_background_css which will display the saved values "
-"for that option."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:124
-msgid "Input"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:130
-msgid "Output"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:138
-msgid "Custom Post Type Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:139
-msgid ""
-"The Custom Post Type Select option type displays a list of IDs from any "
-"available WordPress post type or custom post type. It will return a single "
-"post ID for use in a custom function or loop. Requires at least one valid "
-"post_type when created in the settings. For some reason "
-"any does not work correctly and will looked into in future "
-"version."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:141
-msgid "Custom Post Type Checkbox"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:142
-msgid ""
-"The Custom Post Type Select option type displays a list of IDs from any "
-"available WordPress post type or custom post type. It allows the user to "
-"check multiple post IDs for use in a custom function or loop. Requires at "
-"least one valid post_type when created in the settings. For "
-"some reason any does not work correctly and will looked into in "
-"future version."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:144
-msgid "List Item"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:145
-msgid ""
-"The list Item replaced the old Slider option type. It allows for a great "
-"deal of customization. You can add settings to the List Item and those "
-"settings will be displayed to the user when they add a new List Item. "
-"Typical use is for creating sliding content or blocks of code for custom "
-"layouts."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:147
-msgid "Measurement"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:148
-msgid ""
-"The Measurement option type is a mix of input and select fields. The text "
-"input excepts a value and the select lets you choose the unit of measurement "
-"to add to that value. Currently the default units are px, "
-"%, em, pt. However, you can change them "
-"with the ot_measurement_unit_types filter."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:150
-msgid ""
-"Example filter to add new units to the Measurement option type. Added to "
-"functions.php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:163
-msgid ""
-"Example filter to completely change the units in the Measurement option "
-"type. Added to functions.php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:178
-msgid "Numeric Slider"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:179
-msgid ""
-"The Numeric Slider option type displays a jQuery UI slider. It will return a "
-"single numerical value for use in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:181
-msgid "Page Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:182
-msgid ""
-"The Page Select option type displays a list of page IDs. It will return a "
-"single page ID for use in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:184
-msgid "Page Checkbox"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:185
-msgid ""
-"The Page Select option type displays a list of page IDs. It allows the user "
-"to check multiple page IDs for use in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:187
-msgid "Post Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:188
-msgid ""
-"The Post Select option type displays a list of post IDs. It will return a "
-"single post ID for use in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:190
-msgid "Post Checkbox"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:191
-msgid ""
-"The Post Select option type displays a list of post IDs. It allows the user "
-"to check multiple post IDs for use in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:193
-msgid "Radio"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:194
-msgid ""
-"The Radio option type could ask a question. For example, \"Do you want to "
-"activate the custom navigation?\" could require a yes or no answer with a "
-"radio option. In this situation you would test if the radio has a value of "
-"'yes' and execute a block of code, or if it's 'no' execute a different block "
-"of code."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:196
-msgid "Radio Image"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:197
-msgid ""
-"the Radio Images option type is primarily used for layouts. However, you can "
-"filter the image list using ot_radio_images. As well, you can "
-"add your own custom images using the choices array."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:199
-msgid ""
-"This example executes the ot_radio_images filter on layout "
-"images attached to the my_radio_images field. Added to "
-"functions.php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:223
-msgid "Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:224
-msgid ""
-"The Select option type is used to list anything you want that would be "
-"chosen from a select list."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:226
-msgid "Sidebar Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:227
-msgid ""
-"This option type makes it possible for users to select a WordPress "
-"registered sidebar to use on a specific area. By using the two provided "
-"filters, ot_recognized_sidebars, and "
-"ot_recognized_sidebars_{$field_id} we can be selective about "
-"which sidebars are available on a specific content area."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:228
-msgid ""
-"For example, if we create a WordPress theme that provides the ability to "
-"change the Blog Sidebar and we don't want to have the footer sidebars "
-"available on this area, we can unset those sidebars either manually or by "
-"using a regular expression if we have a common name like footer-"
-"sidebar-$i."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:230
-msgid "Slider"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:231
-msgid ""
-"The Slider option type is technically deprecated. Use the List Item option "
-"type instead, as it's infinitely more customizable. Typical use is for "
-"creating sliding image content."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:233
-msgid "Tag Checkbox"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:234
-msgid ""
-"The Tag Checkbox option type displays a list of tag IDs. It allows the user "
-"to check multiple tag IDs and will return that value as an array for use in "
-"a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:236
-msgid "Tag Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:237
-msgid ""
-"The Tag Select option type displays a list of tag IDs. It allows the user to "
-"select only one tag ID and will return that value for use in a custom "
-"function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:239
-msgid "Taxonomy Checkbox"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:240
-msgid ""
-"The Taxonomy Checkbox option type displays a list of taxonomy IDs. It allows "
-"the user to check multiple taxonomy IDs and will return that value as an "
-"array for use in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:242
-msgid "Taxonomy Select"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:243
-msgid ""
-"The Taxonomy Select option type displays a list of taxonomy IDs. It allows "
-"the user to select only one taxonomy ID and will return that value for use "
-"in a custom function or loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:245
-msgid "Text (Input)"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:246
-msgid ""
-"The Text option type would be used to save a string value. For example, a "
-"link to feedburner, your Twitter username, or Google Analytics ID are all "
-"good candidates. Any optional or required text that is of reasonably short "
-"character length."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:248
-msgid "Textarea"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:249
-msgid ""
-"The Textarea option type is a large string value used for custom code or "
-"text in the theme. The new Textarea has a WYSIWYG editor that can be "
-"filtered to change the buttons shown. For example, you can filter on "
-"wpautop, media_buttons, tinymce, and "
-"quicktags."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:251
-msgid ""
-"Example filters to alter the Textarea option type. Added to functions."
-"php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:253
-msgid ""
-"This example keeps WordPress from executing the wpautop filter "
-"on the line breaks. The default is true which means it wraps "
-"line breaks with an HTML p tag."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:266
-msgid ""
-"This example keeps WordPress from executing the media_buttons "
-"filter on the textarea WYSIWYG. The default is true which means "
-"show the buttons."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:279
-msgid ""
-"This example keeps WordPress from executing the tinymce filter "
-"on the textarea WYSIWYG. The default is true which means show "
-"the tinymce."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:292
-msgid ""
-"This example alters the quicktags filter on the textarea "
-"WYSIWYG. The default is array( 'buttons' => 'strong,em,link,block,del,"
-"ins,img,ul,ol,li,code,spell,close' ) which means show those "
-"quicktags. It also means you can filter in your own custom quicktags."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:307
-msgid "Textarea Simple"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:308
-msgid ""
-"The Textarea Simple option type is a large string value used for custom code "
-"or text in the theme. The new Textarea Simple does not have a WYSIWYG "
-"editor. But you can still filter on wpautop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:310
-msgid ""
-"This example tells WordPress to execute the wpautop filter on "
-"the line breaks. The default is false which means it does not "
-"wraps line breaks with an HTML p tag. Added to functions."
-"php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:323
-msgid "Textblock"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:324
-msgid ""
-"The Textblock option type is used only on the Theme Option page. It will "
-"allow you to create & display HTML on your Theme Options page but has no "
-"title above the text block. You can then use the Textblock to add a more "
-"detailed set of instruction on how the options are used in your theme. You "
-"would NEVER use this in your themes template files as it does not save a "
-"value."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:326
-msgid "Textblock Titled"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:327
-msgid ""
-"The Textblock Titled option type is used only on the Theme Option page. It "
-"will allow you to create & display HTML on your Theme Options page and has a "
-"title above the text block. You can then use the Textblock Titled to add a "
-"more detailed set of instruction on how the options are used in your theme. "
-"You would NEVER use this in your themes template files as it does not save a "
-"value."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:329
-msgid "Typography"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:330
-msgid ""
-"The Typography option type is for adding typographic styles to your theme "
-"either dynamically via the CSS option type below or manually with "
-"ot_get_option(). Typography has filters that allow you to "
-"change the defaults. For example, you can filter on "
-"ot_recognized_font_styles, ot_recognized_font_weights"
-"code>, ot_recognized_font_variants, and "
-"ot_recognized_font_families. These filters allow you to fine "
-"tune the select lists for your specific CSS needs. The most important one "
-"though is ot_recognized_font_families as you can add your "
-"Google Fonts to create custom font stacks."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:332
-msgid ""
-"This example would filter ot_recognized_font_families to build "
-"your own font stack. Added to functions.php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:349
-msgid "Upload"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:350
-msgid ""
-"The Upload option type is used to upload any WordPress supported media. "
-"After uploading, users are required to press the \"Send to OptionTree\" "
-"button in order to populate the input with the URI of that media. There is "
-"one caveat of this feature. If you import the theme options and have "
-"uploaded media on one site the old URI will not reflect the URI of your new "
-"site. You'll have to re-upload or FTP any media to your new server and "
-"change the URIs if necessary."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:382
-msgid ""
-"This function returns a value from the \"option_tree\" array of saved values "
-"or the default value supplied. The returned value would be mixed. Meaning it "
-"could be a string, integer, boolean, or array."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:384
-#: includes/ot-functions-docs-page.php:434
-msgid "Usage"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:388
-#: includes/ot-functions-docs-page.php:438
-msgid "Parameters"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:392
-#: includes/ot-functions-docs-page.php:396
-#: includes/ot-functions-docs-page.php:442
-msgid "string"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:392
-#: includes/ot-functions-docs-page.php:442
-msgid "required"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:392
-msgid "Enter the options unique identifier."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:392
-#: includes/ot-functions-docs-page.php:442
-msgid "Default:"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:392
-#: includes/ot-functions-docs-page.php:396
-#: includes/ot-functions-docs-page.php:442
-#: includes/ot-functions-docs-page.php:446
-msgid "None"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:396
-#: includes/ot-functions-docs-page.php:446
-#: includes/ot-functions-docs-page.php:450
-#: includes/ot-functions-docs-page.php:454
-#: includes/ot-functions-docs-page.php:458
-msgid "optional"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:396
-msgid ""
-"Enter a default return value. This is just incase the request returns null."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:396
-#: includes/ot-functions-docs-page.php:446
-#: includes/ot-functions-docs-page.php:450
-#: includes/ot-functions-docs-page.php:454
-#: includes/ot-functions-docs-page.php:458
-msgid "Default"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:426
-msgid ""
-"This function has been deprecated. That means it has been replaced by a new "
-"function or is no longer supported, and may be removed from future versions. "
-"All code that uses this function should be converted to use its replacement."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:428
-msgid "Use"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:428
-msgid "instead"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:432
-msgid ""
-"This function returns, or echos if asked, a value from the \"option_tree\" "
-"array of saved values."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:442
-msgid "Enter a unique Option Key to get a returned value or array."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:446
-msgid "array"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:446
-msgid "Used to cut down on database queries in template files."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:450
-#: includes/ot-functions-docs-page.php:454
-msgid "boolean"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:450
-msgid "Echo the output."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:454
-msgid "Used to indicate the $item_id is an array of values."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:458
-msgid "integer"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:458
-msgid ""
-"Numeric offset key for the $item_id array, -1 will return all values (an "
-"array starts at 0)."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:486
-msgid ""
-"If you're using the plugin version of OptionTree it is highly recommended to "
-"include a function_exists check in your code, as described in "
-"the examples below. If you've integrated OptionTree directly into your "
-"themes root directory, you will not need to wrap your code "
-"with function_exists, as you're guaranteed to have the "
-"ot_get_option() function available."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:488
-msgid "String Examples"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:490
-msgid "Returns the value of test_input."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:496
-msgid ""
-"Returns the value of test_input, but also has a default value "
-"if it returns empty."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:502
-msgid "Array Examples"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:504
-msgid ""
-"Assigns the value of navigation_ids to the variable $ids"
-"code>. It then echos an unordered list of links (navigation) using "
-"wp_list_pages()."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:524
-msgid ""
-"The next two examples demonstrate how to use the Measurement"
-"strong> option type. The Measurement option type is an array with two key/"
-"value pairs. The first is the value of measurement and the second is the "
-"unit of measurement."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:550
-msgid "This example displays a very basic slider loop."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:595
-msgid "It's Super Simple"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:597
-msgid ""
-"Layouts make your theme awesome! With theme options data that you can save/"
-"import/export you can package themes with different color variations, or "
-"make it easy to do A/B testing on text and so much more. Basically, you save "
-"a snapshot of your data as a layout."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:599
-msgid ""
-"Once you have created all your different layouts, or theme variations, you "
-"can save them to a separate text file for repackaging with your theme. "
-"Alternatively, you could just make different variations for yourself and "
-"change your theme with the click of a button, all without deleting your "
-"previous options data."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:601
-msgid ""
-" Adding a layout is ridiculously easy, follow these steps and you'll be on "
-"your way to having a WordPress super theme."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:603
-msgid "For Developers"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:606
-#: includes/ot-functions-docs-page.php:636
-msgid "Creating a Layout"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:608
-#: includes/ot-functions-docs-page.php:615
-#: includes/ot-functions-docs-page.php:621
-msgid "Go to the OptionTre->Settings->Layouts tab."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:609
-msgid ""
-"Enter a name for your layout in the text field and hit \"Save Layouts\", "
-"you've created your first layout."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:610
-#: includes/ot-functions-docs-page.php:640
-msgid "Adding a new layout is as easy as repeating the steps above."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:613
-#: includes/ot-functions-docs-page.php:643
-msgid "Activating a Layout"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:616
-msgid "Click on the activate layout button in the actions list."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:619
-#: includes/ot-functions-docs-page.php:649
-msgid "Deleting a Layout"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:622
-msgid "Click on the delete layout button in the actions list."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:625
-#: includes/ot-functions-docs-page.php:654
-msgid "Edit Layout Data"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:627
-#: includes/ot-functions-docs-page.php:638
-#: includes/ot-functions-docs-page.php:645
-msgid "Go to the Appearance->Theme Options page."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:628
-#: includes/ot-functions-docs-page.php:657
-msgid ""
-"Modify and save your theme options and the layout will be updated "
-"automatically."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:629
-#: includes/ot-functions-docs-page.php:658
-msgid ""
-"Saving theme options data will update the currently active layout, so before "
-"you start saving make sure you want to modify the current layout."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:630
-msgid ""
-"If you want to edit a new layout, first create it then save your theme "
-"options."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:633
-msgid "End-Users Mode"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:639
-msgid ""
-"Enter a name for your layout in the text field and hit \"New Layout\", "
-"you've created your first layout."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:646
-msgid ""
-"Choose a layout from the select list and click the \"Activate Layout\" "
-"button."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:651
-msgid "End-Users mode does not allow deleting layouts."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:656
-msgid "Go to the Appearance->Theme Options tab."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:687
-#: includes/ot-functions-docs-page.php:769
-msgid "How-to-guide"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:689
-msgid ""
-"There are a few simple steps you need to take in order to use OptionTree's "
-"built in Meta Box API. In the code below I'll show you a basic demo of how "
-"to create your very own custom meta box using any number of the option types "
-"you have at your disposal. If you would like to see some demo code, there is "
-"a directory named theme-mode inside the assets "
-"directory that contains a file named demo-meta-boxes.php you "
-"can reference."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:691
-msgid ""
-"It's important to note that Meta Boxes do not support WYSIWYG editors at "
-"this time and if you set one of your options to Textarea it will "
-"automatically revert to a Textarea Simple until a valid solution is found. "
-"WordPress released this statement regarding the wp_editor() function:"
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:693
-msgid ""
-"Once instantiated, the WYSIWYG editor cannot be moved around in the DOM. "
-"What this means in practical terms, is that you cannot put it in meta-boxes "
-"that can be dragged and placed elsewhere on the page."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:695
-msgid "Create and include your custom meta boxes file."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:697
-msgid ""
-"Create a file and name it anything you want, maybe meta-boxes.php"
-"code>."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:698
-msgid ""
-"As well, you'll probably want to create a directory named includes"
-"code> to put your meta-boxes.php into which will help keep you "
-"file structure nice and tidy."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:699
-#: includes/ot-functions-docs-page.php:810
-msgid "Add the following code to your functions.php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:709
-msgid ""
-"Add a variation of the following code to your meta-boxes.php. "
-"You'll obviously need to fill it in with all your custom array values. It's "
-"important to note here that we use the admin_init filter "
-"because if you were to call the ot_register_meta_box function "
-"before OptionTree was loaded the sky would fall on your head."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:771
-msgid ""
-"There are a few simple steps you need to take in order to use OptionTree as "
-"a theme included module. In the code below I'll show you a basic demo of how "
-"to include the entire plugin as a module, which will allow you to have the "
-"most up-to-date version of OptionTree without ever needing to hack the core "
-"of the plugin. If you would like to see some demo code, there is a directory "
-"named theme-mode inside the assets directory that "
-"contains a file named demo-theme-options.php you can reference."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:773
-msgid "Step 1: Include the plugin & turn on theme mode."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:775
-msgid ""
-"Download the latest version of OptionTree."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:776
-msgid "Unpack the ZIP archive."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:777
-msgid ""
-"Put the option-tree directory in the root of your theme. For "
-"example, the server path would be /wp-content/themes/theme-name/option-"
-"tree/."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:778
-msgid ""
-"Add the following code to the beginning of your functions.php."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:804
-msgid ""
-"It's that simple! You now have OptionTree built into your theme and anytime "
-"there's an update to the plugin you just replace the old version and you're "
-"good to go.."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:806
-msgid "Step 2: Create Theme Options without using the UI Builder."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:808
-msgid ""
-"Create a file and name it anything you want, maybe theme-options.php"
-"code>, or use the built in file export to create it for you. Remember, you "
-"should always check the file for errors before including it in your theme."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:809
-msgid ""
-"As well, you'll probably want to create a directory named includes"
-"code> to put your theme-options.php into which will help keep "
-"you file structure nice and tidy."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:820
-msgid ""
-"Add a variation of the following code to your theme-options.php"
-"code>. You'll obviously need to fill it in with all your custom array values "
-"for contextual help (optional), sections (required), and settings (required)."
-msgstr ""
-
-#: includes/ot-functions-docs-page.php:823
-msgid ""
-"The code below is a boilerplate to get your started. For a full list of the "
-"available option types click the \"Option Types\" tab above. Also a quick "
-"note, you don't need to put OptionTree in theme mode to manually create "
-"options but you will want to hide the docs and settings as each time you "
-"load the admin area the settings be written over with the code below if "
-"they've changed in any way. However, this ensures your settings do not get "
-"tampered with by the end-user."
-msgstr ""
-
-#: includes/ot-functions-option-types.php:46
-msgid "Sorry, this function does not exist"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:107
-msgid "background-repeat"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:116
-msgid "background-attachment"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:125
-msgid "background-position"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:140
-#: includes/ot-functions-option-types.php:1860
-msgid "Add Media"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:208
-#: includes/ot-functions-option-types.php:262
-msgid "No Categories Found"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:257
-#: includes/ot-functions-option-types.php:515
-#: includes/ot-functions-option-types.php:803
-#: includes/ot-functions-option-types.php:984
-#: includes/ot-functions-option-types.php:1314
-#: includes/ot-functions-option-types.php:1429
-msgid "Choose One"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:463
-#: includes/ot-functions-option-types.php:520
-#: includes/ot-functions-option-types.php:935
-#: includes/ot-functions-option-types.php:989
-msgid "No Posts Found"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:592
-#: includes/ot-functions-option-types.php:880
-msgid "Add New"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:595
-#: includes/ot-functions-option-types.php:883
-msgid "You can re-order with drag & drop, the order will update after saving."
-msgstr ""
-
-#: includes/ot-functions-option-types.php:754
-#: includes/ot-functions-option-types.php:808
-msgid "No Pages Found"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:1205
-msgid "Choose Sidebar"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:1210
-msgid "No Sidebars"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:1265
-#: includes/ot-functions-option-types.php:1319
-msgid "No Tags Found"
-msgstr ""
-
-#: includes/ot-functions-option-types.php:1377
-#: includes/ot-functions-option-types.php:1434
-msgid "No Taxonomies Found"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:35
-msgid "Warning!"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:36
-msgid ""
-"Go to the %s page if you want to save data, this page is for adding settings."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:37
-msgid ""
-"If you're unsure or not completely positive that you should be editing these "
-"settings, you should read the %s first."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:38
-msgid ""
-"Things could break or be improperly displayed to the end-user if you do one "
-"of the following:"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:39
-msgid ""
-"Give two sections the same ID, give two settings the same ID, give two "
-"contextual help content areas the same ID, don't create any settings, or "
-"have a section at the end of the settings list."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:40
-msgid ""
-"You can create as many settings as your project requires and use them how "
-"you see fit. When you add a setting here, it will be available on the Theme "
-"Options page for use in your theme. To separate your settings into sections, "
-"click the \"Add Section\" button, fill in the input fields, and a new "
-"navigation menu item will be created."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:41
-msgid ""
-"All of the settings can be sorted and rearranged to your liking with Drag & "
-"Drop. Don't worry about the order in which you create your settings, you can "
-"always reorder them."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:92
-msgid "Add Section"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:99
-msgid "Contextual Help"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:103
-msgid "Contextual Help Sidebar"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:103
-msgid ""
-"If you decide to add contextual help to the Theme Option page, enter the "
-"optional \"Sidebar\" HTML here. This would be an extremely useful place to "
-"add links to your themes documentation or support forum. Only after you've "
-"added some content below will this display to the user."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:132
-msgid "Add Contextual Help Content"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:168
-msgid ""
-"This import method has been deprecated. That means it has been replaced by a "
-"new method and is no longer supported, and may be removed from future "
-"versions. All themes that use this import method should be converted to use "
-"its replacement below."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:170
-msgid ""
-"If you were given a Theme Options XML file with a premium or free theme, "
-"locate it on your hard drive and upload that file by clicking the blue "
-"upload button. A popup window will appear, upload the XML file and click "
-"\"Send to OptionTree\". The file URL should be in the upload input, if it is "
-"click \"Import XML\"."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:173
-msgid "Import XML"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:189
-msgid "Add XML"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:226
-msgid ""
-"To import your Settings copy and paste what appears to be a random string of "
-"alpha numeric characters into this textarea and press the \"Import Settings"
-"\" button."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:229
-msgid "Import Settings"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:271
-msgid ""
-"Only after you've imported the Settings should you try and update your Theme "
-"Options."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:273
-msgid ""
-"To import your Theme Options copy and paste what appears to be a random "
-"string of alpha numeric characters into this textarea and press the \"Import "
-"Theme Options\" button."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:276
-msgid "Import Theme Options"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:318
-msgid ""
-"Only after you've imported the Settings should you try and update your "
-"Layouts."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:320
-msgid ""
-"To import your Layouts copy and paste what appears to be a random string of "
-"alpha numeric characters into this textarea and press the \"Import Layouts\" "
-"button. Keep in mind that when you import your layouts, the active layout's "
-"saved data will write over the current data set for your Theme Options."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:323
-msgid "Import Layouts"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:366
-msgid ""
-"Export your Settings into a fully functional theme-options.php "
-"file by clicking this button. For more information on how to use this file "
-"read the theme mode %s. Remember, you should always check the file for "
-"errors before including it in your theme."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:373
-msgid "Export Settings File"
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:403
-msgid ""
-"Export your Settings by highlighting this text and doing a copy/paste into a "
-"blank .txt file. Then save the file for importing into another install of "
-"WordPress later. Alternatively, you could just paste it into the "
-"OptionTree->Settings->Import Settings textarea "
-"on another web site."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:439
-msgid ""
-"Export your Theme Options data by highlighting this text and doing a copy/"
-"paste into a blank .txt file. Then save the file for importing into another "
-"install of WordPress later. Alternatively, you could just paste it into the "
-"OptionTree->Settings->Import Theme Options "
-"textarea on another web site."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:475
-msgid ""
-"Export your Layouts by highlighting this text and doing a copy/paste into a "
-"blank .txt file. Then save the file for importing into another install of "
-"WordPress later. Alternatively, you could just paste it into the "
-"OptionTree->Settings->Import Layouts textarea "
-"on another web site."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:517
-msgid ""
-"To add a new layout enter a unique lower case alphanumeric string (dashes "
-"allowed) in the text field and click \"Save Layouts\"."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:518
-msgid ""
-"As well, you can activate, remove, and drag & drop the order; all situations "
-"require you to click \"Save Layouts\" for the changes to be applied."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:519
-msgid ""
-"When you create a new layout it will become active and any changes made to "
-"the Theme Options will be applied to it. If you switch back to a different "
-"layout immediately after creating a new layout that new layout will have a "
-"snapshot of the current Theme Options data attached to it."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:520
-msgid ""
-"Visit OptionTree->Documentation->Layouts Overview to see a more "
-"in-depth description of what layouts are and how to use them."
-msgstr ""
-
-#: includes/ot-functions-settings-page.php:557
-msgid "Save Layouts"
-msgstr ""
-
-#: includes/ot-settings-api.php:353
-msgid "Reset Options"
-msgstr ""
diff --git a/option-tree/ot-loader.php b/option-tree/ot-loader.php
index e8bf54b..2a7f3c3 100644
--- a/option-tree/ot-loader.php
+++ b/option-tree/ot-loader.php
@@ -1,14 +1,31 @@
' . __( 'OptionTree is installed as a plugin and also embedded in your current theme. Please deactivate the plugin to load the theme dependent version of OptionTree, and remove this warning.', 'option-tree' ) . '
+ foreach ($pings as $comment) { ?>-
-
-
-
+
+
+
diff --git a/content.php b/content.php index a0318c1..becf65f 100644 --- a/content.php +++ b/content.php @@ -9,7 +9,7 @@WordPress. Alx.
','after_title' => '
')); - if ( ot_get_option('footer-widgets') >= '1' ) { register_sidebar(array( 'name' => 'Footer 1','id' => 'footer-1', 'description' => "Widetized footer", 'before_widget' => '','after_title' => '
')); } - if ( ot_get_option('footer-widgets') >= '2' ) { register_sidebar(array( 'name' => 'Footer 2','id' => 'footer-2', 'description' => "Widetized footer", 'before_widget' => '','after_title' => '
')); } - if ( ot_get_option('footer-widgets') >= '3' ) { register_sidebar(array( 'name' => 'Footer 3','id' => 'footer-3', 'description' => "Widetized footer", 'before_widget' => '','after_title' => '
')); } - if ( ot_get_option('footer-widgets') >= '4' ) { register_sidebar(array( 'name' => 'Footer 4','id' => 'footer-4', 'description' => "Widetized footer", 'before_widget' => '','after_title' => '
')); } + if ( ot_get_option('footer-widgets') >= '1' ) { register_sidebar(array( 'name' => 'Footer 1','id' => 'footer-1', 'description' => "Widgetized footer", 'before_widget' => '','after_title' => '
')); } + if ( ot_get_option('footer-widgets') >= '2' ) { register_sidebar(array( 'name' => 'Footer 2','id' => 'footer-2', 'description' => "Widgetized footer", 'before_widget' => '','after_title' => '
')); } + if ( ot_get_option('footer-widgets') >= '3' ) { register_sidebar(array( 'name' => 'Footer 3','id' => 'footer-3', 'description' => "Widgetized footer", 'before_widget' => '','after_title' => '
')); } + if ( ot_get_option('footer-widgets') >= '4' ) { register_sidebar(array( 'name' => 'Footer 4','id' => 'footer-4', 'description' => "Widgetized footer", 'before_widget' => '','after_title' => '
')); } } } @@ -129,8 +132,8 @@ function alx_scripts() { function alx_styles() { wp_enqueue_style( 'style', get_stylesheet_uri() ); - if ( !ot_get_option('responsive') ) { wp_enqueue_style( 'responsive', get_template_directory_uri().'/responsive.css' ); } - if ( ot_get_option('custom') ) { wp_enqueue_style( 'custom', get_template_directory_uri().'/custom.css' ); } + if ( ot_get_option('responsive') != 'off' ) { wp_enqueue_style( 'responsive', get_template_directory_uri().'/responsive.css' ); } + if ( ot_get_option('custom') == 'on' ) { wp_enqueue_style( 'custom', get_template_directory_uri().'/custom.css' ); } wp_enqueue_style( 'font-awesome', get_template_directory_uri().'/fonts/font-awesome.min.css' ); } @@ -377,10 +380,10 @@ function alx_post_formats_script( $hook ) { function alx_body_class( $classes ) { $classes[] = alx_layout_class(); - if ( !ot_get_option( 'boxed' ) ) { $classes[] = 'full-width'; } - if ( ot_get_option( 'boxed' ) ) { $classes[] = 'boxed'; } + if ( ot_get_option( 'boxed' ) != 'on' ) { $classes[] = 'full-width'; } + if ( ot_get_option( 'boxed' ) == 'on' ) { $classes[] = 'boxed'; } if ( has_nav_menu('topbar') ) { $classes[] = 'topbar-enabled'; } - if ( ot_get_option('mobile-sidebar-hide') ) { $classes[] = 'mobile-sidebar-hide'; } + if ( ot_get_option('mobile-sidebar-hide') != 'on' ) { $classes[] = 'mobile-sidebar-hide'; } if ( ot_get_option('light-header-text') ) { $classes[] = 'light-header-text'; } return $classes; } @@ -389,27 +392,6 @@ function alx_body_class( $classes ) { add_filter( 'body_class', 'alx_body_class' ); -/* Site title -/* ------------------------------------ */ -if ( ! function_exists( 'alx_wp_title' ) ) { - - function alx_wp_title( $title ) { - // Do not filter for RSS feed / if SEO plugin installed - if ( is_feed() || class_exists('All_in_One_SEO_Pack') || class_exists('HeadSpace_Plugin') || class_exists('Platinum_SEO_Pack') || class_exists('wpSEO') || defined('WPSEO_VERSION') ) - return $title; - if ( is_front_page() ) { - $title = bloginfo('name'); echo ' - '; bloginfo('description'); - } - if ( !is_front_page() ) { - $title.= ''.' - '.''.get_bloginfo('name'); - } - return $title; - } - -} -add_filter( 'wp_title', 'alx_wp_title' ); - - /* Custom rss feed /* ------------------------------------ */ if ( ! function_exists( 'alx_feed_link' ) ) { @@ -496,16 +478,35 @@ function alx_embed_wmode_transparent( $html, $url, $attr ) { /* Add responsive container to embeds -/* ------------------------------------ */ +/* ------------------------------------ */ if ( ! function_exists( 'alx_embed_html' ) ) { + + function alx_embed_html( $html, $url ) { + + $pattern = '/^https?:\/\/(www\.)?twitter\.com/'; + $is_twitter = preg_match( $pattern, $url ); + + if ( 1 === $is_twitter ) { + return $html; + } - function alx_embed_html( $html ) { return '' . $activate->get_error_message() . '
' . $this->strings['return'] . '
'; - return true; // End it here if there is an error with automatic activation - } - else { - echo '' . $this->strings['plugin_activated'] . '
'; - } - } - - /** Display message based on if all plugins are now active or not */ - $complete = array(); - foreach ( $this->plugins as $plugin ) { - if ( ! is_plugin_active( $plugin['file_path'] ) ) { - echo '' . $this->strings['return'] . '
'; - $complete[] = $plugin; - break; - } - /** Nothing to store */ - else { - $complete[] = ''; - } - } - - /** Filter out any empty entries */ - $complete = array_filter( $complete ); - - /** All plugins are active, so we display the complete string and hide the plugin menu */ - if ( empty( $complete ) ) { - echo '' . sprintf( $this->strings['complete'], '' . $this->strings['domain'] . '' ) . '
'; - echo ''; - } - - return true; - } - /** Checks for actions from hover links to process the activation */ - elseif ( isset( $_GET[sanitize_key( 'plugin' )] ) && ( isset( $_GET[sanitize_key( 'tgmpa-activate' )] ) && 'activate-plugin' == $_GET[sanitize_key( 'tgmpa-activate' )] ) ) { - check_admin_referer( 'tgmpa-activate', 'tgmpa-activate-nonce' ); - - /** Populate $plugin array with necessary information */ - $plugin['name'] = $_GET[sanitize_key( 'plugin_name' )]; - $plugin['slug'] = $_GET[sanitize_key( 'plugin' )]; - $plugin['source'] = $_GET[sanitize_key( 'plugin_source' )]; - - $plugin_data = get_plugins( '/' . $plugin['slug'] ); // Retrieve all plugins - $plugin_file = array_keys( $plugin_data ); // Retrieve all plugin files from installed plugins - $plugin_to_activate = $plugin['slug'] . '/' . $plugin_file[0]; // Match plugin slug with appropriate plugin file - $activate = activate_plugin( $plugin_to_activate ); // Activate the plugin - - if ( is_wp_error( $activate ) ) { - echo '' . $activate->get_error_message() . '
' . $this->strings['return'] . '
'; - return true; // End it here if there is an error with activation - } - else { - /** Make sure message doesn't display again if bulk activation is performed immediately after a single activation */ - if ( ! isset( $_POST[sanitize_key( 'action' )] ) ) { - $msg = $this->strings['activated_successfully'] . ' ' . $plugin['name'] . ''; - echo '' . $msg . '
' . sprintf( translate_nooped_plural( $this->strings[$type], $count, 'tgmpa' ), $imploded, $count ) . '
'; // All messages now stored - } - - /** Setup variables to determine if action links are needed */ - $show_install_link = $install_link ? '' . translate_nooped_plural( $this->strings['install_link'], $install_link_count, 'tgmpa' ) . '' : ''; - $show_activate_link = $activate_link ? '' . translate_nooped_plural( $this->strings['activate_link'], $activate_link_count, 'tgmpa' ) . '' : ''; - - /** Define all of the action links */ - $action_links = apply_filters( - 'tgmpa_notice_action_links', - array( - 'install' => ( current_user_can( 'install_plugins' ) ) ? $show_install_link : '', - 'activate' => ( current_user_can( 'activate_plugins' ) ) ? $show_activate_link : '', - 'dismiss' => '' . $this->strings['dismiss'] . '', - ) - ); - - $action_links = array_filter( $action_links ); // Remove any empty array items - if ( $action_links ) - $rendered .= '' . implode( ' | ', $action_links ) . '
'; - - /** Register the nag messages and prepare them to be processed */ - if ( isset( $this->strings['nag_type'] ) ) - add_settings_error( 'tgmpa', 'tgmpa', $rendered, sanitize_html_class( strtolower( $this->strings['nag_type'] ), 'updated' ) ); - else - add_settings_error( 'tgmpa', 'tgmpa', $rendered, 'updated' ); - } - } - - /** Admin options pages already output settings_errors, so this is to avoid duplication */ - if ( 'options-general' !== $current_screen->parent_base ) - settings_errors( 'tgmpa' ); - - } - - /** - * Add dismissable admin notices. - * - * Appends a link to the admin nag messages. If clicked, the admin notice disappears and no longer is visible to users. - * - * @since 2.1.0 - */ - public function dismiss() { - - if ( isset( $_GET[sanitize_key( 'tgmpa-dismiss' )] ) ) - update_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice', 1 ); - - } - - /** - * Add individual plugin to our collection of plugins. - * - * If the required keys are not set, the plugin is not added. - * - * @since 2.0.0 - * - * @param array $plugin Array of plugin arguments. - */ - public function register( $plugin ) { - - if ( ! isset( $plugin['slug'] ) || ! isset( $plugin['name'] ) ) - return; - - $this->plugins[] = $plugin; - - } - - /** - * Amend default configuration settings. - * - * @since 2.0.0 - * - * @param array $config - */ - public function config( $config ) { - - $keys = array( 'default_path', 'parent_menu_slug', 'parent_url_slug', 'domain', 'has_notices', 'menu', 'is_automatic', 'message', 'strings' ); - - foreach ( $keys as $key ) { - if ( isset( $config[$key] ) ) { - if ( is_array( $config[$key] ) ) { - foreach ( $config[$key] as $subkey => $value ) - $this->{$key}[$subkey] = $value; - } else { - $this->$key = $config[$key]; - } - } - } - - } - - /** - * Amend action link after plugin installation. - * - * @since 2.0.0 - * - * @param array $install_actions Existing array of actions - * @return array Amended array of actions - */ - public function actions( $install_actions ) { - - /** Remove action links on the TGMPA install page */ - if ( $this->is_tgmpa_page() ) - return false; - - return $install_actions; - - } - - /** - * Set file_path key for each installed plugin. - * - * @since 2.1.0 - */ - public function populate_file_path() { - - /** Add file_path key for all plugins */ - foreach ( $this->plugins as $plugin => $values ) - $this->plugins[$plugin]['file_path'] = $this->_get_plugin_basename_from_slug( $values['slug'] ); - - } - - /** - * Helper function to extract the file path of the plugin file from the - * plugin slug, if the plugin is installed. - * - * @since 2.0.0 - * - * @param string $slug Plugin slug (typically folder name) as provided by the developer - * @return string Either file path for plugin if installed, or just the plugin slug - */ - protected function _get_plugin_basename_from_slug( $slug ) { - - $keys = array_keys( get_plugins() ); - - foreach ( $keys as $key ) { - if ( preg_match( '|^' . $slug .'|', $key ) ) - return $key; - } - - return $slug; - - } - - /** - * Retrieve plugin data, given the plugin name. - * - * Loops through the registered plugins looking for $name. If it finds it, - * it returns the $data from that plugin. Otherwise, returns false. - * - * @since 2.1.0 - * - * @param string $name Name of the plugin, as it was registered - * @param string $data Optional. Array key of plugin data to return. Default is slug - * @return string|boolean Plugin slug if found, false otherwise. - */ - protected function _get_plugin_data_from_name( $name, $data = 'slug' ) { - - foreach ( $this->plugins as $plugin => $values ) { - if ( $name == $values['name'] && isset( $values[$data] ) ) - return $values[$data]; - } - - return false; - - } - - /** - * Determine if we're on the TGMPA Install page. - * - * We use $current_screen when it is available, and a slightly less ideal - * conditional when it isn't (like when displaying the plugin information - * thickbox). - * - * @since 2.1.0 - * - * @global object $current_screen - * @return boolean True when on the TGMPA page, false otherwise. - */ - protected function is_tgmpa_page() { - - global $current_screen; - - if ( ! is_null( $current_screen ) && $this->parent_menu_slug == $current_screen->parent_file && isset( $_GET['page'] ) && $this->menu === $_GET['page'] ) - return true; - - if ( isset( $_GET['page'] ) && $this->menu === $_GET['page'] ) - return true; - - return false; - - } - - /** - * Delete dismissable nag option when theme is switched. - * - * This ensures that the user is again reminded via nag of required - * and/or recommended plugins if they re-activate the theme. - * - * @since 2.1.1 - */ - public function update_dismiss() { - - delete_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice' ); - - } - - /** - * Forces plugin activation if the parameter 'force_activation' is - * set to true. - * - * This allows theme authors to specify certain plugins that must be - * active at all times while using the current theme. - * - * Please take special care when using this parameter as it has the - * potential to be harmful if not used correctly. Setting this parameter - * to true will not allow the specified plugin to be deactivated unless - * the user switches themes. - * - * @since 2.2.0 - */ - public function force_activation() { - - /** Set file_path parameter for any installed plugins */ - $this->populate_file_path(); - - $installed_plugins = get_plugins(); - - foreach ( $this->plugins as $plugin ) { - /** Oops, plugin isn't there so iterate to next condition */ - if ( isset( $plugin['force_activation'] ) && $plugin['force_activation'] && ! isset( $installed_plugins[$plugin['file_path']] ) ) - continue; - /** There we go, activate the plugin */ - elseif ( isset( $plugin['force_activation'] ) && $plugin['force_activation'] && is_plugin_inactive( $plugin['file_path'] ) ) - activate_plugin( $plugin['file_path'] ); - } - - } - - /** - * Forces plugin deactivation if the parameter 'force_deactivation' - * is set to true. - * - * This allows theme authors to specify certain plugins that must be - * deactived upon switching from the current theme to another. - * - * Please take special care when using this parameter as it has the - * potential to be harmful if not used correctly. - * - * @since 2.2.0 - */ - public function force_deactivation() { - - /** Set file_path parameter for any installed plugins */ - $this->populate_file_path(); - - foreach ( $this->plugins as $plugin ) { - /** Only proceed forward if the paramter is set to true and plugin is active */ - if ( isset( $plugin['force_deactivation'] ) && $plugin['force_deactivation'] && is_plugin_active( $plugin['file_path'] ) ) - deactivate_plugins( $plugin['file_path'] ); - } - - } - - } -} + /** + * Automatic plugin installation and activation library. + * + * Creates a way to automatically install and activate plugins from within themes. + * The plugins can be either pre-packaged, downloaded from the WordPress + * Plugin Repository or downloaded from a private repository. + * + * @since 1.0.0 + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin' . $activate->get_error_message() . '
' . $this->strings['return'] . '
'; + return true; // End it here if there is an error with automatic activation + } + else { + echo '' . $this->strings['plugin_activated'] . '
'; + } + } + + // Display message based on if all plugins are now active or not. + $complete = array(); + foreach ( $this->plugins as $plugin ) { + if ( ! is_plugin_active( $plugin['file_path'] ) ) { + echo '' . $this->strings['return'] . '
'; + $complete[] = $plugin; + break; + } + // Nothing to store. + else { + $complete[] = ''; + } + } + + // Filter out any empty entries. + $complete = array_filter( $complete ); + + // All plugins are active, so we display the complete string and hide the plugin menu. + if ( empty( $complete ) ) { + echo '' . sprintf( $this->strings['complete'], '' . __( 'Return to the Dashboard', 'tgmpa' ) . '' ) . '
'; + echo ''; + } + + return true; + } + // Checks for actions from hover links to process the activation. + elseif ( isset( $_GET['plugin'] ) && ( isset( $_GET['tgmpa-activate'] ) && 'activate-plugin' == $_GET['tgmpa-activate'] ) ) { + check_admin_referer( 'tgmpa-activate', 'tgmpa-activate-nonce' ); + + // Populate $plugin array with necessary information. + $plugin['name'] = $_GET['plugin_name']; + $plugin['slug'] = $_GET['plugin']; + $plugin['source'] = $_GET['plugin_source']; + + $plugin_data = get_plugins( '/' . $plugin['slug'] ); // Retrieve all plugins. + $plugin_file = array_keys( $plugin_data ); // Retrieve all plugin files from installed plugins. + $plugin_to_activate = $plugin['slug'] . '/' . $plugin_file[0]; // Match plugin slug with appropriate plugin file. + $activate = activate_plugin( $plugin_to_activate ); // Activate the plugin. + + if ( is_wp_error( $activate ) ) { + echo '' . $activate->get_error_message() . '
' . $this->strings['return'] . '
'; + return true; // End it here if there is an error with activation. + } + else { + // Make sure message doesn't display again if bulk activation is performed immediately after a single activation. + if ( ! isset( $_POST['action'] ) ) { + $msg = $this->strings['activated_successfully'] . ' ' . $plugin['name'] . ''; + echo '' . $msg . '
' . wp_kses_post( $this->dismiss_msg ) . '
'; + } + + // Grab all plugin names. + foreach ( $message as $type => $plugin_groups ) { + $linked_plugin_groups = array(); + + // Count number of plugins in each message group to calculate singular/plural message. + $count = count( $plugin_groups ); + + // Loop through the plugin names to make the ones pulled from the .org repo linked. + foreach ( $plugin_groups as $plugin_group_single_name ) { + $external_url = $this->_get_plugin_data_from_name( $plugin_group_single_name, 'external_url' ); + $source = $this->_get_plugin_data_from_name( $plugin_group_single_name, 'source' ); + + if ( $external_url && preg_match( '|^http(s)?://|', $external_url ) ) { + $linked_plugin_groups[] = '' . $plugin_group_single_name . ''; + } + elseif ( ! $source || preg_match( '|^http://wordpress.org/extend/plugins/|', $source ) ) { + $url = add_query_arg( + array( + 'tab' => 'plugin-information', + 'plugin' => $this->_get_plugin_data_from_name( $plugin_group_single_name ), + 'TB_iframe' => 'true', + 'width' => '640', + 'height' => '500', + ), + network_admin_url( 'plugin-install.php' ) + ); + + $linked_plugin_groups[] = '' . $plugin_group_single_name . ''; + } + else { + $linked_plugin_groups[] = $plugin_group_single_name; // No hyperlink. + } + + if ( isset( $linked_plugin_groups ) && (array) $linked_plugin_groups ) { + $plugin_groups = $linked_plugin_groups; + } + } + + $last_plugin = array_pop( $plugin_groups ); // Pop off last name to prep for readability. + $imploded = empty( $plugin_groups ) ? '' . $last_plugin . '' : '' . ( implode( ', ', $plugin_groups ) . ' and ' . $last_plugin . '' ); + + $rendered .= '' . sprintf( translate_nooped_plural( $this->strings[$type], $count, 'tgmpa' ), $imploded, $count ) . '
'; + } + + // Setup variables to determine if action links are needed. + $show_install_link = $install_link ? '' . translate_nooped_plural( $this->strings['install_link'], $install_link_count, 'tgmpa' ) . '' : ''; + $show_activate_link = $activate_link ? '' . translate_nooped_plural( $this->strings['activate_link'], $activate_link_count, 'tgmpa' ) . '' : ''; + + // Define all of the action links. + $action_links = apply_filters( + 'tgmpa_notice_action_links', + array( + 'install' => ( current_user_can( 'install_plugins' ) ) ? $show_install_link : '', + 'activate' => ( current_user_can( 'activate_plugins' ) ) ? $show_activate_link : '', + 'dismiss' => $this->dismissable ? '' . $this->strings['dismiss'] . '' : '', + ) + ); + + $action_links = array_filter( $action_links ); // Remove any empty array items. + if ( $action_links ) { + $rendered .= '' . implode( ' | ', $action_links ) . '
'; + } + + // Register the nag messages and prepare them to be processed. + $nag_class = version_compare( $this->wp_version, '3.8', '<' ) ? 'updated' : 'update-nag'; + if ( ! empty( $this->strings['nag_type'] ) ) { + add_settings_error( 'tgmpa', 'tgmpa', $rendered, sanitize_html_class( strtolower( $this->strings['nag_type'] ) ) ); + } else { + add_settings_error( 'tgmpa', 'tgmpa', $rendered, $nag_class ); + } + } + + // Admin options pages already output settings_errors, so this is to avoid duplication. + if ( 'options-general' !== $current_screen->parent_base ) { + settings_errors( 'tgmpa' ); + } + + } + + /** + * Add dismissable admin notices. + * + * Appends a link to the admin nag messages. If clicked, the admin notice disappears and no longer is visible to users. + * + * @since 2.1.0 + */ + public function dismiss() { + + if ( isset( $_GET['tgmpa-dismiss'] ) ) { + update_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice', 1 ); + } + + } + + /** + * Add individual plugin to our collection of plugins. + * + * If the required keys are not set or the plugin has already + * been registered, the plugin is not added. + * + * @since 2.0.0 + * + * @param array $plugin Array of plugin arguments. + */ + public function register( $plugin ) { + + if ( ! isset( $plugin['slug'] ) || ! isset( $plugin['name'] ) ) { + return; + } + + foreach ( $this->plugins as $registered_plugin ) { + if ( $plugin['slug'] == $registered_plugin['slug'] ) { + return; + } + } + + $this->plugins[] = $plugin; + + } + + /** + * Amend default configuration settings. + * + * @since 2.0.0 + * + * @param array $config Array of config options to pass as class properties. + */ + public function config( $config ) { + + $keys = array( 'default_path', 'has_notices', 'dismissable', 'dismiss_msg', 'menu', 'is_automatic', 'message', 'strings' ); + + foreach ( $keys as $key ) { + if ( isset( $config[$key] ) ) { + if ( is_array( $config[$key] ) ) { + foreach ( $config[$key] as $subkey => $value ) { + $this->{$key}[$subkey] = $value; + } + } else { + $this->$key = $config[$key]; + } + } + } + + } + + /** + * Amend action link after plugin installation. + * + * @since 2.0.0 + * + * @param array $install_actions Existing array of actions. + * @return array Amended array of actions. + */ + public function actions( $install_actions ) { + + // Remove action links on the TGMPA install page. + if ( $this->is_tgmpa_page() ) { + return false; + } + + return $install_actions; + + } + + /** + * Flushes the plugins cache on theme switch to prevent stale entries + * from remaining in the plugin table. + * + * @since 2.4.0 + */ + public function flush_plugins_cache() { + + wp_cache_flush(); + + } + + /** + * Set file_path key for each installed plugin. + * + * @since 2.1.0 + */ + public function populate_file_path() { + + // Add file_path key for all plugins. + foreach ( $this->plugins as $plugin => $values ) { + $this->plugins[$plugin]['file_path'] = $this->_get_plugin_basename_from_slug( $values['slug'] ); + } + + } + + /** + * Helper function to extract the file path of the plugin file from the + * plugin slug, if the plugin is installed. + * + * @since 2.0.0 + * + * @param string $slug Plugin slug (typically folder name) as provided by the developer. + * @return string Either file path for plugin if installed, or just the plugin slug. + */ + protected function _get_plugin_basename_from_slug( $slug ) { + + $keys = array_keys( get_plugins() ); + + foreach ( $keys as $key ) { + if ( preg_match( '|^' . $slug .'/|', $key ) ) { + return $key; + } + } + + return $slug; + + } + + /** + * Retrieve plugin data, given the plugin name. + * + * Loops through the registered plugins looking for $name. If it finds it, + * it returns the $data from that plugin. Otherwise, returns false. + * + * @since 2.1.0 + * + * @param string $name Name of the plugin, as it was registered. + * @param string $data Optional. Array key of plugin data to return. Default is slug. + * @return string|boolean Plugin slug if found, false otherwise. + */ + protected function _get_plugin_data_from_name( $name, $data = 'slug' ) { + + foreach ( $this->plugins as $plugin => $values ) { + if ( $name == $values['name'] && isset( $values[$data] ) ) { + return $values[$data]; + } + } + + return false; + + } + + /** + * Determine if we're on the TGMPA Install page. + * + * @since 2.1.0 + * + * @return boolean True when on the TGMPA page, false otherwise. + */ + protected function is_tgmpa_page() { + + if ( isset( $_GET['page'] ) && $this->menu === $_GET['page'] ) { + return true; + } + + return false; + + } + + /** + * Delete dismissable nag option when theme is switched. + * + * This ensures that the user is again reminded via nag of required + * and/or recommended plugins if they re-activate the theme. + * + * @since 2.1.1 + */ + public function update_dismiss() { + + delete_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice' ); + + } + + /** + * Forces plugin activation if the parameter 'force_activation' is + * set to true. + * + * This allows theme authors to specify certain plugins that must be + * active at all times while using the current theme. + * + * Please take special care when using this parameter as it has the + * potential to be harmful if not used correctly. Setting this parameter + * to true will not allow the specified plugin to be deactivated unless + * the user switches themes. + * + * @since 2.2.0 + */ + public function force_activation() { + + // Set file_path parameter for any installed plugins. + $this->populate_file_path(); + + $installed_plugins = get_plugins(); + + foreach ( $this->plugins as $plugin ) { + // Oops, plugin isn't there so iterate to next condition. + if ( isset( $plugin['force_activation'] ) && $plugin['force_activation'] && ! isset( $installed_plugins[$plugin['file_path']] ) ) { + continue; + } + // There we go, activate the plugin. + elseif ( isset( $plugin['force_activation'] ) && $plugin['force_activation'] && is_plugin_inactive( $plugin['file_path'] ) ) { + activate_plugin( $plugin['file_path'] ); + } + } + + } + + /** + * Forces plugin deactivation if the parameter 'force_deactivation' + * is set to true. + * + * This allows theme authors to specify certain plugins that must be + * deactived upon switching from the current theme to another. + * + * Please take special care when using this parameter as it has the + * potential to be harmful if not used correctly. + * + * @since 2.2.0 + */ + public function force_deactivation() { + + // Set file_path parameter for any installed plugins. + $this->populate_file_path(); + + foreach ( $this->plugins as $plugin ) { + // Only proceed forward if the paramter is set to true and plugin is active. + if ( isset( $plugin['force_deactivation'] ) && $plugin['force_deactivation'] && is_plugin_active( $plugin['file_path'] ) ) { + deactivate_plugins( $plugin['file_path'] ); + } + } + + } + + /** + * Returns the singleton instance of the class. + * + * @since 2.4.0 + * + * @return object The TGM_Plugin_Activation object. + */ + public static function get_instance() { + + if ( ! isset( self::$instance ) && ! ( self::$instance instanceof TGM_Plugin_Activation ) ) { + self::$instance = new TGM_Plugin_Activation(); + } + + return self::$instance; + + } + + } + + // Ensure only one instance of the class is ever invoked. + $tgmpa = TGM_Plugin_Activation::get_instance(); -/** Create a new instance of the class */ -new TGM_Plugin_Activation; +} if ( ! function_exists( 'tgmpa' ) ) { - /** - * Helper function to register a collection of required plugins. - * - * @since 2.0.0 - * @api - * - * @param array $plugins An array of plugin arrays - * @param array $config Optional. An array of configuration values - */ - function tgmpa( $plugins, $config = array() ) { - - foreach ( $plugins as $plugin ) - TGM_Plugin_Activation::$instance->register( $plugin ); - - if ( $config ) - TGM_Plugin_Activation::$instance->config( $config ); - - } + /** + * Helper function to register a collection of required plugins. + * + * @since 2.0.0 + * @api + * + * @param array $plugins An array of plugin arrays. + * @param array $config Optional. An array of configuration values. + */ + function tgmpa( $plugins, $config = array() ) { + + foreach ( $plugins as $plugin ) { + TGM_Plugin_Activation::$instance->register( $plugin ); + } + + if ( $config ) { + TGM_Plugin_Activation::$instance->config( $config ); + } + + } } /** @@ -979,599 +1059,620 @@ function tgmpa( $plugins, $config = array() ) { * * @since 2.2.0 */ -if ( ! class_exists( 'WP_List_Table' ) ) - require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' ); +if ( ! class_exists( 'WP_List_Table' ) ) { + require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' ); +} if ( ! class_exists( 'TGMPA_List_Table' ) ) { - /** - * List table class for handling plugins. - * - * Extends the WP_List_Table class to provide a future-compatible - * way of listing out all required/recommended plugins. - * - * Gives users an interface similar to the Plugin Administration - * area with similar (albeit stripped down) capabilities. - * - * This class also allows for the bulk install of plugins. - * - * @since 2.2.0 - * - * @package TGM-Plugin-Activation - * @author Thomas Griffin' . esc_html( get_admin_page_title() ) . '
'; - /** Process the bulk installation submissions */ - $installer->bulk_install( $sources ); - echo '' . $activate->get_error_message() . '
%1$s %2$s
' . esc_html( get_admin_page_title() ) . '
'; + // Process the bulk installation submissions. + $installer->bulk_install( $sources ); + echo '' . $activate->get_error_message() . '
%1$s %2$s
' . $this->upgrader->strings['skin_before_update_header'] . ' . ')
', $this->plugin_names[$this->i], $this->upgrader->update_current, $this->upgrader->update_count ); - echo ''; - echo ''; - - /** Output error strings if an error has occurred */ - if ( $this->error || ! $this->result ) { - if ( $this->error ) - echo '' . sprintf( $this->upgrader->strings['skin_update_failed_error'], $this->plugin_names[$this->i], $this->error ) . '
' . sprintf( $this->upgrader->strings['skin_update_failed'], $this->plugin_names[$this->i] ) . '
' . sprintf( $this->upgrader->strings['skin_update_successful'], $this->plugin_names[$this->i], 'jQuery(\'#progress-' . esc_js( $this->upgrader->update_current ) . '\').toggle();jQuery(\'span\', this).toggle(); return false;' ) . '
' . TGM_Plugin_Activation::$instance->strings['return'] . '
'; - $complete[] = $plugin; - break; - } - /** Nothing to store */ - else { - $complete[] = ''; - } - } - - /** Filter out any empty entries */ - $complete = array_filter( $complete ); - - /** All plugins are active, so we display the complete string and hide the menu to protect users */ - if ( empty( $complete ) ) { - echo '' . sprintf( TGM_Plugin_Activation::$instance->strings['complete'], '' . __( 'Return to the Dashboard', 'tgmpa' ) . '' ) . '
'; - echo ''; - } - - } - - /** - * Flush header output buffer. - * - * @since 2.2.0 - */ - public function before_flush_output() { - - wp_ob_end_flush_all(); - flush(); - - } - - /** - * Flush footer output buffer and iterate $this->i to make sure the - * installation strings reference the correct plugin. - * - * @since 2.2.0 - */ - public function after_flush_output() { - - wp_ob_end_flush_all(); - flush(); - $this->i++; - - } - - } - } -} +if ( ! class_exists( 'WP_Upgrader' ) && ( isset( $_GET['page'] ) && TGM_Plugin_Activation::$instance->menu === $_GET['page'] ) ) { + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; + + if ( ! class_exists( 'TGM_Bulk_Installer' ) ) { + /** + * Installer class to handle bulk plugin installations. + * + * Extends WP_Upgrader and customizes to suit the installation of multiple + * plugins. + * + * @since 2.2.0 + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin' . $this->upgrader->strings['skin_before_update_header'] . ' . ')
', $this->plugin_names[$this->i], $this->upgrader->update_current, $this->upgrader->update_count ); + echo ''; + echo ''; + + // Output error strings if an error has occurred. + if ( $this->error || ! $this->result ) { + if ( $this->error ) { + echo '' . sprintf( $this->upgrader->strings['skin_update_failed_error'], $this->plugin_names[$this->i], $this->error ) . '
' . sprintf( $this->upgrader->strings['skin_update_failed'], $this->plugin_names[$this->i] ) . '
' . sprintf( $this->upgrader->strings['skin_update_successful'], $this->plugin_names[$this->i], 'jQuery(\'#progress-' . esc_js( $this->upgrader->update_current ) . '\').toggle();jQuery(\'span\', this).toggle(); return false;' ) . '
' . TGM_Plugin_Activation::$instance->strings['return'] . '
'; + $complete[] = $plugin; + break; + } + // Nothing to store. + else { + $complete[] = ''; + } + } + + // Filter out any empty entries. + $complete = array_filter( $complete ); + + // All plugins are active, so we display the complete string and hide the menu to protect users. + if ( empty( $complete ) ) { + echo '' . sprintf( TGM_Plugin_Activation::$instance->strings['complete'], '' . __( 'Return to the Dashboard', 'tgmpa' ) . '' ) . '
'; + echo ''; + } + + } + + /** + * Flush header output buffer. + * + * @since 2.2.0 + */ + public function before_flush_output() { + + wp_ob_end_flush_all(); + flush(); + + } + + /** + * Flush footer output buffer and iterate $this->i to make sure the + * installation strings reference the correct plugin. + * + * @since 2.2.0 + */ + public function after_flush_output() { + + wp_ob_end_flush_all(); + flush(); + $this->i++; + + } + + } + } +} \ No newline at end of file diff --git a/functions/documentation/assets/bootstrap.css b/functions/documentation/assets/bootstrap.css new file mode 100644 index 0000000..377dff3 --- /dev/null +++ b/functions/documentation/assets/bootstrap.css @@ -0,0 +1,7118 @@ +/*! + * Bootstrap v3.0.3 (http://getbootstrap.com) + * Copyright 2013 Twitter, Inc. + * Licensed under http://www.apache.org/licenses/LICENSE-2.0 + */ + +/*! normalize.css v2.1.3 | MIT License | git.io/normalize */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +a { + background: transparent; +} + +a:focus { + outline: thin dotted; +} + +a:active, +a:hover { + outline: 0; +} + +h1 { + margin: 0.67em 0; + font-size: 2em; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +hr { + height: 0; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +mark { + color: #000; + background: #ff0; +} + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +pre { + white-space: pre-wrap; +} + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 0; +} + +fieldset { + padding: 0.35em 0.625em 0.75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} + +legend { + padding: 0; + border: 0; +} + +button, +input, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: 100%; +} + +button, +input { + line-height: normal; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; + box-sizing: border-box; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 2cm .5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} + +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html { + font-size: 62.5%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333333; + background-color: #ffffff; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +a { + color: #428bca; + text-decoration: none; +} + +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} + +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +img { + vertical-align: middle; +} + +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} + +.img-rounded { + border-radius: 6px; +} + +.img-thumbnail { + display: inline-block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.img-circle { + border-radius: 50%; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: 500; + line-height: 1.1; + color: inherit; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, +h2, +h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h1 small, +h2 small, +h3 small, +h1 .small, +h2 .small, +h3 .small { + font-size: 65%; +} + +h4, +h5, +h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +h4 small, +h5 small, +h6 small, +h4 .small, +h5 .small, +h6 .small { + font-size: 75%; +} + +h1, +.h1 { + font-size: 36px; +} + +h2, +.h2 { + font-size: 30px; +} + +h3, +.h3 { + font-size: 24px; +} + +h4, +.h4 { + font-size: 18px; +} + +h5, +.h5 { + font-size: 14px; +} + +h6, +.h6 { + font-size: 12px; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 200; + line-height: 1.4; +} + +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} + +small, +.small { + font-size: 85%; +} + +cite { + font-style: normal; +} + +.text-muted { + color: #999999; +} + +.text-primary { + color: #428bca; +} + +.text-primary:hover { + color: #3071a9; +} + +.text-warning { + color: #8a6d3b; +} + +.text-warning:hover { + color: #66512c; +} + +.text-danger { + color: #a94442; +} + +.text-danger:hover { + color: #843534; +} + +.text-success { + color: #3c763d; +} + +.text-success:hover { + color: #2b542c; +} + +.text-info { + color: #31708f; +} + +.text-info:hover { + color: #245269; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} + +.list-inline > li:first-child { + padding-left: 0; +} + +dl { + margin-top: 0; + margin-bottom: 20px; +} + +dt, +dd { + line-height: 1.428571429; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 0; +} + +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} + +blockquote p:last-child { + margin-bottom: 0; +} + +blockquote small, +blockquote .small { + display: block; + line-height: 1.428571429; + color: #999999; +} + +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small, +blockquote.pull-right .small { + text-align: right; +} + +blockquote.pull-right small:before, +blockquote.pull-right .small:before { + content: ''; +} + +blockquote.pull-right small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} + +blockquote:before, +blockquote:after { + content: ""; +} + +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.428571429; +} + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + white-space: nowrap; + background-color: #f9f2f4; + border-radius: 4px; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.428571429; + color: #333333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 4px; +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +@media (min-width: 768px) { + .container { + width: 750px; + } +} + +@media (min-width: 992px) { + .container { + width: 970px; + } +} + +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} + +.row { + margin-right: -15px; + margin-left: -15px; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + float: left; +} + +.col-xs-12 { + width: 100%; +} + +.col-xs-11 { + width: 91.66666666666666%; +} + +.col-xs-10 { + width: 83.33333333333334%; +} + +.col-xs-9 { + width: 75%; +} + +.col-xs-8 { + width: 66.66666666666666%; +} + +.col-xs-7 { + width: 58.333333333333336%; +} + +.col-xs-6 { + width: 50%; +} + +.col-xs-5 { + width: 41.66666666666667%; +} + +.col-xs-4 { + width: 33.33333333333333%; +} + +.col-xs-3 { + width: 25%; +} + +.col-xs-2 { + width: 16.666666666666664%; +} + +.col-xs-1 { + width: 8.333333333333332%; +} + +.col-xs-pull-12 { + right: 100%; +} + +.col-xs-pull-11 { + right: 91.66666666666666%; +} + +.col-xs-pull-10 { + right: 83.33333333333334%; +} + +.col-xs-pull-9 { + right: 75%; +} + +.col-xs-pull-8 { + right: 66.66666666666666%; +} + +.col-xs-pull-7 { + right: 58.333333333333336%; +} + +.col-xs-pull-6 { + right: 50%; +} + +.col-xs-pull-5 { + right: 41.66666666666667%; +} + +.col-xs-pull-4 { + right: 33.33333333333333%; +} + +.col-xs-pull-3 { + right: 25%; +} + +.col-xs-pull-2 { + right: 16.666666666666664%; +} + +.col-xs-pull-1 { + right: 8.333333333333332%; +} + +.col-xs-pull-0 { + right: 0; +} + +.col-xs-push-12 { + left: 100%; +} + +.col-xs-push-11 { + left: 91.66666666666666%; +} + +.col-xs-push-10 { + left: 83.33333333333334%; +} + +.col-xs-push-9 { + left: 75%; +} + +.col-xs-push-8 { + left: 66.66666666666666%; +} + +.col-xs-push-7 { + left: 58.333333333333336%; +} + +.col-xs-push-6 { + left: 50%; +} + +.col-xs-push-5 { + left: 41.66666666666667%; +} + +.col-xs-push-4 { + left: 33.33333333333333%; +} + +.col-xs-push-3 { + left: 25%; +} + +.col-xs-push-2 { + left: 16.666666666666664%; +} + +.col-xs-push-1 { + left: 8.333333333333332%; +} + +.col-xs-push-0 { + left: 0; +} + +.col-xs-offset-12 { + margin-left: 100%; +} + +.col-xs-offset-11 { + margin-left: 91.66666666666666%; +} + +.col-xs-offset-10 { + margin-left: 83.33333333333334%; +} + +.col-xs-offset-9 { + margin-left: 75%; +} + +.col-xs-offset-8 { + margin-left: 66.66666666666666%; +} + +.col-xs-offset-7 { + margin-left: 58.333333333333336%; +} + +.col-xs-offset-6 { + margin-left: 50%; +} + +.col-xs-offset-5 { + margin-left: 41.66666666666667%; +} + +.col-xs-offset-4 { + margin-left: 33.33333333333333%; +} + +.col-xs-offset-3 { + margin-left: 25%; +} + +.col-xs-offset-2 { + margin-left: 16.666666666666664%; +} + +.col-xs-offset-1 { + margin-left: 8.333333333333332%; +} + +.col-xs-offset-0 { + margin-left: 0; +} + +@media (min-width: 768px) { + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666666666666%; + } + .col-sm-10 { + width: 83.33333333333334%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666666666666%; + } + .col-sm-7 { + width: 58.333333333333336%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666666666667%; + } + .col-sm-4 { + width: 33.33333333333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.666666666666664%; + } + .col-sm-1 { + width: 8.333333333333332%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666666666666%; + } + .col-sm-pull-10 { + right: 83.33333333333334%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666666666666%; + } + .col-sm-pull-7 { + right: 58.333333333333336%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666666666667%; + } + .col-sm-pull-4 { + right: 33.33333333333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.666666666666664%; + } + .col-sm-pull-1 { + right: 8.333333333333332%; + } + .col-sm-pull-0 { + right: 0; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666666666666%; + } + .col-sm-push-10 { + left: 83.33333333333334%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666666666666%; + } + .col-sm-push-7 { + left: 58.333333333333336%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666666666667%; + } + .col-sm-push-4 { + left: 33.33333333333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.666666666666664%; + } + .col-sm-push-1 { + left: 8.333333333333332%; + } + .col-sm-push-0 { + left: 0; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666666666666%; + } + .col-sm-offset-10 { + margin-left: 83.33333333333334%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666666666666%; + } + .col-sm-offset-7 { + margin-left: 58.333333333333336%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666666666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.666666666666664%; + } + .col-sm-offset-1 { + margin-left: 8.333333333333332%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} + +@media (min-width: 992px) { + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666666666666%; + } + .col-md-10 { + width: 83.33333333333334%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666666666666%; + } + .col-md-7 { + width: 58.333333333333336%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666666666667%; + } + .col-md-4 { + width: 33.33333333333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.666666666666664%; + } + .col-md-1 { + width: 8.333333333333332%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666666666666%; + } + .col-md-pull-10 { + right: 83.33333333333334%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666666666666%; + } + .col-md-pull-7 { + right: 58.333333333333336%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666666666667%; + } + .col-md-pull-4 { + right: 33.33333333333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.666666666666664%; + } + .col-md-pull-1 { + right: 8.333333333333332%; + } + .col-md-pull-0 { + right: 0; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666666666666%; + } + .col-md-push-10 { + left: 83.33333333333334%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666666666666%; + } + .col-md-push-7 { + left: 58.333333333333336%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666666666667%; + } + .col-md-push-4 { + left: 33.33333333333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.666666666666664%; + } + .col-md-push-1 { + left: 8.333333333333332%; + } + .col-md-push-0 { + left: 0; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666666666666%; + } + .col-md-offset-10 { + margin-left: 83.33333333333334%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666666666666%; + } + .col-md-offset-7 { + margin-left: 58.333333333333336%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666666666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.666666666666664%; + } + .col-md-offset-1 { + margin-left: 8.333333333333332%; + } + .col-md-offset-0 { + margin-left: 0; + } +} + +@media (min-width: 1200px) { + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666666666666%; + } + .col-lg-10 { + width: 83.33333333333334%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666666666666%; + } + .col-lg-7 { + width: 58.333333333333336%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666666666667%; + } + .col-lg-4 { + width: 33.33333333333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.666666666666664%; + } + .col-lg-1 { + width: 8.333333333333332%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666666666666%; + } + .col-lg-pull-10 { + right: 83.33333333333334%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666666666666%; + } + .col-lg-pull-7 { + right: 58.333333333333336%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666666666667%; + } + .col-lg-pull-4 { + right: 33.33333333333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.666666666666664%; + } + .col-lg-pull-1 { + right: 8.333333333333332%; + } + .col-lg-pull-0 { + right: 0; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666666666666%; + } + .col-lg-push-10 { + left: 83.33333333333334%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666666666666%; + } + .col-lg-push-7 { + left: 58.333333333333336%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666666666667%; + } + .col-lg-push-4 { + left: 33.33333333333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.666666666666664%; + } + .col-lg-push-1 { + left: 8.333333333333332%; + } + .col-lg-push-0 { + left: 0; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666666666666%; + } + .col-lg-offset-10 { + margin-left: 83.33333333333334%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666666666666%; + } + .col-lg-offset-7 { + margin-left: 58.333333333333336%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666666666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.666666666666664%; + } + .col-lg-offset-1 { + margin-left: 8.333333333333332%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} + +table { + max-width: 100%; + background-color: transparent; +} + +th { + text-align: left; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; +} + +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} + +.table > tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} + +.table-bordered { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} + +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} + +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} + +table td[class*="col-"], +table th[class*="col-"] { + display: table-cell; + float: none; +} + +.table > thead > tr > .active, +.table > tbody > tr > .active, +.table > tfoot > tr > .active, +.table > thead > .active > td, +.table > tbody > .active > td, +.table > tfoot > .active > td, +.table > thead > .active > th, +.table > tbody > .active > th, +.table > tfoot > .active > th { + background-color: #f5f5f5; +} + +.table-hover > tbody > tr > .active:hover, +.table-hover > tbody > .active:hover > td, +.table-hover > tbody > .active:hover > th { + background-color: #e8e8e8; +} + +.table > thead > tr > .success, +.table > tbody > tr > .success, +.table > tfoot > tr > .success, +.table > thead > .success > td, +.table > tbody > .success > td, +.table > tfoot > .success > td, +.table > thead > .success > th, +.table > tbody > .success > th, +.table > tfoot > .success > th { + background-color: #dff0d8; +} + +.table-hover > tbody > tr > .success:hover, +.table-hover > tbody > .success:hover > td, +.table-hover > tbody > .success:hover > th { + background-color: #d0e9c6; +} + +.table > thead > tr > .danger, +.table > tbody > tr > .danger, +.table > tfoot > tr > .danger, +.table > thead > .danger > td, +.table > tbody > .danger > td, +.table > tfoot > .danger > td, +.table > thead > .danger > th, +.table > tbody > .danger > th, +.table > tfoot > .danger > th { + background-color: #f2dede; +} + +.table-hover > tbody > tr > .danger:hover, +.table-hover > tbody > .danger:hover > td, +.table-hover > tbody > .danger:hover > th { + background-color: #ebcccc; +} + +.table > thead > tr > .warning, +.table > tbody > tr > .warning, +.table > tfoot > tr > .warning, +.table > thead > .warning > td, +.table > tbody > .warning > td, +.table > tfoot > .warning > td, +.table > thead > .warning > th, +.table > tbody > .warning > th, +.table > tfoot > .warning > th { + background-color: #fcf8e3; +} + +.table-hover > tbody > tr > .warning:hover, +.table-hover > tbody > .warning:hover > td, +.table-hover > tbody > .warning:hover > th { + background-color: #faf2cc; +} + +@media (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: scroll; + overflow-y: hidden; + border: 1px solid #dddddd; + -ms-overflow-style: -ms-autohiding-scrollbar; + -webkit-overflow-scrolling: touch; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; +} + +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + /* IE8-9 */ + + line-height: normal; +} + +input[type="file"] { + display: block; +} + +select[multiple], +select[size] { + height: auto; +} + +select optgroup { + font-family: inherit; + font-size: inherit; + font-style: inherit; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="number"]::-webkit-outer-spin-button, +input[type="number"]::-webkit-inner-spin-button { + height: auto; +} + +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.428571429; + color: #555555; + vertical-align: middle; +} + +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + color: #555555; + vertical-align: middle; + background-color: #ffffff; + background-image: none; + border: 1px solid #cccccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} + +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); +} + +.form-control:-moz-placeholder { + color: #999999; +} + +.form-control::-moz-placeholder { + color: #999999; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #999999; +} + +.form-control::-webkit-input-placeholder { + color: #999999; +} + +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eeeeee; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 15px; +} + +.radio, +.checkbox { + display: block; + min-height: 20px; + padding-left: 20px; + margin-top: 10px; + margin-bottom: 10px; + vertical-align: middle; +} + +.radio label, +.checkbox label { + display: inline; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} + +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} + +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +.radio[disabled], +.radio-inline[disabled], +.checkbox[disabled], +.checkbox-inline[disabled], +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"], +fieldset[disabled] .radio, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} + +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-sm { + height: 30px; + line-height: 30px; +} + +textarea.input-sm { + height: auto; +} + +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +select.input-lg { + height: 46px; + line-height: 46px; +} + +textarea.input-lg { + height: auto; +} + +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline { + color: #8a6d3b; +} + +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} + +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} + +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline { + color: #a94442; +} + +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} + +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} + +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline { + color: #3c763d; +} + +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} + +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} + +.form-control-static { + margin-bottom: 0; +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + } + .form-inline select.form-control { + width: auto; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +.form-horizontal .control-label, +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} + +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} + +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +.form-horizontal .form-control-static { + padding-top: 7px; +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + } +} + +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.btn:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; +} + +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + color: #333333; + background-color: #ebebeb; + border-color: #adadad; +} + +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + background-image: none; +} + +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-default .badge { + color: #ffffff; + background-color: #fff; +} + +.btn-primary { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} + +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + background-image: none; +} + +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} + +.btn-primary .badge { + color: #428bca; + background-color: #fff; +} + +.btn-warning { + color: #ffffff; + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #ed9c28; + border-color: #d58512; +} + +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + background-image: none; +} + +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} + +.btn-danger { + color: #ffffff; + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #d2322d; + border-color: #ac2925; +} + +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + background-image: none; +} + +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} + +.btn-success { + color: #ffffff; + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #47a447; + border-color: #398439; +} + +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + background-image: none; +} + +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} + +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #39b3d7; + border-color: #269abc; +} + +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + background-image: none; +} + +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} + +.btn-link { + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} + +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #999999; + text-decoration: none; +} + +.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + display: none; +} + +.collapse.in { + display: block; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); +} + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + -webkit-font-smoothing: antialiased; + font-style: normal; + font-weight: normal; + line-height: 1; + -moz-osx-font-smoothing: grayscale; +} + +.glyphicon:empty { + width: 1em; +} + +.glyphicon-asterisk:before { + content: "\2a"; +} + +.glyphicon-plus:before { + content: "\2b"; +} + +.glyphicon-euro:before { + content: "\20ac"; +} + +.glyphicon-minus:before { + content: "\2212"; +} + +.glyphicon-cloud:before { + content: "\2601"; +} + +.glyphicon-envelope:before { + content: "\2709"; +} + +.glyphicon-pencil:before { + content: "\270f"; +} + +.glyphicon-glass:before { + content: "\e001"; +} + +.glyphicon-music:before { + content: "\e002"; +} + +.glyphicon-search:before { + content: "\e003"; +} + +.glyphicon-heart:before { + content: "\e005"; +} + +.glyphicon-star:before { + content: "\e006"; +} + +.glyphicon-star-empty:before { + content: "\e007"; +} + +.glyphicon-user:before { + content: "\e008"; +} + +.glyphicon-film:before { + content: "\e009"; +} + +.glyphicon-th-large:before { + content: "\e010"; +} + +.glyphicon-th:before { + content: "\e011"; +} + +.glyphicon-th-list:before { + content: "\e012"; +} + +.glyphicon-ok:before { + content: "\e013"; +} + +.glyphicon-remove:before { + content: "\e014"; +} + +.glyphicon-zoom-in:before { + content: "\e015"; +} + +.glyphicon-zoom-out:before { + content: "\e016"; +} + +.glyphicon-off:before { + content: "\e017"; +} + +.glyphicon-signal:before { + content: "\e018"; +} + +.glyphicon-cog:before { + content: "\e019"; +} + +.glyphicon-trash:before { + content: "\e020"; +} + +.glyphicon-home:before { + content: "\e021"; +} + +.glyphicon-file:before { + content: "\e022"; +} + +.glyphicon-time:before { + content: "\e023"; +} + +.glyphicon-road:before { + content: "\e024"; +} + +.glyphicon-download-alt:before { + content: "\e025"; +} + +.glyphicon-download:before { + content: "\e026"; +} + +.glyphicon-upload:before { + content: "\e027"; +} + +.glyphicon-inbox:before { + content: "\e028"; +} + +.glyphicon-play-circle:before { + content: "\e029"; +} + +.glyphicon-repeat:before { + content: "\e030"; +} + +.glyphicon-refresh:before { + content: "\e031"; +} + +.glyphicon-list-alt:before { + content: "\e032"; +} + +.glyphicon-lock:before { + content: "\e033"; +} + +.glyphicon-flag:before { + content: "\e034"; +} + +.glyphicon-headphones:before { + content: "\e035"; +} + +.glyphicon-volume-off:before { + content: "\e036"; +} + +.glyphicon-volume-down:before { + content: "\e037"; +} + +.glyphicon-volume-up:before { + content: "\e038"; +} + +.glyphicon-qrcode:before { + content: "\e039"; +} + +.glyphicon-barcode:before { + content: "\e040"; +} + +.glyphicon-tag:before { + content: "\e041"; +} + +.glyphicon-tags:before { + content: "\e042"; +} + +.glyphicon-book:before { + content: "\e043"; +} + +.glyphicon-bookmark:before { + content: "\e044"; +} + +.glyphicon-print:before { + content: "\e045"; +} + +.glyphicon-camera:before { + content: "\e046"; +} + +.glyphicon-font:before { + content: "\e047"; +} + +.glyphicon-bold:before { + content: "\e048"; +} + +.glyphicon-italic:before { + content: "\e049"; +} + +.glyphicon-text-height:before { + content: "\e050"; +} + +.glyphicon-text-width:before { + content: "\e051"; +} + +.glyphicon-align-left:before { + content: "\e052"; +} + +.glyphicon-align-center:before { + content: "\e053"; +} + +.glyphicon-align-right:before { + content: "\e054"; +} + +.glyphicon-align-justify:before { + content: "\e055"; +} + +.glyphicon-list:before { + content: "\e056"; +} + +.glyphicon-indent-left:before { + content: "\e057"; +} + +.glyphicon-indent-right:before { + content: "\e058"; +} + +.glyphicon-facetime-video:before { + content: "\e059"; +} + +.glyphicon-picture:before { + content: "\e060"; +} + +.glyphicon-map-marker:before { + content: "\e062"; +} + +.glyphicon-adjust:before { + content: "\e063"; +} + +.glyphicon-tint:before { + content: "\e064"; +} + +.glyphicon-edit:before { + content: "\e065"; +} + +.glyphicon-share:before { + content: "\e066"; +} + +.glyphicon-check:before { + content: "\e067"; +} + +.glyphicon-move:before { + content: "\e068"; +} + +.glyphicon-step-backward:before { + content: "\e069"; +} + +.glyphicon-fast-backward:before { + content: "\e070"; +} + +.glyphicon-backward:before { + content: "\e071"; +} + +.glyphicon-play:before { + content: "\e072"; +} + +.glyphicon-pause:before { + content: "\e073"; +} + +.glyphicon-stop:before { + content: "\e074"; +} + +.glyphicon-forward:before { + content: "\e075"; +} + +.glyphicon-fast-forward:before { + content: "\e076"; +} + +.glyphicon-step-forward:before { + content: "\e077"; +} + +.glyphicon-eject:before { + content: "\e078"; +} + +.glyphicon-chevron-left:before { + content: "\e079"; +} + +.glyphicon-chevron-right:before { + content: "\e080"; +} + +.glyphicon-plus-sign:before { + content: "\e081"; +} + +.glyphicon-minus-sign:before { + content: "\e082"; +} + +.glyphicon-remove-sign:before { + content: "\e083"; +} + +.glyphicon-ok-sign:before { + content: "\e084"; +} + +.glyphicon-question-sign:before { + content: "\e085"; +} + +.glyphicon-info-sign:before { + content: "\e086"; +} + +.glyphicon-screenshot:before { + content: "\e087"; +} + +.glyphicon-remove-circle:before { + content: "\e088"; +} + +.glyphicon-ok-circle:before { + content: "\e089"; +} + +.glyphicon-ban-circle:before { + content: "\e090"; +} + +.glyphicon-arrow-left:before { + content: "\e091"; +} + +.glyphicon-arrow-right:before { + content: "\e092"; +} + +.glyphicon-arrow-up:before { + content: "\e093"; +} + +.glyphicon-arrow-down:before { + content: "\e094"; +} + +.glyphicon-share-alt:before { + content: "\e095"; +} + +.glyphicon-resize-full:before { + content: "\e096"; +} + +.glyphicon-resize-small:before { + content: "\e097"; +} + +.glyphicon-exclamation-sign:before { + content: "\e101"; +} + +.glyphicon-gift:before { + content: "\e102"; +} + +.glyphicon-leaf:before { + content: "\e103"; +} + +.glyphicon-fire:before { + content: "\e104"; +} + +.glyphicon-eye-open:before { + content: "\e105"; +} + +.glyphicon-eye-close:before { + content: "\e106"; +} + +.glyphicon-warning-sign:before { + content: "\e107"; +} + +.glyphicon-plane:before { + content: "\e108"; +} + +.glyphicon-calendar:before { + content: "\e109"; +} + +.glyphicon-random:before { + content: "\e110"; +} + +.glyphicon-comment:before { + content: "\e111"; +} + +.glyphicon-magnet:before { + content: "\e112"; +} + +.glyphicon-chevron-up:before { + content: "\e113"; +} + +.glyphicon-chevron-down:before { + content: "\e114"; +} + +.glyphicon-retweet:before { + content: "\e115"; +} + +.glyphicon-shopping-cart:before { + content: "\e116"; +} + +.glyphicon-folder-close:before { + content: "\e117"; +} + +.glyphicon-folder-open:before { + content: "\e118"; +} + +.glyphicon-resize-vertical:before { + content: "\e119"; +} + +.glyphicon-resize-horizontal:before { + content: "\e120"; +} + +.glyphicon-hdd:before { + content: "\e121"; +} + +.glyphicon-bullhorn:before { + content: "\e122"; +} + +.glyphicon-bell:before { + content: "\e123"; +} + +.glyphicon-certificate:before { + content: "\e124"; +} + +.glyphicon-thumbs-up:before { + content: "\e125"; +} + +.glyphicon-thumbs-down:before { + content: "\e126"; +} + +.glyphicon-hand-right:before { + content: "\e127"; +} + +.glyphicon-hand-left:before { + content: "\e128"; +} + +.glyphicon-hand-up:before { + content: "\e129"; +} + +.glyphicon-hand-down:before { + content: "\e130"; +} + +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} + +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} + +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} + +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} + +.glyphicon-globe:before { + content: "\e135"; +} + +.glyphicon-wrench:before { + content: "\e136"; +} + +.glyphicon-tasks:before { + content: "\e137"; +} + +.glyphicon-filter:before { + content: "\e138"; +} + +.glyphicon-briefcase:before { + content: "\e139"; +} + +.glyphicon-fullscreen:before { + content: "\e140"; +} + +.glyphicon-dashboard:before { + content: "\e141"; +} + +.glyphicon-paperclip:before { + content: "\e142"; +} + +.glyphicon-heart-empty:before { + content: "\e143"; +} + +.glyphicon-link:before { + content: "\e144"; +} + +.glyphicon-phone:before { + content: "\e145"; +} + +.glyphicon-pushpin:before { + content: "\e146"; +} + +.glyphicon-usd:before { + content: "\e148"; +} + +.glyphicon-gbp:before { + content: "\e149"; +} + +.glyphicon-sort:before { + content: "\e150"; +} + +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} + +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} + +.glyphicon-sort-by-order:before { + content: "\e153"; +} + +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} + +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} + +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} + +.glyphicon-unchecked:before { + content: "\e157"; +} + +.glyphicon-expand:before { + content: "\e158"; +} + +.glyphicon-collapse-down:before { + content: "\e159"; +} + +.glyphicon-collapse-up:before { + content: "\e160"; +} + +.glyphicon-log-in:before { + content: "\e161"; +} + +.glyphicon-flash:before { + content: "\e162"; +} + +.glyphicon-log-out:before { + content: "\e163"; +} + +.glyphicon-new-window:before { + content: "\e164"; +} + +.glyphicon-record:before { + content: "\e165"; +} + +.glyphicon-save:before { + content: "\e166"; +} + +.glyphicon-open:before { + content: "\e167"; +} + +.glyphicon-saved:before { + content: "\e168"; +} + +.glyphicon-import:before { + content: "\e169"; +} + +.glyphicon-export:before { + content: "\e170"; +} + +.glyphicon-send:before { + content: "\e171"; +} + +.glyphicon-floppy-disk:before { + content: "\e172"; +} + +.glyphicon-floppy-saved:before { + content: "\e173"; +} + +.glyphicon-floppy-remove:before { + content: "\e174"; +} + +.glyphicon-floppy-save:before { + content: "\e175"; +} + +.glyphicon-floppy-open:before { + content: "\e176"; +} + +.glyphicon-credit-card:before { + content: "\e177"; +} + +.glyphicon-transfer:before { + content: "\e178"; +} + +.glyphicon-cutlery:before { + content: "\e179"; +} + +.glyphicon-header:before { + content: "\e180"; +} + +.glyphicon-compressed:before { + content: "\e181"; +} + +.glyphicon-earphone:before { + content: "\e182"; +} + +.glyphicon-phone-alt:before { + content: "\e183"; +} + +.glyphicon-tower:before { + content: "\e184"; +} + +.glyphicon-stats:before { + content: "\e185"; +} + +.glyphicon-sd-video:before { + content: "\e186"; +} + +.glyphicon-hd-video:before { + content: "\e187"; +} + +.glyphicon-subtitles:before { + content: "\e188"; +} + +.glyphicon-sound-stereo:before { + content: "\e189"; +} + +.glyphicon-sound-dolby:before { + content: "\e190"; +} + +.glyphicon-sound-5-1:before { + content: "\e191"; +} + +.glyphicon-sound-6-1:before { + content: "\e192"; +} + +.glyphicon-sound-7-1:before { + content: "\e193"; +} + +.glyphicon-copyright-mark:before { + content: "\e194"; +} + +.glyphicon-registration-mark:before { + content: "\e195"; +} + +.glyphicon-cloud-download:before { + content: "\e197"; +} + +.glyphicon-cloud-upload:before { + content: "\e198"; +} + +.glyphicon-tree-conifer:before { + content: "\e199"; +} + +.glyphicon-tree-deciduous:before { + content: "\e200"; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} + +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + list-style: none; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} + +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} + +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999999; +} + +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open > .dropdown-menu { + display: block; +} + +.open > a { + outline: 0; +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #999999; +} + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} + +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: none; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} + +.btn-toolbar:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar .btn-group { + float: left; +} + +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group, +.btn-toolbar > .btn-group + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +.btn-group > .btn:first-child { + margin-left: 0; +} + +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group > .btn-group { + float: left; +} + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} + +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn .caret { + margin-left: 0; +} + +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} + +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.btn-group-vertical > .btn-group > .btn { + float: none; +} + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 0; +} + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group-vertical > .btn-group:first-child > .btn:last-child, +.btn-group-vertical > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn-group:last-child > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.btn-group-justified { + display: table; + width: 100%; + border-collapse: separate; + table-layout: fixed; +} + +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} + +.btn-group-justified > .btn-group .btn { + width: 100%; +} + +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + display: none; +} + +.input-group { + position: relative; + display: table; + border-collapse: separate; +} + +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} + +.input-group .form-control { + width: 100%; + margin-bottom: 0; +} + +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} + +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn { + height: auto; +} + +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} + +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn { + height: auto; +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} + +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #cccccc; + border-radius: 4px; +} + +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} + +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} + +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} + +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group-addon:first-child { + border-right: 0; +} + +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.input-group-addon:last-child { + border-left: 0; +} + +.input-group-btn { + position: relative; + white-space: nowrap; +} + +.input-group-btn:first-child > .btn { + margin-right: -1px; +} + +.input-group-btn:last-child > .btn { + margin-left: -1px; +} + +.input-group-btn > .btn { + position: relative; +} + +.input-group-btn > .btn + .btn { + margin-left: -4px; +} + +.input-group-btn > .btn:hover, +.input-group-btn > .btn:active { + z-index: 2; +} + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav > li { + position: relative; + display: block; +} + +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} + +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > li.disabled > a { + color: #999999; +} + +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} + +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #428bca; +} + +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.nav > li > a > img { + max-width: none; +} + +.nav-tabs { + border-bottom: 1px solid #dddddd; +} + +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} + +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; +} + +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} + +.nav-tabs.nav-justified > li { + float: none; +} + +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} + +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} + +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} + +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} + +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #dddddd; +} + +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} + +.nav-pills > li { + float: left; +} + +.nav-pills > li > a { + border-radius: 4px; +} + +.nav-pills > li + li { + margin-left: 2px; +} + +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #428bca; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} + +.nav-justified { + width: 100%; +} + +.nav-justified > li { + float: none; +} + +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} + +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} + +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} + +.nav-tabs-justified { + border-bottom: 0; +} + +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} + +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #dddddd; +} + +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} + +.navbar-collapse { + max-height: 340px; + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse.in { + overflow-y: auto; +} + +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} + +.container > .navbar-header, +.container > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} + +@media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} + +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} + +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} + +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} + +.navbar-brand { + float: left; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} + +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} + +@media (min-width: 768px) { + .navbar > .container .navbar-brand { + margin-left: -15px; + } +} + +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} + +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} + +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} + +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} + +.navbar-nav { + margin: 7.5px -15px; +} + +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} + +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} + +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} + +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} + +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); +} + +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + } + .navbar-form select.form-control { + width: auto; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} + +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.navbar-nav.pull-right > li > .dropdown-menu, +.navbar-nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} + +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} + +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} + +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} + +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} + +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} + +.navbar-default .navbar-brand { + color: #777777; +} + +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} + +.navbar-default .navbar-text { + color: #777777; +} + +.navbar-default .navbar-nav > li > a { + color: #777777; +} + +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333333; + background-color: transparent; +} + +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} + +.navbar-default .navbar-toggle { + border-color: #dddddd; +} + +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #dddddd; +} + +.navbar-default .navbar-toggle .icon-bar { + background-color: #cccccc; +} + +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} + +.navbar-default .navbar-link { + color: #777777; +} + +.navbar-default .navbar-link:hover { + color: #333333; +} + +.navbar-inverse { + background-color: #222222; + border-color: #080808; +} + +.navbar-inverse .navbar-brand { + color: #999999; +} + +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #080808; +} + +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444444; + background-color: transparent; +} + +.navbar-inverse .navbar-toggle { + border-color: #333333; +} + +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333333; +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} + +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} + +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #ffffff; + background-color: #080808; +} + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #999999; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444444; + background-color: transparent; + } +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} + +.breadcrumb > li { + display: inline-block; +} + +.breadcrumb > li + li:before { + padding: 0 5px; + color: #cccccc; + content: "/\00a0"; +} + +.breadcrumb > .active { + color: #999999; +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} + +.pagination > li { + display: inline; +} + +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.428571429; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} + +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + background-color: #eeeeee; +} + +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} + +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; + border-color: #dddddd; +} + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} + +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 15px; +} + +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} + +.label[href]:hover, +.label[href]:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label:empty { + display: none; +} + +.btn .label { + position: relative; + top: -1px; +} + +.label-default { + background-color: #999999; +} + +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #808080; +} + +.label-primary { + background-color: #428bca; +} + +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} + +.label-success { + background-color: #5cb85c; +} + +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} + +.label-info { + background-color: #5bc0de; +} + +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} + +.label-warning { + background-color: #f0ad4e; +} + +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} + +.label-danger { + background-color: #d9534f; +} + +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; + border-radius: 10px; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #ffffff; +} + +.nav-pills > li > a > .badge { + margin-left: 3px; +} + +.jumbotron { + padding: 30px; + margin-bottom: 30px; + font-size: 21px; + font-weight: 200; + line-height: 2.1428571435; + color: inherit; + background-color: #eeeeee; +} + +.jumbotron h1, +.jumbotron .h1 { + line-height: 1; + color: inherit; +} + +.jumbotron p { + line-height: 1.4; +} + +.container .jumbotron { + border-radius: 6px; +} + +.jumbotron .container { + max-width: 100%; +} + +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} + +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.thumbnail > img, +.thumbnail a > img { + display: block; + height: auto; + max-width: 100%; + margin-right: auto; + margin-left: auto; +} + +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #428bca; +} + +.thumbnail .caption { + padding: 9px; + color: #333333; +} + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} + +.alert h4 { + margin-top: 0; + color: inherit; +} + +.alert .alert-link { + font-weight: bold; +} + +.alert > p, +.alert > ul { + margin-bottom: 0; +} + +.alert > p + p { + margin-top: 5px; +} + +.alert-dismissable { + padding-right: 35px; +} + +.alert-dismissable .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} + +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success hr { + border-top-color: #c9e2b3; +} + +.alert-success .alert-link { + color: #2b542c; +} + +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info hr { + border-top-color: #a6e1ec; +} + +.alert-info .alert-link { + color: #245269; +} + +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} + +.alert-warning hr { + border-top-color: #f7e1b5; +} + +.alert-warning .alert-link { + color: #66512c; +} + +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} + +.alert-danger hr { + border-top-color: #e4b9c0; +} + +.alert-danger .alert-link { + color: #843534; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #ffffff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress-striped .progress-bar { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} + +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-bar-success { + background-color: #5cb85c; +} + +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-info { + background-color: #5bc0de; +} + +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-warning { + background-color: #f0ad4e; +} + +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-danger { + background-color: #d9534f; +} + +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.media, +.media-body { + overflow: hidden; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media > .pull-left { + margin-right: 10px; +} + +.media > .pull-right { + margin-left: 10px; +} + +.media-list { + padding-left: 0; + list-style: none; +} + +.list-group { + padding-left: 0; + margin-bottom: 20px; +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} + +.list-group-item > .badge { + float: right; +} + +.list-group-item > .badge + .badge { + margin-right: 5px; +} + +a.list-group-item { + color: #555555; +} + +a.list-group-item .list-group-item-heading { + color: #333333; +} + +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +a.list-group-item.active, +a.list-group-item.active:hover, +a.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +a.list-group-item.active .list-group-item-heading, +a.list-group-item.active:hover .list-group-item-heading, +a.list-group-item.active:focus .list-group-item-heading { + color: inherit; +} + +a.list-group-item.active .list-group-item-text, +a.list-group-item.active:hover .list-group-item-text, +a.list-group-item.active:focus .list-group-item-text { + color: #e1edf7; +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} + +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.panel-body { + padding: 15px; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel > .list-group { + margin-bottom: 0; +} + +.panel > .list-group .list-group-item { + border-width: 1px 0; +} + +.panel > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.panel > .list-group .list-group-item:last-child { + border-bottom: 0; +} + +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} + +.panel > .table, +.panel > .table-responsive > .table { + margin-bottom: 0; +} + +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive { + border-top: 1px solid #dddddd; +} + +.panel > .table > tbody:first-child th, +.panel > .table > tbody:first-child td { + border-top: 0; +} + +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} + +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} + +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} + +.panel > .table-bordered > thead > tr:last-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:last-child > th, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-bordered > thead > tr:last-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; +} + +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} + +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} + +.panel-title > a { + color: inherit; +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} + +.panel-group .panel { + margin-bottom: 0; + overflow: hidden; + border-radius: 4px; +} + +.panel-group .panel + .panel { + margin-top: 5px; +} + +.panel-group .panel-heading { + border-bottom: 0; +} + +.panel-group .panel-heading + .panel-collapse .panel-body { + border-top: 1px solid #dddddd; +} + +.panel-group .panel-footer { + border-top: 0; +} + +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; +} + +.panel-default { + border-color: #dddddd; +} + +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; +} + +.panel-default > .panel-heading + .panel-collapse .panel-body { + border-top-color: #dddddd; +} + +.panel-default > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #dddddd; +} + +.panel-primary { + border-color: #428bca; +} + +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +.panel-primary > .panel-heading + .panel-collapse .panel-body { + border-top-color: #428bca; +} + +.panel-primary > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #428bca; +} + +.panel-success { + border-color: #d6e9c6; +} + +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.panel-success > .panel-heading + .panel-collapse .panel-body { + border-top-color: #d6e9c6; +} + +.panel-success > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #d6e9c6; +} + +.panel-warning { + border-color: #faebcc; +} + +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} + +.panel-warning > .panel-heading + .panel-collapse .panel-body { + border-top-color: #faebcc; +} + +.panel-warning > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #faebcc; +} + +.panel-danger { + border-color: #ebccd1; +} + +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} + +.panel-danger > .panel-heading + .panel-collapse .panel-body { + border-top-color: #ebccd1; +} + +.panel-danger > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #ebccd1; +} + +.panel-info { + border-color: #bce8f1; +} + +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.panel-info > .panel-heading + .panel-collapse .panel-body { + border-top-color: #bce8f1; +} + +.panel-info > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #bce8f1; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-lg { + padding: 24px; + border-radius: 6px; +} + +.well-sm { + padding: 9px; + border-radius: 3px; +} + +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + display: none; + overflow: auto; + overflow-y: scroll; +} + +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} + +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-dialog { + position: relative; + z-index: 1050; + width: auto; + margin: 10px; +} + +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} + +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} + +.modal-header { + min-height: 16.428571429px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} + +.modal-header .close { + margin-top: -2px; +} + +.modal-title { + margin: 0; + line-height: 1.428571429; +} + +.modal-body { + position: relative; + padding: 20px; +} + +.modal-footer { + padding: 19px 20px 20px; + margin-top: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +@media screen and (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 12px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; + content: " "; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; + content: " "; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; + content: " "; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; + content: " "; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + height: auto; + max-width: 100%; + line-height: 1; +} + +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} + +.carousel-inner > .active { + left: 0; +} + +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner > .next { + left: 100%; +} + +.carousel-inner > .prev { + left: -100%; +} + +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} + +.carousel-inner > .active.left { + left: -100%; +} + +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.left { + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%)); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} + +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%)); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} + +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + outline: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} + +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; +} + +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; +} + +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + font-family: serif; +} + +.carousel-control .icon-prev:before { + content: '\2039'; +} + +.carousel-control .icon-next:before { + content: '\203a'; +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} + +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #ffffff; + border-radius: 10px; +} + +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #ffffff; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} + +.carousel-caption .btn { + text-shadow: none; +} + +@media screen and (min-width: 768px) { + .carousel-control .glyphicons-chevron-left, + .carousel-control .glyphicons-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + font-size: 30px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} + +.clearfix:before, +.clearfix:after { + display: table; + content: " "; +} + +.clearfix:after { + clear: both; +} + +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} + +.pull-right { + float: right !important; +} + +.pull-left { + float: left !important; +} + +.hide { + display: none !important; +} + +.show { + display: block !important; +} + +.invisible { + visibility: hidden; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.hidden { + display: none !important; + visibility: hidden !important; +} + +.affix { + position: fixed; +} + +@-ms-viewport { + width: device-width; +} + +.visible-xs, +tr.visible-xs, +th.visible-xs, +td.visible-xs { + display: none !important; +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-xs.visible-sm { + display: block !important; + } + table.visible-xs.visible-sm { + display: table; + } + tr.visible-xs.visible-sm { + display: table-row !important; + } + th.visible-xs.visible-sm, + td.visible-xs.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-xs.visible-md { + display: block !important; + } + table.visible-xs.visible-md { + display: table; + } + tr.visible-xs.visible-md { + display: table-row !important; + } + th.visible-xs.visible-md, + td.visible-xs.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-xs.visible-lg { + display: block !important; + } + table.visible-xs.visible-lg { + display: table; + } + tr.visible-xs.visible-lg { + display: table-row !important; + } + th.visible-xs.visible-lg, + td.visible-xs.visible-lg { + display: table-cell !important; + } +} + +.visible-sm, +tr.visible-sm, +th.visible-sm, +td.visible-sm { + display: none !important; +} + +@media (max-width: 767px) { + .visible-sm.visible-xs { + display: block !important; + } + table.visible-sm.visible-xs { + display: table; + } + tr.visible-sm.visible-xs { + display: table-row !important; + } + th.visible-sm.visible-xs, + td.visible-sm.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-sm.visible-md { + display: block !important; + } + table.visible-sm.visible-md { + display: table; + } + tr.visible-sm.visible-md { + display: table-row !important; + } + th.visible-sm.visible-md, + td.visible-sm.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-sm.visible-lg { + display: block !important; + } + table.visible-sm.visible-lg { + display: table; + } + tr.visible-sm.visible-lg { + display: table-row !important; + } + th.visible-sm.visible-lg, + td.visible-sm.visible-lg { + display: table-cell !important; + } +} + +.visible-md, +tr.visible-md, +th.visible-md, +td.visible-md { + display: none !important; +} + +@media (max-width: 767px) { + .visible-md.visible-xs { + display: block !important; + } + table.visible-md.visible-xs { + display: table; + } + tr.visible-md.visible-xs { + display: table-row !important; + } + th.visible-md.visible-xs, + td.visible-md.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-md.visible-sm { + display: block !important; + } + table.visible-md.visible-sm { + display: table; + } + tr.visible-md.visible-sm { + display: table-row !important; + } + th.visible-md.visible-sm, + td.visible-md.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-md.visible-lg { + display: block !important; + } + table.visible-md.visible-lg { + display: table; + } + tr.visible-md.visible-lg { + display: table-row !important; + } + th.visible-md.visible-lg, + td.visible-md.visible-lg { + display: table-cell !important; + } +} + +.visible-lg, +tr.visible-lg, +th.visible-lg, +td.visible-lg { + display: none !important; +} + +@media (max-width: 767px) { + .visible-lg.visible-xs { + display: block !important; + } + table.visible-lg.visible-xs { + display: table; + } + tr.visible-lg.visible-xs { + display: table-row !important; + } + th.visible-lg.visible-xs, + td.visible-lg.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-lg.visible-sm { + display: block !important; + } + table.visible-lg.visible-sm { + display: table; + } + tr.visible-lg.visible-sm { + display: table-row !important; + } + th.visible-lg.visible-sm, + td.visible-lg.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-lg.visible-md { + display: block !important; + } + table.visible-lg.visible-md { + display: table; + } + tr.visible-lg.visible-md { + display: table-row !important; + } + th.visible-lg.visible-md, + td.visible-lg.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} + +.hidden-xs { + display: block !important; +} + +table.hidden-xs { + display: table; +} + +tr.hidden-xs { + display: table-row !important; +} + +th.hidden-xs, +td.hidden-xs { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-xs, + tr.hidden-xs, + th.hidden-xs, + td.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-xs.hidden-sm, + tr.hidden-xs.hidden-sm, + th.hidden-xs.hidden-sm, + td.hidden-xs.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-xs.hidden-md, + tr.hidden-xs.hidden-md, + th.hidden-xs.hidden-md, + td.hidden-xs.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-xs.hidden-lg, + tr.hidden-xs.hidden-lg, + th.hidden-xs.hidden-lg, + td.hidden-xs.hidden-lg { + display: none !important; + } +} + +.hidden-sm { + display: block !important; +} + +table.hidden-sm { + display: table; +} + +tr.hidden-sm { + display: table-row !important; +} + +th.hidden-sm, +td.hidden-sm { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-sm.hidden-xs, + tr.hidden-sm.hidden-xs, + th.hidden-sm.hidden-xs, + td.hidden-sm.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm, + tr.hidden-sm, + th.hidden-sm, + td.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-sm.hidden-md, + tr.hidden-sm.hidden-md, + th.hidden-sm.hidden-md, + td.hidden-sm.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-sm.hidden-lg, + tr.hidden-sm.hidden-lg, + th.hidden-sm.hidden-lg, + td.hidden-sm.hidden-lg { + display: none !important; + } +} + +.hidden-md { + display: block !important; +} + +table.hidden-md { + display: table; +} + +tr.hidden-md { + display: table-row !important; +} + +th.hidden-md, +td.hidden-md { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-md.hidden-xs, + tr.hidden-md.hidden-xs, + th.hidden-md.hidden-xs, + td.hidden-md.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-md.hidden-sm, + tr.hidden-md.hidden-sm, + th.hidden-md.hidden-sm, + td.hidden-md.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md, + tr.hidden-md, + th.hidden-md, + td.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-md.hidden-lg, + tr.hidden-md.hidden-lg, + th.hidden-md.hidden-lg, + td.hidden-md.hidden-lg { + display: none !important; + } +} + +.hidden-lg { + display: block !important; +} + +table.hidden-lg { + display: table; +} + +tr.hidden-lg { + display: table-row !important; +} + +th.hidden-lg, +td.hidden-lg { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-lg.hidden-xs, + tr.hidden-lg.hidden-xs, + th.hidden-lg.hidden-xs, + td.hidden-lg.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-lg.hidden-sm, + tr.hidden-lg.hidden-sm, + th.hidden-lg.hidden-sm, + td.hidden-lg.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-lg.hidden-md, + tr.hidden-lg.hidden-md, + th.hidden-lg.hidden-md, + td.hidden-lg.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-lg, + tr.hidden-lg, + th.hidden-lg, + td.hidden-lg { + display: none !important; + } +} + +.visible-print, +tr.visible-print, +th.visible-print, +td.visible-print { + display: none !important; +} + +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } + .hidden-print, + tr.hidden-print, + th.hidden-print, + td.hidden-print { + display: none !important; + } +} \ No newline at end of file diff --git a/functions/documentation/assets/docs.css b/functions/documentation/assets/docs.css new file mode 100644 index 0000000..fd1f417 --- /dev/null +++ b/functions/documentation/assets/docs.css @@ -0,0 +1,56 @@ +/* sticky sidebar */ +.sidebar { width: 180px; float: right; position: fixed; margin-left: 700px; margin-top: -1px; z-index: 9999; } +.sidebar .well { padding: 8px 0; -moz-border-radius: 0 0 4px 4px; -webkit-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; } +.nav span { float: left; margin-right: 6px; padding-top: 3px; } +.nav { color: #999; } +.nav > li { border-bottom: 1px solid #ddd; } +.nav > li > a { padding: 8px; } +.nav > li > ul { padding-bottom: 8px; padding-left: 38px; } + +/* base */ +.jumbotron { margin-bottom: 0; padding: 0; } +.jumbotron h1 { color: #000; font-weight: bold; letter-spacing: -1px; } + +.container { width: 920px; } +header .container { padding: 40px 260px 50px 60px; } +footer .container { padding: 40px 60px 50px 60px; } +section .container { padding: 50px 260px 60px 60px; } +section { background: none!important; position: relative; border-bottom: 10px solid #f1f1f1; } + +/* sections */ +.color-01 { background-color: #35ae37; } +section.color-01 { border-left: 10px solid #35ae37; } +.color-02 { background-color: #308fbe; } +section.color-02 { border-left: 10px solid #308fbe; } +.color-03 { background-color: #c63f3d; } +section.color-03 { border-left: 10px solid #c63f3d; } +.color-04 { background-color: #f89406; } +section.color-04 { border-left: 10px solid #f89406; } +.color-05 { background-color: #32c2b3; } +section.color-05 { border-left: 10px solid #32c2b3; } +.color-06 { background-color: #c232c0; } +section.color-06 { border-left: 10px solid #c232c0; } +.color-07 { background-color: #6347aa; } +section.color-07 { border-left: 10px solid #6347aa; } + +/* text */ +h1 { font-weight: bold; } +h1 span { padding: 10px 12px; } +section .label { position: absolute; left: -6px; top: 78px; font-size: 17px; } +section p { margin-bottom: 20px; } +section p, +section li { font-size: 15px; line-height: 24px; } +section > ul, +section > ol { margin-bottom: 20px; } +section img { border: 1px solid #ddd; -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.1); box-shadow: 0 0 10px rgba(0,0,0,0.1); } +section dt, +section dd { font-size: 15px; line-height: 24px; } +section dd { margin-left: 0; } +section h3 {} +section h5 { font-size: 15px; } +pre, code { overflow: auto; white-space: pre!important; } +hr { margin: 40px 0; } + +/* elements */ +.alert { margin-top: 20px; } +.alert ul { margin-top: 10px; } diff --git a/functions/documentation/documentation.html b/functions/documentation/documentation.html new file mode 100644 index 0000000..9d02289 --- /dev/null +++ b/functions/documentation/documentation.html @@ -0,0 +1,678 @@ + + + + ++- 01Getting started
+ - 02Installation
+
+ - 03Theme Options
+
+ - 04Post Formats
+ - 05Customization
+
+ - 06More
+
+ - 07FAQ
+
++- Adapt old content
+ - Demo content
+ - Theme updates
+
++- Shortcodes
+
++- Child Theme
+ - File Structure
+ - CSS
+ - Thumbnail Size
+
++- Troubleshooting
+
+Anew
+Thank you for using this theme, you have good taste! ;-)
+AlxMedia · Themes
+ +01Getting started
+Looks like you've found the documentation for the theme, we're off to a good start! On the right side you can see the table of contents of this documentation.
+Jump to the section you want, or read it all through - your choice.
+Let's move on!
+02Installation
+ +Installing your theme is pretty easy! After downloading you should have a anew.zip file. This is a compressed file containing all of the required templates and images required for the theme to function properly.
+ +Upload the theme
++- Go to Appearance > Themes in the WordPress menu
+ - Click on the Add New button
+ - Click on the Upload link
+ - Select the
+ - Click Install Now
+
+ +anew.zipfileActivate the theme
++- Go to Appearance > Themes in the WordPress menu
+ - Hover over the theme thumbnail and press the Activate button
+
+02.1Adapting existing content
+ +If you are changing theme from another one and have plenty of existing content, menus and widgets on the website already, you need to do the following after having activated the new theme:
++- Go to Appearance > Menus and add the menu areas back to where you want them. The menus will be hidden until you add links to them. This way you can choose how many menu areas to show on the website.
+ - Go to Appearance > Widgets and add the widgets back to your sidebars, or use some of the new custom widgets.
+ - Install the Regenerate Thumbnails plugin and activate it. Then go to Tools > Regenerate Thumbnails and run it once. This will crop existing thumbnails to the new sizes used in this theme.
+ - If you have not used the Featured Image feature in your other theme, you can use the Easy Add Thumbnail plugin to automatically set featured images for old articles.
+
+ +02.2Importing demo content
+Note: For server bandwidth reasons, I can not supply the demo site data for this theme, although I want to. However you can download the WordPress sample theme test data XML from here.
+This step is optional and for new WordPress sites without any content. If you don't want to import any extra pages and sample data to your site, you can skip to the next section. If you want a base similar to the demo site to work on and edit, then this is for you.
+Important: If your site is not a fresh install with no content, but has existing content and pages on it already, it is important to remember that this file will add a lot of pages, posts, categories and tags (and media if you choose to import that) to your site, that you will have to edit or remove after importing.
+Importing
++- Go to Tools > Import in the WordPress menu
+ - Click on the WordPress link
+ - Install the plugin it asks for and activate, if you haven't already installed it.
+ - Now you should see a select file button on the Tools > Import > WordPress page.
+ - Upload the .XML data file. Choose if you want to import media or not (images).
+ - Wait for the import process to finish. When it's finished it will say so.
+ - Go to Appearance > Menus and add the menu areas to for example header.
+ - Go to Appearance > Widgets and add some widgets to your sidebars.
+
+Your page should now look similar to the demo page. Refer to the Frontpage guide if you want to use a static page / non-blog home page.
+ +02.3Theme updates
+ +If this is your first-time install, you can skip this step.
+It is a good idea to keep your theme up to date with the latest version, as it often includes important bugfixes or new neat features. If a new version of the theme is available, do the following to update it:
++- Download the latest version.
+ - Locate the
+ - Go to Appearance > Themes in the WordPress menu
+ - Activate a default theme temporarily, such as Twenty Twelve (to be able to delete your current theme)
+ - Click on the theme you wish to update, and press the red delete link bottom right. Your admin panel options should remain saved.
+ - Upload the new
+
+anew.zipfile to upload.anew.zip, as you did on first-time install, and activate it.You are now running the latest and best version of the theme!
+Important: If you haven't used a child theme for your theme customizations, you must do the following before each update:
++- Backup your custom.css file if you have used it, it will be overwritten and needs to be re-added after the update.
+ - Backup your additional language files if you have created/modified any, they will be removed and need to be re-added after the update.
+ - Backup any other custom code.
+
+03Theme options
+ +Each option in the admin panel is pretty well described there and easy to use already, so we will just go through the sections in short so you can get an idea of the overall structure - and point out the important things.
+ +General
+This is where you will find general options for the whole theme. This typically includes favicon upload, custom RSS feed option, analytics tracking code field and so on.
++- Responsive Layout: If you choose to disable responsive.css, you may need to do further changes in style.css for the site to work completely as un-responsive, as there are some mediaqueries in this file as well - mainly for the menus.
+ - Tracking Code: Make sure to add your full tracking code in the field, including the
+
+< script >tags.Blog
+Here you will find all options that relates to posts - mainly the blog homepage, the single post pages as well as archive pages.
++- Single - Share Buttons: Disable the in-built article sharing buttons if you wish to use a plugin instead.
+
+
+
+ - Single - Author Bio: Note that this block will only appear if a description is set for the user writing the article.
+
+ +Note: If your Google+ button is not appearing, you need to make sure that your server has urlCurl enabled. Ask your webhost to enable cURL, and make sure that safe_mode is not on. Otherwise it will not work.
+If you wish to add more sharing icons, please refer to Sharrre documentation. The file to modify via a child theme would be /inc/sharrre.php.
+Header
++- Custom Logo: The max-height of the logo can be adjusted from styling options. The the uploaded image should always have the double height of the max-height in order to be high resolution - often preferably in PNG format with transparent background.
+ - Header Image: This options is for a full centered header image instead of logo.
+
+ +Footer
++- Footer Widget Columns: This is where you enable footer widgets. Select the column count you wish to use, and then go to Appearance > Widgets and add your widgets to the Footer 1/2/3/4 boxes. Usually 3 columns are recommended in order for it to look best on all screen resolutions.
+
+ +Layout
+Here you can set a specific layout for each one of the standard WordPress page sections. If a specific page or post has another layout set, the single and page options set here will be overridden by that option. If you just want one sidebar layout for the entire website, you only need to modify the Global option.
+To set a layout for a specific page or post, you need to go to that page or post and select which layout to use below the large text field.
+ +Sidebars
+This is where you can create unlimited sidebar widget areas for your theme! The sidebar title is seen at the top of the widget box in Appearance > Widgets. The sidebar ID is used in template files.
+To add a sidebar you have created for a specific page or post, you need to go to that page or post, and select sidebar from the dropdown menu below the large text field.
+Important: Make sure that each sidebar area that you create has a unique ID, for example "sidebar-24" or "sidebar-about". Only use lowercase letters and no spaces for the IDs.
You must save options in order to be able to see the new widget area in the dropdowns below.
+Social Links
+Here you create and re-order your Social Links as you wish. These links will appear in the header and footer of your theme in most cases.
+The icons can be given a specific color if you wish, or you can just leave that option blank and it will use the default setting.
+The icon names can be found here - FontAwesome gives you the option to choose between 370 unique icons to use. Example of names to fill in the admin panel would be "fa-facebook", "fa-twitter" and "fa-google-plus".
+ +Styling
+The dynamic styles in this theme gives you the ability to change color of large parts of theme in seconds.
+Important: Make sure to tick the checkbox "Enable to use" at the top of the styling options in order to turn this feature on. You may also need to empty all caches if you use a cache plugin. And finally you may also need to force-refresh the page while viewing it by pressing F5.
+Advanced: The dynamic styles will be added directly to the head of your theme. This is according to WordPress best practices, but if you do not want it printed out there, simply inspect the code of your page with the styling options set. Copy the CSS from head into your child theme's style.css file or this theme's custom.css (which you need to enable), and disable dynamic styling.
+ +03.1Shortcodes
+ +This theme comes bundled with a few simple shortcodes mainly for content structure. If you want to add additional shortcodes, there are many plugins out there to install.
+Here is how to use them:
++- Divider Line
+
+
+ - Highlight Text
+
+
+ - Dropcap (large first letter)
+
+
+
+
+ - Pullquote Left
+
+
+ - Pullquote Right
+
+
+ - Responsive Columns
+
+
+
+Note: If you add the dropcap in the beginning of the article, it will disappear from the excerpt. To fix this, when editing the post, click Screen Options top right. Then enable Excerpt and you can write your own custom excerpt in the content box below the main text field.
+04Post Formats
+This theme makes use of all of WordPress' 10 post formats to give you plenty of ways to show content in the top section of your articles. You choose type by selecting format in the "Format" box on the right side when you edit or add a new post. Depending on which format you select, new options will appear below the large text field.
+Here is how to use each one of the formats, and what each one does:
++- Standard - This is the default option. It will not automatically include a featured image at the top of the post, like the image format does. It's simply a standard post that shows article text.
+ - Audio - Shows an audio player at the top of your post, as well as the featured image. Two audio URL fields will appear once selected. Both audio formats are required for cross-browser compatibility.
+ - Aside - Hides the entry title of the article
+ - Chat - Shows a chat conversation box at the top of the article. A textarea field to paste the chat conversation in will appear once selected.
+ - Gallery - Shows all images attached to the post as a slider at the top of the article. More details how to use will appear below once selected.
+
+
+
+ - Image - Same as Standard format except that it auto-includes the featured image at the top of the article.
+ - Link - Shows a big link at the top of the article. Link title and link URL fields will appear once selected.
+ - Quote - Shows a big quote box at the top of the article. Fields for the quote text and quote author will appear once selected.
+ - Status - Hides the entry title and transforms the entry text into a large status-type style.
+ - Video - Shows an embed video at the top of the article. Fields for link embed or code embed will appear once selected.
+
+Note: If you want to show an image in the article below the slider, but still not include it in the slider, you need to go to Media > Add New and upload it there. Then go back to the post and insert it. Make sure it's not attached to the post.
+You can show self-hosted videos in this field, although it's not intentionally supported, by using HTML5-video tags in the Embed Code field.
+ HTML5 video sample code: + + + +
05Theme Customization
+This section is very important to read if you plan to edit any files within the theme - whether it is adding custom functions, custom styles, new language files or modifying other function-related files. Spending some extra minutes to read this and do it right from the very beginning can save a lot of time and headaches later on.
+Most of the information below can be found and read more about elsewhere on the web a well if you wish to go more in-depth, as it's common practices. I've summarized the core parts of it, which you are likely to use the most.
+Let us begin!
+05.1Using a Child Theme
+If you intend to edit the code of the theme, translate it or place any custom files in the theme folder it is highly recommended to use a child theme. Otherwise all of your modifications will disappear once you update the theme - unless you backup and re-add the files afterwards.
+I would only recommend using the
+custom.cssoption instead if you are doing minor CSS modifications that can be easily backed up.+- Download the sample child theme - specifically made for this theme to get you started! Upload the .zip via admin just as with any other theme, rename the folder to anything you wish.
+ - Learn more how to use child themes here.
+
+This theme has been built with child themes in mind, and therefore all theme functions are pluggable - which means you can overwrite them by copying a function from the parent theme and pasting it into the child theme's functions.php, modify it as you wish - and it will use your modified function instead the original one.
+Load certain functionality from the child theme instead
+This only applies for files loaded from the parent theme's functions.php. Let's say we wish to load the responsive.css file from our child theme's directory instead. We then need to copy the alx_styles() function to functions.php of the child theme (not including add_action, add_filter or !function_exists - just the function).
+Now we have this function in our child theme - but it makes absolutely no difference, and still loads all files from the parent theme.
+ + + +To load from the child theme instead, change get_template_directory_uri to get_stylesheet_directory_uri for the responsive.css file. The rest of the files will still load from the parent theme, as they use get_template_directory_uri. Like this:
+ + + +The same method would be used to change language files folder. You would then copy over the whole alx_load() function, but only modify this one line in it:
+ + +To this:
+ + +Now the language files will be loaded from the /language/ folder of your child theme instead. Simple, isn't it? This way your changes will always stay safe in your child theme folder, no matter how many updates you do to the parent theme. To summarize:
++- get_template_directory - file loads from parent theme
+ - get_template_directory_uri - file loads from parent theme
+ - get_stylesheet_directory - file loads from child theme
+ - get_stylesheet_directory_uri - file loads from child theme
+
+Important: Always copy over the entire function to your child theme, and only modify the part that you wish to change - leave the rest of the function as it is.
If you were to only include the lines you are changing in the function, and leave the rest of the functionality out, those parts would disappear and stop working.
+Disabling functions
+You can also completely disable functionality with the child theme replacement method. Let's say you don't want the plugin installation notice in your admin panel, or the "Install Plugins" item in your menu. All you would need to add is this to your child theme's functions.php:
+ +Simply emptying the function, disabling it completely.
+ +Replacing page templates
+Finally, we wish to modify the page.php template with some custom code. All we need to do then is just copy over page.php from the parent theme to the child theme, and now this file will be used instead - and you are free to modify it without having to fear losing it when updating the theme.
+ +Pretty nifty, isn't it?
+05.2Theme File Structure
+Here is a quick summary of how the files in this theme are structured. It will hopefully make things easier to find!
+ +Folders
++- /fonts/ - Includes any self-hosted font files and Font Awesome css (icons)
+ - /functions/ - This folder contains everything that is admin-panel related
+ - /functions/img/ - Admin panel images
+ - /functions/js/ - Admin panel javascript
+ - /functions/plugins/ - Plugins that are not available on wordpress.org but bundled with the theme for easy installation
+ - /functions/widgets/ - The custom widgets included with the theme
+ - /img/ - Theme images
+ - /img/ie/ - Images used for Internet Explorer compatibility
+ - /inc/ - Includes all template-parts (partials) that are non-standard to WordPress, but often are used in several files
+ - /js/ - Theme javascript. All custom theme scripts are in scripts.js
+ - /js/ie/ - Javascript used for Internet Explorer compatibility
+ - /languages/ - Contains a language file that you can use to translate or change texts in the theme
+ - /option-tree/ - This folder is the OptionTree framework plugin running in fully-integrated theme mode. It ties in with /functions/meta-boxes.php and /functions/theme-options.php and the ot_get_option() function used in template files. Relates to the admin panel, to create theme options. It's best to leave this folder alone.
+ - /page-templates/ - Contains all page templates for the theme, such as Child Menu
+
++
Files
++- custom.css - Used for your custom styles
+
- responsive.css - Contains almost all the CSS that creates the responsive layout
+
- changelog.txt - Information about changes made in all updates
+
- license.txt - The main theme license
+
- readme.txt - Contains all additional license information
+
+The rest of the files have a standard WordPress structure.
+ +05.3CSS Styling
+ +Theme related
+If you are not using Theme Options > Styling combined with your own custom css, you can skip this part.
+If you have issues with your CSS styling changes not showing up or working correctly, remember that this is the order in which the styles are loaded in the theme:
++- style.css
+ - responsive.css
+ - custom.css
+ - Dynamic CSS output
+
+The dynamic CSS is added at the end of head tag. This means that the dynamic styles will override your custom.css / child theme styles - unless you specify the class/id more or use the
+ +!importantCSS value.How to fix CSS override issues
++- Set your dynamic styles in theme options.
+ - Visit the website, inspect the code, copy the dynamic styles from head of the theme into your child theme's style.css. Disable dynamic styles.
+ - You now have no more overriding issues.
+
+If you think that responsive.css still overrides styles, use @import to import it at the top of style.css of the child theme and disable it in theme options so it doesn't load twice.
+If you styling changes still do not appear:
++- If you run any cache plugin, make sure to empty all caches.
+ - When viewing the webpage, press F5 to force-refresh it.
+
++
CSS basics
+This is for people who are pretty new to CSS and have never used or heard the word Firebug. It is not theme-related but deals with CSS+Firebug usage, which is essential for easy modification of any styles.
+Change styling
+You look at your page and say to yourself, "I would like to restyle that element right there on the my page". But how do you know what the CSS class or id you need to specify in your custom.css? Without tools this would be hard - thankfully both Firefox and Chrome makes it easier.
+Enter Firebug
+This addon that exist both for Firefox and for Chrome (as a lite version) will save you a lot of time. I use it my development all the time - it's incredibly useful.
++- Download for Firefox
+ - Download for Google Chrome
+
+Installed it? Good. Now, go to your website and right click on any element you want. For example, let's say you want to recolor the dropcap shortcode text color, that you've just inserted on your page. To find out what class or ID this element uses, right click on it and select "Inspect Element with Firebug". This will open up a window at the bottom. To the left side you should see the HTML. On the right, the CSS.
+Try hovering over the HTML-section for the button. You will see that the button will be highlighted so that you can easily see what element you are viewing. The HTML would look something like this:
+<span class="dropcap">L</span>The CSS should appear on the right side in the Firebug window (If it doesn't, click on the
+ +<span>part of the code, and it will appear). You should see something like this:.dropcap +{ +color: #444444; +display: block; +float: left; +- etc - +} ++ +And there we go! You've found the CSS class you are looking for, and all the CSS styling that is currently used for this element.
+There are many good Firebug introduction videos out there on YouTube. Here is one short and simple one I found useful: View Video
+As shown here, Firebug also allows you to preview styling changes directly in your browser window. It's great when you want to see how something looks before adding it. It can also be used to test to remove HTML or CSS values, and many other things. + +
Adding CSS to custom.css
++- Go to your WordPress dashboard and then Theme Options > General. Tick the checkbox to enable custom.css (this will load the css file in the theme).
+ - Go to Appearance > Editor. Click on custom.css on the right side in the list.
+ - The code in this file will now appear (most likely empty). Just add your css here and save, and you're done.
+
+Thanks to Firebug, we now know that our dropcap element is called
+ +.dropcap. We want to change the text color to red, so all we need to do is to add this to our custom.css file:.dropcap { color: red; }+ +Save it, and your dropcap text should now be red!
+ +This method can be used to restyle any element on your website. It is also useful to use for troubleshooting, to see what CSS styling you may have added that breaks the page and so on.
+ +Happy editing!
+05.4Change Thumbnail Size
+To modify the custom thumbnail sizes for your theme, you need to copy over the whole
+function alx_setup() {}to your child theme, using the methods explained above.Within this function you will find the thumbnail sizes under where it says:
+ + +Modify the height and width values as you want, using add_image_size codex as guideline to how it works. After that you've changed size and saved, you need to run the regenerate thumbnails plugin once before you will see any difference.
+ +Important: If you have trouble with the way thumbnails are upscaling to fit the desired width or height before being cropped, you need to disable the alx_thumbnail_upscale function. You do so by adding
+function alx_thumbnail_upscale() {}to your child theme's functions.php, disabling the function completely.06Additional Information
+Extra information that you may find useful.
+ +Font Awesome (icon) issues?
+If you have trouble with Font Awesome showing strange characters instead of icons, you are most likely using a CDN or external host in some way for the font files. Certain browsers may have issues with that, as they follow certain web standards. (Also make sure that your font files were uploaded correctly, and empty caches)
+This can be fixed with for example this sample .htaccess file from MaxCDN. If you wish to read more about this, it relates to CORS headers.
+ +Wrong Facebook and Google+ thumbnails?
+If your shared posts show wrong thumbnails on social networks, see the Facebook Thumb Fixer plugin below.
+ +Useful plugins
+Many common problems or missing features can usually be solved with plugins. Here is a list of some great ones.
++- Regenerate Thumbnails - A must-have when changing theme or thumbnail sizes
+ - WordPress Importer - Import XML file data for the website
+ - WP-PageNavi - Better pagination for your blog
+ - Contact Form 7 - A simple and flexible contact form plugin
+ - W3 Total Cache - Cache plugin to speed up your website
+ - Easy Add Thumbnail - Auto-set featured images for old as well as new posts
+ - Facebook Thumb Fixer - Make sure articles shared on Facebook and Google+ shows the right thumbnail images
+ - Responsive Lightbox - Easily add responsive lightboxes to your website and gallery images
+ - SyntaxHighlighter Evolved - Post code in your articles in a visually pleasing way
+ - WooCommerce - Sell stuff
+
+ +Recommended theme editing software
++- Firefox - The web browser of choice for me, although there are many good ones
+ - Firebug - Inspect code directly in the web browser. Lite version for Chrome here. Search on YouTube for video tutorials and you will quickly learn how to use it.
+ - PoEdit - Translate your theme. Read how to translate here.
+ - Notepad++ - A great text editor to modify theme code
+ - FileZilla - Modify or upload theme files via FTP
+
+ +Link Resources
+Learn more and ask about WordPress' standard features. WordPress is in itself an extremely well-documented open platform. It is recommended to search for answers via Google / DuckDuckGo first if you have questions – it almost always give useful information or at least point you in the right direction.
++- WordPress.com Documentation - Quick and simple guides to standard features
+ - WordPress.org Codex - Documentation and great code examples
+ - WordPress.org Forums - Support for WordPress
+ - WordPress Code Answers - Ask and find great answers to code questions
+ - Google / DuckDuckGo - Find answers from all over the web. Always good.
+
+06.1Troubleshooting 101
+Do you have a problem with your theme? This quick troubleshooting guide should be the first thing to check through - it will help you find the root cause of the issue.
+A WordPress website issue can come from mainly one of 4 areas:
++- Conflicting plugins
+ - Broken WordPress install
+ - Incorrect server setup
+ - The theme itself
+
+Lets find out where your issue is coming from!
+ +Step 1: Check your plugins
+The first thing to do is to see if you have any plugins installed. Do you? If so, go to your admin panel and disable all of them. Now, go back to your site and see if the issue remains. If the problem is gone, then re-activate your plugins one-by-one and check the site between each activation. This way you will directly find the plugin(s) that cause problems.
+ +If your issue remains even with all plugins disabled, go on to the next step.
+Step 2: Check your customizations
+Have you customized your theme in any way before you noticed the issue? If so, go to the theme demo website of the theme and see if you find the same issue there. If you can not see the issue there, you need to take a look at your customized code and find what may be wrong.
+ +Step 3: Is the issue admin panel related?
+If you have problems with media uploads, errors in the WordPress dashboard or other access issues, the likely cause is either an incorrectly setup server or a broken WordPress install.
+To see if your problem is related to a broken WordPress install or an incorrect server setup, simply activate a WordPress default theme such as Twenty Twelve. Does the issue remain? Then your issue is not theme related. If the issue goes away with a default theme active, then it's most likely theme related.
+ ++- Do you think your issue is WordPress related? Re-installing WordPress may be a good idea, or asking for help on the wordpress.org forums.
+ - Do you think your issue is server related? Try some Google-searching for the issue, or contact your server provider about it.
+ - Do you think the issue is coming from the theme? Make sure to read this documentation through. If the issue remains and you are certain it's coming from the theme, feel free to report the bug on the wordpress.org support forums for anew.
+
+Note: Remember cache!
+If you apply/repair code to fix issues but see no changes on your website when you save it, check if your website has any cache plugin activated. If so, make sure to empty all caches. Also force-refresh the page when viewing it by pressing F5.
+ +07FAQ
+Q: Why are social sharing buttons missing Google Plus? — A: You need to enable urlCurl with safe_mode off on your server for G+ to work. Ask your webhost to do so. If you are unable to, you can disable the buttons and use any other plugin instead.
+Q: My old thumbnails have different sizes, why? — A: Thumbnails uploaded before changing theme will not be automatically re-cropped. To fix this, you need to run the Regenerate Thumbnails plugin once.
+Q: I did not use featured images before and have many posts, what do I do? — A: Use the Easy Add Thumbnail plugin to automatically make the first image uploaded to each post a featured image.
+Q: Why is my featured image not appearing on the single post page? — A: You need to use the "Image" format option for it to show up, as not everyone wants to show the featured image at the top for the "Standard" post format.
+Q: My gallery format post shows images twice, why? — A: This is because you insert a standard gallery into the post itself. This is not needed, as the gallery format post will auto-display attached images in the slider above.
+Q: My slider gallery includes images I only want to show in the content below — A: The gallery format will always show all attached images. For it to not show up, go to Media > Add New and upload it there. Then go back to the post and add it.
+ +Thank you for reading!
+ +Anew
-Thanks for using this theme! First, a friendly warning: Please remember that the "Reset Options" button resets ALL options. That means, if you reset your styling options, all your custom sidebars and other settings will be reset as well.
-Frequently Asked Questions
-Q: Why are social sharing buttons missing Google Plus? — A: You need to enable urlCurl on your server for G+ to work. Ask your webhost to do so. If you are unable to, you can disable the buttons and use any other plugin instead.
-Q: My old thumbnails have different sizes, why? — A: Thumbnails uploaded before changing theme will not be automatically re-cropped. To fix this, you need to run the Regenerate Thumbnails plugin once.
-Q: I did not use featured images before and have many posts, what do I do? — A: Use the Easy Add Thumbnail plugin to automatically make the first image uploaded to each post a featured image.
-Q: Why is my featured image not appearing on the single post page? — A: You need to use the "Image" format option for it to show up, as not everyone wants to show the featured image at the top for the "Standard" post format.
-Q: My gallery format post shows images twice, why? — A: This is because you insert a standard gallery into the post itself. This is not needed, as the gallery format post will auto-display attached images in the slider above.
-Q: My slider gallery includes images I only want to show in the content below — A: The gallery format will always show all attached images. For it to not show up, go to Media > Add New and upload it there. Then go back to the post and add it.
-Dynamic Styles
-The dynamic styles will be added directly to the head of your theme. This is according to WordPress best practices, but if you do not want it printed out there, simply inspect the code of your page with the styling options set. Copy the CSS from head into your child theme\'s style.css file or this theme\'s custom.css (which you need to enable), and disable dynamic styling.
-Theme Customization
-When modifiying the theme you should always use a child theme, otherwise your customized files will be removed/overwritten when you update the theme. Download the sample child theme below and upload it via admin. Then activate your child theme and start customizing it!
+Thanks for using this theme! Enjoy.
-- Read more how to use a child theme here.
- - Download the Anew sample child theme here.
+ - Read the theme documentation here
+ - Download the sample child theme here
+ - Download or contribute translations here
+ - Anew is on GitHub
-If you are not using a child theme, you must do this before each theme update:
--- Backup your custom.css file if you have used it, it will be overwritten and needs to be re-added after the update.
- - Backup your additional language files if you have created/modified any, they will be removed and need to be re-added after the update.
- - Backup any other custom code.
-
++
You can support the theme author by donating here – any amount is always appreciated.
' ) ) @@ -96,43 +83,28 @@ function custom_theme_options() { array( 'id' => 'custom', 'label' => 'Custom Stylesheet', - 'desc' => 'Load your custom styles [ custom.css ]Note: You must backup this file before a theme update. Consider using a child theme instead. A sample child theme is available in the help dropdown.', - 'type' => 'checkbox', - 'section' => 'general', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Enable' - ) - ) + 'desc' => 'Load custom stylesheet [ custom.css ]
Note: You must backup this file before a theme update. Consider using a child theme instead. A sample child theme is available in the help dropdown.', + 'std' => 'off', + 'type' => 'on-off', + 'section' => 'general' ), // General: Responsive Layout array( 'id' => 'responsive', 'label' => 'Responsive Layout', - 'desc' => 'Disable mobile and tablet optimizations [ responsive.css ]', - 'type' => 'checkbox', - 'section' => 'general', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Disable' - ) - ) + 'desc' => 'Mobile and tablet optimizations [ responsive.css ]', + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'general' ), // General: Mobile Sidebar array( 'id' => 'mobile-sidebar-hide', 'label' => 'Mobile Sidebar Content', - 'desc' => 'Hide sidebar content on low-resolution mobile devices (320px)', - 'type' => 'checkbox', - 'section' => 'general', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Hide' - ) - ) + 'desc' => 'Sidebar content on low-resolution mobile devices (320px)', + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'general' ), // General: Favicon array( @@ -162,22 +134,25 @@ function custom_theme_options() { // General: Comments array( 'id' => 'page-comments', - 'label' => 'Comments', - 'desc' => '', - 'type' => 'checkbox', - 'section' => 'general', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Enable comments on pages', - 'std' => '1' - ) - ) + 'label' => 'Page Comments', + 'desc' => 'Comments on pages', + 'std' => 'off', + 'type' => 'on-off', + 'section' => 'general' + ), + // General: Recommended Plugins + array( + 'id' => 'recommended-plugins', + 'label' => 'Recommended Plugins', + 'desc' => 'Enable or disable the recommended plugins notice', + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'general' ), // Blog: Single - Content or Excerpt array( 'id' => 'post-text', - 'label' => 'Content or Excerpt', + 'label' => 'Entry Text', 'desc' => 'More link appears at the bottom of both excerpt and content', 'std' => 'excerpt', 'type' => 'radio', @@ -206,16 +181,11 @@ function custom_theme_options() { // Blog: Single - Sharrre array( 'id' => 'sharrre', - 'label' => 'Single — Share Buttons', + 'label' => 'Single — Share Bar', 'desc' => 'Social sharing buttons for each article', - 'type' => 'checkbox', - 'section' => 'blog', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Disable' - ) - ) + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'blog' ), // Blog: Twitter Username array( @@ -230,33 +200,18 @@ function custom_theme_options() { 'id' => 'author-bio', 'label' => 'Single — Author Bio', 'desc' => 'Shows post author description, if it exists', - 'type' => 'checkbox', - 'section' => 'blog', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Disable' - ) - ) + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'blog' ), // Blog: Single - Post Navigation array( 'id' => 'post-nav', 'label' => 'Single — Post Navigation', 'desc' => 'Shows links to the next and previous article', - 'std' => 'content', - 'type' => 'radio', - 'section' => 'blog', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Disable' - ), - array( - 'value' => 'content', - 'label' => 'Below content' - ) - ) + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'blog' ), // Header: Custom Logo array( @@ -271,14 +226,9 @@ function custom_theme_options() { 'id' => 'site-description', 'label' => 'Site Description', 'desc' => 'The description that appears next to your logo', - 'type' => 'checkbox', - 'section' => 'header', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Disable' - ) - ) + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'header' ), // Header: Header Image array( @@ -345,16 +295,10 @@ function custom_theme_options() { array( 'id' => 'credit', 'label' => 'Footer Credit', - 'desc' => 'Disable footer credit text', - 'std' => '', - 'type' => 'checkbox', - 'section' => 'footer', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Disable' - ) - ) + 'desc' => 'Footer credit text', + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'footer' ), // Layout : Global array( @@ -720,29 +664,19 @@ function custom_theme_options() { array( 'id' => 'dynamic-styles', 'label' => 'Dynamic Styles', - 'desc' => 'Turn styling options on / off', - 'type' => 'checkbox', - 'section' => 'styling', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Enable to use the options below' - ) - ) + 'desc' => 'Turn on to use the styling options below', + 'std' => 'on', + 'type' => 'on-off', + 'section' => 'styling' ), - // General: Boxed Layout + // Styling: Boxed Layout array( 'id' => 'boxed', 'label' => 'Boxed Layout', 'desc' => 'Use a boxed layout', - 'type' => 'checkbox', - 'section' => 'styling', - 'choices' => array( - array( - 'value' => '1', - 'label' => 'Enable' - ) - ) + 'std' => 'off', + 'type' => 'on-off', + 'section' => 'styling' ), // Styling: Font array( @@ -773,6 +707,10 @@ function custom_theme_options() { 'value' => 'ubuntu', 'label' => 'Ubuntu, Latin-Ext (Google Fonts)' ), + array( + 'value' => 'ubuntu-cyr', + 'label' => 'Ubuntu, Latin / Cyrillic-Ext (Google Fonts)' + ), array( 'value' => 'roboto-condensed', 'label' => 'Roboto Condensed, Latin-Ext (Google Fonts)' @@ -789,6 +727,14 @@ function custom_theme_options() { 'value' => 'open-sans-cyr', 'label' => 'Open Sans, Latin / Cyrillic-Ext (Google Fonts)' ), + array( + 'value' => 'pt-serif', + 'label' => 'PT Serif, Latin-Ext (Google Fonts)' + ), + array( + 'value' => 'pt-serif-cyr', + 'label' => 'PT Serif, Latin / Cyrillic-Ext (Google Fonts)' + ), array( 'value' => 'arial', 'label' => 'Arial' @@ -813,7 +759,6 @@ function custom_theme_options() { array( 'id' => 'color-accent', 'label' => 'Primary Accent Color', - 'desc' => 'Default: #e8554e', 'std' => '#e8554e', 'type' => 'colorpicker', 'section' => 'styling' @@ -822,7 +767,6 @@ function custom_theme_options() { array( 'id' => 'color-topbar', 'label' => 'Topbar Background', - 'desc' => 'Default: #222222', 'std' => '#222222', 'type' => 'colorpicker', 'section' => 'styling' @@ -831,7 +775,6 @@ function custom_theme_options() { array( 'id' => 'color-header', 'label' => 'Header Background', - 'desc' => 'Default: #f2f2f2', 'std' => '#f2f2f2', 'type' => 'colorpicker', 'section' => 'styling' @@ -855,7 +798,6 @@ function custom_theme_options() { array( 'id' => 'color-footer', 'label' => 'Footer Background', - 'desc' => 'Default: #222222', 'std' => '#222222', 'type' => 'colorpicker', 'section' => 'styling' @@ -864,7 +806,7 @@ function custom_theme_options() { array( 'id' => 'color-footer-toplink', 'label' => 'Footer Toplink Color', - 'desc' => 'Suggestion - use the same color as your primary accent color
Default: #333333', + 'desc' => 'Suggestion - use the same color as your primary accent color', 'std' => '#333333', 'type' => 'colorpicker', 'section' => 'styling' @@ -883,7 +825,6 @@ function custom_theme_options() { array( 'id' => 'color-audio', 'label' => 'Format: Audio', - 'desc' => 'Default: #69bac8', 'std' => '#69bac8', 'type' => 'colorpicker', 'section' => 'styling' @@ -891,7 +832,6 @@ function custom_theme_options() { array( 'id' => 'color-chat', 'label' => 'Format: Chat', - 'desc' => 'Default: #69bac8', 'std' => '#69bac8', 'type' => 'colorpicker', 'section' => 'styling' @@ -899,7 +839,6 @@ function custom_theme_options() { array( 'id' => 'color-gallery', 'label' => 'Format: Gallery', - 'desc' => 'Default: #7eb66f', 'std' => '#7eb66f', 'type' => 'colorpicker', 'section' => 'styling' @@ -907,7 +846,6 @@ function custom_theme_options() { array( 'id' => 'color-image', 'label' => 'Format: Image', - 'desc' => 'Default: #7eb66f', 'std' => '#7eb66f', 'type' => 'colorpicker', 'section' => 'styling' @@ -915,7 +853,6 @@ function custom_theme_options() { array( 'id' => 'color-link', 'label' => 'Format: Link', - 'desc' => 'Default: #e8554e', 'std' => '#e8554e', 'type' => 'colorpicker', 'section' => 'styling' @@ -923,7 +860,6 @@ function custom_theme_options() { array( 'id' => 'color-quote', 'label' => 'Format: Quote', - 'desc' => 'Default: #e7ba3a', 'std' => '#e7ba3a', 'type' => 'colorpicker', 'section' => 'styling' @@ -931,7 +867,6 @@ function custom_theme_options() { array( 'id' => 'color-status', 'label' => 'Format: Status', - 'desc' => 'Default: #ffa500', 'std' => '#ffa500', 'type' => 'colorpicker', 'section' => 'styling' @@ -939,7 +874,6 @@ function custom_theme_options() { array( 'id' => 'color-video', 'label' => 'Format: Video', - 'desc' => 'Default: #e8554e', 'std' => '#e8554e', 'type' => 'colorpicker', 'section' => 'styling' diff --git a/functions/widgets/alx-posts.php b/functions/widgets/alx-posts.php index 53cdd2b..03a3af1 100644 --- a/functions/widgets/alx-posts.php +++ b/functions/widgets/alx-posts.php @@ -75,6 +75,7 @@ public function widget($args, $instance) { + + @@ -159,6 +160,7 @@ public function widget($args, $instance) { + diff --git a/header.php b/header.php index 5076156..5bb2a4f 100644 --- a/header.php +++ b/header.php @@ -4,11 +4,9 @@ - -
- have_posts()) : while($search->have_posts()) : $search->the_post(); $search_count++; endwhile; endif; echo $search_count;?> - "" + found_posts; + if ($search_results==1) { + echo $search_results.' '.__('Result','anew'); + } else { + echo $search_results.' '.__('Results','anew'); + } + ?> + ""
diff --git a/js/Jplayer.swf b/js/Jplayer.swf deleted file mode 100644 index 85c0ba3..0000000 Binary files a/js/Jplayer.swf and /dev/null differ diff --git a/js/ie/selectivizr.js b/js/ie/selectivizr.js index e9ede39..d83f1ea 100644 --- a/js/ie/selectivizr.js +++ b/js/ie/selectivizr.js @@ -1,5 +1,5 @@ /* -selectivizr v1.0.3b - (c) Keith Clark, freely distributable under the terms +selectivizr v1.0.2 - (c) Keith Clark, freely distributable under the terms of the MIT license. selectivizr.com @@ -62,18 +62,17 @@ References: var selectorMethod; var enabledWatchers = []; // array of :enabled/:disabled elements to poll - var domPatches = []; var ie6PatchID = 0; // used to solve ie6's multiple class bug var patchIE6MultipleClasses = true; // if true adds class bloat to ie6 var namespace = "slvzr"; - + // Stylesheet parsing regexp's - var RE_COMMENT = /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*?/g; - var RE_IMPORT = /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))\s*([^;]*);/g; - var RE_ASSET_URL = /(behavior\s*?:\s*)?\burl\(\s*(["']?)(?!data:)([^"')]+)\2\s*\)/g; + var RE_COMMENT = /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g; + var RE_IMPORT = /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g; + var RE_ASSET_URL = /\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g; var RE_PSEUDO_STRUCTURAL = /^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/; var RE_PSEUDO_ELEMENTS = /:(:first-(?:line|letter))/g; - var RE_SELECTOR_GROUP = /((?:^|(?:\s*})+)(?:\s*@media[^{]+{)?)\s*([^\{]*?[\[:][^{]+)/g; + var RE_SELECTOR_GROUP = /(^|})\s*([^\{]*?[\[:][^{]+)/g; var RE_SELECTOR_PARSE = /([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g; var RE_LIBRARY_INCOMPATIBLE_PSEUDOS = /(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g; var RE_PATCH_CLASS_NAME_REPLACE = /[^\w-]/g; @@ -112,7 +111,7 @@ References: function(match, combinator, pseudo, attribute, index) { if (combinator) { if (patches.length>0) { - domPatches.push( { selector: selector.substring(0, index), patches: patches } ) + applyPatches( selector.substring(0, index), patches ); patches = []; } return combinator; @@ -254,48 +253,45 @@ References: }; // --[ applyPatches() ]------------------------------------------------- - function applyPatches() { - var elms, selectorText, patches, domSelectorText; - - for (var c=0; c');if(r.pagingCount>1)for(var f=0;f ':""+n+"";if("thumbnails"===r.vars.controlNav&&!0===r.vars.thumbCaptions){var l=o.attr("data-thumbcaption");""!=l&&undefined!=l&&(s+=''+l+"")}r.controlNavScaffold.append(""+s+" ");n++}r.controlsContainer?e(r.controlsContainer).append(r.controlNavScaffold):r.append(r.controlNavScaffold);v.controlNav.set();v.controlNav.active();r.controlNavScaffold.delegate("a, img",u,function(t){t.preventDefault();if(a===""||a===t.type){var n=e(this),s=r.controlNav.index(n);if(!n.hasClass(i+"active")){r.direction=s>r.currentSlide?"next":"prev";r.flexAnimate(s,r.vars.pauseOnAction)}}a===""&&(a=t.type);v.setToClearWatchedEvent()})},setupManual:function(){r.controlNav=r.manualControls;v.controlNav.active();r.controlNav.bind(u,function(t){t.preventDefault();if(a===""||a===t.type){var n=e(this),s=r.controlNav.index(n);if(!n.hasClass(i+"active")){s>r.currentSlide?r.direction="next":r.direction="prev";r.flexAnimate(s,r.vars.pauseOnAction)}}a===""&&(a=t.type);v.setToClearWatchedEvent()})},set:function(){var t=r.vars.controlNav==="thumbnails"?"img":"a";r.controlNav=e("."+i+"control-nav li "+t,r.controlsContainer?r.controlsContainer:r)},active:function(){r.controlNav.removeClass(i+"active").eq(r.animatingTo).addClass(i+"active")},update:function(t,n){r.pagingCount>1&&t==="add"?r.controlNavScaffold.append(e(""+r.count+" ")):r.pagingCount===1?r.controlNavScaffold.find("li").remove():r.controlNav.eq(n).closest("li").remove();v.controlNav.set();r.pagingCount>1&&r.pagingCount!==r.controlNav.length?r.update(n,t):v.controlNav.active()}},directionNav:{setup:function(){var t=e(' ');if(r.controlsContainer){r.controlsContainer.append(t);r.pausePlay=e("."+i+"pauseplay a",r.controlsContainer)}else{r.append(t);r.pausePlay=e("."+i+"pauseplay a",r)}v.pausePlay.update(r.vars.slideshow?i+"pause":i+"play");r.pausePlay.bind(u,function(t){t.preventDefault();if(a===""||a===t.type)if(e(this).hasClass(i+"pause")){r.manualPause=!0;r.manualPlay=!1;r.pause()}else{r.manualPause=!1;r.manualPlay=!0;r.play()}a===""&&(a=t.type);v.setToClearWatchedEvent()})},update:function(e){e==="play"?r.pausePlay.removeClass(i+"pause").addClass(i+"play").html(r.vars.playText):r.pausePlay.removeClass(i+"play").addClass(i+"pause").html(r.vars.pauseText)}},touch:function(){var e,n,i,o,u,a,f=!1,d=0,v=0,m=0;if(!s){t.addEventListener("touchstart",g,!1);function g(s){if(r.animating)s.preventDefault();else if(window.navigator.msPointerEnabled||s.touches.length===1){r.pause();o=l?r.h:r.w;a=Number(new Date);d=s.touches[0].pageX;v=s.touches[0].pageY;i=h&&c&&r.animatingTo===r.last?0:h&&c?r.limit-(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo:h&&r.currentSlide===r.last?r.limit:h?(r.itemW+r.vars.itemMargin)*r.move*r.currentSlide:c?(r.last-r.currentSlide+r.cloneOffset)*o:(r.currentSlide+r.cloneOffset)*o;e=l?v:d;n=l?d:v;t.addEventListener("touchmove",y,!1);t.addEventListener("touchend",b,!1)}}function y(t){d=t.touches[0].pageX;v=t.touches[0].pageY;u=l?e-v:e-d;f=l?Math.abs(u)s){t.preventDefault();if(!p&&r.transitions){r.vars.animationLoop||(u/=r.currentSlide===0&&u<0||r.currentSlide===r.last&&u>0?Math.abs(u)/o+2:1);r.setProps(i+u,"setTouch")}}}function b(s){t.removeEventListener("touchmove",y,!1);if(r.animatingTo===r.currentSlide&&!f&&u!==null){var l=c?-u:u,h=l>0?r.getTarget("next"):r.getTarget("prev");r.canAdvance(h)&&(Number(new Date)-a<550&&Math.abs(l)>50||Math.abs(l)>o/2)?r.flexAnimate(h,r.vars.pauseOnAction):p||r.flexAnimate(r.currentSlide,r.vars.pauseOnAction,!0)}t.removeEventListener("touchend",b,!1);e=null;n=null;u=null;i=null}}else{t.style.msTouchAction="none";t._gesture=new MSGesture;t._gesture.target=t;t.addEventListener("MSPointerDown",w,!1);t._slider=r;t.addEventListener("MSGestureChange",E,!1);t.addEventListener("MSGestureEnd",S,!1);function w(e){e.stopPropagation();if(r.animating)e.preventDefault();else{r.pause();t._gesture.addPointer(e.pointerId);m=0;o=l?r.h:r.w;a=Number(new Date);i=h&&c&&r.animatingTo===r.last?0:h&&c?r.limit-(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo:h&&r.currentSlide===r.last?r.limit:h?(r.itemW+r.vars.itemMargin)*r.move*r.currentSlide:c?(r.last-r.currentSlide+r.cloneOffset)*o:(r.currentSlide+r.cloneOffset)*o}}function E(e){e.stopPropagation();var n=e.target._slider;if(!n)return;var r=-e.translationX,s=-e.translationY;m+=l?s:r;u=m;f=l?Math.abs(m)500){e.preventDefault();if(!p&&n.transitions){n.vars.animationLoop||(u=m/(n.currentSlide===0&&m<0||n.currentSlide===n.last&&m>0?Math.abs(m)/o+2:1));n.setProps(i+u,"setTouch")}}}function S(t){t.stopPropagation();var r=t.target._slider;if(!r)return;if(r.animatingTo===r.currentSlide&&!f&&u!==null){var s=c?-u:u,l=s>0?r.getTarget("next"):r.getTarget("prev");r.canAdvance(l)&&(Number(new Date)-a<550&&Math.abs(s)>50||Math.abs(s)>o/2)?r.flexAnimate(l,r.vars.pauseOnAction):p||r.flexAnimate(r.currentSlide,r.vars.pauseOnAction,!0)}e=null;n=null;u=null;i=null;m=0}}},resize:function(){if(!r.animating&&r.is(":visible")){h||r.doMath();if(p)v.smoothHeight();else if(h){r.slides.width(r.computedW);r.update(r.pagingCount);r.setProps()}else if(l){r.viewport.height(r.h);r.setProps(r.h,"setTotal")}else{r.vars.smoothHeight&&v.smoothHeight();r.newSlides.width(r.computedW);r.setProps(r.computedW,"setTotal")}}},smoothHeight:function(e){if(!l||p){var t=p?r:r.viewport;e?t.animate({height:r.slides.eq(r.animatingTo).height()},e):t.height(r.slides.eq(r.animatingTo).height())}},sync:function(t){var n=e(r.vars.sync).data("flexslider"),i=r.animatingTo;switch(t){case"animate":n.flexAnimate(i,r.vars.pauseOnAction,!1,!0);break;case"play":!n.playing&&!n.asNav&&n.play();break;case"pause":n.pause()}},pauseInvisible:{visProp:null,init:function(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;t0?setTimeout(r.play,r.vars.initDelay):r.play()})}},isHidden:function(){return document[v.pauseInvisible.visProp]||!1}},setToClearWatchedEvent:function(){clearTimeout(f);f=setTimeout(function(){a=""},3e3)}};r.flexAnimate=function(t,n,s,u,a){!r.vars.animationLoop&&t!==r.currentSlide&&(r.direction=t>r.currentSlide?"next":"prev");d&&r.pagingCount===1&&(r.direction=r.currentItemr.limit&&r.visible!==1?r.limit:b}else r.currentSlide===0&&t===r.count-1&&r.vars.animationLoop&&r.direction!=="next"?y=c?(r.count+r.cloneOffset)*m:0:r.currentSlide===r.last&&t===0&&r.vars.animationLoop&&r.direction!=="prev"?y=c?0:(r.count+1)*m:y=c?(r.count-1-t+r.cloneOffset)*m:(t+r.cloneOffset)*m;r.setProps(y,"",r.vars.animationSpeed);if(r.transitions){if(!r.vars.animationLoop||!r.atEnd){r.animating=!1;r.currentSlide=r.animatingTo}r.container.unbind("webkitTransitionEnd transitionend");r.container.bind("webkitTransitionEnd transitionend",function(){r.wrapup(m)})}else r.container.animate(r.args,r.vars.animationSpeed,r.vars.easing,function(){r.wrapup(m)})}else if(!o){r.slides.eq(r.currentSlide).css({zIndex:1}).animate({opacity:0},r.vars.animationSpeed,r.vars.easing);r.slides.eq(t).css({zIndex:2}).animate({opacity:1},r.vars.animationSpeed,r.vars.easing,r.wrapup)}else{r.slides.eq(r.currentSlide).css({opacity:0,zIndex:1});r.slides.eq(t).css({opacity:1,zIndex:2});r.wrapup(m)}r.vars.smoothHeight&&v.smoothHeight(r.vars.animationSpeed)}};r.wrapup=function(e){!p&&!h&&(r.currentSlide===0&&r.animatingTo===r.last&&r.vars.animationLoop?r.setProps(e,"jumpEnd"):r.currentSlide===r.last&&r.animatingTo===0&&r.vars.animationLoop&&r.setProps(e,"jumpStart"));r.animating=!1;r.currentSlide=r.animatingTo;r.vars.after(r)};r.animateSlides=function(){!r.animating&&m&&r.flexAnimate(r.getTarget("next"))};r.pause=function(){clearInterval(r.animatedSlides);r.animatedSlides=null;r.playing=!1;r.vars.pausePlay&&v.pausePlay.update("play");r.syncExists&&v.sync("pause")};r.play=function(){r.playing&&clearInterval(r.animatedSlides);r.animatedSlides=r.animatedSlides||setInterval(r.animateSlides,r.vars.slideshowSpeed);r.started=r.playing=!0;r.vars.pausePlay&&v.pausePlay.update("pause");r.syncExists&&v.sync("play")};r.stop=function(){r.pause();r.stopped=!0};r.canAdvance=function(e,t){var n=d?r.pagingCount-1:r.last;return t?!0:d&&r.currentItem===r.count-1&&e===0&&r.direction==="prev"?!0:d&&r.currentItem===0&&e===r.pagingCount-1&&r.direction!=="next"?!1:e===r.currentSlide&&!d?!1:r.vars.animationLoop?!0:r.atEnd&&r.currentSlide===0&&e===n&&r.direction!=="next"?!1:r.atEnd&&r.currentSlide===n&&e===0&&r.direction==="next"?!1:!0};r.getTarget=function(e){r.direction=e;return e==="next"?r.currentSlide===r.last?0:r.currentSlide+1:r.currentSlide===0?r.last:r.currentSlide-1};r.setProps=function(e,t,n){var i=function(){var n=e?e:(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo,i=function(){if(h)return t==="setTouch"?e:c&&r.animatingTo===r.last?0:c?r.limit-(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo:r.animatingTo===r.last?r.limit:n;switch(t){case"setTotal":return c?(r.count-1-r.currentSlide+r.cloneOffset)*e:(r.currentSlide+r.cloneOffset)*e;case"setTouch":return c?e:e;case"jumpEnd":return c?e:r.count*e;case"jumpStart":return c?r.count*e:e;default:return e}}();return i*-1+"px"}();if(r.transitions){i=l?"translate3d(0,"+i+",0)":"translate3d("+i+",0,0)";n=n!==undefined?n/1e3+"s":"0s";r.container.css("-"+r.pfx+"-transition-duration",n)}r.args[r.prop]=i;(r.transitions||n===undefined)&&r.container.css(r.args)};r.setup=function(t){if(!p){var n,s;if(t==="init"){r.viewport=e('').css({overflow:"hidden",position:"relative"}).appendTo(r).append(r.container);r.cloneCount=0;r.cloneOffset=0;if(c){s=e.makeArray(r.slides).reverse();r.slides=e(s);r.container.empty().append(r.slides)}}if(r.vars.animationLoop&&!h){r.cloneCount=2;r.cloneOffset=1;t!=="init"&&r.container.find(".clone").remove();r.container.append(r.slides.first().clone().addClass("clone").attr("aria-hidden","true")).prepend(r.slides.last().clone().addClass("clone").attr("aria-hidden","true"))}r.newSlides=e(r.vars.selector,r);n=c?r.count-1-r.currentSlide+r.cloneOffset:r.currentSlide+r.cloneOffset;if(l&&!h){r.container.height((r.count+r.cloneCount)*200+"%").css("position","absolute").width("100%");setTimeout(function(){r.newSlides.css({display:"block"});r.doMath();r.viewport.height(r.h);r.setProps(n*r.h,"init")},t==="init"?100:0)}else{r.container.width((r.count+r.cloneCount)*200+"%");r.setProps(n*r.computedW,"init");setTimeout(function(){r.doMath();r.newSlides.css({width:r.computedW,"float":"left",display:"block"});r.vars.smoothHeight&&v.smoothHeight()},t==="init"?100:0)}}else{r.slides.css({width:"100%","float":"left",marginRight:"-100%",position:"relative"});t==="init"&&(o?r.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+r.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(r.currentSlide).css({opacity:1,zIndex:2}):r.slides.css({opacity:0,display:"block",zIndex:1}).eq(r.currentSlide).css({zIndex:2}).animate({opacity:1},r.vars.animationSpeed,r.vars.easing));r.vars.smoothHeight&&v.smoothHeight()}h||r.slides.removeClass(i+"active-slide").eq(r.currentSlide).addClass(i+"active-slide")};r.doMath=function(){var e=r.slides.first(),t=r.vars.itemMargin,n=r.vars.minItems,i=r.vars.maxItems;r.w=r.viewport===undefined?r.width():r.viewport.width();r.h=e.height();r.boxPadding=e.outerWidth()-e.width();if(h){r.itemT=r.vars.itemWidth+t;r.minW=n?n*r.itemT:r.w;r.maxW=i?i*r.itemT-t:r.w;r.itemW=r.minW>r.w?(r.w-t*(n-1))/n:r.maxWr.w?r.w:r.vars.itemWidth;r.visible=Math.floor(r.w/r.itemW);r.move=r.vars.move>0&&r.vars.mover.w?r.itemW*(r.count-1)+t*(r.count-1):(r.itemW+t)*r.count-r.w-t}else{r.itemW=r.w;r.pagingCount=r.count;r.last=r.count-1}r.computedW=r.itemW-r.boxPadding};r.update=function(e,t){r.doMath();if(!h){er.controlNav.length)v.controlNav.update("add");else if(t==="remove"&&!h||r.pagingCountr.last){r.currentSlide-=1;r.animatingTo-=1}v.controlNav.update("remove",r.last)}r.vars.directionNav&&v.directionNav.update()};r.addSlide=function(t,n){var i=e(t);r.count+=1;r.last=r.count-1;l&&c?n!==undefined?r.slides.eq(r.count-n).after(i):r.container.prepend(i):n!==undefined?r.slides.eq(n).before(i):r.container.append(i);r.update(n,"add");r.slides=e(r.vars.selector+":not(.clone)",r);r.setup();r.vars.added(r)};r.removeSlide=function(t){var n=isNaN(t)?r.slides.index(e(t)):t;r.count-=1;r.last=r.count-1;isNaN(t)?e(t,r.slides).remove():l&&c?r.slides.eq(r.last).remove():r.slides.eq(t).remove();r.doMath();r.update(n,"remove");r.slides=e(r.vars.selector+":not(.clone)",r);r.setup();r.vars.removed(r)};v.init()};e(window).blur(function(e){focused=!1}).focus(function(e){focused=!0});e.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){}};e.fn.flexslider=function(t){t===undefined&&(t={});if(typeof t=="object")return this.each(function(){var n=e(this),r=t.selector?t.selector:".slides > li",i=n.find(r);if(i.length===1&&t.allowOneSlide===!0||i.length===0){i.fadeIn(400);t.start&&t.start(n)}else n.data("flexslider")===undefined&&new e.flexslider(this,t)});var n=e(this).data("flexslider");switch(t){case"play":n.play();break;case"pause":n.pause();break;case"stop":n.stop();break;case"next":n.flexAnimate(n.getTarget("next"),!0);break;case"prev":case"previous":n.flexAnimate(n.getTarget("prev"),!0);break;default:typeof t=="number"&&n.flexAnimate(t,!0)}}})(jQuery);
\ No newline at end of file
+ * Free to use under the GPLv2 license.
+ * http://www.gnu.org/licenses/gpl-2.0.html
+ *
+ * Contributing author: Tyler Smith (@mbmufffin)
+ */
+(function(d){d.flexslider=function(j,l){var a=d(j),c=d.extend({},d.flexslider.defaults,l),e=c.namespace,q="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,u=q?"touchend":"click",m="vertical"===c.direction,n=c.reverse,h=0g?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(d,c.pauseOnAction)});c.pausePlay&&f.pausePlay.setup();c.slideshow&&(c.pauseOnHover&&a.hover(function(){!a.manualPlay&&!a.manualPause&&a.pause()},
+function(){!a.manualPause&&!a.manualPlay&&a.play()}),0');if(1 ':""+b+"",a.controlNavScaffold.append(""+g+" "),b++;a.controlsContainer?d(a.controlsContainer).append(a.controlNavScaffold):a.append(a.controlNavScaffold);f.controlNav.set();f.controlNav.active();a.controlNavScaffold.delegate("a, img",u,function(b){b.preventDefault();b=d(this);var g=a.controlNav.index(b);b.hasClass(e+"active")||(a.direction=g>a.currentSlide?"next":"prev",a.flexAnimate(g,c.pauseOnAction))});q&&a.controlNavScaffold.delegate("a",
+"click touchstart",function(a){a.preventDefault()})},setupManual:function(){a.controlNav=a.manualControls;f.controlNav.active();a.controlNav.live(u,function(b){b.preventDefault();b=d(this);var g=a.controlNav.index(b);b.hasClass(e+"active")||(g>a.currentSlide?a.direction="next":a.direction="prev",a.flexAnimate(g,c.pauseOnAction))});q&&a.controlNav.live("click touchstart",function(a){a.preventDefault()})},set:function(){a.controlNav=d("."+e+"control-nav li "+("thumbnails"===c.controlNav?"img":"a"),
+a.controlsContainer?a.controlsContainer:a)},active:function(){a.controlNav.removeClass(e+"active").eq(a.animatingTo).addClass(e+"active")},update:function(b,c){1"+a.count+"")):1===a.pagingCount?a.controlNavScaffold.find("li").remove():a.controlNav.eq(c).closest("li").remove();f.controlNav.set();1'+c.prevText+' '+c.nextText+" ");a.controlsContainer?(d(a.controlsContainer).append(b),a.directionNav=d("."+e+"direction-nav li a",a.controlsContainer)):(a.append(b),a.directionNav=d("."+e+"direction-nav li a",a));f.directionNav.update();a.directionNav.bind(u,function(b){b.preventDefault();b=d(this).hasClass(e+"next")?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(b,c.pauseOnAction)});
+q&&a.directionNav.bind("click touchstart",function(a){a.preventDefault()})},update:function(){var b=e+"disabled";1===a.pagingCount?a.directionNav.addClass(b):c.animationLoop?a.directionNav.removeClass(b):0===a.animatingTo?a.directionNav.removeClass(b).filter("."+e+"prev").addClass(b):a.animatingTo===a.last?a.directionNav.removeClass(b).filter("."+e+"next").addClass(b):a.directionNav.removeClass(b)}},pausePlay:{setup:function(){var b=d(' ');a.controlsContainer?
+(a.controlsContainer.append(b),a.pausePlay=d("."+e+"pauseplay a",a.controlsContainer)):(a.append(b),a.pausePlay=d("."+e+"pauseplay a",a));f.pausePlay.update(c.slideshow?e+"pause":e+"play");a.pausePlay.bind(u,function(b){b.preventDefault();d(this).hasClass(e+"pause")?(a.manualPause=!0,a.manualPlay=!1,a.pause()):(a.manualPause=!1,a.manualPlay=!0,a.play())});q&&a.pausePlay.bind("click touchstart",function(a){a.preventDefault()})},update:function(b){"play"===b?a.pausePlay.removeClass(e+"pause").addClass(e+
+"play").text(c.playText):a.pausePlay.removeClass(e+"play").addClass(e+"pause").text(c.pauseText)}},touch:function(){function b(b){k=m?d-b.touches[0].pageY:d-b.touches[0].pageX;q=m?Math.abs(k)k||a.currentSlide===a.last&&0Number(new Date)-l&&50r/2)?a.flexAnimate(m,c.pauseOnAction):s||a.flexAnimate(a.currentSlide,c.pauseOnAction,!0)}j.removeEventListener("touchend",g,!1);f=k=e=d=null}var d,e,f,r,k,l,q=!1;j.addEventListener("touchstart",function(k){a.animating?k.preventDefault():1===k.touches.length&&(a.pause(),r=m?a.h:a.w,l=Number(new Date),f=h&&n&&a.animatingTo===
+a.last?0:h&&n?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:h&&a.currentSlide===a.last?a.limit:h?(a.itemW+c.itemMargin)*a.move*a.currentSlide:n?(a.last-a.currentSlide+a.cloneOffset)*r:(a.currentSlide+a.cloneOffset)*r,d=m?k.touches[0].pageY:k.touches[0].pageX,e=m?k.touches[0].pageX:k.touches[0].pageY,j.addEventListener("touchmove",b,!1),j.addEventListener("touchend",g,!1))},!1)},resize:function(){!a.animating&&a.is(":visible")&&(h||a.doMath(),s?f.smoothHeight():h?(a.slides.width(a.computedW),
+a.update(a.pagingCount),a.setProps()):m?(a.viewport.height(a.h),a.setProps(a.h,"setTotal")):(c.smoothHeight&&f.smoothHeight(),a.newSlides.width(a.computedW),a.setProps(a.computedW,"setTotal")))},smoothHeight:function(b){if(!m||s){var c=s?a:a.viewport;b?c.animate({height:a.slides.eq(a.animatingTo).height()},b):c.height(a.slides.eq(a.animatingTo).height())}},sync:function(b){var g=d(c.sync).data("flexslider"),e=a.animatingTo;switch(b){case "animate":g.flexAnimate(e,c.pauseOnAction,!1,!0);break;case "play":!g.playing&&
+!g.asNav&&g.play();break;case "pause":g.pause()}}};a.flexAnimate=function(b,g,p,j,l){t&&1===a.pagingCount&&(a.direction=a.currentItema.w?2*c.itemMargin:c.itemMargin,b=(a.itemW+b)*a.move*a.animatingTo,
+b=b>a.limit&&1!==a.visible?a.limit:b):b=0===a.currentSlide&&b===a.count-1&&c.animationLoop&&"next"!==a.direction?n?(a.count+a.cloneOffset)*r:0:a.currentSlide===a.last&&0===b&&c.animationLoop&&"prev"!==a.direction?n?0:(a.count+1)*r:n?(a.count-1-b+a.cloneOffset)*r:(b+a.cloneOffset)*r;a.setProps(b,"",c.animationSpeed);if(a.transitions){if(!c.animationLoop||!a.atEnd)a.animating=!1,a.currentSlide=a.animatingTo;a.container.unbind("webkitTransitionEnd transitionend");a.container.bind("webkitTransitionEnd transitionend",
+function(){a.wrapup(r)})}else a.container.animate(a.args,c.animationSpeed,c.easing,function(){a.wrapup(r)})}c.smoothHeight&&f.smoothHeight(c.animationSpeed)}};a.wrapup=function(b){!s&&!h&&(0===a.currentSlide&&a.animatingTo===a.last&&c.animationLoop?a.setProps(b,"jumpEnd"):a.currentSlide===a.last&&(0===a.animatingTo&&c.animationLoop)&&a.setProps(b,"jumpStart"));a.animating=!1;a.currentSlide=a.animatingTo;c.after(a)};a.animateSlides=function(){a.animating||a.flexAnimate(a.getTarget("next"))};a.pause=
+function(){clearInterval(a.animatedSlides);a.playing=!1;c.pausePlay&&f.pausePlay.update("play");a.syncExists&&f.sync("pause")};a.play=function(){a.animatedSlides=setInterval(a.animateSlides,c.slideshowSpeed);a.playing=!0;c.pausePlay&&f.pausePlay.update("pause");a.syncExists&&f.sync("play")};a.canAdvance=function(b,g){var d=t?a.pagingCount-1:a.last;return g?!0:t&&a.currentItem===a.count-1&&0===b&&"prev"===a.direction?!0:t&&0===a.currentItem&&b===a.pagingCount-1&&"next"!==a.direction?!1:b===a.currentSlide&&
+!t?!1:c.animationLoop?!0:a.atEnd&&0===a.currentSlide&&b===d&&"next"!==a.direction?!1:a.atEnd&&a.currentSlide===d&&0===b&&"next"===a.direction?!1:!0};a.getTarget=function(b){a.direction=b;return"next"===b?a.currentSlide===a.last?0:a.currentSlide+1:0===a.currentSlide?a.last:a.currentSlide-1};a.setProps=function(b,g,d){var e,f=b?b:(a.itemW+c.itemMargin)*a.move*a.animatingTo;e=-1*function(){if(h)return"setTouch"===g?b:n&&a.animatingTo===a.last?0:n?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:a.animatingTo===
+a.last?a.limit:f;switch(g){case "setTotal":return n?(a.count-1-a.currentSlide+a.cloneOffset)*b:(a.currentSlide+a.cloneOffset)*b;case "setTouch":return b;case "jumpEnd":return n?b:a.count*b;case "jumpStart":return n?a.count*b:b;default:return b}}()+"px";a.transitions&&(e=m?"translate3d(0,"+e+",0)":"translate3d("+e+",0,0)",d=void 0!==d?d/1E3+"s":"0s",a.container.css("-"+a.pfx+"-transition-duration",d));a.args[a.prop]=e;(a.transitions||void 0===d)&&a.container.css(a.args)};a.setup=function(b){if(s)a.slides.css({width:"100%",
+"float":"left",marginRight:"-100%",position:"relative"}),"init"===b&&(q?a.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+c.animationSpeed/1E3+"s ease",zIndex:1}).eq(a.currentSlide).css({opacity:1,zIndex:2}):a.slides.eq(a.currentSlide).fadeIn(c.animationSpeed,c.easing)),c.smoothHeight&&f.smoothHeight();else{var g,p;"init"===b&&(a.viewport=d('').css({overflow:"hidden",position:"relative"}).appendTo(a).append(a.container),a.cloneCount=0,a.cloneOffset=
+0,n&&(p=d.makeArray(a.slides).reverse(),a.slides=d(p),a.container.empty().append(a.slides)));c.animationLoop&&!h&&(a.cloneCount=2,a.cloneOffset=1,"init"!==b&&a.container.find(".clone").remove(),a.container.append(a.slides.first().clone().addClass("clone")).prepend(a.slides.last().clone().addClass("clone")));a.newSlides=d(c.selector,a);g=n?a.count-1-a.currentSlide+a.cloneOffset:a.currentSlide+a.cloneOffset;m&&!h?(a.container.height(200*(a.count+a.cloneCount)+"%").css("position","absolute").width("100%"),
+setTimeout(function(){a.newSlides.css({display:"block"});a.doMath();a.viewport.height(a.h);a.setProps(g*a.h,"init")},"init"===b?100:0)):(a.container.width(200*(a.count+a.cloneCount)+"%"),a.setProps(g*a.computedW,"init"),setTimeout(function(){a.doMath();a.newSlides.css({width:a.computedW,"float":"left",display:"block"});c.smoothHeight&&f.smoothHeight()},"init"===b?100:0))}h||a.slides.removeClass(e+"active-slide").eq(a.currentSlide).addClass(e+"active-slide")};a.doMath=function(){var b=a.slides.first(),
+d=c.itemMargin,e=c.minItems,f=c.maxItems;a.w=a.width();a.h=b.height();a.boxPadding=b.outerWidth()-b.width();h?(a.itemT=c.itemWidth+d,a.minW=e?e*a.itemT:a.w,a.maxW=f?f*a.itemT:a.w,a.itemW=a.minW>a.w?(a.w-d*e)/e:a.maxWa.w?a.w:c.itemWidth,a.visible=Math.floor(a.w/(a.itemW+d)),a.move=0a.w?(a.itemW+2*d)*a.count-a.w-
+d:(a.itemW+d)*a.count-a.w-d):(a.itemW=a.w,a.pagingCount=a.count,a.last=a.count-1);a.computedW=a.itemW-a.boxPadding};a.update=function(b,d){a.doMath();h||(ba.controlNav.length)f.controlNav.update("add");else if("remove"===d&&!h||a.pagingCounta.last&&(a.currentSlide-=1,a.animatingTo-=1),
+f.controlNav.update("remove",a.last);c.directionNav&&f.directionNav.update()};a.addSlide=function(b,e){var f=d(b);a.count+=1;a.last=a.count-1;m&&n?void 0!==e?a.slides.eq(a.count-e).after(f):a.container.prepend(f):void 0!==e?a.slides.eq(e).before(f):a.container.append(f);a.update(e,"add");a.slides=d(c.selector+":not(.clone)",a);a.setup();c.added(a)};a.removeSlide=function(b){var e=isNaN(b)?a.slides.index(d(b)):b;a.count-=1;a.last=a.count-1;isNaN(b)?d(b,a.slides).remove():m&&n?a.slides.eq(a.last).remove():
+a.slides.eq(b).remove();a.doMath();a.update(e,"remove");a.slides=d(c.selector+":not(.clone)",a);a.setup();c.removed(a)};f.init()};d.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7E3,animationSpeed:600,initDelay:0,randomize:!1,pauseOnAction:!0,pauseOnHover:!1,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",
+keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:0,maxItems:0,move:0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){}};d.fn.flexslider=function(j){void 0===j&&(j={});if("object"===typeof j)return this.each(function(){var a=d(this),c=a.find(j.selector?j.selector:".slides > li");1===c.length?(c.fadeIn(400),
+j.start&&j.start(a)):void 0==a.data("flexslider")&&new d.flexslider(this,j)});var l=d(this).data("flexslider");switch(j){case "play":l.play();break;case "pause":l.pause();break;case "next":l.flexAnimate(l.getTarget("next"),!0);break;case "prev":case "previous":l.flexAnimate(l.getTarget("prev"),!0);break;default:"number"===typeof j&&l.flexAnimate(j,!0)}}})(jQuery);
\ No newline at end of file
diff --git a/js/jquery.jplayer.min.js b/js/jquery.jplayer.min.js
index ecd3ab5..99f64d7 100644
--- a/js/jquery.jplayer.min.js
+++ b/js/jquery.jplayer.min.js
@@ -1,107 +1,3 @@
-/*
- * jPlayer Plugin for jQuery JavaScript Library
- * http://www.jplayer.org
- *
- * Copyright (c) 2009 - 2013 Happyworm Ltd
- * Licensed under the MIT license.
- * http://opensource.org/licenses/MIT
- *
- * Author: Mark J Panaghiston
- * Version: 2.4.0
- * Date: 5th June 2013
- */
-
-(function(b,f){"function"===typeof define&&define.amd?define(["jquery"],f):b.jQuery?f(b.jQuery):f(b.Zepto)})(this,function(b,f){b.fn.jPlayer=function(a){var c="string"===typeof a,d=Array.prototype.slice.call(arguments,1),e=this;a=!c&&d.length?b.extend.apply(null,[!0,a].concat(d)):a;if(c&&"_"===a.charAt(0))return e;c?this.each(function(){var c=b(this).data("jPlayer"),h=c&&b.isFunction(c[a])?c[a].apply(c,d):c;if(h!==c&&h!==f)return e=h,!1}):this.each(function(){var c=b(this).data("jPlayer");c?c.option(a||
-{}):b(this).data("jPlayer",new b.jPlayer(a,this))});return e};b.jPlayer=function(a,c){if(arguments.length){this.element=b(c);this.options=b.extend(!0,{},this.options,a);var d=this;this.element.bind("remove.jPlayer",function(){d.destroy()});this._init()}};"function"!==typeof b.fn.stop&&(b.fn.stop=function(){});b.jPlayer.emulateMethods="load play pause";b.jPlayer.emulateStatus="src readyState networkState currentTime duration paused ended playbackRate";b.jPlayer.emulateOptions="muted volume";b.jPlayer.reservedEvent=
-"ready flashreset resize repeat error warning";b.jPlayer.event={};b.each("ready flashreset resize repeat click error warning loadstart progress suspend abort emptied stalled play pause loadedmetadata loadeddata waiting playing canplay canplaythrough seeking seeked timeupdate ended ratechange durationchange volumechange".split(" "),function(){b.jPlayer.event[this]="jPlayer_"+this});b.jPlayer.htmlEvent="loadstart abort emptied stalled loadedmetadata loadeddata canplay canplaythrough ratechange".split(" ");
-b.jPlayer.pause=function(){b.each(b.jPlayer.prototype.instances,function(a,c){c.data("jPlayer").status.srcSet&&c.jPlayer("pause")})};b.jPlayer.timeFormat={showHour:!1,showMin:!0,showSec:!0,padHour:!1,padMin:!0,padSec:!0,sepHour:":",sepMin:":",sepSec:""};var l=function(){this.init()};l.prototype={init:function(){this.options={timeFormat:b.jPlayer.timeFormat}},time:function(a){var c=new Date(1E3*(a&&"number"===typeof a?a:0)),b=c.getUTCHours();a=this.options.timeFormat.showHour?c.getUTCMinutes():c.getUTCMinutes()+
-60*b;c=this.options.timeFormat.showMin?c.getUTCSeconds():c.getUTCSeconds()+60*a;b=this.options.timeFormat.padHour&&10>b?"0"+b:b;a=this.options.timeFormat.padMin&&10>a?"0"+a:a;c=this.options.timeFormat.padSec&&10>c?"0"+c:c;b=""+(this.options.timeFormat.showHour?b+this.options.timeFormat.sepHour:"");b+=this.options.timeFormat.showMin?a+this.options.timeFormat.sepMin:"";return b+=this.options.timeFormat.showSec?c+this.options.timeFormat.sepSec:""}};var m=new l;b.jPlayer.convertTime=function(a){return m.time(a)};
-b.jPlayer.uaBrowser=function(a){a=a.toLowerCase();var b=/(opera)(?:.*version)?[ \/]([\w.]+)/,d=/(msie) ([\w.]+)/,e=/(mozilla)(?:.*? rv:([\w.]+))?/;a=/(webkit)[ \/]([\w.]+)/.exec(a)||b.exec(a)||d.exec(a)||0>a.indexOf("compatible")&&e.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}};b.jPlayer.uaPlatform=function(a){var b=a.toLowerCase(),d=/(android)/,e=/(mobile)/;a=/(ipad|iphone|ipod|android|blackberry|playbook|windows ce|webos)/.exec(b)||[];b=/(ipad|playbook)/.exec(b)||!e.exec(b)&&d.exec(b)||
-[];a[1]&&(a[1]=a[1].replace(/\s/g,"_"));return{platform:a[1]||"",tablet:b[1]||""}};b.jPlayer.browser={};b.jPlayer.platform={};var j=b.jPlayer.uaBrowser(navigator.userAgent);j.browser&&(b.jPlayer.browser[j.browser]=!0,b.jPlayer.browser.version=j.version);j=b.jPlayer.uaPlatform(navigator.userAgent);j.platform&&(b.jPlayer.platform[j.platform]=!0,b.jPlayer.platform.mobile=!j.tablet,b.jPlayer.platform.tablet=!!j.tablet);b.jPlayer.getDocMode=function(){var a;b.jPlayer.browser.msie&&(document.documentMode?
-a=document.documentMode:(a=5,document.compatMode&&"CSS1Compat"===document.compatMode&&(a=7)));return a};b.jPlayer.browser.documentMode=b.jPlayer.getDocMode();b.jPlayer.nativeFeatures={init:function(){var a=document,b=a.createElement("video"),d={w3c:"fullscreenEnabled fullscreenElement requestFullscreen exitFullscreen fullscreenchange fullscreenerror".split(" "),moz:"mozFullScreenEnabled mozFullScreenElement mozRequestFullScreen mozCancelFullScreen mozfullscreenchange mozfullscreenerror".split(" "),
-webkit:" webkitCurrentFullScreenElement webkitRequestFullScreen webkitCancelFullScreen webkitfullscreenchange ".split(" "),webkitVideo:"webkitSupportsFullscreen webkitDisplayingFullscreen webkitEnterFullscreen webkitExitFullscreen ".split(" ")},e=["w3c","moz","webkit","webkitVideo"],g,h;this.fullscreen=b={support:{w3c:!!a[d.w3c[0]],moz:!!a[d.moz[0]],webkit:"function"===typeof a[d.webkit[3]],webkitVideo:"function"===typeof b[d.webkitVideo[2]]},used:{}};g=0;for(h=e.length;gNumber(b.jPlayer.browser.version)||9>b.jPlayer.browser.documentMode)){d=['','','','',''];c=document.createElement('');
-for(var e=0;e=a&&(b=!0);return b},_validString:function(a){return a&&"string"===typeof a},_limitValue:function(a,b,d){return ad?d:a},_urlNotSetError:function(a){this._error({type:b.jPlayer.error.URL_NOT_SET,context:a,message:b.jPlayer.errorMsg.URL_NOT_SET,hint:b.jPlayer.errorHint.URL_NOT_SET})},_flashError:function(a){var c;c=this.internal.ready?"FLASH_DISABLED":"FLASH";this._error({type:b.jPlayer.error[c],context:this.internal.flash.swf,
-message:b.jPlayer.errorMsg[c]+a.message,hint:b.jPlayer.errorHint[c]});this.internal.flash.jq.css({width:"1px",height:"1px"})},_error:function(a){this._trigger(b.jPlayer.event.error,a);this.options.errorAlerts&&this._alert("Error!"+(a.message?"\n\n"+a.message:"")+(a.hint?"\n\n"+a.hint:"")+"\n\nContext: "+a.context)},_warning:function(a){this._trigger(b.jPlayer.event.warning,f,a);this.options.warningAlerts&&this._alert("Warning!"+(a.message?"\n\n"+a.message:"")+(a.hint?"\n\n"+a.hint:"")+"\n\nContext: "+
-a.context)},_alert:function(a){alert("jPlayer "+this.version.script+" : id='"+this.internal.self.id+"' : "+a)},_emulateHtmlBridge:function(){var a=this;b.each(b.jPlayer.emulateMethods.split(/\s+/g),function(b,d){a.internal.domNode[d]=function(b){a[d](b)}});b.each(b.jPlayer.event,function(c,d){var e=!0;b.each(b.jPlayer.reservedEvent.split(/\s+/g),function(a,b){if(b===c)return e=!1});e&&a.element.bind(d+".jPlayer.jPlayerHtml",function(){a._emulateHtmlUpdate();var b=document.createEvent("Event");b.initEvent(c,
-!1,!0);a.internal.domNode.dispatchEvent(b)})})},_emulateHtmlUpdate:function(){var a=this;b.each(b.jPlayer.emulateStatus.split(/\s+/g),function(b,d){a.internal.domNode[d]=a.status[d]});b.each(b.jPlayer.emulateOptions.split(/\s+/g),function(b,d){a.internal.domNode[d]=a.options[d]})},_destroyHtmlBridge:function(){var a=this;this.element.unbind(".jPlayerHtml");b.each((b.jPlayer.emulateMethods+" "+b.jPlayer.emulateStatus+" "+b.jPlayer.emulateOptions).split(/\s+/g),function(b,d){delete a.internal.domNode[d]})}};
-b.jPlayer.error={FLASH:"e_flash",FLASH_DISABLED:"e_flash_disabled",NO_SOLUTION:"e_no_solution",NO_SUPPORT:"e_no_support",URL:"e_url",URL_NOT_SET:"e_url_not_set",VERSION:"e_version"};b.jPlayer.errorMsg={FLASH:"jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ",FLASH_DISABLED:"jPlayer's Flash fallback has been disabled by the browser due to the CSS rules you have used. Details: ",NO_SOLUTION:"No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.",
-NO_SUPPORT:"It is not possible to play any media format provided in setMedia() on this browser using your current options.",URL:"Media URL could not be loaded.",URL_NOT_SET:"Attempt to issue media playback commands, while no media url is set.",VERSION:"jPlayer "+b.jPlayer.prototype.version.script+" needs Jplayer.swf version "+b.jPlayer.prototype.version.needFlash+" but found "};b.jPlayer.errorHint={FLASH:"Check your swfPath option and that Jplayer.swf is there.",FLASH_DISABLED:"Check that you have not display:none; the jPlayer entity or any ancestor.",
-NO_SOLUTION:"Review the jPlayer options: support and supplied.",NO_SUPPORT:"Video or audio formats defined in the supplied option are missing.",URL:"Check media URL is valid.",URL_NOT_SET:"Use setMedia() to set the media URL.",VERSION:"Update jPlayer files."};b.jPlayer.warning={CSS_SELECTOR_COUNT:"e_css_selector_count",CSS_SELECTOR_METHOD:"e_css_selector_method",CSS_SELECTOR_STRING:"e_css_selector_string",OPTION_KEY:"e_option_key"};b.jPlayer.warningMsg={CSS_SELECTOR_COUNT:"The number of css selectors found did not equal one: ",
-CSS_SELECTOR_METHOD:"The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.",CSS_SELECTOR_STRING:"The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.",OPTION_KEY:"The option requested in jPlayer('option') is undefined."};b.jPlayer.warningHint={CSS_SELECTOR_COUNT:"Check your css selector and the ancestor.",CSS_SELECTOR_METHOD:"Check your method name.",CSS_SELECTOR_STRING:"Check your css selector is a string.",OPTION_KEY:"Check your option name."}});
\ No newline at end of file
+/*! jPlayer 2.9.2 for jQuery ~ (c) 2009-2014 Happyworm Ltd ~ MIT License */
+!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):b("object"==typeof exports?require("jquery"):a.jQuery?a.jQuery:a.Zepto)}(this,function(a,b){a.fn.jPlayer=function(c){var d="jPlayer",e="string"==typeof c,f=Array.prototype.slice.call(arguments,1),g=this;return c=!e&&f.length?a.extend.apply(null,[!0,c].concat(f)):c,e&&"_"===c.charAt(0)?g:(this.each(e?function(){var e=a(this).data(d),h=e&&a.isFunction(e[c])?e[c].apply(e,f):e;return h!==e&&h!==b?(g=h,!1):void 0}:function(){var b=a(this).data(d);b?b.option(c||{}):a(this).data(d,new a.jPlayer(c,this))}),g)},a.jPlayer=function(b,c){if(arguments.length){this.element=a(c),this.options=a.extend(!0,{},this.options,b);var d=this;this.element.bind("remove.jPlayer",function(){d.destroy()}),this._init()}},"function"!=typeof a.fn.stop&&(a.fn.stop=function(){}),a.jPlayer.emulateMethods="load play pause",a.jPlayer.emulateStatus="src readyState networkState currentTime duration paused ended playbackRate",a.jPlayer.emulateOptions="muted volume",a.jPlayer.reservedEvent="ready flashreset resize repeat error warning",a.jPlayer.event={},a.each(["ready","setmedia","flashreset","resize","repeat","click","error","warning","loadstart","progress","suspend","abort","emptied","stalled","play","pause","loadedmetadata","loadeddata","waiting","playing","canplay","canplaythrough","seeking","seeked","timeupdate","ended","ratechange","durationchange","volumechange"],function(){a.jPlayer.event[this]="jPlayer_"+this}),a.jPlayer.htmlEvent=["loadstart","abort","emptied","stalled","loadedmetadata","canplay","canplaythrough"],a.jPlayer.pause=function(){a.jPlayer.prototype.destroyRemoved(),a.each(a.jPlayer.prototype.instances,function(a,b){b.data("jPlayer").status.srcSet&&b.jPlayer("pause")})},a.jPlayer.timeFormat={showHour:!1,showMin:!0,showSec:!0,padHour:!1,padMin:!0,padSec:!0,sepHour:":",sepMin:":",sepSec:""};var c=function(){this.init()};c.prototype={init:function(){this.options={timeFormat:a.jPlayer.timeFormat}},time:function(a){a=a&&"number"==typeof a?a:0;var b=new Date(1e3*a),c=b.getUTCHours(),d=this.options.timeFormat.showHour?b.getUTCMinutes():b.getUTCMinutes()+60*c,e=this.options.timeFormat.showMin?b.getUTCSeconds():b.getUTCSeconds()+60*d,f=this.options.timeFormat.padHour&&10>c?"0"+c:c,g=this.options.timeFormat.padMin&&10>d?"0"+d:d,h=this.options.timeFormat.padSec&&10>e?"0"+e:e,i="";return i+=this.options.timeFormat.showHour?f+this.options.timeFormat.sepHour:"",i+=this.options.timeFormat.showMin?g+this.options.timeFormat.sepMin:"",i+=this.options.timeFormat.showSec?h+this.options.timeFormat.sepSec:""}};var d=new c;a.jPlayer.convertTime=function(a){return d.time(a)},a.jPlayer.uaBrowser=function(a){var b=a.toLowerCase(),c=/(webkit)[ \/]([\w.]+)/,d=/(opera)(?:.*version)?[ \/]([\w.]+)/,e=/(msie) ([\w.]+)/,f=/(mozilla)(?:.*? rv:([\w.]+))?/,g=c.exec(b)||d.exec(b)||e.exec(b)||b.indexOf("compatible")<0&&f.exec(b)||[];return{browser:g[1]||"",version:g[2]||"0"}},a.jPlayer.uaPlatform=function(a){var b=a.toLowerCase(),c=/(ipad|iphone|ipod|android|blackberry|playbook|windows ce|webos)/,d=/(ipad|playbook)/,e=/(android)/,f=/(mobile)/,g=c.exec(b)||[],h=d.exec(b)||!f.exec(b)&&e.exec(b)||[];return g[1]&&(g[1]=g[1].replace(/\s/g,"_")),{platform:g[1]||"",tablet:h[1]||""}},a.jPlayer.browser={},a.jPlayer.platform={};var e=a.jPlayer.uaBrowser(navigator.userAgent);e.browser&&(a.jPlayer.browser[e.browser]=!0,a.jPlayer.browser.version=e.version);var f=a.jPlayer.uaPlatform(navigator.userAgent);f.platform&&(a.jPlayer.platform[f.platform]=!0,a.jPlayer.platform.mobile=!f.tablet,a.jPlayer.platform.tablet=!!f.tablet),a.jPlayer.getDocMode=function(){var b;return a.jPlayer.browser.msie&&(document.documentMode?b=document.documentMode:(b=5,document.compatMode&&"CSS1Compat"===document.compatMode&&(b=7))),b},a.jPlayer.browser.documentMode=a.jPlayer.getDocMode(),a.jPlayer.nativeFeatures={init:function(){var a,b,c,d=document,e=d.createElement("video"),f={w3c:["fullscreenEnabled","fullscreenElement","requestFullscreen","exitFullscreen","fullscreenchange","fullscreenerror"],moz:["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror"],webkit:["","webkitCurrentFullScreenElement","webkitRequestFullScreen","webkitCancelFullScreen","webkitfullscreenchange",""],webkitVideo:["webkitSupportsFullscreen","webkitDisplayingFullscreen","webkitEnterFullscreen","webkitExitFullscreen","",""],ms:["","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError"]},g=["w3c","moz","webkit","webkitVideo","ms"];for(this.fullscreen=a={support:{w3c:!!d[f.w3c[0]],moz:!!d[f.moz[0]],webkit:"function"==typeof d[f.webkit[3]],webkitVideo:"function"==typeof e[f.webkitVideo[2]],ms:"function"==typeof e[f.ms[2]]},used:{}},b=0,c=g.length;c>b;b++){var h=g[b];if(a.support[h]){a.spec=h,a.used[h]=!0;break}}if(a.spec){var i=f[a.spec];a.api={fullscreenEnabled:!0,fullscreenElement:function(a){return a=a?a:d,a[i[1]]},requestFullscreen:function(a){return a[i[2]]()},exitFullscreen:function(a){return a=a?a:d,a[i[3]]()}},a.event={fullscreenchange:i[4],fullscreenerror:i[5]}}else a.api={fullscreenEnabled:!1,fullscreenElement:function(){return null},requestFullscreen:function(){},exitFullscreen:function(){}},a.event={}}},a.jPlayer.nativeFeatures.init(),a.jPlayer.focus=null,a.jPlayer.keyIgnoreElementNames="A INPUT TEXTAREA SELECT BUTTON";var g=function(b){var c,d=a.jPlayer.focus;d&&(a.each(a.jPlayer.keyIgnoreElementNames.split(/\s+/g),function(a,d){return b.target.nodeName.toUpperCase()===d.toUpperCase()?(c=!0,!1):void 0}),c||a.each(d.options.keyBindings,function(c,e){return e&&a.isFunction(e.fn)&&("number"==typeof e.key&&b.which===e.key||"string"==typeof e.key&&b.key===e.key)?(b.preventDefault(),e.fn(d),!1):void 0}))};a.jPlayer.keys=function(b){var c="keydown.jPlayer";a(document.documentElement).unbind(c),b&&a(document.documentElement).bind(c,g)},a.jPlayer.keys(!0),a.jPlayer.prototype={count:0,version:{script:"2.9.2",needFlash:"2.9.0",flash:"unknown"},options:{swfPath:"js",solution:"html, flash",supplied:"mp3",auroraFormats:"wav",preload:"metadata",volume:.8,muted:!1,remainingDuration:!1,toggleDuration:!1,captureDuration:!0,playbackRate:1,defaultPlaybackRate:1,minPlaybackRate:.5,maxPlaybackRate:4,wmode:"opaque",backgroundColor:"#000000",cssSelectorAncestor:"#jp_container_1",cssSelector:{videoPlay:".jp-video-play",play:".jp-play",pause:".jp-pause",stop:".jp-stop",seekBar:".jp-seek-bar",playBar:".jp-play-bar",mute:".jp-mute",unmute:".jp-unmute",volumeBar:".jp-volume-bar",volumeBarValue:".jp-volume-bar-value",volumeMax:".jp-volume-max",playbackRateBar:".jp-playback-rate-bar",playbackRateBarValue:".jp-playback-rate-bar-value",currentTime:".jp-current-time",duration:".jp-duration",title:".jp-title",fullScreen:".jp-full-screen",restoreScreen:".jp-restore-screen",repeat:".jp-repeat",repeatOff:".jp-repeat-off",gui:".jp-gui",noSolution:".jp-no-solution"},stateClass:{playing:"jp-state-playing",seeking:"jp-state-seeking",muted:"jp-state-muted",looped:"jp-state-looped",fullScreen:"jp-state-full-screen",noVolume:"jp-state-no-volume"},useStateClassSkin:!1,autoBlur:!0,smoothPlayBar:!1,fullScreen:!1,fullWindow:!1,autohide:{restored:!1,full:!0,fadeIn:200,fadeOut:600,hold:1e3},loop:!1,repeat:function(b){b.jPlayer.options.loop?a(this).unbind(".jPlayerRepeat").bind(a.jPlayer.event.ended+".jPlayer.jPlayerRepeat",function(){a(this).jPlayer("play")}):a(this).unbind(".jPlayerRepeat")},nativeVideoControls:{},noFullWindow:{msie:/msie [0-6]\./,ipad:/ipad.*?os [0-4]\./,iphone:/iphone/,ipod:/ipod/,android_pad:/android [0-3]\.(?!.*?mobile)/,android_phone:/(?=.*android)(?!.*chrome)(?=.*mobile)/,blackberry:/blackberry/,windows_ce:/windows ce/,iemobile:/iemobile/,webos:/webos/},noVolume:{ipad:/ipad/,iphone:/iphone/,ipod:/ipod/,android_pad:/android(?!.*?mobile)/,android_phone:/android.*?mobile/,blackberry:/blackberry/,windows_ce:/windows ce/,iemobile:/iemobile/,webos:/webos/,playbook:/playbook/},timeFormat:{},keyEnabled:!1,audioFullScreen:!1,keyBindings:{play:{key:80,fn:function(a){a.status.paused?a.play():a.pause()}},fullScreen:{key:70,fn:function(a){(a.status.video||a.options.audioFullScreen)&&a._setOption("fullScreen",!a.options.fullScreen)}},muted:{key:77,fn:function(a){a._muted(!a.options.muted)}},volumeUp:{key:190,fn:function(a){a.volume(a.options.volume+.1)}},volumeDown:{key:188,fn:function(a){a.volume(a.options.volume-.1)}},loop:{key:76,fn:function(a){a._loop(!a.options.loop)}}},verticalVolume:!1,verticalPlaybackRate:!1,globalVolume:!1,idPrefix:"jp",noConflict:"jQuery",emulateHtml:!1,consoleAlerts:!0,errorAlerts:!1,warningAlerts:!1},optionsAudio:{size:{width:"0px",height:"0px",cssClass:""},sizeFull:{width:"0px",height:"0px",cssClass:""}},optionsVideo:{size:{width:"480px",height:"270px",cssClass:"jp-video-270p"},sizeFull:{width:"100%",height:"100%",cssClass:"jp-video-full"}},instances:{},status:{src:"",media:{},paused:!0,format:{},formatType:"",waitForPlay:!0,waitForLoad:!0,srcSet:!1,video:!1,seekPercent:0,currentPercentRelative:0,currentPercentAbsolute:0,currentTime:0,duration:0,remaining:0,videoWidth:0,videoHeight:0,readyState:0,networkState:0,playbackRate:1,ended:0},internal:{ready:!1},solution:{html:!0,aurora:!0,flash:!0},format:{mp3:{codec:"audio/mpeg",flashCanPlay:!0,media:"audio"},m4a:{codec:'audio/mp4; codecs="mp4a.40.2"',flashCanPlay:!0,media:"audio"},m3u8a:{codec:'application/vnd.apple.mpegurl; codecs="mp4a.40.2"',flashCanPlay:!1,media:"audio"},m3ua:{codec:"audio/mpegurl",flashCanPlay:!1,media:"audio"},oga:{codec:'audio/ogg; codecs="vorbis, opus"',flashCanPlay:!1,media:"audio"},flac:{codec:"audio/x-flac",flashCanPlay:!1,media:"audio"},wav:{codec:'audio/wav; codecs="1"',flashCanPlay:!1,media:"audio"},webma:{codec:'audio/webm; codecs="vorbis"',flashCanPlay:!1,media:"audio"},fla:{codec:"audio/x-flv",flashCanPlay:!0,media:"audio"},rtmpa:{codec:'audio/rtmp; codecs="rtmp"',flashCanPlay:!0,media:"audio"},m4v:{codec:'video/mp4; codecs="avc1.42E01E, mp4a.40.2"',flashCanPlay:!0,media:"video"},m3u8v:{codec:'application/vnd.apple.mpegurl; codecs="avc1.42E01E, mp4a.40.2"',flashCanPlay:!1,media:"video"},m3uv:{codec:"audio/mpegurl",flashCanPlay:!1,media:"video"},ogv:{codec:'video/ogg; codecs="theora, vorbis"',flashCanPlay:!1,media:"video"},webmv:{codec:'video/webm; codecs="vorbis, vp8"',flashCanPlay:!1,media:"video"},flv:{codec:"video/x-flv",flashCanPlay:!0,media:"video"},rtmpv:{codec:'video/rtmp; codecs="rtmp"',flashCanPlay:!0,media:"video"}},_init:function(){var c=this;if(this.element.empty(),this.status=a.extend({},this.status),this.internal=a.extend({},this.internal),this.options.timeFormat=a.extend({},a.jPlayer.timeFormat,this.options.timeFormat),this.internal.cmdsIgnored=a.jPlayer.platform.ipad||a.jPlayer.platform.iphone||a.jPlayer.platform.ipod,this.internal.domNode=this.element.get(0),this.options.keyEnabled&&!a.jPlayer.focus&&(a.jPlayer.focus=this),this.androidFix={setMedia:!1,play:!1,pause:!1,time:0/0},a.jPlayer.platform.android&&(this.options.preload="auto"!==this.options.preload?"metadata":"auto"),this.formats=[],this.solutions=[],this.require={},this.htmlElement={},this.html={},this.html.audio={},this.html.video={},this.aurora={},this.aurora.formats=[],this.aurora.properties=[],this.flash={},this.css={},this.css.cs={},this.css.jq={},this.ancestorJq=[],this.options.volume=this._limitValue(this.options.volume,0,1),a.each(this.options.supplied.toLowerCase().split(","),function(b,d){var e=d.replace(/^\s+|\s+$/g,"");if(c.format[e]){var f=!1;a.each(c.formats,function(a,b){return e===b?(f=!0,!1):void 0}),f||c.formats.push(e)}}),a.each(this.options.solution.toLowerCase().split(","),function(b,d){var e=d.replace(/^\s+|\s+$/g,"");if(c.solution[e]){var f=!1;a.each(c.solutions,function(a,b){return e===b?(f=!0,!1):void 0}),f||c.solutions.push(e)}}),a.each(this.options.auroraFormats.toLowerCase().split(","),function(b,d){var e=d.replace(/^\s+|\s+$/g,"");if(c.format[e]){var f=!1;a.each(c.aurora.formats,function(a,b){return e===b?(f=!0,!1):void 0}),f||c.aurora.formats.push(e)}}),this.internal.instance="jp_"+this.count,this.instances[this.internal.instance]=this.element,this.element.attr("id")||this.element.attr("id",this.options.idPrefix+"_jplayer_"+this.count),this.internal.self=a.extend({},{id:this.element.attr("id"),jq:this.element}),this.internal.audio=a.extend({},{id:this.options.idPrefix+"_audio_"+this.count,jq:b}),this.internal.video=a.extend({},{id:this.options.idPrefix+"_video_"+this.count,jq:b}),this.internal.flash=a.extend({},{id:this.options.idPrefix+"_flash_"+this.count,jq:b,swf:this.options.swfPath+(".swf"!==this.options.swfPath.toLowerCase().slice(-4)?(this.options.swfPath&&"/"!==this.options.swfPath.slice(-1)?"/":"")+"jquery.jplayer.swf":"")}),this.internal.poster=a.extend({},{id:this.options.idPrefix+"_poster_"+this.count,jq:b}),a.each(a.jPlayer.event,function(a,d){c.options[a]!==b&&(c.element.bind(d+".jPlayer",c.options[a]),c.options[a]=b)}),this.require.audio=!1,this.require.video=!1,a.each(this.formats,function(a,b){c.require[c.format[b].media]=!0}),this.options=this.require.video?a.extend(!0,{},this.optionsVideo,this.options):a.extend(!0,{},this.optionsAudio,this.options),this._setSize(),this.status.nativeVideoControls=this._uaBlocklist(this.options.nativeVideoControls),this.status.noFullWindow=this._uaBlocklist(this.options.noFullWindow),this.status.noVolume=this._uaBlocklist(this.options.noVolume),a.jPlayer.nativeFeatures.fullscreen.api.fullscreenEnabled&&this._fullscreenAddEventListeners(),this._restrictNativeVideoControls(),this.htmlElement.poster=document.createElement("img"),this.htmlElement.poster.id=this.internal.poster.id,this.htmlElement.poster.onload=function(){(!c.status.video||c.status.waitForPlay)&&c.internal.poster.jq.show()},this.element.append(this.htmlElement.poster),this.internal.poster.jq=a("#"+this.internal.poster.id),this.internal.poster.jq.css({width:this.status.width,height:this.status.height}),this.internal.poster.jq.hide(),this.internal.poster.jq.bind("click.jPlayer",function(){c._trigger(a.jPlayer.event.click)}),this.html.audio.available=!1,this.require.audio&&(this.htmlElement.audio=document.createElement("audio"),this.htmlElement.audio.id=this.internal.audio.id,this.html.audio.available=!!this.htmlElement.audio.canPlayType&&this._testCanPlayType(this.htmlElement.audio)),this.html.video.available=!1,this.require.video&&(this.htmlElement.video=document.createElement("video"),this.htmlElement.video.id=this.internal.video.id,this.html.video.available=!!this.htmlElement.video.canPlayType&&this._testCanPlayType(this.htmlElement.video)),this.flash.available=this._checkForFlash(10.1),this.html.canPlay={},this.aurora.canPlay={},this.flash.canPlay={},a.each(this.formats,function(b,d){c.html.canPlay[d]=c.html[c.format[d].media].available&&""!==c.htmlElement[c.format[d].media].canPlayType(c.format[d].codec),c.aurora.canPlay[d]=a.inArray(d,c.aurora.formats)>-1,c.flash.canPlay[d]=c.format[d].flashCanPlay&&c.flash.available}),this.html.desired=!1,this.aurora.desired=!1,this.flash.desired=!1,a.each(this.solutions,function(b,d){if(0===b)c[d].desired=!0;else{var e=!1,f=!1;a.each(c.formats,function(a,b){c[c.solutions[0]].canPlay[b]&&("video"===c.format[b].media?f=!0:e=!0)}),c[d].desired=c.require.audio&&!e||c.require.video&&!f}}),this.html.support={},this.aurora.support={},this.flash.support={},a.each(this.formats,function(a,b){c.html.support[b]=c.html.canPlay[b]&&c.html.desired,c.aurora.support[b]=c.aurora.canPlay[b]&&c.aurora.desired,c.flash.support[b]=c.flash.canPlay[b]&&c.flash.desired}),this.html.used=!1,this.aurora.used=!1,this.flash.used=!1,a.each(this.solutions,function(b,d){a.each(c.formats,function(a,b){return c[d].support[b]?(c[d].used=!0,!1):void 0})}),this._resetActive(),this._resetGate(),this._cssSelectorAncestor(this.options.cssSelectorAncestor),this.html.used||this.aurora.used||this.flash.used?this.css.jq.noSolution.length&&this.css.jq.noSolution.hide():(this._error({type:a.jPlayer.error.NO_SOLUTION,context:"{solution:'"+this.options.solution+"', supplied:'"+this.options.supplied+"'}",message:a.jPlayer.errorMsg.NO_SOLUTION,hint:a.jPlayer.errorHint.NO_SOLUTION}),this.css.jq.noSolution.length&&this.css.jq.noSolution.show()),this.flash.used){var d,e="jQuery="+encodeURI(this.options.noConflict)+"&id="+encodeURI(this.internal.self.id)+"&vol="+this.options.volume+"&muted="+this.options.muted;if(a.jPlayer.browser.msie&&(Number(a.jPlayer.browser.version)<9||a.jPlayer.browser.documentMode<9)){var f='',g=['','','','',''];d=document.createElement(f);for(var h=0;h0&&(d.internal.cmdsIgnored=!1),d._getHtmlStatus(b),d._updateInterface(),d._trigger(a.jPlayer.event.progress))},!1),b.addEventListener("loadeddata",function(){c.gate&&(d.androidFix.setMedia=!1,d.androidFix.play&&(d.androidFix.play=!1,d.play(d.androidFix.time)),d.androidFix.pause&&(d.androidFix.pause=!1,d.pause(d.androidFix.time)),d._trigger(a.jPlayer.event.loadeddata))},!1),b.addEventListener("timeupdate",function(){c.gate&&(d._getHtmlStatus(b),d._updateInterface(),d._trigger(a.jPlayer.event.timeupdate))},!1),b.addEventListener("durationchange",function(){c.gate&&(d._getHtmlStatus(b),d._updateInterface(),d._trigger(a.jPlayer.event.durationchange))},!1),b.addEventListener("play",function(){c.gate&&(d._updateButtons(!0),d._html_checkWaitForPlay(),d._trigger(a.jPlayer.event.play))},!1),b.addEventListener("playing",function(){c.gate&&(d._updateButtons(!0),d._seeked(),d._trigger(a.jPlayer.event.playing))},!1),b.addEventListener("pause",function(){c.gate&&(d._updateButtons(!1),d._trigger(a.jPlayer.event.pause))},!1),b.addEventListener("waiting",function(){c.gate&&(d._seeking(),d._trigger(a.jPlayer.event.waiting))},!1),b.addEventListener("seeking",function(){c.gate&&(d._seeking(),d._trigger(a.jPlayer.event.seeking))},!1),b.addEventListener("seeked",function(){c.gate&&(d._seeked(),d._trigger(a.jPlayer.event.seeked))},!1),b.addEventListener("volumechange",function(){c.gate&&(d.options.volume=b.volume,d.options.muted=b.muted,d._updateMute(),d._updateVolume(),d._trigger(a.jPlayer.event.volumechange))},!1),b.addEventListener("ratechange",function(){c.gate&&(d.options.defaultPlaybackRate=b.defaultPlaybackRate,d.options.playbackRate=b.playbackRate,d._updatePlaybackRate(),d._trigger(a.jPlayer.event.ratechange))},!1),b.addEventListener("suspend",function(){c.gate&&(d._seeked(),d._trigger(a.jPlayer.event.suspend))},!1),b.addEventListener("ended",function(){c.gate&&(a.jPlayer.browser.webkit||(d.htmlElement.media.currentTime=0),d.htmlElement.media.pause(),d._updateButtons(!1),d._getHtmlStatus(b,!0),d._updateInterface(),d._trigger(a.jPlayer.event.ended))},!1),b.addEventListener("error",function(){c.gate&&(d._updateButtons(!1),d._seeked(),d.status.srcSet&&(clearTimeout(d.internal.htmlDlyCmdId),d.status.waitForLoad=!0,d.status.waitForPlay=!0,d.status.video&&!d.status.nativeVideoControls&&d.internal.video.jq.css({width:"0px",height:"0px"}),d._validString(d.status.media.poster)&&!d.status.nativeVideoControls&&d.internal.poster.jq.show(),d.css.jq.videoPlay.length&&d.css.jq.videoPlay.show(),d._error({type:a.jPlayer.error.URL,context:d.status.src,message:a.jPlayer.errorMsg.URL,hint:a.jPlayer.errorHint.URL})))},!1),a.each(a.jPlayer.htmlEvent,function(e,f){b.addEventListener(this,function(){c.gate&&d._trigger(a.jPlayer.event[f])},!1)})},_addAuroraEventListeners:function(b,c){var d=this;b.volume=100*this.options.volume,b.on("progress",function(){c.gate&&(d.internal.cmdsIgnored&&this.readyState>0&&(d.internal.cmdsIgnored=!1),d._getAuroraStatus(b),d._updateInterface(),d._trigger(a.jPlayer.event.progress),b.duration>0&&d._trigger(a.jPlayer.event.timeupdate))},!1),b.on("ready",function(){c.gate&&d._trigger(a.jPlayer.event.loadeddata)},!1),b.on("duration",function(){c.gate&&(d._getAuroraStatus(b),d._updateInterface(),d._trigger(a.jPlayer.event.durationchange))},!1),b.on("end",function(){c.gate&&(d._updateButtons(!1),d._getAuroraStatus(b,!0),d._updateInterface(),d._trigger(a.jPlayer.event.ended))},!1),b.on("error",function(){c.gate&&(d._updateButtons(!1),d._seeked(),d.status.srcSet&&(d.status.waitForLoad=!0,d.status.waitForPlay=!0,d.status.video&&!d.status.nativeVideoControls&&d.internal.video.jq.css({width:"0px",height:"0px"}),d._validString(d.status.media.poster)&&!d.status.nativeVideoControls&&d.internal.poster.jq.show(),d.css.jq.videoPlay.length&&d.css.jq.videoPlay.show(),d._error({type:a.jPlayer.error.URL,context:d.status.src,message:a.jPlayer.errorMsg.URL,hint:a.jPlayer.errorHint.URL})))},!1)},_getHtmlStatus:function(a,b){var c=0,d=0,e=0,f=0;isFinite(a.duration)&&(this.status.duration=a.duration),c=a.currentTime,d=this.status.duration>0?100*c/this.status.duration:0,"object"==typeof a.seekable&&a.seekable.length>0?(e=this.status.duration>0?100*a.seekable.end(a.seekable.length-1)/this.status.duration:100,f=this.status.duration>0?100*a.currentTime/a.seekable.end(a.seekable.length-1):0):(e=100,f=d),b&&(c=0,f=0,d=0),this.status.seekPercent=e,this.status.currentPercentRelative=f,this.status.currentPercentAbsolute=d,this.status.currentTime=c,this.status.remaining=this.status.duration-this.status.currentTime,this.status.videoWidth=a.videoWidth,this.status.videoHeight=a.videoHeight,this.status.readyState=a.readyState,this.status.networkState=a.networkState,this.status.playbackRate=a.playbackRate,this.status.ended=a.ended},_getAuroraStatus:function(a,b){var c=0,d=0,e=0,f=0;this.status.duration=a.duration/1e3,c=a.currentTime/1e3,d=this.status.duration>0?100*c/this.status.duration:0,a.buffered>0?(e=this.status.duration>0?a.buffered*this.status.duration/this.status.duration:100,f=this.status.duration>0?c/(a.buffered*this.status.duration):0):(e=100,f=d),b&&(c=0,f=0,d=0),this.status.seekPercent=e,this.status.currentPercentRelative=f,this.status.currentPercentAbsolute=d,this.status.currentTime=c,this.status.remaining=this.status.duration-this.status.currentTime,this.status.readyState=4,this.status.networkState=0,this.status.playbackRate=1,this.status.ended=!1},_resetStatus:function(){this.status=a.extend({},this.status,a.jPlayer.prototype.status)},_trigger:function(b,c,d){var e=a.Event(b);e.jPlayer={},e.jPlayer.version=a.extend({},this.version),e.jPlayer.options=a.extend(!0,{},this.options),e.jPlayer.status=a.extend(!0,{},this.status),e.jPlayer.html=a.extend(!0,{},this.html),e.jPlayer.aurora=a.extend(!0,{},this.aurora),e.jPlayer.flash=a.extend(!0,{},this.flash),c&&(e.jPlayer.error=a.extend({},c)),d&&(e.jPlayer.warning=a.extend({},d)),this.element.trigger(e)},jPlayerFlashEvent:function(b,c){if(b===a.jPlayer.event.ready)if(this.internal.ready){if(this.flash.gate){if(this.status.srcSet){var d=this.status.currentTime,e=this.status.paused;this.setMedia(this.status.media),this.volumeWorker(this.options.volume),d>0&&(e?this.pause(d):this.play(d))}this._trigger(a.jPlayer.event.flashreset)}}else this.internal.ready=!0,this.internal.flash.jq.css({width:"0px",height:"0px"}),this.version.flash=c.version,this.version.needFlash!==this.version.flash&&this._error({type:a.jPlayer.error.VERSION,context:this.version.flash,message:a.jPlayer.errorMsg.VERSION+this.version.flash,hint:a.jPlayer.errorHint.VERSION}),this._trigger(a.jPlayer.event.repeat),this._trigger(b);if(this.flash.gate)switch(b){case a.jPlayer.event.progress:this._getFlashStatus(c),this._updateInterface(),this._trigger(b);break;case a.jPlayer.event.timeupdate:this._getFlashStatus(c),this._updateInterface(),this._trigger(b);break;case a.jPlayer.event.play:this._seeked(),this._updateButtons(!0),this._trigger(b);break;case a.jPlayer.event.pause:this._updateButtons(!1),this._trigger(b);break;case a.jPlayer.event.ended:this._updateButtons(!1),this._trigger(b);break;case a.jPlayer.event.click:this._trigger(b);break;case a.jPlayer.event.error:this.status.waitForLoad=!0,this.status.waitForPlay=!0,this.status.video&&this.internal.flash.jq.css({width:"0px",height:"0px"}),this._validString(this.status.media.poster)&&this.internal.poster.jq.show(),this.css.jq.videoPlay.length&&this.status.video&&this.css.jq.videoPlay.show(),this.status.video?this._flash_setVideo(this.status.media):this._flash_setAudio(this.status.media),this._updateButtons(!1),this._error({type:a.jPlayer.error.URL,context:c.src,message:a.jPlayer.errorMsg.URL,hint:a.jPlayer.errorHint.URL});break;case a.jPlayer.event.seeking:this._seeking(),this._trigger(b);break;case a.jPlayer.event.seeked:this._seeked(),this._trigger(b);break;case a.jPlayer.event.ready:break;default:this._trigger(b)}return!1},_getFlashStatus:function(a){this.status.seekPercent=a.seekPercent,this.status.currentPercentRelative=a.currentPercentRelative,this.status.currentPercentAbsolute=a.currentPercentAbsolute,this.status.currentTime=a.currentTime,this.status.duration=a.duration,this.status.remaining=a.duration-a.currentTime,this.status.videoWidth=a.videoWidth,this.status.videoHeight=a.videoHeight,this.status.readyState=4,this.status.networkState=0,this.status.playbackRate=1,this.status.ended=!1},_updateButtons:function(a){a===b?a=!this.status.paused:this.status.paused=!a,a?this.addStateClass("playing"):this.removeStateClass("playing"),!this.status.noFullWindow&&this.options.fullWindow?this.addStateClass("fullScreen"):this.removeStateClass("fullScreen"),this.options.loop?this.addStateClass("looped"):this.removeStateClass("looped"),this.css.jq.play.length&&this.css.jq.pause.length&&(a?(this.css.jq.play.hide(),this.css.jq.pause.show()):(this.css.jq.play.show(),this.css.jq.pause.hide())),this.css.jq.restoreScreen.length&&this.css.jq.fullScreen.length&&(this.status.noFullWindow?(this.css.jq.fullScreen.hide(),this.css.jq.restoreScreen.hide()):this.options.fullWindow?(this.css.jq.fullScreen.hide(),this.css.jq.restoreScreen.show()):(this.css.jq.fullScreen.show(),this.css.jq.restoreScreen.hide())),this.css.jq.repeat.length&&this.css.jq.repeatOff.length&&(this.options.loop?(this.css.jq.repeat.hide(),this.css.jq.repeatOff.show()):(this.css.jq.repeat.show(),this.css.jq.repeatOff.hide()))},_updateInterface:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.width(this.status.seekPercent+"%"),this.css.jq.playBar.length&&(this.options.smoothPlayBar?this.css.jq.playBar.stop().animate({width:this.status.currentPercentAbsolute+"%"},250,"linear"):this.css.jq.playBar.width(this.status.currentPercentRelative+"%"));var a="";this.css.jq.currentTime.length&&(a=this._convertTime(this.status.currentTime),a!==this.css.jq.currentTime.text()&&this.css.jq.currentTime.text(this._convertTime(this.status.currentTime)));var b="",c=this.status.duration,d=this.status.remaining;this.css.jq.duration.length&&("string"==typeof this.status.media.duration?b=this.status.media.duration:("number"==typeof this.status.media.duration&&(c=this.status.media.duration,d=c-this.status.currentTime),b=this.options.remainingDuration?(d>0?"-":"")+this._convertTime(d):this._convertTime(c)),b!==this.css.jq.duration.text()&&this.css.jq.duration.text(b))},_convertTime:c.prototype.time,_seeking:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.addClass("jp-seeking-bg"),this.addStateClass("seeking")},_seeked:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.removeClass("jp-seeking-bg"),this.removeStateClass("seeking")},_resetGate:function(){this.html.audio.gate=!1,this.html.video.gate=!1,this.aurora.gate=!1,this.flash.gate=!1},_resetActive:function(){this.html.active=!1,this.aurora.active=!1,this.flash.active=!1},_escapeHtml:function(a){return a.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")},_qualifyURL:function(a){var b=document.createElement("div");
+return b.innerHTML='x',b.firstChild.href},_absoluteMediaUrls:function(b){var c=this;return a.each(b,function(a,d){d&&c.format[a]&&"data:"!==d.substr(0,5)&&(b[a]=c._qualifyURL(d))}),b},addStateClass:function(a){this.ancestorJq.length&&this.ancestorJq.addClass(this.options.stateClass[a])},removeStateClass:function(a){this.ancestorJq.length&&this.ancestorJq.removeClass(this.options.stateClass[a])},setMedia:function(b){var c=this,d=!1,e=this.status.media.poster!==b.poster;this._resetMedia(),this._resetGate(),this._resetActive(),this.androidFix.setMedia=!1,this.androidFix.play=!1,this.androidFix.pause=!1,b=this._absoluteMediaUrls(b),a.each(this.formats,function(e,f){var g="video"===c.format[f].media;return a.each(c.solutions,function(e,h){if(c[h].support[f]&&c._validString(b[f])){var i="html"===h,j="aurora"===h;return g?(i?(c.html.video.gate=!0,c._html_setVideo(b),c.html.active=!0):(c.flash.gate=!0,c._flash_setVideo(b),c.flash.active=!0),c.css.jq.videoPlay.length&&c.css.jq.videoPlay.show(),c.status.video=!0):(i?(c.html.audio.gate=!0,c._html_setAudio(b),c.html.active=!0,a.jPlayer.platform.android&&(c.androidFix.setMedia=!0)):j?(c.aurora.gate=!0,c._aurora_setAudio(b),c.aurora.active=!0):(c.flash.gate=!0,c._flash_setAudio(b),c.flash.active=!0),c.css.jq.videoPlay.length&&c.css.jq.videoPlay.hide(),c.status.video=!1),d=!0,!1}}),d?!1:void 0}),d?(this.status.nativeVideoControls&&this.html.video.gate||this._validString(b.poster)&&(e?this.htmlElement.poster.src=b.poster:this.internal.poster.jq.show()),"string"==typeof b.title&&(this.css.jq.title.length&&this.css.jq.title.html(b.title),this.htmlElement.audio&&this.htmlElement.audio.setAttribute("title",b.title),this.htmlElement.video&&this.htmlElement.video.setAttribute("title",b.title)),this.status.srcSet=!0,this.status.media=a.extend({},b),this._updateButtons(!1),this._updateInterface(),this._trigger(a.jPlayer.event.setmedia)):this._error({type:a.jPlayer.error.NO_SUPPORT,context:"{supplied:'"+this.options.supplied+"'}",message:a.jPlayer.errorMsg.NO_SUPPORT,hint:a.jPlayer.errorHint.NO_SUPPORT})},_resetMedia:function(){this._resetStatus(),this._updateButtons(!1),this._updateInterface(),this._seeked(),this.internal.poster.jq.hide(),clearTimeout(this.internal.htmlDlyCmdId),this.html.active?this._html_resetMedia():this.aurora.active?this._aurora_resetMedia():this.flash.active&&this._flash_resetMedia()},clearMedia:function(){this._resetMedia(),this.html.active?this._html_clearMedia():this.aurora.active?this._aurora_clearMedia():this.flash.active&&this._flash_clearMedia(),this._resetGate(),this._resetActive()},load:function(){this.status.srcSet?this.html.active?this._html_load():this.aurora.active?this._aurora_load():this.flash.active&&this._flash_load():this._urlNotSetError("load")},focus:function(){this.options.keyEnabled&&(a.jPlayer.focus=this)},play:function(a){var b="object"==typeof a;b&&this.options.useStateClassSkin&&!this.status.paused?this.pause(a):(a="number"==typeof a?a:0/0,this.status.srcSet?(this.focus(),this.html.active?this._html_play(a):this.aurora.active?this._aurora_play(a):this.flash.active&&this._flash_play(a)):this._urlNotSetError("play"))},videoPlay:function(){this.play()},pause:function(a){a="number"==typeof a?a:0/0,this.status.srcSet?this.html.active?this._html_pause(a):this.aurora.active?this._aurora_pause(a):this.flash.active&&this._flash_pause(a):this._urlNotSetError("pause")},tellOthers:function(b,c){var d=this,e="function"==typeof c,f=Array.prototype.slice.call(arguments);"string"==typeof b&&(e&&f.splice(1,1),a.jPlayer.prototype.destroyRemoved(),a.each(this.instances,function(){d.element!==this&&(!e||c.call(this.data("jPlayer"),d))&&this.jPlayer.apply(this,f)}))},pauseOthers:function(a){this.tellOthers("pause",function(){return this.status.srcSet},a)},stop:function(){this.status.srcSet?this.html.active?this._html_pause(0):this.aurora.active?this._aurora_pause(0):this.flash.active&&this._flash_pause(0):this._urlNotSetError("stop")},playHead:function(a){a=this._limitValue(a,0,100),this.status.srcSet?this.html.active?this._html_playHead(a):this.aurora.active?this._aurora_playHead(a):this.flash.active&&this._flash_playHead(a):this._urlNotSetError("playHead")},_muted:function(a){this.mutedWorker(a),this.options.globalVolume&&this.tellOthers("mutedWorker",function(){return this.options.globalVolume},a)},mutedWorker:function(b){this.options.muted=b,this.html.used&&this._html_setProperty("muted",b),this.aurora.used&&this._aurora_mute(b),this.flash.used&&this._flash_mute(b),this.html.video.gate||this.html.audio.gate||(this._updateMute(b),this._updateVolume(this.options.volume),this._trigger(a.jPlayer.event.volumechange))},mute:function(a){var c="object"==typeof a;c&&this.options.useStateClassSkin&&this.options.muted?this._muted(!1):(a=a===b?!0:!!a,this._muted(a))},unmute:function(a){a=a===b?!0:!!a,this._muted(!a)},_updateMute:function(a){a===b&&(a=this.options.muted),a?this.addStateClass("muted"):this.removeStateClass("muted"),this.css.jq.mute.length&&this.css.jq.unmute.length&&(this.status.noVolume?(this.css.jq.mute.hide(),this.css.jq.unmute.hide()):a?(this.css.jq.mute.hide(),this.css.jq.unmute.show()):(this.css.jq.mute.show(),this.css.jq.unmute.hide()))},volume:function(a){this.volumeWorker(a),this.options.globalVolume&&this.tellOthers("volumeWorker",function(){return this.options.globalVolume},a)},volumeWorker:function(b){b=this._limitValue(b,0,1),this.options.volume=b,this.html.used&&this._html_setProperty("volume",b),this.aurora.used&&this._aurora_volume(b),this.flash.used&&this._flash_volume(b),this.html.video.gate||this.html.audio.gate||(this._updateVolume(b),this._trigger(a.jPlayer.event.volumechange))},volumeBar:function(b){if(this.css.jq.volumeBar.length){var c=a(b.currentTarget),d=c.offset(),e=b.pageX-d.left,f=c.width(),g=c.height()-b.pageY+d.top,h=c.height();this.volume(this.options.verticalVolume?g/h:e/f)}this.options.muted&&this._muted(!1)},_updateVolume:function(a){a===b&&(a=this.options.volume),a=this.options.muted?0:a,this.status.noVolume?(this.addStateClass("noVolume"),this.css.jq.volumeBar.length&&this.css.jq.volumeBar.hide(),this.css.jq.volumeBarValue.length&&this.css.jq.volumeBarValue.hide(),this.css.jq.volumeMax.length&&this.css.jq.volumeMax.hide()):(this.removeStateClass("noVolume"),this.css.jq.volumeBar.length&&this.css.jq.volumeBar.show(),this.css.jq.volumeBarValue.length&&(this.css.jq.volumeBarValue.show(),this.css.jq.volumeBarValue[this.options.verticalVolume?"height":"width"](100*a+"%")),this.css.jq.volumeMax.length&&this.css.jq.volumeMax.show())},volumeMax:function(){this.volume(1),this.options.muted&&this._muted(!1)},_cssSelectorAncestor:function(b){var c=this;this.options.cssSelectorAncestor=b,this._removeUiClass(),this.ancestorJq=b?a(b):[],b&&1!==this.ancestorJq.length&&this._warning({type:a.jPlayer.warning.CSS_SELECTOR_COUNT,context:b,message:a.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.ancestorJq.length+" found for cssSelectorAncestor.",hint:a.jPlayer.warningHint.CSS_SELECTOR_COUNT}),this._addUiClass(),a.each(this.options.cssSelector,function(a,b){c._cssSelector(a,b)}),this._updateInterface(),this._updateButtons(),this._updateAutohide(),this._updateVolume(),this._updateMute()},_cssSelector:function(b,c){var d=this;if("string"==typeof c)if(a.jPlayer.prototype.options.cssSelector[b]){if(this.css.jq[b]&&this.css.jq[b].length&&this.css.jq[b].unbind(".jPlayer"),this.options.cssSelector[b]=c,this.css.cs[b]=this.options.cssSelectorAncestor+" "+c,this.css.jq[b]=c?a(this.css.cs[b]):[],this.css.jq[b].length&&this[b]){var e=function(c){c.preventDefault(),d[b](c),d.options.autoBlur?a(this).blur():a(this).focus()};this.css.jq[b].bind("click.jPlayer",e)}c&&1!==this.css.jq[b].length&&this._warning({type:a.jPlayer.warning.CSS_SELECTOR_COUNT,context:this.css.cs[b],message:a.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.css.jq[b].length+" found for "+b+" method.",hint:a.jPlayer.warningHint.CSS_SELECTOR_COUNT})}else this._warning({type:a.jPlayer.warning.CSS_SELECTOR_METHOD,context:b,message:a.jPlayer.warningMsg.CSS_SELECTOR_METHOD,hint:a.jPlayer.warningHint.CSS_SELECTOR_METHOD});else this._warning({type:a.jPlayer.warning.CSS_SELECTOR_STRING,context:c,message:a.jPlayer.warningMsg.CSS_SELECTOR_STRING,hint:a.jPlayer.warningHint.CSS_SELECTOR_STRING})},duration:function(a){this.options.toggleDuration&&(this.options.captureDuration&&a.stopPropagation(),this._setOption("remainingDuration",!this.options.remainingDuration))},seekBar:function(b){if(this.css.jq.seekBar.length){var c=a(b.currentTarget),d=c.offset(),e=b.pageX-d.left,f=c.width(),g=100*e/f;this.playHead(g)}},playbackRate:function(a){this._setOption("playbackRate",a)},playbackRateBar:function(b){if(this.css.jq.playbackRateBar.length){var c,d,e=a(b.currentTarget),f=e.offset(),g=b.pageX-f.left,h=e.width(),i=e.height()-b.pageY+f.top,j=e.height();c=this.options.verticalPlaybackRate?i/j:g/h,d=c*(this.options.maxPlaybackRate-this.options.minPlaybackRate)+this.options.minPlaybackRate,this.playbackRate(d)}},_updatePlaybackRate:function(){var a=this.options.playbackRate,b=(a-this.options.minPlaybackRate)/(this.options.maxPlaybackRate-this.options.minPlaybackRate);this.status.playbackRateEnabled?(this.css.jq.playbackRateBar.length&&this.css.jq.playbackRateBar.show(),this.css.jq.playbackRateBarValue.length&&(this.css.jq.playbackRateBarValue.show(),this.css.jq.playbackRateBarValue[this.options.verticalPlaybackRate?"height":"width"](100*b+"%"))):(this.css.jq.playbackRateBar.length&&this.css.jq.playbackRateBar.hide(),this.css.jq.playbackRateBarValue.length&&this.css.jq.playbackRateBarValue.hide())},repeat:function(a){var b="object"==typeof a;this._loop(b&&this.options.useStateClassSkin&&this.options.loop?!1:!0)},repeatOff:function(){this._loop(!1)},_loop:function(b){this.options.loop!==b&&(this.options.loop=b,this._updateButtons(),this._trigger(a.jPlayer.event.repeat))},option:function(c,d){var e=c;if(0===arguments.length)return a.extend(!0,{},this.options);if("string"==typeof c){var f=c.split(".");if(d===b){for(var g=a.extend(!0,{},this.options),h=0;h0||Math.floor(d)>0):e=!0,a.internal.mouse={x:b.pageX,y:b.pageY},e&&a.css.jq.gui.fadeIn(a.options.autohide.fadeIn,function(){clearTimeout(a.internal.autohideId),a.internal.autohideId=setTimeout(function(){a.css.jq.gui.fadeOut(a.options.autohide.fadeOut)},a.options.autohide.hold)})};this.css.jq.gui.length&&(this.css.jq.gui.stop(!0,!0),clearTimeout(this.internal.autohideId),delete this.internal.mouse,this.element.unbind(c),this.css.jq.gui.unbind(c),this.status.nativeVideoControls?this.css.jq.gui.hide():this.options.fullWindow&&this.options.autohide.full||!this.options.fullWindow&&this.options.autohide.restored?(this.element.bind(d,e),this.css.jq.gui.bind(d,e),this.css.jq.gui.hide()):this.css.jq.gui.show())},fullScreen:function(a){var b="object"==typeof a;b&&this.options.useStateClassSkin&&this.options.fullScreen?this._setOption("fullScreen",!1):this._setOption("fullScreen",!0)},restoreScreen:function(){this._setOption("fullScreen",!1)},_fullscreenAddEventListeners:function(){var b=this,c=a.jPlayer.nativeFeatures.fullscreen;c.api.fullscreenEnabled&&c.event.fullscreenchange&&("function"!=typeof this.internal.fullscreenchangeHandler&&(this.internal.fullscreenchangeHandler=function(){b._fullscreenchange()}),document.addEventListener(c.event.fullscreenchange,this.internal.fullscreenchangeHandler,!1))},_fullscreenRemoveEventListeners:function(){var b=a.jPlayer.nativeFeatures.fullscreen;this.internal.fullscreenchangeHandler&&document.removeEventListener(b.event.fullscreenchange,this.internal.fullscreenchangeHandler,!1)},_fullscreenchange:function(){this.options.fullScreen&&!a.jPlayer.nativeFeatures.fullscreen.api.fullscreenElement()&&this._setOption("fullScreen",!1)},_requestFullscreen:function(){var b=this.ancestorJq.length?this.ancestorJq[0]:this.element[0],c=a.jPlayer.nativeFeatures.fullscreen;c.used.webkitVideo&&(b=this.htmlElement.video),c.api.fullscreenEnabled&&c.api.requestFullscreen(b)},_exitFullscreen:function(){var b,c=a.jPlayer.nativeFeatures.fullscreen;c.used.webkitVideo&&(b=this.htmlElement.video),c.api.fullscreenEnabled&&c.api.exitFullscreen(b)},_html_initMedia:function(b){var c=a(this.htmlElement.media).empty();a.each(b.track||[],function(a,b){var d=document.createElement("track");d.setAttribute("kind",b.kind?b.kind:""),d.setAttribute("src",b.src?b.src:""),d.setAttribute("srclang",b.srclang?b.srclang:""),d.setAttribute("label",b.label?b.label:""),b.def&&d.setAttribute("default",b.def),c.append(d)}),this.htmlElement.media.src=this.status.src,"none"!==this.options.preload&&this._html_load(),this._trigger(a.jPlayer.event.timeupdate)},_html_setFormat:function(b){var c=this;a.each(this.formats,function(a,d){return c.html.support[d]&&b[d]?(c.status.src=b[d],c.status.format[d]=!0,c.status.formatType=d,!1):void 0})},_html_setAudio:function(a){this._html_setFormat(a),this.htmlElement.media=this.htmlElement.audio,this._html_initMedia(a)},_html_setVideo:function(a){this._html_setFormat(a),this.status.nativeVideoControls&&(this.htmlElement.video.poster=this._validString(a.poster)?a.poster:""),this.htmlElement.media=this.htmlElement.video,this._html_initMedia(a)},_html_resetMedia:function(){this.htmlElement.media&&(this.htmlElement.media.id!==this.internal.video.id||this.status.nativeVideoControls||this.internal.video.jq.css({width:"0px",height:"0px"}),this.htmlElement.media.pause())},_html_clearMedia:function(){this.htmlElement.media&&(this.htmlElement.media.src="about:blank",this.htmlElement.media.load())},_html_load:function(){this.status.waitForLoad&&(this.status.waitForLoad=!1,this.htmlElement.media.load()),clearTimeout(this.internal.htmlDlyCmdId)},_html_play:function(a){var b=this,c=this.htmlElement.media;if(this.androidFix.pause=!1,this._html_load(),this.androidFix.setMedia)this.androidFix.play=!0,this.androidFix.time=a;else if(isNaN(a))c.play();else{this.internal.cmdsIgnored&&c.play();try{if(c.seekable&&!("object"==typeof c.seekable&&c.seekable.length>0))throw 1;c.currentTime=a,c.play()}catch(d){return void(this.internal.htmlDlyCmdId=setTimeout(function(){b.play(a)},250))}}this._html_checkWaitForPlay()},_html_pause:function(a){var b=this,c=this.htmlElement.media;if(this.androidFix.play=!1,a>0?this._html_load():clearTimeout(this.internal.htmlDlyCmdId),c.pause(),this.androidFix.setMedia)this.androidFix.pause=!0,this.androidFix.time=a;else if(!isNaN(a))try{if(c.seekable&&!("object"==typeof c.seekable&&c.seekable.length>0))throw 1;c.currentTime=a}catch(d){return void(this.internal.htmlDlyCmdId=setTimeout(function(){b.pause(a)},250))}a>0&&this._html_checkWaitForPlay()},_html_playHead:function(a){var b=this,c=this.htmlElement.media;this._html_load();try{if("object"==typeof c.seekable&&c.seekable.length>0)c.currentTime=a*c.seekable.end(c.seekable.length-1)/100;else{if(!(c.duration>0)||isNaN(c.duration))throw"e";c.currentTime=a*c.duration/100}}catch(d){return void(this.internal.htmlDlyCmdId=setTimeout(function(){b.playHead(a)},250))}this.status.waitForLoad||this._html_checkWaitForPlay()},_html_checkWaitForPlay:function(){this.status.waitForPlay&&(this.status.waitForPlay=!1,this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide(),this.status.video&&(this.internal.poster.jq.hide(),this.internal.video.jq.css({width:this.status.width,height:this.status.height})))},_html_setProperty:function(a,b){this.html.audio.available&&(this.htmlElement.audio[a]=b),this.html.video.available&&(this.htmlElement.video[a]=b)},_aurora_setAudio:function(b){var c=this;a.each(this.formats,function(a,d){return c.aurora.support[d]&&b[d]?(c.status.src=b[d],c.status.format[d]=!0,c.status.formatType=d,!1):void 0}),this.aurora.player=new AV.Player.fromURL(this.status.src),this._addAuroraEventListeners(this.aurora.player,this.aurora),"auto"===this.options.preload&&(this._aurora_load(),this.status.waitForLoad=!1)},_aurora_resetMedia:function(){this.aurora.player&&this.aurora.player.stop()},_aurora_clearMedia:function(){},_aurora_load:function(){this.status.waitForLoad&&(this.status.waitForLoad=!1,this.aurora.player.preload())},_aurora_play:function(b){this.status.waitForLoad||isNaN(b)||this.aurora.player.seek(b),this.aurora.player.playing||this.aurora.player.play(),this.status.waitForLoad=!1,this._aurora_checkWaitForPlay(),this._updateButtons(!0),this._trigger(a.jPlayer.event.play)},_aurora_pause:function(b){isNaN(b)||this.aurora.player.seek(1e3*b),this.aurora.player.pause(),b>0&&this._aurora_checkWaitForPlay(),this._updateButtons(!1),this._trigger(a.jPlayer.event.pause)},_aurora_playHead:function(a){this.aurora.player.duration>0&&this.aurora.player.seek(a*this.aurora.player.duration/100),this.status.waitForLoad||this._aurora_checkWaitForPlay()},_aurora_checkWaitForPlay:function(){this.status.waitForPlay&&(this.status.waitForPlay=!1)},_aurora_volume:function(a){this.aurora.player.volume=100*a},_aurora_mute:function(a){a?(this.aurora.properties.lastvolume=this.aurora.player.volume,this.aurora.player.volume=0):this.aurora.player.volume=this.aurora.properties.lastvolume,this.aurora.properties.muted=a},_flash_setAudio:function(b){var c=this;try{a.each(this.formats,function(a,d){if(c.flash.support[d]&&b[d]){switch(d){case"m4a":case"fla":c._getMovie().fl_setAudio_m4a(b[d]);break;case"mp3":c._getMovie().fl_setAudio_mp3(b[d]);break;case"rtmpa":c._getMovie().fl_setAudio_rtmp(b[d])}return c.status.src=b[d],c.status.format[d]=!0,c.status.formatType=d,!1}}),"auto"===this.options.preload&&(this._flash_load(),this.status.waitForLoad=!1)}catch(d){this._flashError(d)}},_flash_setVideo:function(b){var c=this;try{a.each(this.formats,function(a,d){if(c.flash.support[d]&&b[d]){switch(d){case"m4v":case"flv":c._getMovie().fl_setVideo_m4v(b[d]);break;case"rtmpv":c._getMovie().fl_setVideo_rtmp(b[d])}return c.status.src=b[d],c.status.format[d]=!0,c.status.formatType=d,!1}}),"auto"===this.options.preload&&(this._flash_load(),this.status.waitForLoad=!1)}catch(d){this._flashError(d)}},_flash_resetMedia:function(){this.internal.flash.jq.css({width:"0px",height:"0px"}),this._flash_pause(0/0)},_flash_clearMedia:function(){try{this._getMovie().fl_clearMedia()}catch(a){this._flashError(a)}},_flash_load:function(){try{this._getMovie().fl_load()}catch(a){this._flashError(a)}this.status.waitForLoad=!1},_flash_play:function(a){try{this._getMovie().fl_play(a)}catch(b){this._flashError(b)}this.status.waitForLoad=!1,this._flash_checkWaitForPlay()},_flash_pause:function(a){try{this._getMovie().fl_pause(a)}catch(b){this._flashError(b)}a>0&&(this.status.waitForLoad=!1,this._flash_checkWaitForPlay())},_flash_playHead:function(a){try{this._getMovie().fl_play_head(a)}catch(b){this._flashError(b)}this.status.waitForLoad||this._flash_checkWaitForPlay()},_flash_checkWaitForPlay:function(){this.status.waitForPlay&&(this.status.waitForPlay=!1,this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide(),this.status.video&&(this.internal.poster.jq.hide(),this.internal.flash.jq.css({width:this.status.width,height:this.status.height})))},_flash_volume:function(a){try{this._getMovie().fl_volume(a)}catch(b){this._flashError(b)}},_flash_mute:function(a){try{this._getMovie().fl_mute(a)}catch(b){this._flashError(b)}},_getMovie:function(){return document[this.internal.flash.id]},_getFlashPluginVersion:function(){var a,b=0;if(window.ActiveXObject)try{if(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")){var c=a.GetVariable("$version");c&&(c=c.split(" ")[1].split(","),b=parseInt(c[0],10)+"."+parseInt(c[1],10))}}catch(d){}else navigator.plugins&&navigator.mimeTypes.length>0&&(a=navigator.plugins["Shockwave Flash"],a&&(b=navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/,"$1")));return 1*b},_checkForFlash:function(a){var b=!1;return this._getFlashPluginVersion()>=a&&(b=!0),b},_validString:function(a){return a&&"string"==typeof a},_limitValue:function(a,b,c){return b>a?b:a>c?c:a},_urlNotSetError:function(b){this._error({type:a.jPlayer.error.URL_NOT_SET,context:b,message:a.jPlayer.errorMsg.URL_NOT_SET,hint:a.jPlayer.errorHint.URL_NOT_SET})},_flashError:function(b){var c;c=this.internal.ready?"FLASH_DISABLED":"FLASH",this._error({type:a.jPlayer.error[c],context:this.internal.flash.swf,message:a.jPlayer.errorMsg[c]+b.message,hint:a.jPlayer.errorHint[c]}),this.internal.flash.jq.css({width:"1px",height:"1px"})},_error:function(b){this._trigger(a.jPlayer.event.error,b),this.options.errorAlerts&&this._alert("Error!"+(b.message?"\n"+b.message:"")+(b.hint?"\n"+b.hint:"")+"\nContext: "+b.context)},_warning:function(c){this._trigger(a.jPlayer.event.warning,b,c),this.options.warningAlerts&&this._alert("Warning!"+(c.message?"\n"+c.message:"")+(c.hint?"\n"+c.hint:"")+"\nContext: "+c.context)},_alert:function(a){var b="jPlayer "+this.version.script+" : id='"+this.internal.self.id+"' : "+a;this.options.consoleAlerts?window.console&&window.console.log&&window.console.log(b):alert(b)},_emulateHtmlBridge:function(){var b=this;a.each(a.jPlayer.emulateMethods.split(/\s+/g),function(a,c){b.internal.domNode[c]=function(a){b[c](a)}}),a.each(a.jPlayer.event,function(c,d){var e=!0;a.each(a.jPlayer.reservedEvent.split(/\s+/g),function(a,b){return b===c?(e=!1,!1):void 0}),e&&b.element.bind(d+".jPlayer.jPlayerHtml",function(){b._emulateHtmlUpdate();var a=document.createEvent("Event");a.initEvent(c,!1,!0),b.internal.domNode.dispatchEvent(a)})})},_emulateHtmlUpdate:function(){var b=this;a.each(a.jPlayer.emulateStatus.split(/\s+/g),function(a,c){b.internal.domNode[c]=b.status[c]}),a.each(a.jPlayer.emulateOptions.split(/\s+/g),function(a,c){b.internal.domNode[c]=b.options[c]})},_destroyHtmlBridge:function(){var b=this;this.element.unbind(".jPlayerHtml");var c=a.jPlayer.emulateMethods+" "+a.jPlayer.emulateStatus+" "+a.jPlayer.emulateOptions;a.each(c.split(/\s+/g),function(a,c){delete b.internal.domNode[c]})}},a.jPlayer.error={FLASH:"e_flash",FLASH_DISABLED:"e_flash_disabled",NO_SOLUTION:"e_no_solution",NO_SUPPORT:"e_no_support",URL:"e_url",URL_NOT_SET:"e_url_not_set",VERSION:"e_version"},a.jPlayer.errorMsg={FLASH:"jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ",FLASH_DISABLED:"jPlayer's Flash fallback has been disabled by the browser due to the CSS rules you have used. Details: ",NO_SOLUTION:"No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.",NO_SUPPORT:"It is not possible to play any media format provided in setMedia() on this browser using your current options.",URL:"Media URL could not be loaded.",URL_NOT_SET:"Attempt to issue media playback commands, while no media url is set.",VERSION:"jPlayer "+a.jPlayer.prototype.version.script+" needs Jplayer.swf version "+a.jPlayer.prototype.version.needFlash+" but found "},a.jPlayer.errorHint={FLASH:"Check your swfPath option and that Jplayer.swf is there.",FLASH_DISABLED:"Check that you have not display:none; the jPlayer entity or any ancestor.",NO_SOLUTION:"Review the jPlayer options: support and supplied.",NO_SUPPORT:"Video or audio formats defined in the supplied option are missing.",URL:"Check media URL is valid.",URL_NOT_SET:"Use setMedia() to set the media URL.",VERSION:"Update jPlayer files."},a.jPlayer.warning={CSS_SELECTOR_COUNT:"e_css_selector_count",CSS_SELECTOR_METHOD:"e_css_selector_method",CSS_SELECTOR_STRING:"e_css_selector_string",OPTION_KEY:"e_option_key"},a.jPlayer.warningMsg={CSS_SELECTOR_COUNT:"The number of css selectors found did not equal one: ",CSS_SELECTOR_METHOD:"The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.",CSS_SELECTOR_STRING:"The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.",OPTION_KEY:"The option requested in jPlayer('option') is undefined."},a.jPlayer.warningHint={CSS_SELECTOR_COUNT:"Check your css selector and the ancestor.",CSS_SELECTOR_METHOD:"Check your method name.",CSS_SELECTOR_STRING:"Check your css selector is a string.",OPTION_KEY:"Check your option name."}});
\ No newline at end of file
diff --git a/js/jquery.jplayer.swf b/js/jquery.jplayer.swf
new file mode 100644
index 0000000..340f7f9
Binary files /dev/null and b/js/jquery.jplayer.swf differ
diff --git a/languages/en_US.mo b/languages/en_US.mo
index 898d63e..a0dcd0b 100644
Binary files a/languages/en_US.mo and b/languages/en_US.mo differ
diff --git a/languages/en_US.po b/languages/en_US.po
index 9516bab..88a61fa 100644
--- a/languages/en_US.po
+++ b/languages/en_US.po
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Hueman\n"
-"POT-Creation-Date: 2013-12-27 14:36+0100\n"
-"PO-Revision-Date: 2013-12-27 14:36+0100\n"
+"POT-Creation-Date: 2015-02-06 15:00+0100\n"
+"PO-Revision-Date: 2015-02-06 15:00+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: English\n"
@@ -37,7 +37,7 @@ msgid "Comments"
msgstr ""
#: ../comments.php:11
-msgid "Track/Pingbacks"
+msgid "Pingbacks"
msgstr ""
#: ../content.php:37
@@ -92,89 +92,93 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: ../functions/widgets/alx-tabs.php:185
+#: ../functions/widgets/alx-tabs.php:187
msgid "says:"
msgstr ""
-#: ../inc/page-title.php:9
+#: ../inc/page-title.php:10
+msgid "Result"
+msgstr ""
+
+#: ../inc/page-title.php:12
msgid "Results"
msgstr ""
-#: ../inc/page-title.php:9
+#: ../inc/page-title.php:15
msgid "for"
msgstr ""
-#: ../inc/page-title.php:14
+#: ../inc/page-title.php:20
msgid "Error 404."
msgstr ""
-#: ../inc/page-title.php:14
+#: ../inc/page-title.php:20
msgid "Page not found!"
msgstr ""
-#: ../inc/page-title.php:19
+#: ../inc/page-title.php:25
msgid "Author:"
msgstr ""
-#: ../inc/page-title.php:22
+#: ../inc/page-title.php:28
msgid "Category:"
msgstr ""
-#: ../inc/page-title.php:30
+#: ../inc/page-title.php:36
msgid "Tagged:"
msgstr ""
-#: ../inc/page-title.php:33
+#: ../inc/page-title.php:39
msgid "Daily Archive:"
msgstr ""
-#: ../inc/page-title.php:36
+#: ../inc/page-title.php:42
msgid "Monthly Archive:"
msgstr ""
-#: ../inc/page-title.php:39
+#: ../inc/page-title.php:45
msgid "Yearly Archive:"
msgstr ""
-#: ../inc/page-title.php:42 ../inc/page-title.php:44 ../inc/page-title.php:46
#: ../inc/page-title.php:48 ../inc/page-title.php:50 ../inc/page-title.php:52
#: ../inc/page-title.php:54 ../inc/page-title.php:56 ../inc/page-title.php:58
+#: ../inc/page-title.php:60 ../inc/page-title.php:62 ../inc/page-title.php:64
msgid "Type:"
msgstr ""
-#: ../inc/page-title.php:42
+#: ../inc/page-title.php:48
msgid "Audio"
msgstr ""
-#: ../inc/page-title.php:44
+#: ../inc/page-title.php:50
msgid "Aside"
msgstr ""
-#: ../inc/page-title.php:46
+#: ../inc/page-title.php:52
msgid "Chat"
msgstr ""
-#: ../inc/page-title.php:48
+#: ../inc/page-title.php:54
msgid "Gallery"
msgstr ""
-#: ../inc/page-title.php:50
+#: ../inc/page-title.php:56
msgid "Image"
msgstr ""
-#: ../inc/page-title.php:52
+#: ../inc/page-title.php:58
msgid "Link"
msgstr ""
-#: ../inc/page-title.php:54
+#: ../inc/page-title.php:60
msgid "Quote"
msgstr ""
-#: ../inc/page-title.php:56
+#: ../inc/page-title.php:62
msgid "Status"
msgstr ""
-#: ../inc/page-title.php:58
+#: ../inc/page-title.php:64
msgid "Video"
msgstr ""
diff --git a/option-tree/assets/css/ot-admin-rtl.css b/option-tree/assets/css/ot-admin-rtl.css
new file mode 100644
index 0000000..77d2e01
--- /dev/null
+++ b/option-tree/assets/css/ot-admin-rtl.css
@@ -0,0 +1,635 @@
+/* --------------------------------------------------
+ :: OptionTree Font
+ ---------------------------------------------------*/
+.ui-tabs li > a [class^="ot-icon-"],
+.ui-tabs li > a [class*=" ot-icon-"] {
+ display: block;
+ height: 14px;
+ float: right;
+ padding: 2px 0px 0 9px;
+}
+
+/* --------------------------------------------------
+ :: Messages
+ ---------------------------------------------------*/
+.wrap.settings-wrap div.error,
+.wrap.settings-wrap div.updated {
+ margin: 9px 2px 0px 5px !important;
+}
+
+/* --------------------------------------------------
+ :: OptionTree Wrappers
+ ---------------------------------------------------*/
+#option-tree-settings-api > .ui-tabs {
+ margin: 0px 2px 0 5px;
+ -webkit-box-shadow: inset -146px 0 0 #f1f1f1, inset -147px 0 0 #ccc, 0 1px 3px rgba(0,0,0,0.05);
+ -moz-box-shadow: inset -146px 0 0 #f1f1f1, inset -147px 0 0 #ccc, 0 1px 3px rgba(0,0,0,0.05);
+ box-shadow: inset -146px 0 0 #f1f1f1, inset -147px 0 0 #ccc, 0 1px 3px rgba(0,0,0,0.05);
+}
+
+/* --------------------------------------------------
+ :: Header
+ ---------------------------------------------------*/
+#option-tree-header {
+ margin: 11px 2px 0 5px;
+}
+#option-tree-header li {
+ float: right;
+}
+#option-tree-header #option-tree-logo a {
+ border-right: 0;
+ border-left: 1px solid #333;
+ float: right;
+ padding: 3px 13px 3px 12px;
+}
+#option-tree-header li#option-tree-logo:hover {
+ -webkit-border-top-right-radius: 2px;
+ -moz-border-radius-topright: 2px;
+ border-top-right-radius: 2px;
+}
+#option-tree-header #option-tree-version span,
+#option-tree-header #theme-version span {
+ border-left: 0;
+ border-right: 1px solid #555;
+ float: left;
+}
+#option-tree-header #theme-version:before {
+ border-right: 0;
+ border-left: 1px solid #333;
+ float: right;
+}
+/* light */
+.admin-color-light #option-tree-header #option-tree-logo a,
+.admin-color-light #option-tree-header #theme-version:before {
+ border-left-color: #3c3c3c;
+}
+.admin-color-light #option-tree-header li#option-tree-logo:hover a {
+ border-left-color: #3c3c3c;
+}
+.admin-color-light #option-tree-header #option-tree-version span,
+.admin-color-light #option-tree-header #theme-version span {
+ border-right-color: #999;
+}
+/* blue */
+.admin-color-blue #option-tree-header #option-tree-logo a,
+.admin-color-blue #option-tree-header #theme-version:before {
+ border-left-color: #002b39;
+}
+.admin-color-blue #option-tree-header li#option-tree-logo:hover a {
+ border-left-color: #002b39;
+}
+.admin-color-blue #option-tree-header #option-tree-version span,
+.admin-color-blue #option-tree-header #theme-version span {
+ border-right-color: #5dc2e6;
+}
+/* coffee */
+.admin-color-coffee #option-tree-header #option-tree-logo a,
+.admin-color-coffee #option-tree-header #theme-version:before {
+ border-left-color: #0f0e0d;
+}
+.admin-color-coffee #option-tree-header li#option-tree-logo:hover a {
+ border-left-color: #0f0e0d;
+}
+.admin-color-coffee #option-tree-header #option-tree-version span,
+.admin-color-coffee #option-tree-header #theme-version span {
+ border-right-color: #675f58;
+}
+/* ectoplasm */
+.admin-color-ectoplasm #option-tree-header #option-tree-logo a,
+.admin-color-ectoplasm #option-tree-header #theme-version:before {
+ border-left-color: #181220;
+}
+.admin-color-ectoplasm #option-tree-header li#option-tree-logo:hover a {
+ border-left-color: #181220;
+}
+.admin-color-ectoplasm #option-tree-header #option-tree-version span,
+.admin-color-ectoplasm #option-tree-header #theme-version span {
+ border-right-color: #644d85;
+}
+/* midnight */
+.admin-color-midnight #option-tree-header #option-tree-logo a,
+.admin-color-midnight #option-tree-header #theme-version:before {
+ border-left-color: #090a0b;
+}
+.admin-color-midnight #option-tree-header li#option-tree-logo:hover a {
+ border-left-color: #090a0b;
+}
+.admin-color-midnight #option-tree-header #option-tree-version span,
+.admin-color-midnight #option-tree-header #theme-version span {
+ border-right-color: #4c5359;
+}
+/* ocean */
+.admin-color-ocean #option-tree-header #option-tree-logo a,
+.admin-color-ocean #option-tree-header #theme-version:before {
+ border-left-color: #39464a;
+}
+.admin-color-ocean #option-tree-header li#option-tree-logo:hover a {
+ border-left-color: #39464a;
+}
+.admin-color-ocean #option-tree-header #option-tree-version span,
+.admin-color-ocean #option-tree-header #theme-version span {
+ border-right-color: #87a6af;
+}
+/* sunrise */
+.admin-color-sunrise #option-tree-header #option-tree-logo a,
+.admin-color-sunrise #option-tree-header #theme-version:before {
+ border-left-color: #8a322a;
+}
+.admin-color-sunrise #option-tree-header li#option-tree-logo:hover a {
+ border-left-color: #8a322a;
+}
+.admin-color-sunrise #option-tree-header #option-tree-version span,
+.admin-color-sunrise #option-tree-header #theme-version span {
+ border-right-color: #e75546;
+}
+
+/* --------------------------------------------------
+ :: Sub Header
+ ---------------------------------------------------*/
+#option-tree-sub-header {
+ margin: 0 2px 0 5px;
+}
+
+/* --------------------------------------------------
+ :: Tabs
+ ---------------------------------------------------*/
+.wrap.settings-wrap .ui-tabs-nav {
+ float: right;
+ margin: 0 -4px 0 0;
+}
+.wrap.settings-wrap .ui-tabs-nav li {
+ border-left-width: 0;
+ border-right-width: 1px;
+ -webkit-border-radius: 0 2px 2px 0;
+ -moz-border-radius: 0 2px 2px 0;
+ border-radius: 0 2px 2px 0;
+}
+.wrap.settings-wrap .ui-tabs-nav li a {
+ padding: 5px 12px 5px 5px;
+}
+
+/* --------------------------------------------------
+ :: Format Setting
+ ---------------------------------------------------*/
+.format-setting .format-setting-inner {
+ float: right;
+}
+.format-setting .description {
+ float: left;
+}
+#post .format-setting-inner p {
+ float: right;
+}
+.docs-ul li {
+ margin-left: 0;
+ margin-right: 20px;
+}
+#contextual-help-setting {
+ float: right;
+}
+#contextual-help-label {
+ float: right;
+}
+#option_tree_settings_help {
+ float: right;
+}
+#option-tree-settings-api blockquote {
+ padding-left: 0;
+ padding-right: 15px;
+}
+#option-tree-settings-api blockquote:before {
+ left: auto;
+ right: -10px;
+ top: 10px;
+}
+
+/* --------------------------------------------------
+ :: Input & Upload
+ ---------------------------------------------------*/
+input.option-tree-ui-upload-input,
+input.option-tree-ui-input {
+ -moz-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ -webkit-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+}
+.option-tree-sortable input.option-tree-ui-upload-input,
+.option-tree-sortable input.option-tree-ui-input {
+ width: 99.9%; /* fixes a strange bug with input with */
+}
+
+/* --------------------------------------------------
+ :: Upload
+ ---------------------------------------------------*/
+div.option-tree-ui-media-wrap {
+ margin: 5px 0 0 55px;
+}
+.option-tree-ui-media-wrap img {
+ float: right;
+}
+.option-tree-ui-upload-parent {
+ margin-right: 0;
+ margin-left: 45px;
+}
+.format-setting .ot_upload_media {
+ right: auto;
+ left: -45px;
+}
+.option-tree-ui-media-wrap a.option-tree-ui-remove-media {
+ right: auto;
+ left: -55px;
+}
+
+/* --------------------------------------------------
+ :: Setting Item with Drag & Drop
+ ---------------------------------------------------*/
+.option-tree-setting .open {
+ padding: 10px 10px 10px 100px;
+}
+.option-tree-setting .open:hover:before {
+ left: auto;
+ right: 4px;
+}
+.button-section {
+ right: auto;
+ left: 0px;
+}
+
+/* --------------------------------------------------
+ :: Layouts
+ ---------------------------------------------------*/
+#option-tree-options-layouts-form {
+ left: auto;
+ right: 13px;
+}
+.option-tree-save-layout {
+ float: right;
+}
+.option-tree-save-layout.active-layout {
+ border-left: 0;
+ border-right: 1px solid #fff;
+ padding-left: 0;
+ padding-right: 9px;
+}
+.option-tree-save-layout .widefat {
+ float: right;
+}
+.option-tree-save-layout button.blue {
+ margin: 0 10px 0 0;
+}
+.option-tree-active-layout {
+ border-right: 0;
+ border-left: 1px solid #ccc;
+ float: right;
+ padding: 10px 0 10px 10px;
+}
+.button.save-layout {
+ margin: 0 10px 0 0 !important;
+}
+
+/* --------------------------------------------------
+ :: Option Group
+ ---------------------------------------------------*/
+.ot-option-group {
+ float: right;
+ padding-right: 0px;
+ padding-left: 5px;
+}
+.ot-option-group--is-last {
+ padding-left: 0;
+}
+.ot-option-group--icon {
+ border-left: 1px solid #ccc;
+ border-right: 0px;
+ left: auto;
+ right: 1px;
+}
+.ot-option-group--icon + input.option-tree-ui-input {
+ padding-left: 5px !important;
+ padding-right: 34px !important;
+ margin-left: 5px;
+ margin-right: 0px;
+}
+.ot-option-group--checkbox {
+ float: right;
+ padding-right: 0px;
+ padding-left: 10px;
+}
+#post-body .ot-option-group--checkbox p {
+ float: right;
+}
+
+/* --------------------------------------------------
+ :: Select
+ ---------------------------------------------------*/
+.select-wrapper {
+ background: #fff url(../images/ot-select-rtl.png) no-repeat left center;
+ float: right;
+ margin: 0 0 5px 5px;
+ -moz-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ -webkit-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+}
+.select-wrapper:hover {
+ background-image: url(../images/ot-select-hover-rtl.png);
+}
+.select-wrapper span {
+ padding-left: 27px;
+ padding-right: 7px;
+}
+.type-measurement .select-wrapper {
+ margin-left: 0;
+ right: auto;
+ left: 0px;
+}
+/* FireFox */
+@-moz-document url-prefix() {
+ #option-tree-options-layouts-form .select-wrapper {
+ left: auto;
+ right: 250px;
+ };
+}
+
+/* --------------------------------------------------
+ :: Measurement
+ ---------------------------------------------------*/
+.option-tree-ui-measurement-input-wrap {
+ margin-right: 0;
+ margin-left: 80px;
+}
+
+/* --------------------------------------------------
+ :: Checkbox & Radio
+ ---------------------------------------------------*/
+.format-setting.type-checkbox input,
+.format-setting.type-radio input {
+ float: right;
+ margin: 2px 1px 0 5px;
+}
+.format-setting.type-checkbox label,
+.format-setting.type-radio label {
+ float: right;
+}
+#option-tree-settings-api .format-setting.type-checkbox p,
+#option-tree-settings-api .format-setting.type-radio p {
+ float: right;
+}
+
+/* --------------------------------------------------
+ :: Radio Images
+ ---------------------------------------------------*/
+.type-radio-image .option-tree-ui-radio-images {
+ float: right;
+ margin: 0 0px 10px 10px;
+}
+
+/* --------------------------------------------------
+ :: Numeric Slider
+ ---------------------------------------------------*/
+.ot-numeric-slider-wrap {
+ margin: 0 0 0 96px;
+}
+.ot-numeric-slider-wrap .ot-numeric-slider-helper-input {
+ right: auto;
+ left: 5px;
+}
+.ot-numeric-slider.ui-slider {
+ -webkit-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+}
+
+/* --------------------------------------------------
+ :: Colorpicker
+ ---------------------------------------------------*/
+.option-tree-ui-colorpicker-input-wrap {
+ float: right;
+}
+.option-tree-ui-colorpicker-input-wrap .option-tree-ui-colorpicker-label {
+ margin-left: 10px;
+ margin-right: 0px;
+}
+.type-link-color .option-tree-ui-colorpicker-input-wrap {
+ margin-left: 20px;
+ margin-right: 0px;
+}
+.option-tree-ui-colorpicker-input-wrap .wp-color-result {
+ margin: 0px 0px 5px 5px;
+}
+.option-tree-ui-colorpicker-input-wrap .wp-picker-container .iris-picker {
+ margin: 0px 0px 5px 5px;
+}
+
+/* --------------------------------------------------
+ :: Google Font
+ ---------------------------------------------------*/
+.js-remove-google-font.option-tree-ui-button.button {
+ margin-left: 5px;
+ margin-right: 0;
+ margin-top: 0;
+}
+
+/* --------------------------------------------------
+ :: OptionTree UI Buttons
+ ---------------------------------------------------*/
+.option-tree-ui-button {
+ float: right !important;
+}
+.option-tree-ui-button.right {
+ float: left !important;
+}
+.option-tree-ui-button.hug-left {
+ margin-right: 0px;
+}
+.option-tree-ui-button.hug-right {
+ margin-left: 0px;
+}
+.option-tree-ui-button.left-item {
+ float: right !important;
+ margin: 5px 5px 5px 0;
+ -webkit-border-radius: 0px 2px 2px 0px;
+ -moz-border-radius: 0px 2px 2px 0px;
+ border-radius: 0px 2px 2px 0px;
+}
+.option-tree-ui-button.center-item {
+ margin: 5px -1px 5px 0;
+}
+.option-tree-ui-button.right-item {
+ float: left !important;
+ margin: 5px -1px 5px 5px;
+ -webkit-border-radius: 2px 0px 0px 2px;
+ -moz-border-radius: 2px 0px 0px 2px;
+ border-radius: 2px 0px 0px 2px;
+}
+.option-tree-ui-buttons {
+ margin: 11px 2px 0 5px;
+}
+button.reset-settings {
+ left: auto;
+ right: 8px;
+}
+
+/* --------------------------------------------------
+ :: OptionTree UI Button Icons
+ ---------------------------------------------------*/
+.option-tree-ui-button .icon {
+ float: right;
+ text-indent: 0;
+}
+.option-tree-ui-button .icon.left-label {
+ margin-left: 10px;
+ float: left;
+}
+
+/* --------------------------------------------------
+ :: Gallery
+ ---------------------------------------------------*/
+ul.ot-gallery-list {
+ float: right;
+}
+ul.ot-gallery-list li {
+ float: right;
+ margin: 0px 0 10px 10px;
+}
+.ot-gallery-buttons {
+ float: right;
+}
+
+/* --------------------------------------------------
+ :: Google Fonts
+ ---------------------------------------------------*/
+.option-tree-google-font-family,
+.option-tree-google-font-variants,
+.option-tree-google-font-subsets,
+#option-tree-settings-api p.checkbox-wrap,
+#post-body .ot-metabox-panels p.checkbox-wrap {
+ float: right;
+}
+
+/* --------------------------------------------------
+ :: On/Off Switch
+ ---------------------------------------------------*/
+@media only screen {
+ .on-off-switch {
+ -webkit-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.05);
+ }
+ .on-off-switch label {
+ float: right;
+ }
+ .on-off-switch .slide-button {
+ left: auto;
+ right: -1px;
+ }
+ .on-off-switch input:last-of-type:checked ~ .slide-button {
+ left: auto;
+ right: 50%;
+ }
+}
+
+/* --------------------------------------------------
+ :: Date Picker
+ ---------------------------------------------------*/
+.ui-datepicker {
+ direction: rtl;
+}
+.ui-datepicker .ui-widget-header {
+ left: auto;
+ right: -1px;
+}
+.ui-datepicker-prev:before {
+ border-right: 0px;
+ border-left: 1px solid #555;
+ content: "\f105";
+ float: left;
+ width: 31px;
+ height: 30px;
+}
+.ui-datepicker-prev {
+ border-right: 0px;
+ border-left: 1px solid #333;
+ float: right;
+ width: 31px;
+}
+.ui-datepicker-next:before {
+ border-left: 0px;
+ border-right: 1px solid #333;
+ content: "\f104";
+ float: right;
+ width: 30px;
+ height: 30px;
+}
+.ui-datepicker-next {
+ border-left: 0px;
+ border-right: 1px solid #555;
+ float: left;
+ width: 30px;
+}
+.ui-datepicker thead th:last-child {
+ border-left: 1px solid #ccc;
+}
+.ui-datepicker tbody td {
+ border-left: 1px solid #ccc;
+}
+.ui-datepicker tbody td:first-child {
+ border-left: 0px;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+ float: left;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+ float: right;
+}
+@-moz-document url-prefix() {
+ .ui-datepicker-calendar {
+ position: relative;
+ right: -1px;
+ }
+ .ui-datepicker-calendar thead {
+ border-right: 1px solid #ccc;
+ }
+}
+
+/* --------------------------------------------------
+ :: Time Picker
+ ---------------------------------------------------*/
+.ui-timepicker-div {
+ direction: rtl;
+}
+.ui-timepicker-div dl {
+ text-align: right;
+ padding: 0 5px 0 0;
+}
+.ui-timepicker-div dl dt {
+ float: right;
+ clear: right;
+}
+.ui-timepicker-div dl dd {
+ margin: 0 45% 10px 10px;
+}
+
+/* --------------------------------------------------
+ :: Meta Box Tabs
+ ---------------------------------------------------*/
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav {
+ float: right;
+ margin: 0 0 0 -1px;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li {
+ border-width: 1px 1px 1px 0px;
+ -webkit-border-radius: 0 0 2px 2px;
+ -moz-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li a {
+ padding: 5px 12px 5px 5px;
+}
+
+/* --------------------------------------------------
+ :: Theme Option & Side Metabox Tabs
+ ---------------------------------------------------*/
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav li.ui-state-default,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-default {
+ float: right;
+ margin: 0 3px 0 0;
+}
\ No newline at end of file
diff --git a/option-tree/assets/css/ot-admin.css b/option-tree/assets/css/ot-admin.css
index 9781bb2..6916a4f 100644
--- a/option-tree/assets/css/ot-admin.css
+++ b/option-tree/assets/css/ot-admin.css
@@ -1,6 +1,17 @@
/* --------------------------------------------------
:: OptionTree Font
---------------------------------------------------*/
+@font-face {
+ font-family: "option-tree-font";
+ src:url("../fonts/option-tree-font.eot");
+ src:url("../fonts/option-tree-font.eot?#iefix") format("embedded-opentype"),
+ url("../fonts/option-tree-font.woff") format("woff"),
+ url("../fonts/option-tree-font.ttf") format("truetype"),
+ url("../fonts/option-tree-font.svg#option-tree-font") format("svg");
+ font-weight: normal;
+ font-style: normal;
+}
+
[class^="ot-icon-"],
[class*=" ot-icon-"] {
font-family: "option-tree-font";
@@ -13,1531 +24,3938 @@
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
-.ot-icon-long-arrow-down:before {
- content: "\e770";
+
+.ui-tabs li > a [class^="ot-icon-"],
+.ui-tabs li > a [class*=" ot-icon-"] {
+ padding-right: 5px;
+ line-height: 18px;
+ vertical-align: middle;
}
-.ot-icon-long-arrow-up:before {
- content: "\e771";
+
+.ot-icon-option-tree:before {
+ content: "\e785";
}
-.ot-icon-long-arrow-left:before {
- content: "\e772";
+.ot-icon-glass:before {
+ content: "\f000";
}
-.ot-icon-long-arrow-right:before {
- content: "\e773";
+.ot-icon-music:before {
+ content: "\f001";
}
-.ot-icon-angle-right:before {
- content: "\e774";
+.ot-icon-search:before {
+ content: "\f002";
}
-.ot-icon-angle-left:before {
- content: "\e775";
+.ot-icon-envelope-o:before {
+ content: "\f003";
}
-.ot-icon-angle-up:before {
- content: "\e776";
+.ot-icon-heart:before {
+ content: "\f004";
}
-.ot-icon-angle-down:before {
- content: "\e777";
+.ot-icon-star:before {
+ content: "\f005";
}
-.ot-icon-resize-vertical:before {
- content: "\e778";
+.ot-icon-star-o:before {
+ content: "\f006";
}
-.ot-icon-resize-horizontal:before {
- content: "\e779";
+.ot-icon-user:before {
+ content: "\f007";
}
-.ot-icon-fullscreen:before {
- content: "\e780";
+.ot-icon-film:before {
+ content: "\f008";
}
-.ot-icon-plus-sign:before {
- content: "\e781";
+.ot-icon-th-large:before {
+ content: "\f009";
}
-.ot-icon-minus-sign:before {
- content: "\e782";
+.ot-icon-th:before {
+ content: "\f00a";
}
-.ot-icon-ok-sign:before {
- content: "\e783";
+.ot-icon-th-list:before {
+ content: "\f00b";
}
-.ot-icon-circle:before {
- content: "\e784";
+.ot-icon-check:before {
+ content: "\f00c";
}
-.ot-icon-option-tree:before {
- content: "\e785";
+.ot-icon-times:before {
+ content: "\f00d";
}
-
-/* --------------------------------------------------
- :: Screen Meta & Menu Icon
- ---------------------------------------------------*/
-.appearance_page_ot-theme-options #screen-meta {
- margin-right: 20px;
- margin-left: 2px;
- min-width: 533px;
+.ot-icon-search-plus:before {
+ content: "\f00e";
}
-
-/* --------------------------------------------------
- :: Messages
- ---------------------------------------------------*/
-.wrap.settings-wrap div.error,
-.wrap.settings-wrap div.updated {
- margin: 9px 5px 0px 2px !important;
+.ot-icon-search-minus:before {
+ content: "\f010";
}
-
-/* --------------------------------------------------
- :: OptionTree Wrappers
- ---------------------------------------------------*/
-#option-tree-settings-api .metabox-holder {
- overflow: hidden;
+.ot-icon-power-off:before {
+ content: "\f011";
}
-#option-tree-settings-api .postbox {
- background: #fff;
- border: none;
- margin: 0 20px;
+.ot-icon-signal:before {
+ content: "\f012";
}
-#option-tree-settings-api .inside {
- margin: 0px !important;
- padding: 0px !important;
+.ot-icon-gear:before {
+ content: "\f013";
}
-#option-tree-settings-api .ui-tabs {
- background: #fff url(../images/ot-menu-bg.png) repeat-y 0 0;
- border: 1px solid #ccc;
- border-top: none;
- margin: 0px 5px 0 2px;
- min-width: 533px;
- padding-bottom: 5px;
- position: relative;
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- -webkit-border-radius: 0 0 4px 4px;
- -khtml-border-radius: 0 0 4px 4px;
- -moz-border-radius: 0 0 4px 4px;
- -o-border-radius: 0 0 4px 4px;
- border-radius: 0 0 4px 4px;
+.ot-icon-trash-o:before {
+ content: "\f014";
}
-
-/* --------------------------------------------------
- :: Header
- ---------------------------------------------------*/
-#option-tree-header-wrap {
- position: relative;
+.ot-icon-home:before {
+ content: "\f015";
}
-#option-tree-header {
- background: #464646;
- color: #ccc;
- display: block;
- margin: 11px 5px 0 2px;
- min-width: 535px;
- overflow: hidden;
- position: relative;
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- -webkit-border-radius: 4px 4px 0 0;
- -khtml-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- -o-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
+.ot-icon-file-o:before {
+ content: "\f016";
}
-#option-tree-header li {
- display: block;
- float: left;
- margin: 0px;
- padding: 0px;
+.ot-icon-clock-o:before {
+ content: "\f017";
}
-#option-tree-header li a {
- color: #ccc;
- text-decoration: none;
+.ot-icon-road:before {
+ content: "\f018";
}
-#option-tree-header li a:hover {
- color: #fafafa;
+.ot-icon-download:before {
+ content: "\f019";
}
-#option-tree-header #option-tree-logo a {
- border-right: 1px solid #333;
- float: left;
- height: 24px;
- padding: 3px 12px 3px 13px;
- width: 20px;
+.ot-icon-arrow-circle-o-down:before {
+ content: "\f01a";
}
-#option-tree-header li#option-tree-logo:hover {
- color: #fafafa;
- background-color: #3a3a3a;
- -webkit-border-top-left-radius: 5px;
- -moz-border-radius-topleft: 5px;
- border-top-left-radius: 5px;
+.ot-icon-arrow-circle-o-up:before {
+ content: "\f01b";
}
-#option-tree-header #option-tree-version {
-
+.ot-icon-inbox:before {
+ content: "\f01c";
}
-#option-tree-header #option-tree-version span {
- border-left: 1px solid #555;
- display: block;
- float: left;
- height: 24px;
- line-height: 24px;
- padding: 3px 12px 3px 12px;
+.ot-icon-play-circle-o:before {
+ content: "\f01d";
}
-
-/* --------------------------------------------------
- :: Sub Header
- ---------------------------------------------------*/
-#option-tree-sub-header {
- background: #fafafa url(../images/ot-sub-header-bg.png) repeat-x 0 0;
- border: 1px solid #ccc;
- border-top: none;
- display: block;
- margin: 0 5px 0 2px;
- min-width: 523px;
- overflow: hidden;
- padding: 5px;
- position: relative;
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- box-shadow:0 1px 3px rgba(0,0,0,0.05);
+.ot-icon-rotate-right:before {
+ content: "\f01e";
}
-
-/* --------------------------------------------------
- :: Tabs
- ---------------------------------------------------*/
-.wrap.settings-wrap .ui-tabs-nav {
- background: url(../images/ot-menu-top-bg.png) no-repeat right top;
- float: left;
- list-style: none;
- margin: 0 0 0 -4px;
- padding: 1em 0;
- width: 151px;
+.ot-icon-refresh:before {
+ content: "\f021";
}
-.wrap.settings-wrap .ui-tabs-nav li {
- border: 1px solid transparent;
- border-right-width: 0px;
- display: block; margin: 0;
- -webkit-border-radius: 3px 0 0 3px;
- -khtml-border-radius: 3px 0 0 3px;
- -moz-border-radius: 3px 0 0 3px;
- -o-border-radius: 3px 0 0 3px;
- border-radius: 3px 0 0 3px;
+.ot-icon-list-alt:before {
+ content: "\f022";
}
-.wrap.settings-wrap .ui-tabs-nav li.ui-state-active {
- background: #fff;
- border-color: #ccc;
- color: #000;
+.ot-icon-lock:before {
+ content: "\f023";
}
-.wrap.settings-wrap .ui-tabs-nav li a {
- color: #21759b;
- display: block;
- line-height: 18px;
- padding: 5px 5px 5px 12px;
- text-decoration: none;
+.ot-icon-flag:before {
+ content: "\f024";
}
-.wrap.settings-wrap .ui-tabs-nav li a:hover,
-.wrap.settings-wrap .ui-tabs-nav li.ui-state-active a {
- color: #000;
- outline: none;
+.ot-icon-headphones:before {
+ content: "\f025";
}
-.wrap.settings-wrap .ui-tabs-panel {
- clear: both;
+.ot-icon-volume-off:before {
+ content: "\f026";
}
-/* --------------------------------------------------
- :: Format Settings
- ---------------------------------------------------*/
-.format-settings {
- position: relative;
- width: 100%;
+.ot-icon-volume-down:before {
+ content: "\f027";
}
-.format-setting-wrap {
- padding: 10px 0 20px 0;
+.ot-icon-volume-up:before {
+ content: "\f028";
}
-
-/* --------------------------------------------------
- :: Format Setting Label
- ---------------------------------------------------*/
-.format-setting-label {
- border-bottom: 1px dashed #ddd;
- margin: 0 0 14px 0;
- padding: 5px 0px 1px 0px;
- width: 100%;
+.ot-icon-qrcode:before {
+ content: "\f029";
}
-#option-tree-settings-api .description h3,
-#option-tree-settings-api .format-setting-label .label,
-.metabox-holder .format-setting-label .label {
- background: none;
- border: none;
- color: #333;
- cursor: text;
- display: block;
- font-family: sans-serif !important;
- font-size: 1.2em !important;
- font-weight: bold !important;
- letter-spacing: 0;
- padding: 0 0 9px 0 !important;
- -webkit-user-select: text;
- text-shadow: none;
+.ot-icon-barcode:before {
+ content: "\f02a";
}
-
-/* --------------------------------------------------
- :: Format Setting
- ---------------------------------------------------*/
-.format-setting {
- overflow: hidden;
- position: relative;
- width: 100%;
+.ot-icon-tag:before {
+ content: "\f02b";
}
-.format-setting .format-setting-inner {
- float: left;
- position: relative;
- width: 63%;
+.ot-icon-tags:before {
+ content: "\f02c";
}
-.format-setting.no-desc .format-setting-inner,
-.format-setting.wide-desc .format-setting-inner,
-.option-tree-list-item .format-setting-inner {
- width: 100%;
+.ot-icon-book:before {
+ content: "\f02d";
}
-.format-setting .description {
- float: right;
- padding: 5px 0;
- width: 35%;
+.ot-icon-bookmark:before {
+ content: "\f02e";
}
-.format-setting.no-desc .description,
-.format-setting.wide-desc .description,
-.option-tree-list-item .description {
- float: none;
- width: 100%;
+.ot-icon-print:before {
+ content: "\f02f";
}
-.list-item-description {
- padding-top: 10px;
+.ot-icon-camera:before {
+ content: "\f030";
}
-#option-tree-settings-api h4 {
- color: #333;
- font-size: 1.12em;
- font-weight: bold;
- margin: 1em 0 0.5em 0;
- padding: 0;
+.ot-icon-font:before {
+ content: "\f031";
}
-#option-tree-settings-api h5 {
- color: #444;
- font-size: 1em;
- font-weight: bold;
- margin: 1em 0 0.5em 0;
- padding: 0;
+.ot-icon-bold:before {
+ content: "\f032";
}
-#option-tree-settings-api p {
- margin: 0 0 1.5em 0 !important;
+.ot-icon-italic:before {
+ content: "\f033";
}
-#post .format-setting-inner p {
- float: left;
- width: 100%;
- margin: 0 0 1.05em 0 !important;
+.ot-icon-text-height:before {
+ content: "\f034";
}
-.aside {
- border-bottom: 1px solid #eee;
- padding-bottom: 15px;
- margin-bottom: 15px;
+.ot-icon-text-width:before {
+ content: "\f035";
}
-.deprecated {
- border-bottom: 1px solid #eee;
- color: #b94029;
- padding-bottom: 15px;
- margin-bottom: 15px;
+.ot-icon-align-left:before {
+ content: "\f036";
}
-.warning {
- color: #b94029;
+.ot-icon-align-center:before {
+ content: "\f037";
}
-.docs-ul {
- line-height: 1.3em;
- margin: 0;
- padding: 0 0 1em 0;
+.ot-icon-align-right:before {
+ content: "\f038";
}
-.docs-ul li {
- list-style-type: square;
- margin-left: 20px;
+.ot-icon-align-justify:before {
+ content: "\f039";
}
-#contextual-help-setting {
- float: left;
- padding: 10px 0 5px 0;
- width: 100%;
+.ot-icon-list:before {
+ content: "\f03a";
}
-#contextual-help-label {
- float: left;
- padding-top: 20px;
- width: 100%;
+.ot-icon-dedent:before {
+ content: "\f03b";
}
-#option_tree_settings_help {
- float: left;
- width: 100%;
+.ot-icon-indent:before {
+ content: "\f03c";
}
-#option-tree-settings-api blockquote {
- font-style: italic;
- padding-left: 15px;
- position: relative;
+.ot-icon-video-camera:before {
+ content: "\f03d";
}
-#option-tree-settings-api blockquote:before {
- color: #ccc;
- content: "\201C";
- display: block;
- font-size: 400%;
- font-style: normal;
- left: -10px;
- position: absolute;
- top: 10px;
+.ot-icon-picture-o:before {
+ content: "\f03e";
}
-@media only screen and (max-width: 900px) {
- .format-setting .description,
- .format-setting .format-setting-inner {
- width: 100%;
- }
- .format-setting .description {
- padding-top: 0px;
- };
+.ot-icon-pencil:before {
+ content: "\f040";
}
-.ot-background-group {
- overflow: hidden;
- width: auto;
+.ot-icon-map-marker:before {
+ content: "\f041";
}
-.ot-background-size-input {
- max-width: 110px;
+.ot-icon-adjust:before {
+ content: "\f042";
}
-
-/* --------------------------------------------------
- :: Code formatting
- ---------------------------------------------------*/
-#option-tree-settings-api code {
- background-color: #f1f1f1;
- color: #000;
+.ot-icon-tint:before {
+ content: "\f043";
}
-#option-tree-settings-api pre {
- font-size: 13px;
- padding: 0;
- margin: 1.5em 0;
- line-height: 18px;
- overflow: auto;
- overflow-Y: hidden;
- padding-top: 18px;
- background: #f1f1f1;
- border-bottom: 1px solid #f1f1f1;
- margin-bottom: 20px;
- color: #000;
- white-space: pre-wrap;
- word-wrap: break-word;
+.ot-icon-edit:before {
+ content: "\f044";
}
-#option-tree-settings-api pre code {
- padding: 0 18px 18px 18px;
- display: block;
- background: url(../images/ot-pre-bg.gif) repeat left top;
+.ot-icon-share-square-o:before {
+ content: "\f045";
}
-
-/* --------------------------------------------------
- :: Input & Upload
- ---------------------------------------------------*/
-input.option-tree-ui-upload-input,
-input.option-tree-ui-input {
- background: #fff;
- border: 1px solid #ccc !important;
- line-height: 17px;
- font-size: 12px;
- margin-bottom: 5px;
- padding: 7px 6px;
- position: relative;
- width: 100%;
- border-radius: 2px;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+.ot-icon-check-square-o:before {
+ content: "\f046";
}
-input:focus.option-tree-ui-upload-input,
-input:focus.option-tree-ui-input {
- border-color: #bbb !important;
+.ot-icon-arrows:before {
+ content: "\f047";
}
-
-@media screen and (-webkit-min-device-pixel-ratio:0) {
-
- .option-tree-ui-input,
- .option-tree-ui-upload-input {
- padding: 5px 6px !important;
- };
+.ot-icon-step-backward:before {
+ content: "\f048";
}
-
-/* --------------------------------------------------
- :: Upload
- ---------------------------------------------------*/
-div.option-tree-ui-media-wrap {
- margin: 5px 63px 0 0;
- min-height: 35px;
- position: relative;
+.ot-icon-fast-backward:before {
+ content: "\f049";
}
-.option-tree-ui-media-wrap img {
- background: #fafafa;
- border: 1px solid #ccc;
- padding: 4px;
- border-radius: 2px;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- display: block;
- float: left;
- max-width: 100%;
- height: auto;
- -ms-interpolation-mode: bicubic;
+.ot-icon-backward:before {
+ content: "\f04a";
}
-.option-tree-ui-upload-parent {
- width: auto !important;
- margin-right: 53px;
- padding: 0px;
- position: relative;
+.ot-icon-play:before {
+ content: "\f04b";
}
-.format-setting .ot_upload_media {
- top: 0px;
- margin: 0px !important;
- position: absolute;
- right: -53px;
+.ot-icon-pause:before {
+ content: "\f04c";
}
-.option-tree-ui-media-wrap a.option-tree-ui-remove-media {
- float: none !important;
- margin: 0px !important;
- position: absolute !important;
- right: -63px;
- top: 1px;
+.ot-icon-stop:before {
+ content: "\f04d";
}
-
-/* --------------------------------------------------
- :: Textarea
- ---------------------------------------------------*/
-.fill-area .description,
-.fill-area .format-setting-inner {
- width: 100% !important;
+.ot-icon-forward:before {
+ content: "\f04e";
}
-
-.wp-editor-area {
- display: block;
+.ot-icon-fast-forward:before {
+ content: "\f050";
}
-.textarea,
-.ot-metabox-wrapper textarea {
- width: 99.9%;
- border: 1px solid #ccc;
- font-family: Consolas, Monaco, monospace;
- line-height: 150%;
- outline: 0;
- padding: 10px;
- resize: vertical;
+.ot-icon-step-forward:before {
+ content: "\f051";
}
-#contextual-help-setting .textarea {
- width: 99.75%;
+.ot-icon-eject:before {
+ content: "\f052";
}
-.ot-metabox-wrapper .wp-editor-container {
- border: none;
+.ot-icon-chevron-left:before {
+ content: "\f053";
}
-.ot-metabox-wrapper textarea:focus {
- border-color: #bbb !important;
+.ot-icon-chevron-right:before {
+ content: "\f054";
}
-
-@media only screen and (max-width: 1105px) {
- .type-textarea .description, .type-textarea .format-setting-inner {
- width: 100%;
- };
+.ot-icon-plus-circle:before {
+ content: "\f055";
}
-
-/* --------------------------------------------------
- :: Setting Item with Drag & Drop
- ---------------------------------------------------*/
-.option-tree-setting-wrap { margin-top: 0px; }
-.option-tree-setting-wrap li { margin: 4px 0px; }
-.option-tree-setting {
- border: 1px solid #ccc;
- overflow: hidden;
- position: relative;
- -webkit-border-radius: 4px;
- -khtml-border-radius: 4px;
- -moz-border-radius: 4px;
- -o-border-radius: 4px;
- border-radius: 4px;
+.ot-icon-minus-circle:before {
+ content: "\f056";
}
-.option-tree-setting a {
- text-decoration: none;
+.ot-icon-times-circle:before {
+ content: "\f057";
}
-.option-tree-setting .open {
- background: #fafafa;
- cursor: move;
- line-height: 21px;
- height: 21px;
- padding: 10px 100px 10px 10px;
- display: block;
+.ot-icon-check-circle:before {
+ content: "\f058";
}
-.ui-state-disabled .option-tree-setting .open {
- cursor: default;
+.ot-icon-question-circle:before {
+ content: "\f059";
}
-.option-tree-setting .open:hover {
- background: #fafafa url(../images/ot-dots.png) no-repeat 4px 15px;
+.ot-icon-info-circle:before {
+ content: "\f05a";
}
-.button-section {
- position: absolute;
- right: 0px;
- top: 1px;
+.ot-icon-crosshairs:before {
+ content: "\f05b";
}
-.option-tree-setting.is-section {
- border: 1px solid #464646;
+.ot-icon-times-circle-o:before {
+ content: "\f05c";
}
-.option-tree-setting.is-section .open {
- background: #464646;
- color: #ccc;
+.ot-icon-check-circle-o:before {
+ content: "\f05d";
}
-.option-tree-setting.is-section .option-tree-ui-button {
- border-color: #151515 !important;
+.ot-icon-ban:before {
+ content: "\f05e";
}
-.format-setting .ui-sortable-helper .option-tree-setting .open {
- background: #fff url(../images/ot-dots.png) no-repeat 4px 15px;
+.ot-icon-arrow-left:before {
+ content: "\f060";
}
-.option-tree-setting.is-section .open:hover,
-.format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
- background: #464646 url(../images/ot-dots.png) no-repeat 4px 15px;
+.ot-icon-arrow-right:before {
+ content: "\f061";
}
-.ui-state-highlight {
- border: 1px dashed #ccc;
- display: block;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
+.ot-icon-arrow-up:before {
+ content: "\f062";
}
-.option-tree-setting-body {
- background: #fff;
- border-top: 1px solid #ccc;
- display: none;
- padding: 10px;
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-bottom-left-radius: 3px;
- -moz-border-radius-bottomright: 3px;
- -moz-border-radius-bottomleft: 3px;
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px;
+.ot-icon-arrow-down:before {
+ content: "\f063";
}
-li ul .format-setting-wrap {
- padding: 0 0 10px 0;
+.ot-icon-mail-forward:before {
+ content: "\f064";
}
-li ul .format-setting-label {
- border: none;
- padding: 0px;
- margin: 0px;
+.ot-icon-expand:before {
+ content: "\f065";
}
-
-/* --------------------------------------------------
- :: Layouts
- ---------------------------------------------------*/
-#option_tree_layouts {
- display: none;
- padding-top: 12px;
+.ot-icon-compress:before {
+ content: "\f066";
}
-#option-tree-options-layouts-form {
- left: 13px;
- position: absolute;
- top: 30px;
- z-index: 100;
+.ot-icon-plus:before {
+ content: "\f067";
}
-.option-tree-save-layout {
- float: left;
- padding: 10px 0;
+.ot-icon-minus:before {
+ content: "\f068";
}
-.option-tree-save-layout.active-layout {
- border-left: 1px solid #fff;
- padding-left: 9px;
+.ot-icon-asterisk:before {
+ content: "\f069";
}
-.option-tree-save-layout .widefat {
- float: left;
- width: 128px !important;
- margin: 0;
+.ot-icon-exclamation-circle:before {
+ content: "\f06a";
}
-.option-tree-save-layout button.blue {
- margin: 0 0 0 10px;
+.ot-icon-gift:before {
+ content: "\f06b";
}
-.option-tree-active-layout {
- border-right: 1px solid #ccc;
- float: left;
- padding: 10px 10px 10px 0;
- min-width: 126px;
+.ot-icon-leaf:before {
+ content: "\f06c";
}
-
-/* --------------------------------------------------
- :: Select
- ---------------------------------------------------*/
-.select-wrapper {
- background: #fff url(../images/ot-select.png) no-repeat right center;
- border: 1px solid #ccc;
- display: block;
- float: left;
- font-size: 12px;
- height: 27px;
- margin: 0 5px 5px 0;
- width: auto;
- border-radius: 2px;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+.ot-icon-fire:before {
+ content: "\f06d";
}
-.select-wrapper:hover {
- background-image: url(../images/ot-select-hover.png);
- border-color: #bbb;
+.ot-icon-eye:before {
+ content: "\f06e";
}
-select.option-tree-ui-select {
- cursor: pointer;
- filter: alpha(opacity: 0);
- font-size: 14px;
- height: 29px;
- margin: 0;
- -moz-opacity: 0;
- opacity: 0;
- padding: 0 !important;
- position: relative;
- width: inherit;
- z-index: 4;
- min-width: 118px;
+.ot-icon-eye-slash:before {
+ content: "\f070";
}
-
-select.option-tree-ui-select option {
- padding: 3px 15px !important;
+.ot-icon-warning:before {
+ content: "\f071";
}
-.select-wrapper span {
- height: 27px;
- line-height: 27px;
- padding-left: 7px;
- position: absolute;
- z-index: 2;
+.ot-icon-plane:before {
+ content: "\f072";
}
-#option-tree-options-layouts-form .select-wrapper {
- margin: 0px;
+.ot-icon-calendar:before {
+ content: "\f073";
}
-#option-tree-options-layouts-form select.option-tree-ui-select {
- min-width: 124px;
+.ot-icon-random:before {
+ content: "\f074";
}
-.type-measurement select.option-tree-ui-select {
- min-width: 73px !important;
+.ot-icon-comment:before {
+ content: "\f075";
}
-.type-measurement .select-wrapper {
- margin-right: 0;
- position: absolute;
- right: 0px;
- top: 0px;
+.ot-icon-magnet:before {
+ content: "\f076";
}
-
-/* FireFox */
-@-moz-document url-prefix() {
- #option-tree-options-layouts-form .select-wrapper {
- left: 250px;
- };
+.ot-icon-chevron-up:before {
+ content: "\f077";
}
-
-/* Webkit */
-@media screen and (-webkit-min-device-pixel-ratio:0) {
-
- .select-wrapper span {
- height: 26px;
- line-height: 26px;
- };
+.ot-icon-chevron-down:before {
+ content: "\f078";
}
-
-/* Opera 11 */
-@media not screen and (1) {
- .select-wrapper {
- height: 26px;
- };
+.ot-icon-retweet:before {
+ content: "\f079";
}
-
-/* --------------------------------------------------
- :: Measurement
- ---------------------------------------------------*/
-.option-tree-ui-measurement-input-wrap {
- margin-right: 80px;
+.ot-icon-shopping-cart:before {
+ content: "\f07a";
}
-
-/* --------------------------------------------------
- :: Checkbox & Radio
- ---------------------------------------------------*/
-.format-setting.type-checkbox input,
-.format-setting.type-radio input {
- float: left;
- margin: 2px 5px 0 1px;
+.ot-icon-folder:before {
+ content: "\f07b";
}
-.format-setting.type-checkbox label,
-.format-setting.type-radio label {
- float: left;
- max-width: 90%;
- padding: 0px;
+.ot-icon-folder-open:before {
+ content: "\f07c";
}
-#option-tree-settings-api .format-setting.type-checkbox p,
-#option-tree-settings-api .format-setting.type-radio p {
- float: left;
- margin: 0.5em 0 !important;
- width: 100%;
+.ot-icon-arrows-v:before {
+ content: "\f07d";
}
-
-/* --------------------------------------------------
- :: Radio Images
- ---------------------------------------------------*/
-.type-radio-image .option-tree-ui-radio-images {
- float: left;
- margin: 0 10px 10px 0px;
+.ot-icon-arrows-h:before {
+ content: "\f07e";
}
-.type-radio-image .option-tree-ui-radio-images img {
- background: #fff;
- border: 1px solid #ccc;
- cursor: pointer;
- padding: 5px;
- border-radius: 3px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
+.ot-icon-bar-chart-o:before {
+ content: "\f080";
}
-.type-radio-image .option-tree-ui-radio-images img.option-tree-ui-radio-image-selected,
-.type-radio-image .option-tree-ui-radio-images img:hover {
- border-color: #464646;
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+.ot-icon-twitter-square:before {
+ content: "\f081";
}
-
-/* --------------------------------------------------
- :: Numeric Slider
- ---------------------------------------------------*/
-.type-numeric-slider .format-setting-inner {
- background: #fcfcfc;
- border: 1px solid #ccc;
- min-height: 41px;
- padding: 5px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
+.ot-icon-facebook-square:before {
+ content: "\f082";
}
-.ot-numeric-slider-wrap {
- margin: 0 96px 0 0;
+.ot-icon-camera-retro:before {
+ content: "\f083";
}
-.ot-numeric-slider-wrap .ot-numeric-slider-helper-input {
- position: absolute;
- right: 5px;
- text-align: center;
- top: 5px;
- width: 90px;
+.ot-icon-key:before {
+ content: "\f084";
}
-.ot-numeric-slider.ui-slider {
- background: #fff;
- border: 1px solid #ccc;
- margin: 8px 8px 0 8px;
- position: relative;
- -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
+.ot-icon-gears:before {
+ content: "\f085";
}
-.ot-numeric-slider.ui-slider-horizontal {
- height: 11px;
+.ot-icon-comments:before {
+ content: "\f086";
}
-.ot-numeric-slider.ui-slider .ui-slider-handle {
- background-color: #21759b;
- border: 1px solid #21759b;
- border-bottom-color: #1e6a8d;
- cursor: pointer;
- display: block;
- height: 27px;
- margin: -9px -8px;
- outline: 0;
- position: absolute;
- width: 16px;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#2a95c5),to(#21759b));
- background-image: -webkit-linear-gradient(top,#2a95c5,#21759b);
- background-image: -moz-linear-gradient(top,#2a95c5,#21759b);
- background-image: -ms-linear-gradient(top,#2a95c5,#21759b);
- background-image: -o-linear-gradient(top,#2a95c5,#21759b);
- background-image: linear-gradient(to bottom,#2a95c5,#21759b);
- -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5);
- -moz-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5);
- box-shadow: inset 0 1px 0 rgba(120,200,230,0.5);
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
+.ot-icon-thumbs-o-up:before {
+ content: "\f087";
}
-.ot-numeric-slider.ui-slider .ui-slider-handle:hover {
- background-color: #278ab7;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#2e9fd2),to(#21759b));
- background-image: -webkit-linear-gradient(top,#2e9fd2,#21759b);
- background-image: -moz-linear-gradient(top,#2e9fd2,#21759b);
- background-image: -ms-linear-gradient(top,#2e9fd2,#21759b);
- background-image: -o-linear-gradient(top,#2e9fd2,#21759b);
- background-image: linear-gradient(to bottom,#2e9fd2,#21759b);
- border-color: #1b607f;
- -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
- -moz-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
- box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+.ot-icon-thumbs-o-down:before {
+ content: "\f088";
}
-
-/* --------------------------------------------------
- :: Colorpicker
- ---------------------------------------------------*/
-.option-tree-ui-colorpicker-input-wrap {
- float: left;
+.ot-icon-star-half:before {
+ content: "\f089";
}
-.hide-color-picker {
- display: none;
+.ot-icon-heart-o:before {
+ content: "\f08a";
}
-.option-tree-ui-colorpicker-input-wrap .wp-color-picker,
-.option-tree-ui-colorpicker-input-wrap .wp-picker-default,
-.option-tree-ui-colorpicker-input-wrap .wp-picker-clear {
- border-color: #ccc;
- height: 29px !important;
- line-height: 27px !important;
- margin-top: 0px;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
+.ot-icon-sign-out:before {
+ content: "\f08b";
}
-.option-tree-ui-colorpicker-input-wrap .wp-color-result {
- height: 27px;
- outline: 0;
- margin: 0 5px 5px 0px;
- top: 0px;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
+.ot-icon-linkedin-square:before {
+ content: "\f08c";
}
-.option-tree-ui-colorpicker-input-wrap .wp-color-result:after {
- line-height: 27px;
+.ot-icon-thumb-tack:before {
+ content: "\f08d";
}
-.option-tree-ui-colorpicker-input-wrap .wp-picker-container .iris-picker {
- border-color: #ccc;
- margin: 0px 5px 5px 0;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
+.ot-icon-external-link:before {
+ content: "\f08e";
}
-
-/* --------------------------------------------------
- :: OptionTree UI Buttons
- ---------------------------------------------------*/
-.option-tree-ui-button,
-.option-tree-ui-button.blue,
-.option-tree-ui-button.red {
- display: inline-block;
- text-decoration: none;
- float: left;
- font-size: 12px;
- line-height: 28px;
- height: 29px;
- margin: 5px;
- padding: 0 14px 1px;
- cursor: pointer;
- border-width: 1px;
- border-style: solid;
- -webkit-appearance: none;
- white-space: nowrap;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
+.ot-icon-sign-in:before {
+ content: "\f090";
}
-button.option-tree-ui-button::-moz-focus-inner,
-input[type="reset"].option-tree-ui-button::-moz-focus-inner,
-input[type="button"].option-tree-ui-button::-moz-focus-inner,
-input[type="submit"].option-tree-ui-button::-moz-focus-inner {
- border-width: 1px 0;
- border-style: solid none;
- border-color: transparent;
- padding: 0;
+.ot-icon-trophy:before {
+ content: "\f091";
}
-.option-tree-ui-button:active {
- outline: 0;
+.ot-icon-github-square:before {
+ content: "\f092";
}
-.option-tree-ui-button.hidden {
- display: none;
+.ot-icon-upload:before {
+ content: "\f093";
}
-.option-tree-ui-button,
-.option-tree-ui-button.red {
- background: #f3f3f3;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#fefefe),to(#f4f4f4));
- background-image: -webkit-linear-gradient(top,#fefefe,#f4f4f4);
- background-image: -moz-linear-gradient(top,#fefefe,#f4f4f4);
- background-image: -o-linear-gradient(top,#fefefe,#f4f4f4);
- background-image: linear-gradient(to bottom,#fefefe,#f4f4f4);
- border-color: #bbb;
- color: #333;
- text-shadow: 0 1px 0 #fff;
+.ot-icon-lemon-o:before {
+ content: "\f094";
}
-.option-tree-ui-button.hover,
-.option-tree-ui-button:hover,
-.option-tree-ui-button.red:hover,
-.option-tree-ui-button.focus,
-.option-tree-ui-button:focus,
-.option-tree-ui-button.red:focus {
- background: #f3f3f3;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#fff),to(#f3f3f3));
- background-image: -webkit-linear-gradient(top,#fff,#f3f3f3);
- background-image: -moz-linear-gradient(top,#fff,#f3f3f3);
- background-image: -ms-linear-gradient(top,#fff,#f3f3f3);
- background-image: -o-linear-gradient(top,#fff,#f3f3f3);
- background-image: linear-gradient(to bottom,#fff,#f3f3f3);
- border-color: #999;
- color: #222;
+.ot-icon-phone:before {
+ content: "\f095";
}
-.option-tree-ui-button.focus,
-.option-tree-ui-button:focus,
-.option-tree-ui-button.red:focus {
- -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
- box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+.ot-icon-square-o:before {
+ content: "\f096";
}
-.option-tree-ui-button.active,
-.option-tree-ui-button.active:hover,
-.option-tree-ui-button.active:focus,
-.option-tree-ui-button:active,
-.option-tree-ui-button.red:active {
- background: #eee;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#f4f4f4),to(#fefefe));
- background-image: -webkit-linear-gradient(top,#f4f4f4,#fefefe);
- background-image: -moz-linear-gradient(top,#f4f4f4,#fefefe);
- background-image: -ms-linear-gradient(top,#f4f4f4,#fefefe);
- background-image: -o-linear-gradient(top,#f4f4f4,#fefefe);
- background-image: linear-gradient(to bottom,#f4f4f4,#fefefe);
- border-color: #999;
- color: #333;
- text-shadow: 0 -1px 0 #fff;
- -webkit-box-shadow: inset 0 2px 5px -3px rgba(0,0,0,0.5);
- box-shadow: inset 0 2px 5px -3px rgba(0,0,0,0.5);
-}
-.option-tree-ui-button[disabled],
-.option-tree-ui-button:disabled,
-.option-tree-ui-button.red[disabled],
-.option-tree-ui-button.red:disabled,
-.option-tree-ui-button.disabled {
- color: #aaa!important;
- border-color: #ddd!important;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f4f4f4))!important;
- background-image: -webkit-linear-gradient(top,#f9f9f9,#f4f4f4)!important;
- background-image: -moz-linear-gradient(top,#f9f9f9,#f4f4f4)!important;
- background-image: -ms-linear-gradient(top,#f9f9f9,#f4f4f4)!important;
- background-image: -o-linear-gradient(top,#f9f9f9,#f4f4f4)!important;
- background-image: linear-gradient(to bottom,#f9f9f9,#f4f4f4)!important;
- -webkit-box-shadow: none!important;
- box-shadow: none!important;
- text-shadow: 0 1px 0 #fff!important;
- cursor: default;
+.ot-icon-bookmark-o:before {
+ content: "\f097";
}
-.option-tree-ui-button.blue {
- background-color: #21759b;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#2a95c5),to(#21759b));
- background-image: -webkit-linear-gradient(top,#2a95c5,#21759b);
- background-image: -moz-linear-gradient(top,#2a95c5,#21759b);
- background-image: -ms-linear-gradient(top,#2a95c5,#21759b);
- background-image: -o-linear-gradient(top,#2a95c5,#21759b);
- background-image: linear-gradient(to bottom,#2a95c5,#21759b);
- border-color: #21759b;
- border-bottom-color: #1e6a8d;
- -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5);
- box-shadow: inset 0 1px 0 rgba(120,200,230,0.5);
- color: #fff;
- text-decoration: none;
- text-shadow: 0 1px 0 rgba(0,0,0,0.1);
-}
-.option-tree-ui-button.blue.hover,
-.option-tree-ui-button.blue:hover,
-.option-tree-ui-button.blue.focus,
-.option-tree-ui-button.blue:focus {
- background-color: #278ab7;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#2e9fd2),to(#21759b));
- background-image: -webkit-linear-gradient(top,#2e9fd2,#21759b);
- background-image: -moz-linear-gradient(top,#2e9fd2,#21759b);
- background-image: -ms-linear-gradient(top,#2e9fd2,#21759b);
- background-image: -o-linear-gradient(top,#2e9fd2,#21759b);
- background-image: linear-gradient(to bottom,#2e9fd2,#21759b);
- border-color: #1b607f;
- -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
- box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
- color: #fff;
- text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
-}
-.option-tree-ui-button.blue.focus,
-.option-tree-ui-button.blue:focus {
- border-color: #0e3950;
- -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6),1px 1px 2px rgba(0,0,0,0.4);
- box-shadow: inset 0 1px 0 rgba(120,200,230,0.6),1px 1px 2px rgba(0,0,0,0.4);
-}
-.option-tree-ui-button.blue.active,
-.option-tree-ui-button.blue.active:hover,
-.option-tree-ui-button.blue.active:focus,
-.option-tree-ui-button.blue:active {
- background: #1b607f;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#21759b),to(#278ab7));
- background-image: -webkit-linear-gradient(top,#21759b,#278ab7);
- background-image: -moz-linear-gradient(top,#21759b,#278ab7);
- background-image: -ms-linear-gradient(top,#21759b,#278ab7);
- background-image: -o-linear-gradient(top,#21759b,#278ab7);
- background-image: linear-gradient(to bottom,#21759b,#278ab7);
- border-color: #124560 #2382ae #2382ae #2382ae;
- color: rgba(255,255,255,0.95);
- -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
- box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
- text-shadow: 0 1px 0 rgba(0,0,0,0.1);
-}
-.option-tree-ui-button.blue[disabled],
-.option-tree-ui-button.blue:disabled,
-.option-tree-ui-button.blue-disabled {
- color: #94cde7!important;
- background: #298cba!important;
- border-color: #1b607f!important;
- -webkit-box-shadow: none!important;
- box-shadow: none!important;
- text-shadow: 0 -1px 0 rgba(0,0,0,0.1)!important;
- cursor: default;
+.ot-icon-phone-square:before {
+ content: "\f098";
}
-.option-tree-ui-button.red {
- background-color: #9b3221;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#c5402a),to(#9b3221));
- background-image: -webkit-linear-gradient(top,#c5402a,#9b3221);
- background-image: -moz-linear-gradient(top,#c5402a,#9b3221);
- background-image: -ms-linear-gradient(top,#c5402a,#9b3221);
- background-image: -o-linear-gradient(top,#c5402a,#9b3221);
- background-image: linear-gradient(to bottom,#c5402a,#9b3221);
- border-color: #9b3221;
- border-bottom-color: #8d2e1e;
- -webkit-box-shadow: inset 0 1px 0 rgba(229,134,119,0.5);
- box-shadow: inset 0 1px 0 rgba(229,134,119,0.5);
- color: #fff;
- text-decoration: none;
- text-shadow: 0 1px 0 rgba(0,0,0,0.1);
-}
-.option-tree-ui-button.red.hover,
-.option-tree-ui-button.red:hover,
-.option-tree-ui-button.red.focus,
-.option-tree-ui-button.red:focus {
- background-color: #b73b27;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#d2452e),to(#9b3221));
- background-image: -webkit-linear-gradient(top,#d2452e,#9b3221);
- background-image: -moz-linear-gradient(top,#d2452e,#9b3221);
- background-image: -ms-linear-gradient(top,#d2452e,#9b3221);
- background-image: -o-linear-gradient(top,#d2452e,#9b3221);
- background-image: linear-gradient(to bottom,#d2452e,#9b3221);
- border-color: #7f291b;
- -webkit-box-shadow: inset 0 1px 0 rgba(229,134,119,0.6);
- box-shadow: inset 0 1px 0 rgba(229,134,119,0.6);
- color: #fff;
- text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
+.ot-icon-twitter:before {
+ content: "\f099";
}
-.option-tree-ui-button.red.focus,
-.option-tree-ui-button.red:focus {
- border-color: #4f160d;
- -webkit-box-shadow: inset 0 1px 0 rgba(229,134,119,0.6),1px 1px 2px rgba(0,0,0,0.4);
- box-shadow: inset 0 1px 0 rgba(229,134,119,0.6),1px 1px 2px rgba(0,0,0,0.4);
-}
-.option-tree-ui-button.red.active,
-.option-tree-ui-button.red.active:hover,
-.option-tree-ui-button.red.active:focus,
-.option-tree-ui-button.red:active {
- background: #7f291b;
- background-image: -webkit-gradient(linear,left top,left bottom,from(#9b3221),to(#b73b27));
- background-image: -webkit-linear-gradient(top,#9b3221,#b73b27);
- background-image: -moz-linear-gradient(top,#9b3221,#b73b27);
- background-image: -ms-linear-gradient(top,#9b3221,#b73b27);
- background-image: -o-linear-gradient(top,#9b3221,#b73b27);
- background-image: linear-gradient(to bottom,#9b3221,#b73b27);
- border-color: #611d12 #ad3523 #ad3523 #ad3523;
- color: rgba(255,255,255,0.95);
- -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
- box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
- text-shadow: 0 1px 0 rgba(0,0,0,0.1);
-}
-.option-tree-ui-button.red[disabled],
-.option-tree-ui-button.red:disabled,
-.option-tree-ui-button.red-disabled {
- color: #94cde7!important;
- background: #ba3c29!important;
- border-color: #7f291b!important;
- -webkit-box-shadow: none!important;
- box-shadow: none!important;
- text-shadow: 0 -1px 0 rgba(0,0,0,0.1)!important;
- cursor: default;
+.ot-icon-facebook:before {
+ content: "\f09a";
}
-.option-tree-ui-button.right {
- float: right;
+.ot-icon-github:before {
+ content: "\f09b";
}
-.option-tree-ui-button.hug-left {
- margin-left: 0px;
+.ot-icon-unlock:before {
+ content: "\f09c";
}
-.option-tree-ui-button.hug-right {
- margin-right: 0px;
+.ot-icon-credit-card:before {
+ content: "\f09d";
}
-.option-tree-ui-button.pad {
- padding: 0px 21px;
+.ot-icon-rss:before {
+ content: "\f09e";
}
-.option-tree-ui-button.left-item {
- margin: 5px 0 5px 5px;
- -webkit-border-top-right-radius: 0px;
- -webkit-border-bottom-right-radius: 0px;
- -moz-border-radius-topright: 0px;
- -moz-border-radius-bottomright: 0px;
- border-top-right-radius: 0px;
- border-bottom-right-radius: 0px;
+.ot-icon-hdd-o:before {
+ content: "\f0a0";
}
-.option-tree-ui-button.center-item {
- margin: 5px 0 5px -1px;
- -webkit-border-radius: 0px;
- -moz-border-radius: 0px;
- border-radius: 0px;
+.ot-icon-bullhorn:before {
+ content: "\f0a1";
}
-.option-tree-ui-button.right-item {
- margin: 5px 5px 5px -1px;
- -webkit-border-top-left-radius: 0px;
- -webkit-border-bottom-left-radius: 0px;
- -moz-border-radius-topleft: 0px;
- -moz-border-radius-bottomleft: 0px;
- border-top-left-radius: 0px;
- border-bottom-left-radius: 0px;
+.ot-icon-bell:before {
+ content: "\f0a2";
}
-.option-tree-ui-buttons {
- background: #fff;
- border: 1px solid #ccc;
- margin: 11px 5px 0 2px;
- min-width: 523px;
- overflow: hidden;
- padding: 5px;
- position: relative;
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
- -webkit-border-radius: 4px;
- -khtml-border-radius: 4px;
- -moz-border-radius: 4px;
- -o-border-radius: 4px;
- border-radius: 4px;
+.ot-icon-certificate:before {
+ content: "\f0a3";
}
-.option-tree-ui-buttons.alt {
- background: #f5f5f5;
- border-color: #dfdfdf;
+.ot-icon-hand-o-right:before {
+ content: "\f0a4";
}
-.option-tree-ui-buttons:before,
-.option-tree-ui-buttons:after {
- content: "\0020";
- display: block;
- height: 0;
- visibility: hidden;
+.ot-icon-hand-o-left:before {
+ content: "\f0a5";
}
-.option-tree-ui-buttons:after {
- clear: both;
+.ot-icon-hand-o-up:before {
+ content: "\f0a6";
}
-.option-tree-ui-buttons {
- zoom: 1;
+.ot-icon-hand-o-down:before {
+ content: "\f0a7";
}
-button.reset-settings {
- position: relative;
- top: -45px;
- left: 8px;
+.ot-icon-arrow-circle-left:before {
+ content: "\f0a8";
}
-
-/* --------------------------------------------------
- :: OptionTree UI Button Icons
- ---------------------------------------------------*/
-.option-tree-ui-button .icon {
- background: url(../images/ot-ui-sprite.png) no-repeat;
- display: inline-block;
- float: left;
- height: 18px;
- margin-top: 4px;
- opacity: 0.65;
- overflow: hidden;
- text-indent: -9999px;
- width: 18px;
+.ot-icon-arrow-circle-right:before {
+ content: "\f0a9";
}
-button.option-tree-ui-button .icon {
- margin-top: -3px;
+.ot-icon-arrow-circle-up:before {
+ content: "\f0aa";
}
-.option-tree-ui-button.light .icon {
- background-image: url(../images/ot-ui-light-sprite.png);
- opacity: 0.9;
+.ot-icon-arrow-circle-down:before {
+ content: "\f0ab";
}
-.option-tree-ui-button.active .icon,
-.option-tree-ui-button:hover .icon {
- opacity: 1;
+.ot-icon-globe:before {
+ content: "\f0ac";
}
-.option-tree-ui-button .icon.right-label {
- margin-right: 10px;
+.ot-icon-wrench:before {
+ content: "\f0ad";
}
-.option-tree-ui-button .icon.left-label {
- margin-left: 10px;
- float: right;
+.ot-icon-tasks:before {
+ content: "\f0ae";
}
-.option-tree-ui-button .upload {
- background-position: -0px -0px;
+.ot-icon-filter:before {
+ content: "\f0b0";
}
-.option-tree-ui-button .trash-can {
- background-position: -18px -0px;
+.ot-icon-briefcase:before {
+ content: "\f0b1";
}
-.option-tree-ui-button .pencil,
-.option-tree-ui-button .check {
- background-position: -36px -0px;
+.ot-icon-arrows-alt:before {
+ content: "\f0b2";
}
-.option-tree-ui-button:hover .pencil,
-.option-tree-ui-button:hover .check,
-.option-tree-ui-button.active .pencil,
-.option-tree-ui-button.active .check {
- background-position: -54px -0px;
+.ot-icon-group:before {
+ content: "\f0c0";
}
-
-/* --------------------------------------------------
- :: WP 3.8 Fixes (via Github @AlxMedia)
- ---------------------------------------------------*/
-#option-tree-settings-api #poststuff,
-#option-tree-settings-api #post-body-content {
- min-width: 0;
+.ot-icon-chain:before {
+ content: "\f0c1";
}
-#option-tree-settings-api #poststuff h3 {
- font-family: inherit !important;
+.ot-icon-cloud:before {
+ content: "\f0c2";
}
-#option-tree-settings-api .postbox {
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
+.ot-icon-flask:before {
+ content: "\f0c3";
}
-#option-tree-settings-api p input[type="checkbox"],
-#option-tree-settings-api p input[type="radio"] {
- margin-top: 2px;
+.ot-icon-cut:before {
+ content: "\f0c4";
}
-#option-tree-settings-api .format-setting.type-checkbox p,
+.ot-icon-copy:before {
+ content: "\f0c5";
+}
+.ot-icon-paperclip:before {
+ content: "\f0c6";
+}
+.ot-icon-save:before {
+ content: "\f0c7";
+}
+.ot-icon-square:before {
+ content: "\f0c8";
+}
+.ot-icon-bars:before {
+ content: "\f0c9";
+}
+.ot-icon-list-ul:before {
+ content: "\f0ca";
+}
+.ot-icon-list-ol:before {
+ content: "\f0cb";
+}
+.ot-icon-strikethrough:before {
+ content: "\f0cc";
+}
+.ot-icon-underline:before {
+ content: "\f0cd";
+}
+.ot-icon-table:before {
+ content: "\f0ce";
+}
+.ot-icon-magic:before {
+ content: "\f0d0";
+}
+.ot-icon-truck:before {
+ content: "\f0d1";
+}
+.ot-icon-pinterest:before {
+ content: "\f0d2";
+}
+.ot-icon-pinterest-square:before {
+ content: "\f0d3";
+}
+.ot-icon-google-plus-square:before {
+ content: "\f0d4";
+}
+.ot-icon-google-plus:before {
+ content: "\f0d5";
+}
+.ot-icon-money:before {
+ content: "\f0d6";
+}
+.ot-icon-caret-down:before {
+ content: "\f0d7";
+}
+.ot-icon-caret-up:before {
+ content: "\f0d8";
+}
+.ot-icon-caret-left:before {
+ content: "\f0d9";
+}
+.ot-icon-caret-right:before {
+ content: "\f0da";
+}
+.ot-icon-columns:before {
+ content: "\f0db";
+}
+.ot-icon-unsorted:before {
+ content: "\f0dc";
+}
+.ot-icon-sort-down:before {
+ content: "\f0dd";
+}
+.ot-icon-sort-up:before {
+ content: "\f0de";
+}
+.ot-icon-envelope:before {
+ content: "\f0e0";
+}
+.ot-icon-linkedin:before {
+ content: "\f0e1";
+}
+.ot-icon-rotate-left:before {
+ content: "\f0e2";
+}
+.ot-icon-legal:before {
+ content: "\f0e3";
+}
+.ot-icon-dashboard:before {
+ content: "\f0e4";
+}
+.ot-icon-comment-o:before {
+ content: "\f0e5";
+}
+.ot-icon-comments-o:before {
+ content: "\f0e6";
+}
+.ot-icon-flash:before {
+ content: "\f0e7";
+}
+.ot-icon-sitemap:before {
+ content: "\f0e8";
+}
+.ot-icon-umbrella:before {
+ content: "\f0e9";
+}
+.ot-icon-paste:before {
+ content: "\f0ea";
+}
+.ot-icon-lightbulb-o:before {
+ content: "\f0eb";
+}
+.ot-icon-exchange:before {
+ content: "\f0ec";
+}
+.ot-icon-cloud-download:before {
+ content: "\f0ed";
+}
+.ot-icon-cloud-upload:before {
+ content: "\f0ee";
+}
+.ot-icon-user-md:before {
+ content: "\f0f0";
+}
+.ot-icon-stethoscope:before {
+ content: "\f0f1";
+}
+.ot-icon-suitcase:before {
+ content: "\f0f2";
+}
+.ot-icon-bell-o:before {
+ content: "\f0f3";
+}
+.ot-icon-coffee:before {
+ content: "\f0f4";
+}
+.ot-icon-cutlery:before {
+ content: "\f0f5";
+}
+.ot-icon-file-text-o:before {
+ content: "\f0f6";
+}
+.ot-icon-building-o:before {
+ content: "\f0f7";
+}
+.ot-icon-hospital-o:before {
+ content: "\f0f8";
+}
+.ot-icon-ambulance:before {
+ content: "\f0f9";
+}
+.ot-icon-medkit:before {
+ content: "\f0fa";
+}
+.ot-icon-fighter-jet:before {
+ content: "\f0fb";
+}
+.ot-icon-beer:before {
+ content: "\f0fc";
+}
+.ot-icon-h-square:before {
+ content: "\f0fd";
+}
+.ot-icon-plus-square:before {
+ content: "\f0fe";
+}
+.ot-icon-angle-double-left:before {
+ content: "\f100";
+}
+.ot-icon-angle-double-right:before {
+ content: "\f101";
+}
+.ot-icon-angle-double-up:before {
+ content: "\f102";
+}
+.ot-icon-angle-double-down:before {
+ content: "\f103";
+}
+.ot-icon-angle-left:before {
+ content: "\f104";
+}
+.ot-icon-angle-right:before {
+ content: "\f105";
+}
+.ot-icon-angle-up:before {
+ content: "\f106";
+}
+.ot-icon-angle-down:before {
+ content: "\f107";
+}
+.ot-icon-desktop:before {
+ content: "\f108";
+}
+.ot-icon-laptop:before {
+ content: "\f109";
+}
+.ot-icon-tablet:before {
+ content: "\f10a";
+}
+.ot-icon-mobile-phone:before {
+ content: "\f10b";
+}
+.ot-icon-circle-o:before {
+ content: "\f10c";
+}
+.ot-icon-quote-left:before {
+ content: "\f10d";
+}
+.ot-icon-quote-right:before {
+ content: "\f10e";
+}
+.ot-icon-spinner:before {
+ content: "\f110";
+}
+.ot-icon-circle:before {
+ content: "\f111";
+}
+.ot-icon-mail-reply:before {
+ content: "\f112";
+}
+.ot-icon-github-alt:before {
+ content: "\f113";
+}
+.ot-icon-folder-o:before {
+ content: "\f114";
+}
+.ot-icon-folder-open-o:before {
+ content: "\f115";
+}
+.ot-icon-smile-o:before {
+ content: "\f118";
+}
+.ot-icon-frown-o:before {
+ content: "\f119";
+}
+.ot-icon-meh-o:before {
+ content: "\f11a";
+}
+.ot-icon-gamepad:before {
+ content: "\f11b";
+}
+.ot-icon-keyboard-o:before {
+ content: "\f11c";
+}
+.ot-icon-flag-o:before {
+ content: "\f11d";
+}
+.ot-icon-flag-checkered:before {
+ content: "\f11e";
+}
+.ot-icon-terminal:before {
+ content: "\f120";
+}
+.ot-icon-code:before {
+ content: "\f121";
+}
+.ot-icon-reply-all:before {
+ content: "\f122";
+}
+.ot-icon-star-half-empty:before {
+ content: "\f123";
+}
+.ot-icon-location-arrow:before {
+ content: "\f124";
+}
+.ot-icon-crop:before {
+ content: "\f125";
+}
+.ot-icon-code-fork:before {
+ content: "\f126";
+}
+.ot-icon-unlink:before {
+ content: "\f127";
+}
+.ot-icon-question:before {
+ content: "\f128";
+}
+.ot-icon-info:before {
+ content: "\f129";
+}
+.ot-icon-exclamation:before {
+ content: "\f12a";
+}
+.ot-icon-superscript:before {
+ content: "\f12b";
+}
+.ot-icon-subscript:before {
+ content: "\f12c";
+}
+.ot-icon-eraser:before {
+ content: "\f12d";
+}
+.ot-icon-puzzle-piece:before {
+ content: "\f12e";
+}
+.ot-icon-microphone:before {
+ content: "\f130";
+}
+.ot-icon-microphone-slash:before {
+ content: "\f131";
+}
+.ot-icon-shield:before {
+ content: "\f132";
+}
+.ot-icon-calendar-o:before {
+ content: "\f133";
+}
+.ot-icon-fire-extinguisher:before {
+ content: "\f134";
+}
+.ot-icon-rocket:before {
+ content: "\f135";
+}
+.ot-icon-maxcdn:before {
+ content: "\f136";
+}
+.ot-icon-chevron-circle-left:before {
+ content: "\f137";
+}
+.ot-icon-chevron-circle-right:before {
+ content: "\f138";
+}
+.ot-icon-chevron-circle-up:before {
+ content: "\f139";
+}
+.ot-icon-chevron-circle-down:before {
+ content: "\f13a";
+}
+.ot-icon-html5:before {
+ content: "\f13b";
+}
+.ot-icon-css3:before {
+ content: "\f13c";
+}
+.ot-icon-anchor:before {
+ content: "\f13d";
+}
+.ot-icon-unlock-alt:before {
+ content: "\f13e";
+}
+.ot-icon-bullseye:before {
+ content: "\f140";
+}
+.ot-icon-ellipsis-h:before {
+ content: "\f141";
+}
+.ot-icon-ellipsis-v:before {
+ content: "\f142";
+}
+.ot-icon-rss-square:before {
+ content: "\f143";
+}
+.ot-icon-play-circle:before {
+ content: "\f144";
+}
+.ot-icon-ticket:before {
+ content: "\f145";
+}
+.ot-icon-minus-square:before {
+ content: "\f146";
+}
+.ot-icon-minus-square-o:before {
+ content: "\f147";
+}
+.ot-icon-level-up:before {
+ content: "\f148";
+}
+.ot-icon-level-down:before {
+ content: "\f149";
+}
+.ot-icon-check-square:before {
+ content: "\f14a";
+}
+.ot-icon-pencil-square:before {
+ content: "\f14b";
+}
+.ot-icon-external-link-square:before {
+ content: "\f14c";
+}
+.ot-icon-share-square:before {
+ content: "\f14d";
+}
+.ot-icon-compass:before {
+ content: "\f14e";
+}
+.ot-icon-toggle-down:before {
+ content: "\f150";
+}
+.ot-icon-toggle-up:before {
+ content: "\f151";
+}
+.ot-icon-toggle-right:before {
+ content: "\f152";
+}
+.ot-icon-euro:before {
+ content: "\f153";
+}
+.ot-icon-gbp:before {
+ content: "\f154";
+}
+.ot-icon-dollar:before {
+ content: "\f155";
+}
+.ot-icon-rupee:before {
+ content: "\f156";
+}
+.ot-icon-cny:before {
+ content: "\f157";
+}
+.ot-icon-ruble:before {
+ content: "\f158";
+}
+.ot-icon-won:before {
+ content: "\f159";
+}
+.ot-icon-bitcoin:before {
+ content: "\f15a";
+}
+.ot-icon-file:before {
+ content: "\f15b";
+}
+.ot-icon-file-text:before {
+ content: "\f15c";
+}
+.ot-icon-sort-alpha-asc:before {
+ content: "\f15d";
+}
+.ot-icon-sort-alpha-desc:before {
+ content: "\f15e";
+}
+.ot-icon-sort-amount-asc:before {
+ content: "\f160";
+}
+.ot-icon-sort-amount-desc:before {
+ content: "\f161";
+}
+.ot-icon-sort-numeric-asc:before {
+ content: "\f162";
+}
+.ot-icon-sort-numeric-desc:before {
+ content: "\f163";
+}
+.ot-icon-thumbs-up:before {
+ content: "\f164";
+}
+.ot-icon-thumbs-down:before {
+ content: "\f165";
+}
+.ot-icon-youtube-square:before {
+ content: "\f166";
+}
+.ot-icon-youtube:before {
+ content: "\f167";
+}
+.ot-icon-xing:before {
+ content: "\f168";
+}
+.ot-icon-xing-square:before {
+ content: "\f169";
+}
+.ot-icon-youtube-play:before {
+ content: "\f16a";
+}
+.ot-icon-dropbox:before {
+ content: "\f16b";
+}
+.ot-icon-stack-overflow:before {
+ content: "\f16c";
+}
+.ot-icon-instagram:before {
+ content: "\f16d";
+}
+.ot-icon-flickr:before {
+ content: "\f16e";
+}
+.ot-icon-adn:before {
+ content: "\f170";
+}
+.ot-icon-bitbucket:before {
+ content: "\f171";
+}
+.ot-icon-bitbucket-square:before {
+ content: "\f172";
+}
+.ot-icon-tumblr:before {
+ content: "\f173";
+}
+.ot-icon-tumblr-square:before {
+ content: "\f174";
+}
+.ot-icon-long-arrow-down:before {
+ content: "\f175";
+}
+.ot-icon-long-arrow-up:before {
+ content: "\f176";
+}
+.ot-icon-long-arrow-left:before {
+ content: "\f177";
+}
+.ot-icon-long-arrow-right:before {
+ content: "\f178";
+}
+.ot-icon-apple:before {
+ content: "\f179";
+}
+.ot-icon-windows:before {
+ content: "\f17a";
+}
+.ot-icon-android:before {
+ content: "\f17b";
+}
+.ot-icon-linux:before {
+ content: "\f17c";
+}
+.ot-icon-dribbble:before {
+ content: "\f17d";
+}
+.ot-icon-skype:before {
+ content: "\f17e";
+}
+.ot-icon-foursquare:before {
+ content: "\f180";
+}
+.ot-icon-trello:before {
+ content: "\f181";
+}
+.ot-icon-female:before {
+ content: "\f182";
+}
+.ot-icon-male:before {
+ content: "\f183";
+}
+.ot-icon-gittip:before {
+ content: "\f184";
+}
+.ot-icon-sun-o:before {
+ content: "\f185";
+}
+.ot-icon-moon-o:before {
+ content: "\f186";
+}
+.ot-icon-archive:before {
+ content: "\f187";
+}
+.ot-icon-bug:before {
+ content: "\f188";
+}
+.ot-icon-vk:before {
+ content: "\f189";
+}
+.ot-icon-weibo:before {
+ content: "\f18a";
+}
+.ot-icon-renren:before {
+ content: "\f18b";
+}
+.ot-icon-pagelines:before {
+ content: "\f18c";
+}
+.ot-icon-stack-exchange:before {
+ content: "\f18d";
+}
+.ot-icon-arrow-circle-o-right:before {
+ content: "\f18e";
+}
+.ot-icon-arrow-circle-o-left:before {
+ content: "\f190";
+}
+.ot-icon-toggle-left:before {
+ content: "\f191";
+}
+.ot-icon-dot-circle-o:before {
+ content: "\f192";
+}
+.ot-icon-wheelchair:before {
+ content: "\f193";
+}
+.ot-icon-vimeo-square:before {
+ content: "\f194";
+}
+.ot-icon-turkish-lira:before {
+ content: "\f195";
+}
+.ot-icon-plus-square-o:before {
+ content: "\f196";
+}
+
+/* --------------------------------------------------
+ :: Screen Meta & Menu Icon
+ ---------------------------------------------------*/
+.appearance_page_ot-theme-options #screen-meta {
+ margin-right: 20px;
+ margin-left: 2px;
+ min-width: 533px;
+}
+
+/* --------------------------------------------------
+ :: Messages
+ ---------------------------------------------------*/
+.wrap.settings-wrap div.error,
+.wrap.settings-wrap div.updated {
+ margin: 9px 5px 0px 2px !important;
+}
+
+/* --------------------------------------------------
+ :: OptionTree Wrappers
+ ---------------------------------------------------*/
+#option-tree-settings-api .metabox-holder {
+ overflow: hidden;
+}
+#option-tree-settings-api .postbox {
+ background: #fff;
+ border: none;
+ margin: 0 20px;
+}
+#option-tree-settings-api .inside {
+ margin: 0px !important;
+ padding: 0px !important;
+}
+#option-tree-settings-api > .ui-tabs {
+ background: #fff;
+ border: 1px solid #ccc;
+ border-top: none;
+ margin: 0px 5px 0 2px;
+ min-width: 533px;
+ padding-bottom: 5px;
+ position: relative;
+ -webkit-box-shadow: inset 146px 0 0 #f1f1f1, inset 147px 0 0 #ccc, 0 1px 3px rgba(0,0,0,0.05);
+ -moz-box-shadow: inset 146px 0 0 #f1f1f1, inset 147px 0 0 #ccc, 0 1px 3px rgba(0,0,0,0.05);
+ box-shadow: inset 146px 0 0 #f1f1f1, inset 147px 0 0 #ccc, 0 1px 3px rgba(0,0,0,0.05);
+ -webkit-border-radius: 0 0 2px 2px;
+ -moz-border-radius: 0 0 2px 2px;
+ border-radius: 0 0 2px 2px;
+}
+
+/* --------------------------------------------------
+ :: Header
+ ---------------------------------------------------*/
+#option-tree-header-wrap {
+ position: relative;
+}
+#option-tree-header {
+ background: #333;
+ color: #bbb;
+ display: block;
+ margin: 11px 5px 0 2px;
+ min-width: 535px;
+ overflow: hidden;
+ position: relative;
+ -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ -webkit-border-radius: 2px 2px 0 0;
+ -moz-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
+}
+#option-tree-header li {
+ display: block;
+ float: left;
+ margin: 0px;
+ padding: 0px;
+}
+#option-tree-header li a {
+ color: #999;
+ text-decoration: none;
+ -webkit-transition: none;
+ -moz-transition: none;
+ transition: none;
+}
+#option-tree-header li a:hover {
+ color: #0074a2;
+}
+#option-tree-header #option-tree-logo a {
+ border-right: 1px solid #000;
+ float: left;
+ height: 24px;
+ padding: 3px 12px 3px 13px;
+ width: 20px;
+}
+#option-tree-header li#option-tree-logo:hover {
+ background-color: #222;
+ color: #0074a2;
+ -webkit-border-top-left-radius: 2px;
+ -moz-border-radius-topleft: 2px;
+ border-top-left-radius: 2px;
+}
+#option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #000;
+}
+#option-tree-header #option-tree-version span,
+#option-tree-header #theme-version span {
+ border-left: 1px solid #444;
+ display: block;
+ float: left;
+ height: 24px;
+ line-height: 24px;
+ padding: 3px 12px 3px 12px;
+}
+#option-tree-header #theme-version:before {
+ border-right: 1px solid #000;
+ content: "";
+ display: block;
+ float: left;
+ height: 30px;
+}
+/* light */
+.admin-color-light #option-tree-header {
+ background: #888;
+ color: #fff;
+}
+.admin-color-light #option-tree-header li a {
+ color: #ccc;
+}
+.admin-color-light #option-tree-header li a:hover {
+ color: #eee;
+}
+.admin-color-light #option-tree-header #option-tree-logo a,
+.admin-color-light #option-tree-header #theme-version:before {
+ border-right-color: #3c3c3c;
+}
+.admin-color-light #option-tree-header li#option-tree-logo:hover {
+ background-color: #777;
+}
+.admin-color-light #option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #3c3c3c;
+}
+.admin-color-light #option-tree-header #option-tree-version span,
+.admin-color-light #option-tree-header #theme-version span {
+ border-left-color: #999;
+}
+/* blue */
+.admin-color-blue #option-tree-header {
+ background: #52accc;
+ color: #fff;
+}
+.admin-color-blue #option-tree-header li a {
+ color: #e2f8ff;
+}
+.admin-color-blue #option-tree-header li a:hover {
+ color: #fff;
+}
+.admin-color-blue #option-tree-header #option-tree-logo a,
+.admin-color-blue #option-tree-header #theme-version:before {
+ border-right-color: #002b39;
+}
+.admin-color-blue #option-tree-header li#option-tree-logo:hover {
+ background-color: #006484;
+}
+.admin-color-blue #option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #002b39;
+}
+.admin-color-blue #option-tree-header #option-tree-version span,
+.admin-color-blue #option-tree-header #theme-version span {
+ border-left-color: #5dc2e6;
+}
+/* coffee */
+.admin-color-coffee #option-tree-header {
+ background: #59524c;
+ color: #c7cbc9;
+}
+.admin-color-coffee #option-tree-header li a {
+ color: #f3f2f1;
+}
+.admin-color-coffee #option-tree-header li a:hover {
+ color: #fff;
+}
+.admin-color-coffee #option-tree-header #option-tree-logo a,
+.admin-color-coffee #option-tree-header #theme-version:before {
+ border-right-color: #0f0e0d;
+}
+.admin-color-coffee #option-tree-header li#option-tree-logo:hover {
+ background-color: #cca588;
+}
+.admin-color-coffee #option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #0f0e0d;
+}
+.admin-color-coffee #option-tree-header #option-tree-version span,
+.admin-color-coffee #option-tree-header #theme-version span {
+ border-left-color: #675f58;
+}
+/* ectoplasm */
+.admin-color-ectoplasm #option-tree-header {
+ background: #523f6d;
+ color: #c6c6d3;
+}
+.admin-color-ectoplasm #option-tree-header li a {
+ color: #f3f2f1;
+}
+.admin-color-ectoplasm #option-tree-header li a:hover {
+ color: #fff;
+}
+.admin-color-ectoplasm #option-tree-header #option-tree-logo a,
+.admin-color-ectoplasm #option-tree-header #theme-version:before {
+ border-right-color: #181220;
+}
+.admin-color-ectoplasm #option-tree-header li#option-tree-logo:hover {
+ background-color: #a3b542;
+}
+.admin-color-ectoplasm #option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #181220;
+}
+.admin-color-ectoplasm #option-tree-header #option-tree-version span,
+.admin-color-ectoplasm #option-tree-header #theme-version span {
+ border-left-color: #644d85;
+}
+/* midnight */
+.admin-color-midnight #option-tree-header {
+ background: #363b3f;
+ color: #f1f2f3;
+}
+.admin-color-midnight #option-tree-header li a {
+ color: #f1f2f3;
+}
+.admin-color-midnight #option-tree-header li a:hover {
+ color: #fff;
+}
+.admin-color-midnight #option-tree-header #option-tree-logo a,
+.admin-color-midnight #option-tree-header #theme-version:before {
+ border-right-color: #090a0b;
+}
+.admin-color-midnight #option-tree-header li#option-tree-logo:hover {
+ background-color: #ed543f;
+}
+.admin-color-midnight #option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #090a0b;
+}
+.admin-color-midnight #option-tree-header #option-tree-version span,
+.admin-color-midnight #option-tree-header #theme-version span {
+ border-left-color: #4c5359;
+}
+/* ocean */
+.admin-color-ocean #option-tree-header {
+ background: #738e96;
+ color: #f1fcff;
+}
+.admin-color-ocean #option-tree-header li a {
+ color: #f1fcff;
+}
+.admin-color-ocean #option-tree-header li a:hover {
+ color: #fff;
+}
+.admin-color-ocean #option-tree-header #option-tree-logo a,
+.admin-color-ocean #option-tree-header #theme-version:before {
+ border-right-color: #39464a;
+}
+.admin-color-ocean #option-tree-header li#option-tree-logo:hover {
+ background-color: #9ab8a0;
+}
+.admin-color-ocean #option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #39464a;
+}
+.admin-color-ocean #option-tree-header #option-tree-version span,
+.admin-color-ocean #option-tree-header #theme-version span {
+ border-left-color: #87a6af;
+}
+/* sunrise */
+.admin-color-sunrise #option-tree-header {
+ background: #da4f41;
+ color: #fff;
+}
+.admin-color-sunrise #option-tree-header li a {
+ color: #f3f1f1;
+}
+.admin-color-sunrise #option-tree-header li a:hover {
+ color: #fff;
+}
+.admin-color-sunrise #option-tree-header #option-tree-logo a,
+.admin-color-sunrise #option-tree-header #theme-version:before {
+ border-right-color: #8a322a;
+}
+.admin-color-sunrise #option-tree-header li#option-tree-logo:hover {
+ background-color: #e88436;
+}
+.admin-color-sunrise #option-tree-header li#option-tree-logo:hover a {
+ border-right-color: #8a322a;
+}
+.admin-color-sunrise #option-tree-header #option-tree-version span,
+.admin-color-sunrise #option-tree-header #theme-version span {
+ border-left-color: #e75546;
+}
+
+/* --------------------------------------------------
+ :: Sub Header
+ ---------------------------------------------------*/
+#option-tree-sub-header {
+ background: #fafafa;
+ border: 1px solid #ccc;
+ border-top: none;
+ display: block;
+ margin: 0 5px 0 2px;
+ min-width: 523px;
+ overflow: hidden;
+ padding: 5px;
+ position: relative;
+ -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(0,0,0,0.05);
+ -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(0,0,0,0.05);
+ box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(0,0,0,0.05);
+}
+
+/* --------------------------------------------------
+ :: Tabs
+ ---------------------------------------------------*/
+.wrap.settings-wrap .ui-tabs-nav {
+ float: left;
+ list-style: none;
+ margin: 0 0 0 -4px;
+ padding: 1em 0;
+ width: 151px;
+}
+.wrap.settings-wrap .ui-tabs-nav li {
+ border: 1px solid transparent;
+ border-right-width: 0px;
+ display: block; margin: 0;
+ -webkit-border-radius: 2px 0 0 2px;
+ -moz-border-radius: 2px 0 0 2px;
+ border-radius: 2px 0 0 2px;
+}
+.wrap.settings-wrap .ui-tabs-nav li.ui-state-active {
+ background: #fff;
+ border-color: #ccc;
+ color: #000;
+}
+.wrap.settings-wrap .ui-tabs-nav li a {
+ color: #21759b;
+ display: block;
+ line-height: 18px;
+ padding: 5px 5px 5px 12px;
+ text-decoration: none;
+}
+.wrap.settings-wrap .ui-tabs-nav li a:hover,
+.wrap.settings-wrap .ui-tabs-nav li.ui-state-active a {
+ color: #000;
+ outline: none;
+}
+.wrap.settings-wrap .ui-tabs-panel {
+ clear: both;
+}
+
+/* --------------------------------------------------
+ :: Format Settings
+ ---------------------------------------------------*/
+.format-settings {
+ position: relative;
+ width: 100%;
+}
+.format-setting-wrap,
+.option-tree-sortable .format-settings {
+ padding: 10px 0 20px 0;
+}
+
+/* --------------------------------------------------
+ :: Format Setting Label
+ ---------------------------------------------------*/
+.format-setting-label {
+ border-bottom: 1px dashed #ccc;
+ margin: 0 0 20px 0;
+ padding: 5px 0px 1px 0px;
+ width: 100%;
+}
+#option-tree-settings-api .description h3,
+#option-tree-settings-api .format-setting-label .label,
+#poststuff .format-setting-label .label {
+ background: none;
+ border: none;
+ color: #222;
+ cursor: text;
+ display: block;
+ font-size: 1.3em;
+ font-weight: 500;
+ line-height: 1.6em;
+ letter-spacing: 0;
+ padding: 0 0 9px 0;
+ -webkit-user-select: text;
+ text-shadow: none;
+}
+
+/* --------------------------------------------------
+ :: Format Setting
+ ---------------------------------------------------*/
+.format-setting {
+ overflow: hidden;
+ position: relative;
+ width: 100%;
+}
+.format-setting .format-setting-inner {
+ float: left;
+ position: relative;
+ width: 63%;
+}
+.format-setting.no-desc > .format-setting-inner,
+.format-setting.wide-desc .format-setting-inner {
+ width: 100%;
+}
+.format-setting .description {
+ float: right;
+ padding: 5px 0;
+ width: 35%;
+}
+.format-setting.no-desc > .description,
+.format-setting.wide-desc .description {
+ float: none;
+ width: 100%;
+}
+.list-item-description {
+ padding-top: 10px;
+}
+#option-tree-settings-api h4 {
+ color: #333;
+ font-size: 1.2em;
+ font-weight: 500;
+ line-height: 1.5em;
+ margin: 1em 0 0.5em 0;
+ padding: 0;
+}
+#option-tree-settings-api h5 {
+ color: #444;
+ font-size: 1em;
+ font-weight: 700;
+ line-height: 1.2em;
+ margin: 1em 0 0.5em 0;
+ padding: 0;
+}
+#option-tree-settings-api p {
+ margin: 0 0 1.5em 0 !important;
+}
+#post .format-setting-inner p {
+ float: left;
+ width: 100%;
+ margin: 0 0 1.05em 0 !important;
+}
+.aside {
+ border-bottom: 1px solid #eee;
+ padding-bottom: 15px;
+ margin-bottom: 15px;
+}
+.deprecated {
+ border-bottom: 1px solid #eee;
+ color: #b94029;
+ padding-bottom: 15px;
+ margin-bottom: 15px;
+}
+.warning {
+ color: #b94029;
+}
+.docs-ul {
+ line-height: 1.3em;
+ margin: 0;
+ padding: 0 0 1em 0;
+}
+.docs-ul li {
+ list-style-type: square;
+ margin-left: 20px;
+}
+#contextual-help-setting {
+ float: left;
+ padding: 10px 0 5px 0;
+ width: 100%;
+}
+#contextual-help-label {
+ float: left;
+ padding-top: 20px;
+ width: 100%;
+}
+#option_tree_settings_help {
+ float: left;
+ width: 100%;
+}
+#option-tree-settings-api blockquote {
+ font-style: italic;
+ padding-left: 15px;
+ position: relative;
+}
+#option-tree-settings-api blockquote:before {
+ color: #ccc;
+ content: "\201C";
+ display: block;
+ font-size: 400%;
+ font-style: normal;
+ left: -10px;
+ position: absolute;
+ top: 10px;
+}
+@media only screen and (max-width: 1020px) {
+ .format-setting .description,
+ .format-setting .format-setting-inner {
+ width: 100%;
+ }
+ .format-setting .description {
+ padding-top: 0px;
+ padding-bottom: 20px;
+ }
+}
+.ot-background-group {
+ overflow: hidden;
+ width: auto;
+}
+.ot-background-size-input {
+ max-width: 110px;
+}
+.option-tree-setting-edit,
+.option-tree-setting-remove {
+ text-indent: -9999px;
+}
+
+/* --------------------------------------------------
+ :: Code formatting
+ ---------------------------------------------------*/
+#option-tree-settings-api code,
+.ot-metabox-wrapper code {
+ background-color: #f1f1f1;
+ color: #333;
+ font-size: 12px;
+}
+#option-tree-settings-api pre {
+ font-size: 13px;
+ padding: 0;
+ margin: 1.5em 0;
+ line-height: 18px;
+ overflow: auto;
+ overflow-Y: hidden;
+ padding-top: 18px;
+ background: #f1f1f1;
+ border-bottom: 1px solid #f1f1f1;
+ margin-bottom: 20px;
+ color: #000;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+#option-tree-settings-api pre code {
+ padding: 0 18px 18px 18px;
+ display: block;
+ background: url(../images/ot-pre-bg.gif) repeat left top;
+}
+
+/* --------------------------------------------------
+ :: Input & Upload
+ ---------------------------------------------------*/
+input.option-tree-ui-upload-input,
+input.option-tree-ui-input {
+ background: #fff;
+ border: 1px solid #ccc !important;
+ line-height: 17px;
+ font-size: 12px;
+ margin-bottom: 5px !important;
+ padding: 7px 6px;
+ position: relative;
+ width: 100% !important;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+}
+input:hover.option-tree-ui-upload-input,
+input:hover.option-tree-ui-input {
+ border-color: #bbb !important;
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+}
+input:focus.option-tree-ui-upload-input,
+input:focus.option-tree-ui-input {
+ border-color: #999 !important;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+ .option-tree-ui-input,
+ .option-tree-ui-upload-input {
+ padding: 5px 6px !important;
+ }
+}
+
+/* --------------------------------------------------
+ :: Upload
+ ---------------------------------------------------*/
+div.option-tree-ui-media-wrap {
+ margin: 0 55px 0 0;
+ min-height: 35px;
+ position: relative;
+}
+.option-tree-ui-media-wrap img {
+ background: #fafafa;
+ border: 1px solid #ccc;
+ padding: 4px;
+ display: block;
+ float: left;
+ max-width: 100%;
+ height: auto;
+ -ms-interpolation-mode: bicubic;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.option-tree-ui-upload-parent {
+ width: auto !important;
+ margin-right: 45px;
+ padding: 0px;
+ position: relative;
+}
+.ot_upload_media {
+ top: 0px;
+ margin: 0px !important;
+ position: absolute;
+ right: -45px;
+ text-indent: -9999px;
+}
+.option-tree-ui-media-wrap a.option-tree-ui-remove-media {
+ float: none !important;
+ margin: 0px !important;
+ position: absolute !important;
+ right: -55px;
+ text-indent: -9999px;
+ top: 1px;
+}
+
+/* --------------------------------------------------
+ :: Textarea
+ ---------------------------------------------------*/
+.fill-area .description,
+.fill-area .format-setting-inner {
+ width: 100% !important;
+}
+.wp-editor-area {
+ display: block;
+}
+.textarea,
+.ot-metabox-wrapper textarea {
+ width: 99.9%;
+ border: 1px solid #ccc;
+ font-family: Consolas, Monaco, monospace;
+ line-height: 150%;
+ outline: 0;
+ padding: 10px;
+ resize: vertical;
+}
+#contextual-help-setting .textarea {
+ width: 99.75%;
+}
+.ot-metabox-wrapper .wp-editor-container {
+ border: none;
+}
+.textarea:hover,
+.ot-metabox-wrapper textarea:hover {
+ border-color: #bbb !important;
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+}
+.textarea:focus,
+.ot-metabox-wrapper textarea:focus {
+ border-color: #999 !important;
+}
+
+@media only screen and (max-width: 1105px) {
+ .type-textarea .description, .type-textarea .format-setting-inner {
+ width: 100%;
+ }
+}
+
+/* --------------------------------------------------
+ :: Setting Item with Drag & Drop
+ ---------------------------------------------------*/
+.option-tree-setting-wrap {
+ margin-top: 0px;
+}
+.option-tree-setting-wrap li {
+ margin: 5px 0px;
+}
+.option-tree-setting {
+ border: 1px solid #ccc;
+ overflow: hidden;
+ position: relative;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.option-tree-setting:hover {
+ border-color: #999;
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+}
+.option-tree-setting a {
+ text-decoration: none;
+}
+.option-tree-setting .open {
+ background: #fafafa;
+ cursor: move;
+ line-height: 21px;
+ height: 21px;
+ padding: 10px 100px 10px 10px;
+ display: block;
+}
+.ui-state-disabled .option-tree-setting .open {
+ cursor: default;
+}
+.option-tree-setting .open:hover {
+ background: #fafafa;
+}
+.option-tree-setting .open:hover:before {
+ color: #999;
+ content: "\f142";
+ left: 4px;
+ font-family: "option-tree-font";
+ speak: none;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ position: absolute;
+ top: 14px;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.option-tree-setting.is-section .open:hover:before {
+ color: #000;
+}
+.button-section {
+ position: absolute;
+ right: 0px;
+ top: 1px;
+}
+.option-tree-setting.is-section {
+ border: 1px solid #000;
+}
+.option-tree-setting.is-section .option-tree-setting-body,
+.option-tree-setting.is-section .option-tree-ui-button {
+ border-right-color: #000 !important;
+}
+.option-tree-setting.is-section .open {
+ background: #333;
+ color: #bbb;
+}
+.format-setting .ui-sortable-helper .option-tree-setting .open {
+ background: #fff;
+}
+.option-tree-setting.is-section .open:hover,
+.format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #333;
+}
+/* light */
+.admin-color-light .option-tree-setting.is-section,
+.admin-color-light .option-tree-setting.is-section .option-tree-setting-body,
+.admin-color-light .option-tree-setting.is-section .option-tree-ui-button {
+ border-color: #3c3c3c !important;
+}
+.admin-color-light .option-tree-setting.is-section .open:hover:before {
+ color: #3c3c3c;
+}
+.admin-color-light .option-tree-setting.is-section .open {
+ background: #888;
+ color: #fff;
+}
+.admin-color-light .option-tree-setting.is-section .open:hover,
+.admin-color-light .format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #888;
+}
+/* blue */
+.admin-color-blue .option-tree-setting.is-section,
+.admin-color-blue .option-tree-setting.is-section .option-tree-setting-body,
+.admin-color-blue .option-tree-setting.is-section .option-tree-ui-button {
+ border-color: #002b39 !important;
+}
+.admin-color-blue .option-tree-setting.is-section .open:hover:before {
+ color: #002b39;
+}
+.admin-color-blue .option-tree-setting.is-section .open {
+ background: #52accc;
+ color: #fff;
+}
+.admin-color-blue .option-tree-setting.is-section .open:hover,
+.admin-color-blue .format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #52accc;
+}
+/* coffee */
+.admin-color-coffee .option-tree-setting.is-section,
+.admin-color-coffee .option-tree-setting.is-section .option-tree-setting-body,
+.admin-color-coffee .option-tree-setting.is-section .option-tree-ui-button {
+ border-color: #0f0e0d !important;
+}
+.admin-color-coffee .option-tree-setting.is-section .open:hover:before {
+ color: #0f0e0d;
+}
+.admin-color-coffee .option-tree-setting.is-section .open {
+ background: #59524c;
+ color: #c7cbc9;
+}
+.admin-color-coffee .option-tree-setting.is-section .open:hover,
+.admin-color-coffee .format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #59524c;
+}
+/* ectoplasm */
+.admin-color-ectoplasm .option-tree-setting.is-section,
+.admin-color-ectoplasm .option-tree-setting.is-section .option-tree-setting-body,
+.admin-color-ectoplasm .option-tree-setting.is-section .option-tree-ui-button {
+ border-color: #181220 !important;
+}
+.admin-color-ectoplasm .option-tree-setting.is-section .open:hover:before {
+ color: #181220;
+}
+.admin-color-ectoplasm .option-tree-setting.is-section .open {
+ background: #523f6d;
+ color: #c6c6d3;
+}
+.admin-color-ectoplasm .option-tree-setting.is-section .open:hover,
+.admin-color-ectoplasm .format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #523f6d;
+}
+/* midnight */
+.admin-color-midnight .option-tree-setting.is-section,
+.admin-color-midnight .option-tree-setting.is-section .option-tree-setting-body,
+.admin-color-midnight .option-tree-setting.is-section .option-tree-ui-button {
+ border-color: #090a0b !important;
+}
+.admin-color-midnight .option-tree-setting.is-section .open:hover:before {
+ color: #090a0b;
+}
+.admin-color-midnight .option-tree-setting.is-section .open {
+ background: #363b3f;
+ color: #f1f2f3;
+}
+.admin-color-midnight .option-tree-setting.is-section .open:hover,
+.admin-color-midnight .format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #363b3f;
+}
+/* ocean */
+.admin-color-ocean .option-tree-setting.is-section,
+.admin-color-ocean .option-tree-setting.is-section .option-tree-setting-body,
+.admin-color-ocean .option-tree-setting.is-section .option-tree-ui-button {
+ border-color: #39464a !important;
+}
+.admin-color-ocean .option-tree-setting.is-section .open:hover:before {
+ color: #39464a;
+}
+.admin-color-ocean .option-tree-setting.is-section .open {
+ background: #738e96;
+ color: #f1fcff;
+}
+.admin-color-ocean .option-tree-setting.is-section .open:hover,
+.admin-color-ocean .format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #738e96;
+}
+/* sunrise */
+.admin-color-sunrise .option-tree-setting.is-section,
+.admin-color-sunrise .option-tree-setting.is-section .option-tree-setting-body,
+.admin-color-sunrise .option-tree-setting.is-section .option-tree-ui-button {
+ border-color: #8a322a !important;
+}
+.admin-color-sunrise .option-tree-setting.is-section .open:hover:before {
+ color: #8a322a;
+}
+.admin-color-sunrise .option-tree-setting.is-section .open {
+ background: #da4f41;
+ color: #fff;
+}
+.admin-color-sunrise .option-tree-setting.is-section .open:hover,
+.admin-color-sunrise .format-setting .ui-sortable-helper .option-tree-setting.is-section .open {
+ background: #da4f41;
+}
+.ui-state-highlight {
+ border: 1px dashed #ccc;
+ display: block;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.option-tree-setting-body {
+ background: #fff;
+ border-top: 1px solid #ccc;
+ display: none;
+ padding: 10px;
+ -webkit-border-bottom-right-radius: 2px;
+ -webkit-border-bottom-left-radius: 2px;
+ -moz-border-radius-bottomright: 2px;
+ -moz-border-radius-bottomleft: 2px;
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+li ul .format-setting-wrap {
+ padding: 0 0 10px 0;
+}
+li ul .format-setting-label {
+ border: none;
+ padding: 0px;
+ margin: 0px;
+}
+
+/* --------------------------------------------------
+ :: Layouts
+ ---------------------------------------------------*/
+#option_tree_layouts {
+ display: none;
+ padding-top: 12px;
+}
+#option-tree-options-layouts-form {
+ left: 13px;
+ position: absolute;
+ top: 30px;
+ z-index: 10;
+}
+.option-tree-save-layout {
+ float: left;
+ padding: 10px 0;
+}
+.option-tree-save-layout.active-layout {
+ padding-left: 10px;
+}
+.option-tree-save-layout .widefat {
+ float: left;
+ width: 128px !important;
+ margin: 0;
+}
+.option-tree-active-layout {
+ border-right: 1px solid #ccc;
+ float: left;
+ padding: 10px 10px 10px 0;
+ min-width: 126px;
+}
+.button.save-layout {
+ margin: 0 0 0 10px !important;
+}
+.option-tree-layout-activate {
+ text-indent: -9999px;
+}
+.option-tree-layout-activate .icon:before {
+ content: "\f096";
+ position: relative;
+ top: 1px;
+}
+.option-tree-layout-activate.active .icon:before {
+ content: "\f046";
+ padding-left: 1px;
+}
+
+/* --------------------------------------------------
+ :: Option Group
+ ---------------------------------------------------*/
+.ot-option-group {
+ float: left;
+ padding-right: 5px;
+ position: relative;
+ width: 20%;
+ box-sizing: border-box;
+}
+.ot-option-group--three-fourths {
+ width: 75%;
+}
+.ot-option-group--two-thirds {
+ width: 66.6%;
+}
+.ot-option-group--one-half {
+ width: 50%;
+}
+.ot-option-group--one-third {
+ width: 33.3%;
+}
+.ot-option-group--one-fourth {
+ width: 25%;
+}
+.ot-option-group--one-fifth {
+ width: 20%;
+}
+.ot-option-group--one-sixth {
+ width: 16.6%;
+}
+.ot-option-group--one-eighth {
+ width: 12.5%;
+}
+.ot-option-group--is-last {
+ padding-right: 0;
+}
+.ot-option-group--icon {
+ background: #fafafa;
+ border-right: 1px solid #ccc;
+ display: inline-block;
+ font-size: 14px;
+ line-height: 14px;
+ padding: 6px 6px 7px;
+ position: absolute;
+ text-align: center;
+ top: 1px;
+ left: 1px;
+ width: 14px;
+ z-index: 10;
+}
+.ot-icon-circle.ot-option-group--icon:before {
+ left: 1px;
+ position: relative;
+ -webkit-filter: blur(1px);
+ -moz-filter: blur(1px);
+ -ms-filter: blur(1px);
+ -o-filter: blur(1px);
+ filter: blur(1px);
+}
+.ot-option-group--icon + input.option-tree-ui-input {
+ padding-left: 34px !important;
+ margin-right: 5px;
+}
+.ot-option-group--checkbox {
+ float: left;
+ padding-top: 2px;
+ padding-right: 10px;
+ width: auto;
+}
+#post-body .ot-option-group--checkbox p {
+ color: #a9a9a9;
+ float: left;
+ margin: 1px 0 0.3em 0 !important;
+}
+@media screen and ( min-width: 783px ) {
+ #post-body .ot-option-group--checkbox p input {
+ margin-top: 0px !important;
+ }
+}
+@media screen and ( max-width: 1020px ) {
+ .ot-option-group--one-fourth,
+ .ot-option-group--one-fifth,
+ .ot-option-group--one-sixth,
+ .ot-option-group--one-eighth {
+ width: 33.3%;
+ }
+ .ot-option-group--checkbox {
+ width: 100%;
+ }
+}
+@media screen and ( max-width: 782px ) {
+ .ot-option-group {
+ width: 50%;
+ }
+ .ot-option-group--three-fourths,
+ .ot-option-group--two-thirds,
+ .ot-option-group--one-half {
+ width: 100%;
+ }
+ .ot-option-group--checkbox {
+ padding-top: 0.3em;
+ }
+}
+.ot-option-group .select-wrapper {
+ width: 100%;
+}
+
+/* --------------------------------------------------
+ :: Select
+ ---------------------------------------------------*/
+.select-wrapper {
+ background: #fff url(../images/ot-select.png) no-repeat right center;
+ border: 1px solid #ccc;
+ display: block;
+ float: left;
+ font-size: 12px;
+ height: 29px;
+ margin: 0 5px 5px 0;
+ max-width: 100%;
+ width: auto;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.select-wrapper:hover {
+ background-image: url(../images/ot-select-hover.png);
+ border-color: #999;
+}
+select.option-tree-ui-select {
+ cursor: pointer;
+ filter: alpha(opacity: 0);
+ font-size: 14px;
+ height: 29px;
+ margin: 0;
+ max-width: 100%;
+ -moz-opacity: 0;
+ opacity: 0;
+ padding: 0 !important;
+ position: relative;
+ width: inherit;
+ z-index: 4;
+ min-width: 118px;
+}
+
+select.option-tree-ui-select option {
+ padding: 3px 15px !important;
+}
+.select-wrapper span {
+ height: 27px;
+ line-height: 27px;
+ overflow: hidden;
+ padding-left: 7px;
+ padding-right: 27px;
+ position: absolute;
+ z-index: 2;
+}
+#option-tree-options-layouts-form .select-wrapper {
+ margin: 0px;
+}
+#option-tree-options-layouts-form select.option-tree-ui-select {
+ min-width: 124px;
+}
+.type-measurement select.option-tree-ui-select {
+ min-width: 73px !important;
+}
+.type-measurement .select-wrapper {
+ margin-right: 0;
+ position: absolute;
+ right: 0px;
+ top: 0px;
+}
+
+/* FireFox */
+@-moz-document url-prefix() {
+ #option-tree-options-layouts-form .select-wrapper {
+ left: 250px;
+ }
+}
+
+/* --------------------------------------------------
+ :: Measurement
+ ---------------------------------------------------*/
+.option-tree-ui-measurement-input-wrap {
+ margin-right: 80px;
+}
+
+/* --------------------------------------------------
+ :: Checkbox & Radio
+ ---------------------------------------------------*/
+.format-setting.type-checkbox input,
+.format-setting.type-radio input {
+ float: left;
+ margin: 2px 5px 0 1px;
+}
+.format-setting.type-checkbox label,
+.format-setting.type-radio label {
+ float: left;
+ max-width: 90%;
+ padding: 0px;
+}
+#option-tree-settings-api .format-setting.type-checkbox p,
+#option-tree-settings-api .format-setting.type-radio p {
+ float: left;
+ margin: 0.5em 0 !important;
+ width: 100%;
+}
+@media screen and ( max-width: 782px ) {
+ .format-setting.type-checkbox,
+ .format-setting.type-radio {
+ padding-top: 0.3em;
+ }
+}
+
+/* --------------------------------------------------
+ :: Radio Images
+ ---------------------------------------------------*/
+.type-radio-image .option-tree-ui-radio-images {
+ float: left;
+ margin: 0 10px 10px 0px;
+}
+.type-radio-image .option-tree-ui-radio-images img {
+ background: #fff;
+ border: 1px solid #ccc;
+ cursor: pointer;
+ opacity: 0.8;
+ padding: 5px;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.type-radio-image .option-tree-ui-radio-images img.option-tree-ui-radio-image-selected,
+.type-radio-image .option-tree-ui-radio-images img:hover {
+ border-color: #464646;
+ opacity: 1;
+ -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+}
+
+/* --------------------------------------------------
+ :: Social Links
+ ---------------------------------------------------*/
+.type-social-links input.option-tree-ui-input {
+ margin-top: 5px;
+}
+
+/* --------------------------------------------------
+ :: Numeric Slider
+ ---------------------------------------------------*/
+.type-numeric-slider .format-setting-inner {
+ background: #fcfcfc;
+ border: 1px solid #ccc;
+ min-height: 41px;
+ padding: 5px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.ot-numeric-slider-wrap {
+ margin: 0 96px 0 0;
+}
+.ot-numeric-slider-wrap .ot-numeric-slider-helper-input {
+ position: absolute;
+ right: 5px;
+ text-align: center;
+ top: 5px;
+ width: 90px !important;
+}
+.ot-numeric-slider.ui-slider {
+ background: #fff;
+ border: 1px solid #ccc;
+ margin: 8px 8px 0 8px;
+ position: relative;
+ -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.ot-numeric-slider.ui-slider-horizontal {
+ height: 11px;
+}
+.ot-numeric-slider.ui-slider .ui-slider-handle {
+ border: 1px solid #000;
+ color: #555;
+ cursor: pointer;
+ display: block;
+ height: 27px;
+ margin: -9px -8px;
+ outline: 0;
+ position: absolute;
+ width: 16px;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 rgba(0,0,0,.08);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 rgba(0,0,0,.08);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 rgba(0,0,0,.08);
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+/* default */
+.ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #333;
+ border-color: #000;
+}
+.ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #444;
+ border-color: #111;
+}
+/* light */
+.admin-color-light .ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #888;
+ border-color: #3c3c3c;
+}
+.admin-color-light .ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.admin-color-light .ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #999;
+ border-color: #777;
+}
+/* blue */
+.admin-color-blue .ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #52accc;
+ border-color: #002b39;
+}
+.admin-color-blue .ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.admin-color-blue .ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #5dc2e6;
+ border-color: #006484;
+}
+/* coffee */
+.admin-color-coffee .ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #59524c;
+ border-color: #0f0e0d;
+}
+.admin-color-coffee .ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.admin-color-coffee .ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #cca588;
+ border-color: #675f58;
+}
+/* ectoplasm */
+.admin-color-ectoplasm .ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #523f6d;
+ border-color: #181220;
+}
+.admin-color-ectoplasm .ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.admin-color-ectoplasm .ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #a3b542;
+ border-color: #644d85;
+}
+/* midnight */
+.admin-color-midnight .ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #363b3f;
+ border-color: #090a0b;
+}
+.admin-color-midnight .ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.admin-color-midnight .ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #ed543f;
+ border-color: #a0382a;
+}
+/* ocean */
+.admin-color-ocean .ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #738e96;
+ border-color: #39464a;
+}
+.admin-color-ocean .ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.admin-color-ocean .ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #9ab8a0;
+ border-color: #5a6c5e;
+}
+/* sunrise */
+.admin-color-sunrise .ot-numeric-slider.ui-slider .ui-slider-handle {
+ background: #da4f41;
+ border-color: #8a322a;
+}
+.admin-color-sunrise .ot-numeric-slider.ui-slider .ui-slider-handle:hover,
+.admin-color-sunrise .ot-numeric-slider.ui-slider .ui-slider-handle.ui-state-active {
+ background: #e88436;
+ border-color: #e75546;
+}
+
+/* --------------------------------------------------
+ :: Colorpicker
+ ---------------------------------------------------*/
+.option-tree-ui-colorpicker-input-wrap {
+ float: left;
+}
+.hide-color-picker {
+ display: none;
+}
+.option-tree-ui-colorpicker-input-wrap .option-tree-ui-colorpicker-label {
+ height: 30px;
+ line-height: 30px;
+ margin-right: 10px;
+ display: block;
+}
+.type-link-color .option-tree-ui-colorpicker-input-wrap {
+ margin-right: 20px;
+}
+.option-tree-ui-colorpicker-input-wrap .wp-color-picker,
+.option-tree-ui-colorpicker-input-wrap .wp-picker-default,
+.option-tree-ui-colorpicker-input-wrap .wp-picker-clear {
+ border-color: #ccc;
+ font-size: 12px !important;
+ height: 29px !important;
+ line-height: 27px !important;
+ margin-top: 0px;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+.option-tree-ui-colorpicker-input-wrap .wp-color-picker {
+ margin: 0 0 5px 0 !important;
+}
+.option-tree-ui-colorpicker-input-wrap .wp-color-result {
+ height: 27px;
+ outline: 0;
+ margin: 0 5px 5px 0px;
+ top: 0px;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+.option-tree-ui-colorpicker-input-wrap .wp-color-result:after {
+ line-height: 27px;
+}
+.option-tree-ui-colorpicker-input-wrap .wp-picker-container .iris-picker {
+ border-color: #ccc;
+ margin: 0px 5px 5px 0;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+@media screen and ( max-width: 782px ) {
+ .option-tree-ui-colorpicker-input-wrap .wp-color-picker {
+ padding: 3px 5px !important;
+ }
+ .option-tree-ui-colorpicker-input-wrap .wp-picker-clear,
+ .option-tree-ui-colorpicker-input-wrap .wp-picker-default {
+ margin-top: 4px;
+ padding: 0 8px 1px !important;
+ }
+}
+
+/* --------------------------------------------------
+ :: Colorpicker Opacity (Derivative work of the Codestar WP Color Picker.)
+ ---------------------------------------------------*/
+.option-tree-opacity-wrap {
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border-top: none;
+ border-radius: 0 0 2px 2px;
+ direction: ltr;
+ display: none;
+ padding: 10px;
+ position: relative;
+ top: -6px;
+ width: 235px;
+}
+.option-tree-opacity-slider {
+ left: 10px;
+ position: absolute;
+ width: 171px;
+ margin-left: 3px;
+ height: 28px;
+}
+.option-tree-opacity-slider .ui-slider-handle {
+ position: absolute;
+ top: -3px;
+ bottom: -3px;
+ z-index: 5;
+ border-color: #aaa;
+ border-style: solid;
+ border-width: 4px 3px;
+ width: 6px;
+ height: 26px;
+ margin: 0 -3px;
+ background: none;
+ cursor: ew-resize;
+ opacity: 0.9;
+ border-radius: 4px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+}
+.option-tree-opacity-slider .ui-slider-handle:before {
+ content: " ";
+ position: absolute;
+ left: -2px;
+ right: -2px;
+ top: -3px;
+ bottom: -3px;
+ border: 2px solid #fff;
+ border-radius: 3px;
+}
+.option-tree-opacity-slider-offset {
+ height: 28px;
+ width: 183px;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAASCAYAAAAe/ZHXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkNEQUQ0ODM4RUE0MTFFNEExOEJFN0E5M0VFOTg0QUQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkNEQUQ0ODQ4RUE0MTFFNEExOEJFN0E5M0VFOTg0QUQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2Q0RBRDQ4MThFQTQxMUU0QTE4QkU3QTkzRUU5ODRBRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2Q0RBRDQ4MjhFQTQxMUU0QTE4QkU3QTkzRUU5ODRBRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/r/N8AAAWYSURBVHjarFvvR3VBEN45JZGIPkREHyIiIhJJf3qUSERE9CGiDxERkcg9z9u92uucvTszz5z7xnHPj93Z2d359cxscn5+jpTS+EoiMr3/+51cZ2dn4+e29i2/u7y8RKf/pO3vc+o+n5ycoNK31+f6+jrfZ37yuG2mf3R01H3fa5N/b29vU6dP5qft0G4PDg5MGuPr/v4+jz1t27mfvN/b21P75+fHx8eZfiV/Ozs7rUJnSu/5+RlFv+m6ZJpbW1s1PnrvXl9fZ/qX89zY2LB4mfy+v7/nsdV1XltbK/dr5vnz87OcV5bJabuVlRVLBifjfX9/l/xkGtM+S0tLNXnu0szfU/P3IMn/k0678h6ddqjQFGccVL6hoCsVfsq+NZ5QtCv5rfFS41sq37W+UPhMyhxEWTetvce3NR8oewqD39qalXuGAK/WPltjajIC4x2c9Ye1f43SGcqGwRBeTZjhMNntL4pCWZMQYhE05RVl02EovRgC4RkCbUNSQAGhGB/GsKG4h6FQoigDa2i8fRBy3uLMXYIG3Vr3aZvRaCRdBYlYIMZywhBGCVhgzzOlgRuUSOvC0GMEWxOM/+EtQFh1OIIXtfwg1tRaayGjg5px0jyZKEaTle3e+AsLCygVRAh3FlEgKbReE3oYGj9EgIR00QiEgKw3ZBQbRGjBeAMtDETQmHiKDsezJNLgCTFGItZXlAgCSiQggblP+9c8SDI0lXWlFv5g3K63KZ51FOcZzthQ3LomoNHwJmKIQISI3vqzSpwIQ8liSjGMFQjDpoVgaQ6cWgvLhOC7qiAwiHrWbEg4JMSmeUrBuHoYwioOQNXmhmAcrs096s1gJCGi3hSEVU8DQxYElYHhKwUUGAa+NqOBMsSSAQJuhQhCAH4vxozExsxiihPuaIrjCVYKWlYEsjSM52G8Kxxryngl5j0j+EyGTIiED4s1Itm0ZGWxMFCLJaBAcEI6OBkmFgNBoc8Cait2ZnENE/6wQN8LJSJeSMNAjKVm+LUMAIt3PR5AQgIGp1Z5zxhE8PtXUYReYeXi4mKmOPNXBMzt2tPT07LIUtJqr66uusXEbkFnWiQ6Pj72ikrtzc1NKopuvbbj58PDwxqNHp27u7tuYWumUDV+v7+/Xyu6pc59+/DwUCsC9ujt7u6qRbt8//T01C3elbyN70fb29uZ/1FSincvLy/lPGb42tzc9IqJeHt7q61Pr2C6vr7u7tfHx8fMPhV0sLq6WhZtU0n36+uru8elPE7aLi8v1wqJPXn++fmZKYgX8ozFxcXJb0NaQTHClZT8+gBjsYdaFc+zWcUkGTCWENY66ta92oSVzo3WI6IZKGtukeyfBLFKBNAj6bUOBgaoe9wE4n04IBNkLMoC7+Skj630ZlTJMYdyMsU2T8AwpzALkVFilZgJcT2l9PCWDDSAMBSjVlJgZNk0lE1AIby0qCiCnBQNj6aBGQslZIZJ5hB6D/AzQHto5Z9Nk8tARdN4q2ExBnsyIJ311EymShyjan2rKk0zh1Ay1oQVWAZQRnkUA8RFw7TahjBnmNgMVMQrsCGZJezRtGlU0cUZ1zuaxGZPpbhApM+ZpFQqQ6xadoMtBrEKpBVo4GRXvNSxpaRixKiR+TChCYhsDwZkfFj8IkErjAHejcUI0XQrgwehhNSMHAz21E0wZ23FcCAmj8Sd/PXy2xLYLAuwRw4IMsqjFaWYOpMEhDySAPFCWyFkgAHrEcA+BNeJ4UE8HCzJPpCrerUmQIx1pWJkjqxJD8EikUo2c5aI8ZYgsAkM4WQtnHd0ns0ORgVTBghy5ISy928SGsbTMqYg523RUY8oNYG4FIYiyRyZCnFCJC87IoRAIMVOqQ7BKexxCS2hYVl9JhvlpYjnAe4MhmRPMWhhvLfXINaI9WKM0Zu0+SfAAFLE1EgfVSv7AAAAAElFTkSuQmCC);
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
+ border-radius: 2px;
+}
+.option-tree-opacity-text {
+ position: absolute;
+ top: 15px;
+ left: 215px;
+ width: 30px;
+ font-size: 12px;
+ text-align: center;
+}
+
+/* --------------------------------------------------
+ :: Google Font
+ ---------------------------------------------------*/
+.type-google-font {
+
+}
+.type-google-font-group-clone {
+ display: none;
+}
+.type-google-font-group {
+ float: left;
+ margin-bottom: 20px;
+ width: 100%;
+}
+.js-remove-google-font.option-tree-ui-button.button {
+ margin-left: 0;
+ margin-top: 0;
+}
+
+/* --------------------------------------------------
+ :: OptionTree UI Buttons
+ ---------------------------------------------------*/
+.option-tree-ui-button.button {
+ float: left;
+ font-size: 12px !important;
+ line-height: 27px !important;
+ height: 29px !important;
+ margin: 5px;
+ min-width: 40px;
+ padding: 0 10px 1px !important;
+}
+.option-tree-ui-button:active,
+.option-tree-ui-button:hover,
+.option-tree-ui-button:focus {
+ outline: 0;
+}
+.option-tree-ui-button.hidden {
+ display: none;
+}
+.option-tree-ui-button.button-secondary {
+ background: #b73b27;
+ border-color: #7f291b;
+ color: #fff;
+ text-shadow: none;
+ -webkit-box-shadow: inset 0 1px 0 rgba(229,134,119,0.5), 0 1px 0 rgba(0,0,0,.15);
+ -moz-box-shadow: inset 0 1px 0 rgba(229,134,119,0.5), 0 1px 0 rgba(0,0,0,.15);
+ box-shadow: inset 0 1px 0 rgba(229,134,119,0.5), 0 1px 0 rgba(0,0,0,.15);
+}
+.option-tree-ui-button.button-secondary.hover,
+.option-tree-ui-button.button-secondary:hover,
+.option-tree-ui-button.button-secondary.focus,
+.option-tree-ui-button.button-secondary:focus {
+ background: #9b3221;
+ border-color: #7f291b;
+ color: #fff;
+ -webkit-box-shadow: inset 0 1px 0 rgba(229,134,119,0.6);
+ -moz-box-shadow: inset 0 1px 0 rgba(229,134,119,0.5), 0 1px 0 rgba(0,0,0,.15);
+ box-shadow: inset 0 1px 0 rgba(229,134,119,0.6);
+}
+.option-tree-ui-button.button-secondary.focus,
+.option-tree-ui-button.button-secondary:focus {
+ border-color: #4f160d;
+ -webkit-box-shadow: inset 0 1px 0 rgba(229,134,119,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+ -moz-box-shadow: inset 0 1px 0 rgba(229,134,119,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+ box-shadow: inset 0 1px 0 rgba(229,134,119,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+}
+.option-tree-ui-button.button-secondary.active,
+.option-tree-ui-button.button-secondary.active:hover,
+.option-tree-ui-button.button-secondary.active:focus,
+.option-tree-ui-button.button-secondary:active {
+ background: #b73b27;
+ border-color: #7f291b;
+ color: rgba(255,255,255,0.95);
+ -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+ -moz-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+ box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+ vertical-align: top;
+}
+.option-tree-ui-button.right {
+ float: right;
+}
+.option-tree-ui-button.hug-left {
+ margin-left: 0px;
+}
+.option-tree-ui-button.hug-right {
+ margin-right: 0px;
+}
+.option-tree-ui-button.pad {
+ padding: 0px 21px;
+}
+.option-tree-ui-button.left-item {
+ margin: 5px 0 5px 5px;
+ -webkit-border-top-right-radius: 0px;
+ -webkit-border-bottom-right-radius: 0px;
+ -moz-border-radius-topright: 0px;
+ -moz-border-radius-bottomright: 0px;
+ border-top-right-radius: 0px;
+ border-bottom-right-radius: 0px;
+}
+.option-tree-ui-button.center-item {
+ margin: 5px 0 5px -1px;
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ border-radius: 0px;
+}
+.option-tree-ui-button.right-item {
+ margin: 5px 5px 5px -1px;
+ -webkit-border-top-left-radius: 0px;
+ -webkit-border-bottom-left-radius: 0px;
+ -moz-border-radius-topleft: 0px;
+ -moz-border-radius-bottomleft: 0px;
+ border-top-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+}
+.option-tree-ui-buttons {
+ background: #fff;
+ border: 1px solid #ccc;
+ margin: 11px 5px 0 2px;
+ min-width: 523px;
+ overflow: hidden;
+ padding: 5px;
+ position: relative;
+ -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ box-shadow: 0 1px 3px rgba(0,0,0,0.05);
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.option-tree-ui-buttons.alt {
+ background: #f5f5f5;
+ border-color: #dfdfdf;
+}
+.option-tree-ui-buttons:before,
+.option-tree-ui-buttons:after {
+ content: "\0020";
+ display: block;
+ height: 0;
+ visibility: hidden;
+}
+.option-tree-ui-buttons:after {
+ clear: both;
+}
+.option-tree-ui-buttons {
+ zoom: 1;
+}
+button.reset-settings {
+ position: relative;
+ top: -45px;
+ left: 8px;
+}
+
+/* --------------------------------------------------
+ :: OptionTree UI Button Icons
+ ---------------------------------------------------*/
+.option-tree-ui-button .icon {
+ color: #3a3a3a;
+ display: inline-block;
+ float: left;
+ font-size: 20px;
+ height: 20px;
+ margin-top: 3px;
+ opacity: 0.9;
+ overflow: hidden;
+ text-align: center;
+ text-indent: 0;
+ width: 18px;
+}
+button.option-tree-ui-button .icon {
+ margin-top: -3px;
+}
+.option-tree-ui-button.light .icon {
+ color: #fff;
+ opacity: 0.9;
+}
+.option-tree-ui-button.active .icon,
+.option-tree-ui-button:hover .icon {
+ opacity: 1;
+}
+.option-tree-ui-button .icon.right-label {
+ margin-right: 10px;
+}
+.option-tree-ui-button .icon.left-label {
+ margin-left: 10px;
+ float: right;
+}
+.option-tree-ui-button .upload {
+ background-position: -0px -0px;
+}
+.option-tree-ui-button .trash-can {
+ background-position: -18px -0px;
+}
+.option-tree-ui-button .pencil,
+.option-tree-ui-button .check {
+ background-position: -36px -0px;
+}
+.option-tree-ui-button:hover .pencil,
+.option-tree-ui-button:hover .check,
+.option-tree-ui-button.active .pencil,
+.option-tree-ui-button.active .check {
+ background-position: -54px -0px;
+}
+
+/* --------------------------------------------------
+ :: WP 3.8 Fixes (via Github @AlxMedia)
+ ---------------------------------------------------*/
+#option-tree-settings-api #poststuff,
+#option-tree-settings-api #post-body-content {
+ min-width: 0;
+}
+#option-tree-settings-api #poststuff h3 {
+ font-family: inherit !important;
+}
+#option-tree-settings-api .postbox {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+#option-tree-settings-api p input[type="checkbox"],
+#option-tree-settings-api p input[type="radio"] {
+ margin-top: 2px;
+}
+#option-tree-settings-api .format-setting.type-checkbox p,
#option-tree-settings-api .format-setting.type-radio p {
margin: 0.3em 0 !important;
}
-input.option-tree-ui-upload-input,
-input.option-tree-ui-input {
- padding-top: 5px;
- padding-bottom: 5px;
+input.option-tree-ui-upload-input,
+input.option-tree-ui-input {
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+@media screen and ( max-width: 782px ) {
+ #option-tree-settings-api p input[type="checkbox"],
+ #option-tree-settings-api p input[type="radio"] {
+ margin-top: -3px;
+ }
+}
+
+/* --------------------------------------------------
+ :: Gallery
+ ---------------------------------------------------*/
+ul.ot-gallery-list {
+ float: left;
+ margin: 0;
+ width: 100%;
+}
+ul.ot-gallery-list li {
+ background: none repeat scroll 0 0 white;
+ border: 1px solid #bbb;
+ float: left;
+ margin: 0px 10px 10px 0;
+ padding: 4px;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+ul.ot-gallery-list li img {
+ display: block;
+ margin: 0;
+}
+
+.ot-gallery-buttons {
+ float: left;
+ width: 100%;
+}
+.ot-gallery-buttons a.option-tree-ui-button {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+/* --------------------------------------------------
+ :: Google Fonts
+ ---------------------------------------------------*/
+.option-tree-google-font-family,
+.option-tree-google-font-variants,
+.option-tree-google-font-subsets {
+ float: left;
+ width: 20%;
+}
+.option-tree-google-font-family {
+ width: 100%;
+}
+#option-tree-settings-api p.checkbox-wrap,
+#post-body .ot-metabox-panels p.checkbox-wrap {
+ display: block;
+ float: left;
+ margin: 0.3em 0 !important;
+ width: 100%;
+}
+@media screen and ( max-width: 1020px ) {
+ .option-tree-google-font-variants,
+ .option-tree-google-font-subsets {
+ width: 33%;
+ }
+}
+@media screen and ( max-width: 782px ) {
+ .option-tree-google-font-variants,
+ .option-tree-google-font-subsets {
+ width: 50%;
+ }
+}
+
+/* --------------------------------------------------
+ :: On/Off Switch
+ ---------------------------------------------------*/
+.on-off-switch .slide-button {
+ display: none;
+}
+@media only screen {
+ .on-off-switch {
+ background-color: #fff;
+ border: 1px solid #ccc;
+ color: #333;
+ display: block;
+ font-size: 12px;
+ font-weight: normal;
+ height: 27px;
+ margin: 2px 1px;
+ position: relative;
+ padding: 0;
+ text-align: center;
+ text-transform: uppercase;
+ width: 100px;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ }
+ .on-off-switch * {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ .on-off-switch input {
+ position: absolute;
+ opacity: 0;
+ }
+ .on-off-switch label {
+ cursor: pointer;
+ float: left;
+ height: 27px;
+ line-height: 27px;
+ margin: 0;
+ position: relative;
+ text-align: center;
+ vertical-align: middle;
+ width: 50%;
+ z-index: 2;
+ }
+ .on-off-switch input:last-of-type + label {
+ color: #333;
+ }
+ .on-off-switch input:checked + label {
+ color: #333;
+ }
+ .on-off-switch input:last-of-type:checked + label {
+ color: #fff;
+ }
+ .on-off-switch input:focus + label {
+ outline: none;
+ }
+ .on-off-switch .slide-button {
+ background: #b2d27e;
+ border: 1px solid #7c9258;
+ display: block;
+ height: 29px;
+ left: -1px;
+ padding: 0;
+ position: absolute;
+ text-decoration: none;
+ top: -1px;
+ width: 51%;
+ z-index: 1;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ -webkit-box-shadow: inset 0 1px 0 #c8eb8e, 0 1px 0 rgba(0,0,0,.08);
+ -moz-box-shadow: inset 0 1px 0 #c8eb8e, 0 1px 0 rgba(0,0,0,.08);
+ box-shadow: inset 0 1px 0 #c8eb8e, 0 1px 0 rgba(0,0,0,.08);
+ -webkit-transition: all 0.2s ease-out;
+ -moz-transition: all 0.2s ease-out;
+ transition: all 0.2s ease-out;
+ }
+ .on-off-switch input:last-of-type:checked ~ .slide-button {
+ background: #b73b27;
+ border-color: #7f291b;
+ color: #fff;
+ left: 50%;
+ -webkit-box-shadow: inset 0 1px 0 rgba(229,134,119,0.6), 0 1px 0 rgba(0,0,0,.15);
+ -moz-box-shadow: inset 0 1px 0 rgba(229,134,119,0.6), 0 1px 0 rgba(0,0,0,.15);
+ box-shadow: inset 0 1px 0 rgba(229,134,119,0.6), 0 1px 0 rgba(0,0,0,.15);
+ }
+}
+@media only screen and (-webkit-max-device-pixel-ratio: 2) and (max-device-width: 1280px) {
+ .on-off-switch {
+ -webkit-animation: webkitSiblingBugfix infinite 1s;
+ }
+}
+@-webkit-keyframes webkitSiblingBugfix {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ }
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ }
+}
+
+/* --------------------------------------------------
+ :: Simple Input Append & Prepend
+ ---------------------------------------------------*/
+.ot-input-append,
+.ot-input-prepend {
+ display: inline-block;
+ vertical-align: middle;
+ font-size: 0;
+ white-space: nowrap;
+}
+.ot-input-append input {
+ position: relative;
+ margin-bottom: 0;
+ *margin-left: 0;
+ vertical-align: top;
+ -webkit-border-radius: 0 2px 2px 0;
+ -moz-border-radius: 0 2px 2px 0;
+ border-radius: 0 2px 2px 0;
+}
+.ot-input-append input:focus,
+.ot-input-prepend input:focus {
+ z-index: 2;
+}
+.ot-input-append .ot-add-on,
+.ot-input-prepend .ot-add-on {
+ display: inline-block;
+ width: auto;
+ height: 27px;
+ line-height: 28px;
+ min-width: 16px;
+ padding: 0 6px;
+ font-size: 16px;
+ font-weight: normal;
+ text-align: center;
+ text-shadow: 0 1px 0 white;
+ background-color: #f7f7f7;
+ border: 1px solid #ccc;
+}
+.ot-input-prepend input {
+ border-left: 0 !important;
+}
+.ot-input-prepend .ot-add-on:first-child {
+ -webkit-border-radius: 2px 0 0 2px;
+ -moz-border-radius: 2px 0 0 2px;
+ border-radius: 2px 0 0 2px;
+}
+.ot-input-append input {
+ border-right: 0 !important;
+ -webkit-border-radius: 2px 0 0 2px;
+ -moz-border-radius: 2px 0 0 2px;
+ border-radius: 2px 0 0 2px;
+}
+.ot-input-append input + .btn-group .btn:first-child {
+ -webkit-border-top-left-radius: 0;
+ -moz-border-radius-topleft: 0;
+ border-top-left-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-radius-bottomleft: 0;
+ border-bottom-left-radius: 0;
+}
+.ot-input-append .ot-add-on:last-child {
+ -webkit-border-radius: 0 2px 2px 0;
+ -moz-border-radius: 0 2px 2px 0;
+ border-radius: 0 2px 2px 0;
+}
+.ot-input-prepend.ot-input-append input {
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.ot-input-prepend.ot-input-append .ot-add-on:first-child {
+ -webkit-border-radius: 2px 0 0 2px;
+ -moz-border-radius: 2px 0 0 2px;
+ border-radius: 2px 0 0 2px;
+}
+.ot-input-prepend.ot-input-append .ot-add-on:last-child {
+ -webkit-border-radius: 0 2px 2px 0;
+ -moz-border-radius: 0 2px 2px 0;
+ border-radius: 0 2px 2px 0;
+}
+
+/* --------------------------------------------------
+ :: CSS Editor
+ ---------------------------------------------------*/
+#option-tree-settings-api pre.ot-css-editor,
+#poststuff .type-css pre.ot-css-editor,
+#option-tree-settings-api pre.ot-javascript-editor,
+#poststuff .type-javascript pre.ot-javascript-editor {
+ bottom: 0;
+ height: 280px;
+ left: 0;
+ margin: 0 !important;
+ right: 0;
+ top: 0;
+}
+#option-tree-settings-api pre.ace-chrome,
+#poststuff .type-css pre.ace-chrome,
+#poststuff .type-javascript pre.ace-chrome {
+ background-color: #fff !important;
+ border: 1px solid #ccc;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+#option-tree-settings-api pre.ace-chrome:hover,
+#poststuff .type-css pre.ace-chrome:hover,
+#poststuff .type-javascript pre.ace-chrome:hover {
+ border-color: #bbb !important;
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+}
+#option-tree-settings-api pre.ace-chrome.ace_focus,
+#poststuff .type-css pre.ace-chrome.ace_focus,
+#poststuff .type-javascript pre.ace-chrome.ace_focus {
+ border-color: #999 !important;
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.0980392);
+}
+
+/* --------------------------------------------------
+ :: Date Picker
+ ---------------------------------------------------*/
+.ui-datepicker {
+ background: #fff;
+ border: 1px solid #ccc;
+ height: auto;
+ margin: 5px auto 0;
+ width: 216px;
+ z-index: 101 !important;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.ui-datepicker a {
+ text-decoration: none;
+}
+.ui-datepicker table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ width: 100%;
+}
+.ui-datepicker .ui-widget-header {
+ left: -1px;
+ line-height: 30px;
+ position: relative;
+ top: -1px;
+ width: 218px;
+ -webkit-border-radius: 2px 2px 0 0;
+ -moz-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
+}
+.ui-datepicker .ui-datepicker-title {
+ text-align: center;
+}
+.ui-datepicker-prev,
+.ui-datepicker-next {
+ color: #ccc;
+ display: inline-block;
+ font-family: "option-tree-font";
+ font-size: 16px;
+ width: 30px;
+ height: 30px;
+ text-align: center;
+ cursor: pointer;
+ -webkit-border-radius: 2px 0 0 0;
+ -moz-border-radius: 2px 0 0 0;
+ border-radius: 2px 0 0 0;
+}
+.ui-datepicker-next {
+ -webkit-border-radius: 0 2px 0 0;
+ -moz-border-radius: 0 2px 0 0;
+ border-radius: 0 2px 0 0;
+}
+.ui-datepicker-prev span,
+.ui-datepicker-next span {
+ display: none;
+}
+.ui-datepicker-prev:hover,
+.ui-datepicker-next:hover {
+ color: #fff;
+}
+.ui-datepicker-prev:before {
+ border-right: 1px solid #555;
+ content: "\f104";
+ display: block;
+ float: left;
+ width: 31px;
+ height: 30px;
+}
+.ui-datepicker-prev {
+ border-right: 1px solid #333;
+ float: left;
+}
+.ui-datepicker-next:before {
+ border-left: 1px solid #555;
+ content: "\f105";
+ display: block;
+ float: right;
+ width: 30px;
+ height: 30px;
+}
+.ui-datepicker-next {
+ border-left: 1px solid #333;
+ float: right;
+ width: 31px;
+}
+a.ui-datepicker-prev,
+a.ui-datepicker-next {
+ outline: 0;
+}
+.ui-datepicker thead {
+ background-color: #fafafa;
+ border-bottom: 1px solid #ccc;
+}
+.ui-datepicker th {
+ text-transform: uppercase;
+ font-size: 9px;
+ padding: 5px 0;
+ color: #555;
+ text-shadow: 1px 0px 0px rgba(255,255,255,0.5);
+}
+.ui-datepicker tbody td {
+ border-right: 1px solid #ccc;
+ padding: 0;
+}
+.ui-datepicker tbody td:last-child {
+ border-right: 0px;
+}
+.ui-datepicker tbody tr {
+ border-bottom: 1px solid #ccc;
+}
+.ui-datepicker tbody tr:last-child {
+ border-bottom: 0px;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+ display: inline-block;
+ font-size: 11px;
+ text-align: center;
+ width: 30px;
+ height: 29px;
+ line-height: 30px;
+ color: #555;
+ text-shadow: 1px 0px 0px rgba(255,255,255,0.5);
+}
+.ui-datepicker-calendar .ui-state-default {
+ background-color: #f1f1f1;
+}
+.ui-datepicker-calendar .ui-state-highlight {
+ border-radius: 0px;
+ border: none;
+ color: #0074a2;
+}
+.ui-datepicker-calendar .ui-state-hover {
+ background: #fff;
+}
+.ui-datepicker-calendar .ui-state-active {
+ background-color: #0074a2;
+ color: #fff !important;
+ text-shadow: 0px 1px 0px rgba(0,0,0,0.25);
+ position: relative;
+}
+.ui-datepicker-unselectable .ui-state-default {
+ background: #fff;
+ color: #aaa;
+}
+.ui-datepicker-calendar td:first-child .ui-state-active {
+ margin-left: 0;
+ width: 30px;
+}
+.ui-datepicker-calendar td:last-child .ui-state-active {
+ margin-right: 0;
+ width: 30px;
+}
+.ui-datepicker-calendar tr:last-child .ui-state-active {
+ height: 30px;
+ margin-bottom: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+ background-image: none;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 0;
+ margin: 0;
+ padding: 0 .7em;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+ background: #f7f7f7;
+ border: 1px solid #ccc;
+ color: #555;
+ cursor: pointer;
+ float: right;
+ height: auto;
+ margin: .7em 0;
+ padding: 5px 14px;
+ width: auto;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+ -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+ box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+}
+.ui-datepicker .ui-datepicker-buttonpane button::-moz-focus-inner {
+ border-width: 1px 0;
+ border-style: solid none;
+ border-color: transparent;
+ padding: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane button:hover,
+.ui-datepicker .ui-datepicker-buttonpane button:focus {
+ background: #fafafa;
+ border-color: #999;
+ color: #222;
+ outline: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane button:focus {
+ -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+ -moz-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+ box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+}
+.ui-datepicker .ui-datepicker-buttonpane button:active {
+ background: #eee;
+ border-color: #999;
+ color: #333;
+ outline: 0;
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+ -moz-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+ box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+ float: left;
+}
+.ui-datepicker-calendar + .ui-datepicker-buttonpane {
+ border-bottom: 1px solid #ccc;
+}
+.ui-datepicker-multi-2 {
+ width: 432px !important;
+}
+.ui-datepicker-multi-3 {
+ width: 648px !important;
+}
+.ui-datepicker-multi-4 {
+ width: 864px !important;
+}
+.ui-datepicker-group {
+ float: left;
+ width: 216px !important;
+}
+.ui-datepicker-row-break {
+ clear: both;
+ width: 100%;
+ font-size: 0;
+}
+.ui-datepicker-multi .ui-datepicker-buttonpane {
+ border-top: 1px solid #ccc !important;
+}
+
+/* default color scheme */
+.ui-datepicker .ui-widget-header {
+ background: #333;
+ color: #bbb;
+}
+.ui-datepicker .ui-widget-header a {
+ color: #999;
+}
+.ui-datepicker-prev,
+.ui-datepicker-next:before {
+ border-color: #000;
+}
+.ui-datepicker-next,
+.ui-datepicker-prev:before {
+ border-color: #444;
+}
+.ui-datepicker-prev:hover,
+.ui-datepicker-next:hover {
+ background: #222;
+ color: #0074a2 !important;
+}
+/* light */
+.admin-color-light .ui-datepicker .ui-widget-header {
+ background: #888;
+ color: #fff;
+}
+.admin-color-light .ui-datepicker .ui-widget-header a {
+ color: #ccc;
+}
+.admin-color-light .ui-datepicker-prev,
+.admin-color-light .ui-datepicker-next:before {
+ border-color: #3c3c3c;
+}
+.admin-color-light .ui-datepicker-next,
+.admin-color-light .ui-datepicker-prev:before {
+ border-color: #999;
}
-@media screen and ( max-width: 782px ) {
- #option-tree-settings-api p input[type="checkbox"],
- #option-tree-settings-api p input[type="radio"] {
- margin-top: -3px;
- }
+.admin-color-light .ui-datepicker-prev:hover,
+.admin-color-light .ui-datepicker-next:hover {
+ background: #777;
+ color: #eee !important;
+}
+/* blue */
+.admin-color-blue .ui-datepicker .ui-widget-header {
+ background: #52accc;
+ color: #fff;
+}
+.admin-color-blue .ui-datepicker .ui-widget-header a {
+ color: #e2f8ff;
+}
+.admin-color-blue .ui-datepicker-prev,
+.admin-color-blue .ui-datepicker-next:before {
+ border-color: #002b39;
+}
+.admin-color-blue .ui-datepicker-next,
+.admin-color-blue .ui-datepicker-prev:before {
+ border-color: #5dc2e6;
+}
+.admin-color-blue .ui-datepicker-prev:hover,
+.admin-color-blue .ui-datepicker-next:hover {
+ background: #006484;
+ color: #fff !important;
+}
+/* coffee */
+.admin-color-coffee .ui-datepicker .ui-widget-header {
+ background: #59524c;
+ color: #c7cbc9;
+}
+.admin-color-coffee .ui-datepicker .ui-widget-header a {
+ color: #f3f2f1;
+}
+.admin-color-coffee .ui-datepicker-prev,
+.admin-color-coffee .ui-datepicker-next:before {
+ border-color: #0f0e0d;
+}
+.admin-color-coffee .ui-datepicker-next,
+.admin-color-coffee .ui-datepicker-prev:before {
+ border-color: #675f58;
+}
+.admin-color-coffee .ui-datepicker-prev:hover,
+.admin-color-coffee .ui-datepicker-next:hover {
+ background: #cca588;
+ color: #fff !important;
+}
+/* ectoplasm */
+.admin-color-ectoplasm .ui-datepicker .ui-widget-header {
+ background: #523f6d;
+ color: #c6c6d3;
+}
+.admin-color-ectoplasm .ui-datepicker .ui-widget-header a {
+ color: #f3f2f1;
+}
+.admin-color-ectoplasm .ui-datepicker-prev,
+.admin-color-ectoplasm .ui-datepicker-next:before {
+ border-color: #181220;
+}
+.admin-color-ectoplasm .ui-datepicker-next,
+.admin-color-ectoplasm .ui-datepicker-prev:before {
+ border-color: #644d85;
+}
+.admin-color-ectoplasm .ui-datepicker-prev:hover,
+.admin-color-ectoplasm .ui-datepicker-next:hover {
+ background: #a3b542;
+ color: #fff !important;
+}
+/* midnight */
+.admin-color-midnight .ui-datepicker .ui-widget-header {
+ background: #363b3f;
+ color: #f1f2f3;
+}
+.admin-color-midnight .ui-datepicker .ui-widget-header a {
+ color: #f1f2f3;
+}
+.admin-color-midnight .ui-datepicker-prev,
+.admin-color-midnight .ui-datepicker-next:before {
+ border-color: #090a0b;
+}
+.admin-color-midnight .ui-datepicker-next,
+.admin-color-midnight .ui-datepicker-prev:before {
+ border-color: #4c5359;
+}
+.admin-color-midnight .ui-datepicker-prev:hover,
+.admin-color-midnight .ui-datepicker-next:hover {
+ background: #ed543f;
+ color: #fff !important;
+}
+/* ocean */
+.admin-color-ocean .ui-datepicker .ui-widget-header {
+ background: #738e96;
+ color: #f1fcff;
+}
+.admin-color-ocean .ui-datepicker .ui-widget-header a {
+ color: #f1fcff;
+}
+.admin-color-ocean .ui-datepicker-prev,
+.admin-color-ocean .ui-datepicker-next:before {
+ border-color: #39464a;
+}
+.admin-color-ocean .ui-datepicker-next,
+.admin-color-ocean .ui-datepicker-prev:before {
+ border-color: #87a6af;
+}
+.admin-color-ocean .ui-datepicker-prev:hover,
+.admin-color-ocean .ui-datepicker-next:hover {
+ background: #9ab8a0;
+ color: #fff !important;
+}
+/* sunrise */
+.admin-color-sunrise .ui-datepicker .ui-widget-header {
+ background: #da4f41;
+ color: #fff;
+}
+.admin-color-sunrise .ui-datepicker .ui-widget-header a {
+ color: #f3f1f1;
+}
+.admin-color-sunrise .ui-datepicker-prev,
+.admin-color-sunrise .ui-datepicker-next:before {
+ border-color: #8a322a;
+}
+.admin-color-sunrise .ui-datepicker-next,
+.admin-color-sunrise .ui-datepicker-prev:before {
+ border-color: #e75546;
+}
+.admin-color-sunrise .ui-datepicker-prev:hover,
+.admin-color-sunrise .ui-datepicker-next:hover {
+ background: #e88436;
+ color: #fff !important;
}
/* --------------------------------------------------
- :: Gallery
+ :: Time Picker
---------------------------------------------------*/
-ul.ot-gallery-list {
- float: left;
- margin: 0;
- width: 100%;
+.ui-timepicker-div {
+ border-top: 1px solid #ccc;
+ padding: 0 .4em;
}
-ul.ot-gallery-list li {
- background: none repeat scroll 0 0 white;
- border: 1px solid #bbbbbb;
+.ui-timepicker-div .ui-widget-content {
+ border: 1px solid #aaa;
+ background: #fff;
+ font-weight: normal;
+ color: #212121;
+}
+.ui-timepicker-div .ui-slider {
+ position: relative;
+ text-align: left;
+}
+.ui-timepicker-div .ui-slider-horizontal {
+ height: .8em;
+ bottom: -.3em;
+ position: relative;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #f7f7f7;
+ border: 1px solid #ccc;
+ color: #555;
+ cursor: pointer;
+ display: block;
+ height: 1.3em;
+ margin-left: -.5em;
+ outline: 0;
+ position: absolute;
+ top: -.325em;
+ width: .8em;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 rgba(0,0,0,.08);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 rgba(0,0,0,.08);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 rgba(0,0,0,.08);
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover {
+ background: #fafafa;
+ border-color: #999;
+ color: #222;
+}
+.ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #eee;
+ border-color: #999;
+ color: #333;
+ outline: none;
+}
+.ui-datepicker-prev,
+.ui-datepicker-next:before {
+ border-color: #000;
+}
+.ui-datepicker-next,
+.ui-datepicker-prev:before {
+ border-color: #444;
+}
+.ui-datepicker-prev:hover,
+.ui-datepicker-next:hover {
+ background: #222;
+ color: #0074a2 !important;
+}
+
+.ui-timepicker-div dl {
+ text-align: left;
+}
+.ui-timepicker-div dl dt {
+ float: left;
+ clear: left;
+ padding: 0 0 0 5px;
+}
+.ui-timepicker-div dl dd {
+ margin: 0 10px 10px 45%;
+}
+.ui-timepicker-div td {
+ font-size: 90%;
+}
+.ui-tpicker-grid-label {
+ background: none;
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+/* default */
+.ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #333;
+ border-color: #000;
+}
+.ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #444;
+ border-color: #111;
+}
+/* light */
+.admin-color-light .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #888;
+ border-color: #3c3c3c;
+}
+.admin-color-light .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.admin-color-light .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #999;
+ border-color: #777;
+}
+/* blue */
+.admin-color-blue .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #52accc;
+ border-color: #002b39;
+}
+.admin-color-blue .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.admin-color-blue .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #5dc2e6;
+ border-color: #006484;
+}
+/* coffee */
+.admin-color-coffee .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #59524c;
+ border-color: #0f0e0d;
+}
+.admin-color-coffee .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.admin-color-coffee .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #cca588;
+ border-color: #675f58;
+}
+/* ectoplasm */
+.admin-color-ectoplasm .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #523f6d;
+ border-color: #181220;
+}
+.admin-color-ectoplasm .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.admin-color-ectoplasm .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #a3b542;
+ border-color: #644d85;
+}
+/* midnight */
+.admin-color-midnight .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #363b3f;
+ border-color: #090a0b;
+}
+.admin-color-midnight .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.admin-color-midnight .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #ed543f;
+ border-color: #a0382a;
+}
+/* ocean */
+.admin-color-ocean .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #738e96;
+ border-color: #39464a;
+}
+.admin-color-ocean .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.admin-color-ocean .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #9ab8a0;
+ border-color: #5a6c5e;
+}
+/* sunrise */
+.admin-color-sunrise .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle {
+ background: #da4f41;
+ border-color: #8a322a;
+}
+.admin-color-sunrise .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle:hover,
+.admin-color-sunrise .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle.ui-state-active {
+ background: #e88436;
+ border-color: #e75546;
+}
+
+/* --------------------------------------------------
+ :: Meta Box Tabs
+ ---------------------------------------------------*/
+.ot-metabox-tabs.ui-tabs {
+ overflow: hidden;
+ position: relative;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-wrapper {
+ overflow: hidden;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-panels {
+ background: white;
+ border: 1px solid #ccc;
+ margin: 7px 0 1px 0;
+ min-height: 140px;
+ overflow: hidden;
+ padding: 12px;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav {
float: left;
- margin: 0px 10px 10px 0;
- padding: 4px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
+ list-style: none;
+ margin: 0 -1px 0 0;
+ padding: 18px 0 12px 0;
+ width: 151px;
}
-ul.ot-gallery-list li img {
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li,
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-focus {
+ background: none;
+ border: 1px solid transparent;
+ border-right-width: 0px;
display: block;
margin: 0;
+ outline: 0;
+ padding: 1px 0;
+ width: 150px;
+ -webkit-border-radius: 2px 0 0 2px;
+ -moz-border-radius: 2px 0 0 2px;
+ border-radius: 2px 0 0 2px;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-active {
+ background: white;
+ border-color: #ccc;
+ color: black;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li a {
+ color: #21759b;
+ display: block;
+ line-height: 18px;
+ outline: 0;
+ padding: 5px 5px 5px 12px;
+ text-decoration: none;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li a:hover {
+ color: black;
+ outline: none;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-active a {
+ color: black;
+ outline: none;
+}
+.ot-metabox-tabs.ui-tabs .ot-metabox-panel {
+ clear: both;
}
-.ot-gallery-buttons {
- float: left;
+/* --------------------------------------------------
+ :: Theme Option & Side Metabox Tabs
+ ---------------------------------------------------*/
+.ot-theme-option-tabs.ui-tabs
+#side-sortables .ot-metabox-tabs.ui-tabs {
+ position: relative;
+}
+.ot-theme-option-tabs.ui-tabs .inside,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-wrapper {
+ overflow: hidden;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-panels,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-panels {
+ border: 0;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
width: 100%;
}
-.ot-gallery-buttons a.option-tree-ui-button {
- margin-top: 0px;
- margin-bottom: 0px;
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav {
+ border-bottom: 1px solid #ccc;
+ float: none;
+ font-size: 12px !important;
+ height: 30px;
+ list-style: none;
+ margin: 2px 0 0 0;
+ padding: 0;
+ width: 100%;
+}
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav {
+ margin-top: 10px;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav li.ui-state-default,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-default {
+ background: #fafafa;
+ border: 1px solid #ccc;
+ border-width: 1px 1px 0px 1px;
+ display: block;
+ float: left;
+ margin: 0 0 0 3px;
+ padding: 0;
+ outline: 0;
+ -webkit-border-radius: 2px 2px 0 0;
+ -moz-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav li:hover,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li:hover {
+ background: #f1f1f1;
+ border: 1px solid #ccc;
+ border-width: 1px 1px 0px 1px;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav li.ui-state-active,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-active {
+ background: white;
+ border-color: #ccc;
+ border-width: 1px 1px 0px 1px;
+ color: black;
+ padding: 0;
+ -webkit-border-radius: 2px 2px 0 0;
+ -moz-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav li a,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li a {
+ color: #21759b;
+ display: block;
+ line-height: 18px;
+ outline: 0;
+ padding: 6px 12px 5px 12px !important;
+ text-decoration: none;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav li a:hover,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li a:hover {
+ color: black;
+ outline: none;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-nav.ui-tabs-nav li.ui-state-active a,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-active a {
+ color: black;
+ outline: none;
+ padding: 6px 12px 6px 12px !important;
+}
+.ot-theme-option-tabs.ui-tabs .ot-theme-option-panel,
+#side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-panel {
+ clear: both;
+}
+#side-sortables .ot-metabox-tabs.ui-tabs .format-setting .description,
+#side-sortables .ot-metabox-tabs.ui-tabs .format-setting .format-setting-inner {
+ width: 100%;
}
/* --------------------------------------------------
- :: On/Off Switch
+ :: Metabox Tabs for Small Screens & Mobile Devices
---------------------------------------------------*/
-.on-off-switch .slide-button {
- display: none;
-}
-@media only screen {
- .on-off-switch {
- background-color: white;
- border: 1px solid #cccccc;
- color: #333333;
- display: block;
- font-family: sans-serif;
- font-size: 12px;
- font-weight: normal;
- height: 27px;
+@media screen and ( max-width: 1020px ) {
+ .ot-metabox-tabs.ui-tabs {
position: relative;
+ }
+ .ot-metabox-tabs.ui-tabs .ot-metabox-wrapper {
+ overflow: hidden;
+ }
+ .ot-metabox-tabs.ui-tabs .ot-metabox-panels {
+ border: 0;
+ margin: 0;
+ overflow: hidden;
padding: 0;
- text-align: center;
- text-transform: uppercase;
- width: 100px;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
- -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
+ width: 100%;
}
- .on-off-switch * {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- -o-box-sizing: border-box;
- box-sizing: border-box;
+ .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav {
+ border-bottom: 1px solid #ccc;
+ float: none;
+ font-size: 12px !important;
+ height: 30px;
+ list-style: none;
+ margin: 2px 0 0 0;
+ padding: 0;
+ width: 100%;
}
- .on-off-switch input {
- position: absolute;
- opacity: 0;
+ #side-sortables .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav {
+ margin-top: 10px;
}
- .on-off-switch label {
- cursor: pointer;
+ .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-default {
+ background: #fafafa;
+ border: 1px solid #ccc;
+ border-width: 1px 1px 0px 1px;
+ display: block;
float: left;
- height: 27px;
- line-height: 27px;
- margin: 0;
- position: relative;
- text-align: center;
- vertical-align: middle;
- width: 50px;
- z-index: 2;
- }
- .on-off-switch input:last-of-type + label {
- color: #333333;
+ margin: 0 0 0 3px;
+ padding: 0;
+ outline: 0;
+ -webkit-border-radius: 2px 2px 0 0;
+ -moz-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
}
- .on-off-switch input:checked + label {
- color: white;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li:hover {
+ background: #f1f1f1;
+ border: 1px solid #ccc;
+ border-width: 1px 1px 0px 1px;
}
- .on-off-switch input:focus + label {
- outline: none;
+ .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-active {
+ background: white;
+ border-color: #ccc;
+ border-width: 1px 1px 0px 1px;
+ color: black;
+ padding: 0;
+ -webkit-border-radius: 2px 2px 0 0;
+ -moz-border-radius: 2px 2px 0 0;
+ border-radius: 2px 2px 0 0;
}
- .on-off-switch .slide-button {
- border: 1px solid #21759b;
- border-bottom-color: #1e6a8d;
- color: white;
+ .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li a {
+ color: #21759b;
display: block;
- height: 29px;
- left: -1px;
- padding: 0;
- position: absolute;
+ line-height: 18px;
+ outline: 0;
+ padding: 6px 12px 5px 12px !important;
text-decoration: none;
- top: -1px;
- width: 51px;
- z-index: 1;
- background-color: #2688b4;
- background-image: -moz-linear-gradient(top, #2a95c5, #21759b);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2a95c5), to(#21759b));
- background-image: -webkit-linear-gradient(top, #2a95c5, #21759b);
- background-image: -o-linear-gradient(top, #2a95c5, #21759b);
- background-image: linear-gradient(to bottom, #2a95c5, #21759b);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ie-hex-str($startColor)', endColorstr='#ie-hex-str($endColor)', GradientType=0);
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
- -webkit-transition: all 0.1s ease-out;
- -moz-transition: all 0.1s ease-out;
- -o-transition: all 0.1s ease-out;
- transition: all 0.1s ease-out;
}
- .on-off-switch input:last-of-type:checked ~ .slide-button {
- border-color: #9b3221;
- border-bottom-color: #8d2e1e;
- left: 50px;
- background-color: #b43a26;
- background-image: -moz-linear-gradient(top, #c5402a, #9b3221);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#c5402a), to(#9b3221));
- background-image: -webkit-linear-gradient(top, #c5402a, #9b3221);
- background-image: -o-linear-gradient(top, #c5402a, #9b3221);
- background-image: linear-gradient(to bottom, #c5402a, #9b3221);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ie-hex-str($startColor)', endColorstr='#ie-hex-str($endColor)', GradientType=0);
+ .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li a:hover {
+ color: black;
+ outline: none;
}
- .on-off-switch {
- -webkit-animation: bugfix infinite 1s;
+ .ot-metabox-tabs.ui-tabs .ot-metabox-nav.ui-tabs-nav li.ui-state-active a {
+ color: black;
+ outline: none;
+ padding: 6px 12px 6px 12px !important;
}
- @-webkit-keyframes bugfix {
- from {
- position: relative;
- }
- to {
- position: relative;
- }
+ .ot-metabox-tabs.ui-tabs .ot-metabox-panel {
+ clear: both;
}
-}
-
-/* --------------------------------------------------
- :: Simple Input Append & Prepend
- ---------------------------------------------------*/
-.ot-input-append,
-.ot-input-prepend {
- display: inline-block;
- vertical-align: middle;
- font-size: 0;
- white-space: nowrap;
-}
-.ot-input-append input {
- position: relative;
- margin-bottom: 0;
- *margin-left: 0;
- vertical-align: top;
- -webkit-border-radius: 0 2px 2px 0;
- -moz-border-radius: 0 2px 2px 0;
- border-radius: 0 2px 2px 0;
-}
-.ot-input-append input:focus,
-.ot-input-prepend input:focus {
- z-index: 2;
-}
-.ot-input-append .ot-add-on,
-.ot-input-prepend .ot-add-on {
- display: inline-block;
- width: auto;
- height: 27px;
- line-height: 28px;
- min-width: 16px;
- padding: 0 6px;
- font-size: 16px;
- font-weight: normal;
- text-align: center;
- text-shadow: 0 1px 0 white;
- background-color: #f7f7f7;
- border: 1px solid #ccc;
-}
-.ot-input-prepend input {
- border-left: 0 !important;
-}
-.ot-input-prepend .ot-add-on:first-child {
- -webkit-border-radius: 2px 0 0 2px;
- -moz-border-radius: 2px 0 0 2px;
- border-radius: 2px 0 0 2px;
-}
-.ot-input-append input {
- border-right: 0 !important;
- -webkit-border-radius: 2px 0 0 2px;
- -moz-border-radius: 2px 0 0 2px;
- border-radius: 2px 0 0 2px;
-}
-.ot-input-append input + .btn-group .btn:first-child {
- -webkit-border-top-left-radius: 0;
- -moz-border-radius-topleft: 0;
- border-top-left-radius: 0;
- -webkit-border-bottom-left-radius: 0;
- -moz-border-radius-bottomleft: 0;
- border-bottom-left-radius: 0;
-}
-.ot-input-append .ot-add-on:last-child {
- -webkit-border-radius: 0 2px 2px 0;
- -moz-border-radius: 0 2px 2px 0;
- border-radius: 0 2px 2px 0;
-}
-.ot-input-prepend.ot-input-append input {
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-.ot-input-prepend.ot-input-append .ot-add-on:first-child {
- -webkit-border-radius: 2px 0 0 2px;
- -moz-border-radius: 2px 0 0 2px;
- border-radius: 2px 0 0 2px;
-}
-.ot-input-prepend.ot-input-append .ot-add-on:last-child {
- -webkit-border-radius: 0 2px 2px 0;
- -moz-border-radius: 0 2px 2px 0;
- border-radius: 0 2px 2px 0;
}
\ No newline at end of file
diff --git a/option-tree/assets/fonts/option-tree-font.eot b/option-tree/assets/fonts/option-tree-font.eot
index f87c19f..b3dcf0a 100644
Binary files a/option-tree/assets/fonts/option-tree-font.eot and b/option-tree/assets/fonts/option-tree-font.eot differ
diff --git a/option-tree/assets/fonts/option-tree-font.svg b/option-tree/assets/fonts/option-tree-font.svg
index f294ae7..0bdfce2 100644
--- a/option-tree/assets/fonts/option-tree-font.svg
+++ b/option-tree/assets/fonts/option-tree-font.svg
@@ -3,24 +3,377 @@
\ No newline at end of file
diff --git a/option-tree/assets/fonts/option-tree-font.ttf b/option-tree/assets/fonts/option-tree-font.ttf
index 3a8d8e9..713b6ad 100644
Binary files a/option-tree/assets/fonts/option-tree-font.ttf and b/option-tree/assets/fonts/option-tree-font.ttf differ
diff --git a/option-tree/assets/fonts/option-tree-font.woff b/option-tree/assets/fonts/option-tree-font.woff
index 74186bd..e62de51 100644
Binary files a/option-tree/assets/fonts/option-tree-font.woff and b/option-tree/assets/fonts/option-tree-font.woff differ
diff --git a/option-tree/assets/images/ot-dots.png b/option-tree/assets/images/ot-dots.png
deleted file mode 100644
index 5749965..0000000
Binary files a/option-tree/assets/images/ot-dots.png and /dev/null differ
diff --git a/option-tree/assets/images/ot-menu-bg.png b/option-tree/assets/images/ot-menu-bg.png
deleted file mode 100644
index ead2356..0000000
Binary files a/option-tree/assets/images/ot-menu-bg.png and /dev/null differ
diff --git a/option-tree/assets/images/ot-menu-top-bg.png b/option-tree/assets/images/ot-menu-top-bg.png
deleted file mode 100644
index a8ff411..0000000
Binary files a/option-tree/assets/images/ot-menu-top-bg.png and /dev/null differ
diff --git a/option-tree/assets/images/ot-select-hover-rtl.png b/option-tree/assets/images/ot-select-hover-rtl.png
new file mode 100644
index 0000000..0af6fa9
Binary files /dev/null and b/option-tree/assets/images/ot-select-hover-rtl.png differ
diff --git a/option-tree/assets/images/ot-select-hover.png b/option-tree/assets/images/ot-select-hover.png
index af91d23..776b521 100644
Binary files a/option-tree/assets/images/ot-select-hover.png and b/option-tree/assets/images/ot-select-hover.png differ
diff --git a/option-tree/assets/images/ot-select-rtl.png b/option-tree/assets/images/ot-select-rtl.png
new file mode 100644
index 0000000..68cc5c0
Binary files /dev/null and b/option-tree/assets/images/ot-select-rtl.png differ
diff --git a/option-tree/assets/images/ot-select.png b/option-tree/assets/images/ot-select.png
index 0477282..5b335f4 100644
Binary files a/option-tree/assets/images/ot-select.png and b/option-tree/assets/images/ot-select.png differ
diff --git a/option-tree/assets/images/ot-sub-header-bg.png b/option-tree/assets/images/ot-sub-header-bg.png
deleted file mode 100644
index b0bfcc8..0000000
Binary files a/option-tree/assets/images/ot-sub-header-bg.png and /dev/null differ
diff --git a/option-tree/assets/images/ot-ui-light-sprite.png b/option-tree/assets/images/ot-ui-light-sprite.png
deleted file mode 100644
index b8da7a3..0000000
Binary files a/option-tree/assets/images/ot-ui-light-sprite.png and /dev/null differ
diff --git a/option-tree/assets/images/ot-ui-sprite.png b/option-tree/assets/images/ot-ui-sprite.png
deleted file mode 100644
index 1490181..0000000
Binary files a/option-tree/assets/images/ot-ui-sprite.png and /dev/null differ
diff --git a/option-tree/assets/js/ot-admin.js b/option-tree/assets/js/ot-admin.js
index 7d0dc4f..7af2e1d 100644
--- a/option-tree/assets/js/ot-admin.js
+++ b/option-tree/assets/js/ot-admin.js
@@ -14,7 +14,7 @@
this.init_add();
this.init_edit();
this.init_remove();
- this.init_edit_title()
+ this.init_edit_title();
this.init_edit_id();
this.init_activate_layout();
this.init_conditions();
@@ -24,10 +24,14 @@
this.init_tabs();
this.init_radio_image_select();
this.init_select_wrapper();
+ this.bind_select_wrapper();
+ this.init_google_fonts();
this.fix_upload_parent();
this.fix_textarea();
this.replicate_ajax();
this.reset_settings();
+ this.css_editor_mode();
+ this.javascript_editor_mode();
},
init_hide_body: function(elm,type) {
var css = '.option-tree-setting-body';
@@ -55,8 +59,9 @@
$(css).removeClass('active');
}
},
- init_sortable: function() {
- $('.option-tree-sortable').each( function() {
+ init_sortable: function(scope) {
+ scope = scope || document;
+ $('.option-tree-sortable', scope).each( function() {
if ( $(this).children('li').length ) {
var elm = $(this);
elm.show();
@@ -100,6 +105,10 @@
e.preventDefault();
OT_UI.add(this,'list_item');
});
+ $(document).on('click', '.option-tree-social-links-add', function(e) {
+ e.preventDefault();
+ OT_UI.add(this,'social_links');
+ });
$(document).on('click', '.option-tree-list-item-setting-add', function(e) {
e.preventDefault();
if ( $(this).parents('ul').parents('ul').hasClass('ui-sortable') ) {
@@ -145,6 +154,13 @@
$(document).on('keyup', '.option-tree-setting-title', function() {
OT_UI.edit_title(this);
});
+ // Automatically fill option IDs with clean versions of their respective option labels
+ $(document).on('blur', '.option-tree-setting-title', function() {
+ var optionId = $(this).parents('.option-tree-setting-body').find('[type="text"][name$="id]"]')
+ if ( optionId.val() === '' ) {
+ optionId.val($(this).val().replace(/[^a-z0-9]/gi,'_').toLowerCase());
+ }
+ });
},
init_edit_id: function() {
$(document).on('keyup', '.section-id', function(){
@@ -189,6 +205,9 @@
} else if ( type == 'list_item_setting' ) {
list = $(elm).parent().children('ul');
list_class = 'list-sub-setting';
+ } else if ( type == 'social_links' ) {
+ list = $(elm).parent().children('ul');
+ list_class = 'list-sub-setting';
} else {
list = $(elm).parent().find('ul:first');
list_class = ( type == 'section' ) ? 'list-section' : 'list-setting';
@@ -200,7 +219,7 @@
if ( this.processing === false ) {
this.processing = true;
var count = parseInt(list.children('li').length);
- if ( type == 'list_item' ) {
+ if ( type == 'list_item' || type == 'social_links' ) {
list.find('li input.option-tree-setting-title', self).each(function(){
var setting = $(this).attr('name'),
regex = /\[([0-9]+)\]/,
@@ -232,18 +251,18 @@
OT_UI.init_remove_active();
OT_UI.init_hide_body();
}
- list.append('' + data.responseText + ' ');
+ var listItem = $('' + data.responseText + ' ');
+ list.append(listItem);
list.children().last().find('.option-tree-setting-edit').toggleClass('active');
list.children().last().find('.option-tree-setting-body').toggle();
list.children().last().find('.option-tree-setting-title').focus();
if ( type != 'the_contextual_help' ) {
OT_UI.update_ids(list);
}
- setTimeout( function() {
- OT_UI.init_sortable();
- OT_UI.init_select_wrapper();
- OT_UI.init_numeric_slider();
- }, 500);
+ OT_UI.init_sortable(listItem);
+ OT_UI.init_select_wrapper(listItem);
+ OT_UI.init_numeric_slider(listItem);
+ OT_UI.parse_condition();
self.processing = false;
}
});
@@ -288,16 +307,19 @@
last_section = section;
});
},
+ condition_objects: function() {
+ return 'select, input[type="radio"]:checked, input[type="text"], input[type="hidden"], input.ot-numeric-slider-hidden-input';
+ },
match_conditions: function(condition) {
var match;
- var regex = /(.+?):(is|not|contains|less_than|less_than_or_equal_to|greater_than|greater_than_or_equal_to)\((.+?)\),?/g;
+ var regex = /(.+?):(is|not|contains|less_than|less_than_or_equal_to|greater_than|greater_than_or_equal_to)\((.*?)\),?/g;
var conditions = [];
while( match = regex.exec( condition ) ) {
conditions.push({
'check': match[1],
'rule': match[2],
- 'value': match[3]
+ 'value': match[3] || ''
});
}
@@ -308,36 +330,36 @@
var passed;
var conditions = OT_UI.match_conditions( $( this ).data( 'condition' ) );
- var operator = ( $( this ).data( 'operator' ) || 'and' ).toLowerCase();
+ var operator = ( $( this ).data( 'operator' ) || 'and' ).toLowerCase();
$.each( conditions, function( index, condition ) {
var target = $( '#setting_' + condition.check );
- var targetEl = !! target.length && target.find( 'select, input[type="radio"]:checked, input.ot-numeric-slider-hidden-input' ).first();
+ var targetEl = !! target.length && target.find( OT_UI.condition_objects() ).first();
- if( ! target.length || ! targetEl.length ) {
+ if ( ! target.length || ( ! targetEl.length && condition.value.toString() != '' ) ) {
return;
}
- var v1 = targetEl.val().toString();
+ var v1 = targetEl.length ? targetEl.val().toString() : '';
var v2 = condition.value.toString();
var result;
- switch( condition.rule ) {
+ switch ( condition.rule ) {
case 'less_than':
- result = ( v1 < v2 );
+ result = ( parseInt( v1 ) < parseInt( v2 ) );
break;
case 'less_than_or_equal_to':
- result = ( v1 <= v2 );
+ result = ( parseInt( v1 ) <= parseInt( v2 ) );
break;
case 'greater_than':
- result = ( v1 > v2 );
+ result = ( parseInt( v1 ) > parseInt( v2 ) );
break;
case 'greater_than_or_equal_to':
- result = ( v1 >= v2 );
+ result = ( parseInt( v1 ) >= parseInt( v2 ) );
break;
case 'contains':
- result = ( v2.indexOf(v1) !== -1 ? true : false );
+ result = ( v1.indexOf(v2) !== -1 ? true : false );
break;
case 'is':
result = ( v1 == v2 );
@@ -347,11 +369,11 @@
break;
}
- if( 'undefined' == typeof passed ) {
+ if ( 'undefined' == typeof passed ) {
passed = result;
}
- switch( operator ) {
+ switch ( operator ) {
case 'or':
passed = ( passed || result );
break;
@@ -374,16 +396,32 @@
});
},
init_conditions: function() {
- $( document ).on( 'change.conditionals', '.format-settings[id^="setting_"] select, .format-settings[id^="setting_"] input[type="radio"]:checked, .format-settings[id^="setting_"] input.ot-numeric-slider-hidden-input', function( e ) {
- OT_UI.parse_condition();
+ var delay = (function() {
+ var timer = 0;
+ return function(callback, ms) {
+ clearTimeout(timer);
+ timer = setTimeout(callback, ms);
+ };
+ })();
+
+ $('.format-settings[id^="setting_"]').on( 'change.conditionals, keyup.conditionals', OT_UI.condition_objects(), function(e) {
+ if (e.type === 'keyup') {
+ // handle keyup event only once every 500ms
+ delay(function() {
+ OT_UI.parse_condition();
+ }, 500);
+ } else {
+ OT_UI.parse_condition();
+ }
});
- $(OT_UI.parse_condition());
+ OT_UI.parse_condition();
},
init_upload: function() {
$(document).on('click', '.ot_upload_media', function() {
- var field_id = $(this).parent('.option-tree-ui-upload-parent').find('input').attr('id'),
- post_id = $(this).attr('rel'),
- btnContent = '';
+ var field_id = $(this).parent('.option-tree-ui-upload-parent').find('input').attr('id'),
+ post_id = $(this).attr('rel'),
+ save_attachment_id = $('#'+field_id).hasClass('ot-upload-attachment-id'),
+ btnContent = '';
if ( window.wp && wp.media ) {
window.ot_media_frame = window.ot_media_frame || new wp.media.view.MediaFrame.Select({
title: $(this).attr('title'),
@@ -394,14 +432,15 @@
});
window.ot_media_frame.on('select', function() {
var attachment = window.ot_media_frame.state().get('selection').first(),
- href = attachment.attributes.url,
+ href = attachment.attributes.url,
+ attachment_id = attachment.attributes.id,
mime = attachment.attributes.mime,
regex = /^image\/(?:jpe?g|png|gif|x-icon)$/i;
if ( mime.match(regex) ) {
btnContent += '
';
}
- btnContent += ''+option_tree.remove_media_text+'';
- $('#'+field_id).val(href);
+ btnContent += ''+option_tree.remove_media_text+'';
+ $('#'+field_id).val( ( save_attachment_id ? attachment_id : href ) );
$('#'+field_id+'_media').remove();
$('#'+field_id).parent().parent('div').append('');
$('#'+field_id+'_media').append(btnContent).slideDown();
@@ -429,7 +468,7 @@
if (href.match(image) && OT_UI.url_exists(href)) {
btnContent += '
';
}
- btnContent += ''+option_tree.remove_media_text+'';
+ btnContent += ''+option_tree.remove_media_text+'';
$('#'+field_id).val(href);
$('#'+field_id+'_media').remove();
$('#'+field_id).parent().parent('div').append('');
@@ -457,9 +496,12 @@
init_upload_fix: function(elm) {
var id = $(elm).attr('id'),
val = $(elm).val(),
- img = $(elm).parent().next('option-tree-ui-media-wrap').find('img'),
+ img = $(elm).parent().next('.option-tree-ui-media-wrap').find('img'),
src = img.attr('src'),
btnContent = '';
+ if ( val == src ) {
+ return;
+ }
if ( val != src ) {
img.attr('src', val);
}
@@ -468,7 +510,7 @@
if (val.match(image)) {
btnContent += '
';
}
- btnContent += ''+option_tree.remove_media_text+'';
+ btnContent += ''+option_tree.remove_media_text+'';
$('#'+id).val(val);
$('#'+id+'_media').remove();
$('#'+id).parent().parent('div').append('');
@@ -477,8 +519,9 @@
$(elm).parent().next('.option-tree-ui-media-wrap').remove();
}
},
- init_numeric_slider: function() {
- $(".ot-numeric-slider-wrap").each(function() {
+ init_numeric_slider: function(scope) {
+ scope = scope || document;
+ $(".ot-numeric-slider-wrap", scope).each(function() {
var hidden = $(".ot-numeric-slider-hidden-input", this),
value = hidden.val(),
helper = $(".ot-numeric-slider-helper-input", this);
@@ -492,10 +535,13 @@
step: hidden.data("step"),
value: value,
slide: function(event, ui) {
- hidden.add(helper).val(ui.value);
+ hidden.add(helper).val(ui.value).trigger('change');
+ },
+ create: function()Â {
+ hidden.val($(this).slider('value'));
},
change: function() {
- $(OT_UI.init_conditions());
+ OT_UI.parse_condition();
}
});
});
@@ -530,25 +576,114 @@
$(this).parent().find('.option-tree-ui-radio').prop('checked', true).trigger('change');
});
},
- init_select_wrapper: function() {
- $('.option-tree-ui-select').each(function () {
+ init_select_wrapper: function(scope) {
+ scope = scope || document;
+ $('.option-tree-ui-select', scope).each(function () {
if ( ! $(this).parent().hasClass('select-wrapper') ) {
$(this).wrap('');
$(this).parent('.select-wrapper').prepend('' + $(this).find('option:selected').text() + '');
}
});
+ },
+ bind_select_wrapper: function() {
$(document).on('change', '.option-tree-ui-select', function () {
$(this).prev('span').replaceWith('' + $(this).find('option:selected').text() + '');
- })
+ });
$(document).on($.browser.msie ? 'click' : 'change', '.option-tree-ui-select', function(event) {
$(this).prev('span').replaceWith('' + $(this).find('option:selected').text() + '');
});
},
+ init_google_fonts: function() {
+ var update_items = function(input, items, element) {
+ var itemsUI = input.closest('.type-google-font-group').find(element);
+ if ( itemsUI.length ) {
+ itemsUI.empty();
+ itemsUI.append($.map(items, function(item) {
+ var input = document.createElement('input'),
+ label = document.createElement('label');
+ input.type = 'checkbox';
+ input.id = ( itemsUI.data('field-id-prefix') || '' ) + item;
+ input.name = ( itemsUI.data('field-name') || '' ) + '[]';
+ input.value = item;
+ label.innerHTML = item;
+ $( label ).attr( 'for', input.id );
+ return $( document.createElement('p') ).addClass('checkbox-wrap').append([input, label]);
+ }));
+ }
+ };
+ $(document).on('change', '.option-tree-google-font-family select', function() {
+ var input = $(this);
+ $.ajax({
+ url: option_tree.ajax,
+ type: 'POST',
+ dataType: 'json',
+ data: {
+ action: 'ot_google_font',
+ family: input.val(),
+ field_id: input.attr('id')
+ }
+ }).done(function(response) {
+ if ( response.hasOwnProperty('variants') ) {
+ update_items( input, response.variants, '.option-tree-google-font-variants' );
+ }
+ if ( response.hasOwnProperty('subsets') ) {
+ update_items( input, response.subsets, '.option-tree-google-font-subsets' );
+ }
+ });
+ });
+ $('.js-add-google-font').on('click', function (event) {
+ var $group = $(this).parent('.format-setting-inner').find('.type-google-font-group'),
+ $clone = $('.type-google-font-group-clone').clone(true),
+ $count = $group.length ? $group.length : 0;
+ $clone.attr('class', 'type-google-font-group');
+ var replacer = function(index, elm) {
+ return elm.replace('%key%', $count);
+ }
+ $('select', $clone).each( function() {
+ $(this).attr('id', replacer ).attr('name', replacer );
+ });
+ $('.option-tree-google-font-variants', $clone).each( function() {
+ $(this).attr('data-field-id-prefix', replacer ).attr('data-field-name', replacer );
+ });
+ $('.option-tree-google-font-subsets', $clone).each( function() {
+ $(this).attr('data-field-id-prefix', replacer ).attr('data-field-name', replacer );
+ });
+ $('.type-google-font-group-clone').before($clone)
+ event.preventDefault()
+ });
+ $('.js-remove-google-font').on('click', function (event) {
+ $(this).parents('.type-google-font-group').remove();
+ event.preventDefault();
+ });
+ },
bind_colorpicker: function(field_id) {
- $('#'+field_id).wpColorPicker();
+ $('#'+field_id).wpColorPicker({
+ change: function() {
+ OT_UI.parse_condition();
+ },
+ clear: function() {
+ OT_UI.parse_condition();
+ }
+ });
+ },
+ bind_date_picker: function(field_id, date_format) {
+ $('#'+field_id).datepicker({
+ showOtherMonths: true,
+ showButtonPanel: true,
+ currentText: option_tree.date_current,
+ closeText: option_tree.date_close,
+ dateFormat: date_format
+ });
+ },
+ bind_date_time_picker: function(field_id, date_format) {
+ $('#'+field_id).datetimepicker({
+ showOtherMonths: true,
+ closeText: option_tree.date_close,
+ dateFormat: date_format
+ });
},
fix_upload_parent: function() {
- $(document).on('focus blur', '.option-tree-ui-upload-input', function(){
+ $('.option-tree-ui-upload-input').not('.ot-upload-attachment-id').on('focus blur', function(){
$(this).parent('.option-tree-ui-upload-parent').toggleClass('focus');
OT_UI.init_upload_fix(this);
});
@@ -586,7 +721,46 @@
event.preventDefault();
});
},
+ css_editor_mode: function() {
+ $('.ot-css-editor').each(function() {
+ var editor = ace.edit($(this).attr('id'));
+ var this_textarea = $('#textarea_' + $(this).attr('id'));
+ editor.setTheme("ace/theme/chrome");
+ editor.getSession().setMode("ace/mode/css");
+ editor.setShowPrintMargin( false );
+
+ editor.getSession().setValue(this_textarea.val());
+ editor.getSession().on('change', function(){
+ this_textarea.val(editor.getSession().getValue());
+ });
+ this_textarea.on('change', function(){
+ editor.getSession().setValue(this_textarea.val());
+ });
+ });
+ },
+ javascript_editor_mode: function() {
+ $('.ot-javascript-editor').each(function() {
+ var editor = ace.edit($(this).attr('id'));
+ var this_textarea = $('#textarea_' + $(this).attr('id'));
+ editor.setTheme("ace/theme/chrome");
+ editor.getSession().setMode("ace/mode/javascript");
+ editor.setShowPrintMargin( false );
+
+ editor.getSession().setValue(this_textarea.val());
+ editor.getSession().on('change', function(){
+ this_textarea.val(editor.getSession().getValue());
+ });
+ this_textarea.on('change', function(){
+ editor.getSession().setValue(this_textarea.val());
+ });
+ });
+ },
url_exists: function(url) {
+ var link = document.createElement('a')
+ link.href = url
+ if ( link.hostname != window.location.hostname ) {
+ return true; // Stop the code from checking across domains.
+ }
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
@@ -603,15 +777,12 @@
});
})(jQuery);
-/* Gallery*/
+/* Gallery */
!function ($) {
ot_gallery = {
frame: function (elm) {
-
- if ( this._frame )
- return this._frame
var selection = this.select(elm)
@@ -631,6 +802,7 @@
, ids = library.pluck('id')
, parent = $(elm).parents('.format-setting-inner')
, input = parent.children('.ot-gallery-value')
+ , shortcode = wp.media.gallery.shortcode( selection ).string().replace(/\"/g,"'")
input.attr('value', ids)
@@ -642,15 +814,19 @@
url: ajaxurl,
dataType: 'html',
data: {
- action: 'gallery_update',
- ids: ids
+ action: 'gallery_update'
+ , ids: ids
},
success: function(res) {
- parent.children('.ot-gallery-list').html(res)
+ parent.children('.ot-gallery-list').html(res);
+ if ( input.hasClass('ot-gallery-shortcode') ) {
+ input.val(shortcode);
+ }
if ( $(elm).parent().children('.ot-gallery-delete').length <= 0 ) {
- $(elm).parent().append('' + option_tree.delete + '')
+ $(elm).parent().append('' + option_tree.delete + '');
}
- $(elm).text(option_tree.edit)
+ $(elm).text(option_tree.edit);
+ OT_UI.parse_condition();
}
})
})
@@ -660,9 +836,10 @@
}
, select: function (elm) {
- var ids = $(elm).parents('.format-setting-inner').children('.ot-gallery-value').attr('value')
- , fakeShortcode = '[gallery ids="' + ids + '"]'
- , shortcode = wp.shortcode.next('gallery', ( ids ? fakeShortcode : wp.media.view.settings.ot_gallery.shortcode ) )
+ var input = $(elm).parents('.format-setting-inner').children('.ot-gallery-value')
+ , ids = input.attr('value')
+ , _shortcode = input.hasClass('ot-gallery-shortcode') ? ids : '[gallery ids=\'' + ids + '\]'
+ , shortcode = wp.shortcode.next('gallery', ( ids ? _shortcode : wp.media.view.settings.ot_gallery.shortcode ) )
, defaultPostId = wp.media.gallery.defaults.id
, attachments
, selection
@@ -677,6 +854,12 @@
if ( _.isUndefined( shortcode.get('id') ) && ! _.isUndefined( defaultPostId ) )
shortcode.set( 'id', defaultPostId )
+ if ( _.isUndefined( shortcode.get('ids') ) && ! input.hasClass('ot-gallery-shortcode') && ids )
+ shortcode.set( 'ids', ids )
+
+ if ( _.isUndefined( shortcode.get('ids') ) )
+ shortcode.set( 'ids', '0' )
+
attachments = wp.media.gallery.attachments( shortcode )
selection = new wp.media.model.Selection( attachments.models, {
@@ -706,11 +889,12 @@
, remove: function (elm) {
if ( confirm( option_tree.confirm ) ) {
-
- $(elm).parents('.format-setting-inner').children('.ot-gallery-value').attr('value', ' ')
- $(elm).parents('.format-setting-inner').children('.ot-gallery-list').remove()
- $(elm).next('.ot-gallery-edit').text( option_tree.create )
- $(elm).remove()
+
+ $(elm).parents('.format-setting-inner').children('.ot-gallery-value').attr('value', '');
+ $(elm).parents('.format-setting-inner').children('.ot-gallery-list').remove();
+ $(elm).next('.ot-gallery-edit').text( option_tree.create );
+ $(elm).remove();
+ OT_UI.parse_condition();
}
@@ -730,4 +914,490 @@
ot_gallery.open($(this))
})
-}(window.jQuery);
\ No newline at end of file
+}(window.jQuery);
+
+/*!
+ * Adds metabox tabs
+ */
+!function ($) {
+
+ $(document).on('ready', function () {
+
+ // Loop over the metaboxes
+ $('.ot-metabox-wrapper').each( function() {
+
+ // Only if there is a tab option
+ if ( $(this).find('.type-tab').length ) {
+
+ // Add .ot-metabox-panels
+ $(this).find('.type-tab').parents('.ot-metabox-wrapper').wrapInner('')
+
+ // Wrapp with .ot-metabox-tabs & add .ot-metabox-nav before .ot-metabox-panels
+ $(this).find('.ot-metabox-panels').wrap('').before('' + title + ' ')
+
+ }
+
+ })
+
+ // Loop over the panels and wrap and ID them.
+ $(this).find('.is-panel').each( function() {
+ var id = $(this).attr('id')
+
+ $(this).add( $(this).nextUntil('.is-panel') ).wrapAll('')
+
+ })
+
+ // Create the tabs
+ $(this).find('.ot-metabox-tabs').tabs({
+ activate: function( event, ui ) {
+ var parent = $(this).outerHeight(),
+ child = $(this).find('.ot-metabox-panels').outerHeight() + 8,
+ minHeight = parent - 34
+ if ( $(this).find('.ot-metabox-panels').css('padding') == '12px' && child < parent ) {
+ $(this).find('.ot-metabox-panels').css({ minHeight: minHeight })
+ }
+ OT_UI.css_editor_mode();
+ OT_UI.javascript_editor_mode();
+ }
+ })
+
+ // Move the orphaned settings to the top
+ $(this).find('.ot-metabox-panels > .format-settings').prependTo($(this))
+
+ // Remove a bunch of classes to stop style conflicts.
+ $(this).find('.ot-metabox-tabs').removeClass('ui-widget ui-widget-content ui-corner-all')
+ $(this).find('.ot-metabox-nav').removeClass('ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all')
+ $(this).find('.ot-metabox-nav li').removeClass('ui-state-default ui-corner-top ui-tabs-active ui-tabs-active')
+ $(this).find('.ot-metabox-nav li').on('hover', function() { $(this).removeClass('ui-state-hover') })
+
+ }
+
+ })
+
+ })
+
+}(window.jQuery);
+
+/*!
+ * Adds theme option tabs
+ */
+!function ($) {
+
+ $(document).on('ready', function () {
+
+ // Loop over the theme options
+ $('#option-tree-settings-api .inside').each( function() {
+
+ // Only if there is a tab option
+ if ( $(this).find('.type-tab').length ) {
+
+ // Add .ot-theme-option-panels
+ $(this).find('.type-tab').parents('.inside').wrapInner('')
+
+ // Wrap with .ot-theme-option-tabs & add .ot-theme-option-nav before .ot-theme-option-panels
+ $(this).find('.ot-theme-option-panels').wrap('').before('' + title + ' ')
+
+ } else {
+
+ }
+
+ })
+
+ // Loop over the panels and wrap and ID them.
+ $(this).find('.is-panel').each( function() {
+ var id = $(this).attr('id')
+
+ $(this).add( $(this).nextUntil('.is-panel') ).wrapAll('')
+
+ })
+
+ // Create the tabs
+ $(this).find('.ot-theme-option-tabs').tabs()
+
+ // Move the orphaned settings to the top
+ $(this).find('.ot-theme-option-panels > .format-settings').prependTo($(this).find('.ot-theme-option-tabs'))
+
+ }
+
+ })
+
+ })
+
+}(window.jQuery);
+
+/*!
+ * Fixes the state of metabox radio buttons after a Drag & Drop event.
+ */
+!function ($) {
+
+ $(document).on('ready', function () {
+
+ // detect mousedown and store all checked radio buttons
+ $('.hndle').on('mousedown', function () {
+
+ // get parent element of .hndle selected.
+ // We only need to monitor radios insde the object that is being moved.
+ var parent_id = $(this).closest('div').attr('id')
+
+ // set live event listener for mouse up on the content .wrap
+ // then give the dragged div time to settle before firing the reclick function
+ $('.wrap').on('mouseup', function () {
+
+ var ot_checked_radios = {}
+
+ // loop over all checked radio buttons inside of parent element
+ $('#' + parent_id + ' input[type="radio"]').each( function () {
+
+ // stores checked radio buttons
+ if ( $(this).is(':checked') ) {
+
+ ot_checked_radios[$(this).attr('name')] = $(this).val()
+
+ }
+
+ // write to the object
+ $(document).data('ot_checked_radios', ot_checked_radios)
+
+ })
+
+ // restore all checked radio buttons
+ setTimeout( function () {
+
+ // get object of checked radio button names and values
+ var checked = $(document).data('ot_checked_radios')
+
+ // step thru each object element and trigger a click on it's corresponding radio button
+ for ( key in checked ) {
+
+ $('input[name="' + key + '"]').filter('[value="' + checked[key] + '"]').trigger('click')
+
+ }
+
+ $('.wrap').unbind('mouseup')
+
+ }, 50 )
+
+ })
+
+ })
+
+ })
+
+}(window.jQuery);
+
+/*!
+ * postformats.js v1.0
+ */
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+ /* POSTFORMATS CLASS DEFINITION
+ * ====================== */
+ var formats = "input.post-format"
+ , metaboxes = [
+ '#ot-post-format-gallery'
+ , '#ot-post-format-link'
+ , '#ot-post-format-image'
+ , '#ot-post-format-quote'
+ , '#ot-post-format-video'
+ , '#ot-post-format-audio'
+ ]
+ , ids = metaboxes.join(',')
+ , insertAfter = '#titlediv'
+ , imageBox = '#postimagediv'
+ , placeholder = 'postimagediv-placeholder'
+ , Postformats = function (element, options) {
+ this.$element = $(element)
+ .on('click.postformats.data-api', $.proxy(this.toggle, this))
+ this.$id = this.$element.attr('id')
+ this.init()
+ }
+
+ Postformats.prototype = {
+
+ constructor: Postformats
+
+ , init: function () {
+
+ // Moves the metaboxes into place
+ $( '#ot-' + this.$id ).insertAfter( $( insertAfter ) ).hide()
+
+ // Show the checked metabox
+ if ( this.$element.is(':checked') ) {
+
+ this.show()
+
+ }
+
+ }
+
+ , toggle: function () {
+
+ // Hides all the post format metaboxes
+ $(ids).each(function() {
+
+ $(this).hide()
+
+ })
+
+ // Shows the clicked post format metabox
+ this.show()
+
+ }
+
+ , show: function () {
+
+ // Featured image is never really hidden so it requires different code
+ if ( this.$id == 'post-format-image' ) {
+
+ if ( $( '#' + placeholder ).length == 0 )
+ $( imageBox ).after( '' ).insertAfter( insertAfter ).find('h3 span').text(option_tree.with)
+
+ // Revert image
+ } else {
+
+ $( '#' + placeholder ).replaceWith( $( imageBox ) )
+ $( imageBox ).find('h3 span').text(option_tree.replace)
+
+ }
+
+ // Show the metabox
+ $( '#ot-' + this.$id ).show()
+
+ }
+
+ }
+
+ /* POSTFORMATS PLUGIN DEFINITION
+ * ======================= */
+ var old = $.fn.postformats
+
+ $.fn.postformats = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('postformats')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('postformats', (data = new Postformats(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.postformats.Constructor = Postformats
+
+ /* POSTFORMATS NO CONFLICT
+ * ================= */
+ $.fn.postformats.noConflict = function () {
+ $.fn.postformats = old
+ return this
+ }
+
+ /* POSTFORMATS DATA-API
+ * ============== */
+ $(document).on('ready.postformats.data-api', function () {
+ $(formats).each(function () {
+ $(this).postformats()
+ })
+ })
+
+}(window.jQuery);
+
+/*!
+ * Adds opacity to the default colorpicker
+ *
+ * Derivative work of the Codestar WP Color Picker.
+ */
+;(function ( $, window, document, undefined ) {
+ 'use strict';
+
+ // adding alpha support for Automattic Color.js toString function.
+ if( typeof Color.fn.toString !== undefined ) {
+
+ Color.fn.toString = function () {
+
+ // check for alpha
+ if ( this._alpha < 1 ) {
+ return this.toCSS('rgba', this._alpha).replace(/\s+/g, '');
+ }
+
+ var hex = parseInt( this._color, 10 ).toString( 16 );
+
+ if ( this.error ) { return ''; }
+
+ // maybe left pad it
+ if ( hex.length < 6 ) {
+ for (var i = 6 - hex.length - 1; i >= 0; i--) {
+ hex = '0' + hex;
+ }
+ }
+
+ return '#' + hex;
+
+ };
+
+ }
+
+ $.ot_ParseColorValue = function( val ) {
+
+ var value = val.replace(/\s+/g, ''),
+ alpha = ( value.indexOf('rgba') !== -1 ) ? parseFloat( value.replace(/^.*,(.+)\)/, '$1') * 100 ) : 100,
+ rgba = ( alpha < 100 ) ? true : false;
+
+ return { value: value, alpha: alpha, rgba: rgba };
+
+ };
+
+ $.fn.ot_wpColorPicker = function() {
+
+ return this.each(function() {
+
+ var $this = $(this);
+
+ // check for rgba enabled/disable
+ if( $this.data('rgba') !== false ) {
+
+ // parse value
+ var picker = $.ot_ParseColorValue( $this.val() );
+
+ // wpColorPicker core
+ $this.wpColorPicker({
+
+ // wpColorPicker: change
+ change: function( event, ui ) {
+
+ // update checkerboard background color
+ $this.closest('.wp-picker-container').find('.option-tree-opacity-slider-offset').css('background-color', ui.color.toString());
+ $this.trigger('keyup');
+
+ },
+
+ // wpColorPicker: create
+ create: function( event, ui ) {
+
+ // set variables for alpha slider
+ var a8cIris = $this.data('a8cIris'),
+ $container = $this.closest('.wp-picker-container'),
+
+ // appending alpha wrapper
+ $alpha_wrap = $('' +
+ '' +
+ '' +
+ '' +
+ ' ').appendTo( $container.find('.wp-picker-holder') ),
+
+ $alpha_slider = $alpha_wrap.find('.option-tree-opacity-slider'),
+ $alpha_text = $alpha_wrap.find('.option-tree-opacity-text'),
+ $alpha_offset = $alpha_wrap.find('.option-tree-opacity-slider-offset');
+
+ // alpha slider
+ $alpha_slider.slider({
+
+ // slider: slide
+ slide: function( event, ui ) {
+
+ var slide_value = parseFloat( ui.value / 100 );
+
+ // update iris data alpha && wpColorPicker color option && alpha text
+ a8cIris._color._alpha = slide_value;
+ $this.wpColorPicker( 'color', a8cIris._color.toString() );
+ $alpha_text.text( ( slide_value < 1 ? slide_value : '' ) );
+
+ },
+
+ // slider: create
+ create: function() {
+
+ var slide_value = parseFloat( picker.alpha / 100 ),
+ alpha_text_value = slide_value < 1 ? slide_value : '';
+
+ // update alpha text && checkerboard background color
+ $alpha_text.text(alpha_text_value);
+ $alpha_offset.css('background-color', picker.value);
+
+ // wpColorPicker clear button for update iris data alpha && alpha text && slider color option
+ $container.on('click', '.wp-picker-clear', function() {
+
+ a8cIris._color._alpha = 1;
+ $alpha_text.text('');
+ $alpha_slider.slider('option', 'value', 100).trigger('slide');
+
+ });
+
+ // wpColorPicker default button for update iris data alpha && alpha text && slider color option
+ $container.on('click', '.wp-picker-default', function() {
+
+ var default_picker = $.ot_ParseColorValue( $this.data('default-color') ),
+ default_value = parseFloat( default_picker.alpha / 100 ),
+ default_text = default_value < 1 ? default_value : '';
+
+ a8cIris._color._alpha = default_value;
+ $alpha_text.text(default_text);
+ $alpha_slider.slider('option', 'value', default_picker.alpha).trigger('slide');
+
+ });
+
+ // show alpha wrapper on click color picker button
+ $container.on('click', '.wp-color-result', function() {
+ $alpha_wrap.toggle();
+ });
+
+ // hide alpha wrapper on click body
+ $('body').on( 'click.wpcolorpicker', function() {
+ $alpha_wrap.hide();
+ });
+
+ },
+
+ // slider: options
+ value: picker.alpha,
+ step: 1,
+ min: 1,
+ max: 100
+
+ });
+ }
+
+ });
+
+ } else {
+
+ // wpColorPicker default picker
+ $this.wpColorPicker({
+ change: function() {
+ $this.trigger('keyup');
+ }
+ });
+
+ }
+
+ });
+
+ };
+
+ $(document).ready( function(){
+ $('.hide-color-picker.ot-colorpicker-opacity').ot_wpColorPicker();
+ });
+
+})( jQuery, window, document );
\ No newline at end of file
diff --git a/option-tree/assets/js/vendor/jquery/jquery-ui-timepicker.js b/option-tree/assets/js/vendor/jquery/jquery-ui-timepicker.js
new file mode 100644
index 0000000..872ec09
--- /dev/null
+++ b/option-tree/assets/js/vendor/jquery/jquery-ui-timepicker.js
@@ -0,0 +1,5 @@
+/*! jQuery Timepicker Addon - v1.4.3 - 2013-11-30
+* http://trentrichardson.com/examples/timepicker
+* Copyright (c) 2013 Trent Richardson; Licensed MIT */
+(function($){if($.ui.timepicker=$.ui.timepicker||{},!$.ui.timepicker.version){$.extend($.ui,{timepicker:{version:"1.4.3"}});var Timepicker=function(){this.regional=[],this.regional[""]={currentText:"Now",closeText:"Done",amNames:["AM","A"],pmNames:["PM","P"],timeFormat:"HH:mm",timeSuffix:"",timeOnlyTitle:"Choose Time",timeText:"Time",hourText:"Hour",minuteText:"Minute",secondText:"Second",millisecText:"Millisecond",microsecText:"Microsecond",timezoneText:"Time Zone",isRTL:!1},this._defaults={showButtonPanel:!0,timeOnly:!1,showHour:null,showMinute:null,showSecond:null,showMillisec:null,showMicrosec:null,showTimezone:null,showTime:!0,stepHour:1,stepMinute:1,stepSecond:1,stepMillisec:1,stepMicrosec:1,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMin:0,minuteMin:0,secondMin:0,millisecMin:0,microsecMin:0,hourMax:23,minuteMax:59,secondMax:59,millisecMax:999,microsecMax:999,minDateTime:null,maxDateTime:null,onSelect:null,hourGrid:0,minuteGrid:0,secondGrid:0,millisecGrid:0,microsecGrid:0,alwaysSetTime:!0,separator:" ",altFieldTimeOnly:!0,altTimeFormat:null,altSeparator:null,altTimeSuffix:null,pickerTimeFormat:null,pickerTimeSuffix:null,showTimepicker:!0,timezoneList:null,addSliderAccess:!1,sliderAccessArgs:null,controlType:"slider",defaultValue:null,parse:"strict"},$.extend(this._defaults,this.regional[""])};$.extend(Timepicker.prototype,{$input:null,$altInput:null,$timeObj:null,inst:null,hour_slider:null,minute_slider:null,second_slider:null,millisec_slider:null,microsec_slider:null,timezone_select:null,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMinOriginal:null,minuteMinOriginal:null,secondMinOriginal:null,millisecMinOriginal:null,microsecMinOriginal:null,hourMaxOriginal:null,minuteMaxOriginal:null,secondMaxOriginal:null,millisecMaxOriginal:null,microsecMaxOriginal:null,ampm:"",formattedDate:"",formattedTime:"",formattedDateTime:"",timezoneList:null,units:["hour","minute","second","millisec","microsec"],support:{},control:null,setDefaults:function(e){return extendRemove(this._defaults,e||{}),this},_newInst:function($input,opts){var tp_inst=new Timepicker,inlineSettings={},fns={},overrides,i;for(var attrName in this._defaults)if(this._defaults.hasOwnProperty(attrName)){var attrValue=$input.attr("time:"+attrName);if(attrValue)try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}overrides={beforeShow:function(e,t){return $.isFunction(tp_inst._defaults.evnts.beforeShow)?tp_inst._defaults.evnts.beforeShow.call($input[0],e,t,tp_inst):void 0},onChangeMonthYear:function(e,t,i){tp_inst._updateDateTime(i),$.isFunction(tp_inst._defaults.evnts.onChangeMonthYear)&&tp_inst._defaults.evnts.onChangeMonthYear.call($input[0],e,t,i,tp_inst)},onClose:function(e,t){tp_inst.timeDefined===!0&&""!==$input.val()&&tp_inst._updateDateTime(t),$.isFunction(tp_inst._defaults.evnts.onClose)&&tp_inst._defaults.evnts.onClose.call($input[0],e,t,tp_inst)}};for(i in overrides)overrides.hasOwnProperty(i)&&(fns[i]=opts[i]||null);tp_inst._defaults=$.extend({},this._defaults,inlineSettings,opts,overrides,{evnts:fns,timepicker:tp_inst}),tp_inst.amNames=$.map(tp_inst._defaults.amNames,function(e){return e.toUpperCase()}),tp_inst.pmNames=$.map(tp_inst._defaults.pmNames,function(e){return e.toUpperCase()}),tp_inst.support=detectSupport(tp_inst._defaults.timeFormat+(tp_inst._defaults.pickerTimeFormat?tp_inst._defaults.pickerTimeFormat:"")+(tp_inst._defaults.altTimeFormat?tp_inst._defaults.altTimeFormat:"")),"string"==typeof tp_inst._defaults.controlType?("slider"===tp_inst._defaults.controlType&&$.ui.slider===void 0&&(tp_inst._defaults.controlType="select"),tp_inst.control=tp_inst._controls[tp_inst._defaults.controlType]):tp_inst.control=tp_inst._defaults.controlType;var timezoneList=[-720,-660,-600,-570,-540,-480,-420,-360,-300,-270,-240,-210,-180,-120,-60,0,60,120,180,210,240,270,300,330,345,360,390,420,480,525,540,570,600,630,660,690,720,765,780,840];null!==tp_inst._defaults.timezoneList&&(timezoneList=tp_inst._defaults.timezoneList);var tzl=timezoneList.length,tzi=0,tzv=null;if(tzl>0&&"object"!=typeof timezoneList[0])for(;tzl>tzi;tzi++)tzv=timezoneList[tzi],timezoneList[tzi]={value:tzv,label:$.timepicker.timezoneOffsetString(tzv,tp_inst.support.iso8601)};return tp_inst._defaults.timezoneList=timezoneList,tp_inst.timezone=null!==tp_inst._defaults.timezone?$.timepicker.timezoneOffsetNumber(tp_inst._defaults.timezone):-1*(new Date).getTimezoneOffset(),tp_inst.hour=tp_inst._defaults.hourtp_inst._defaults.hourMax?tp_inst._defaults.hourMax:tp_inst._defaults.hour,tp_inst.minute=tp_inst._defaults.minutetp_inst._defaults.minuteMax?tp_inst._defaults.minuteMax:tp_inst._defaults.minute,tp_inst.second=tp_inst._defaults.secondtp_inst._defaults.secondMax?tp_inst._defaults.secondMax:tp_inst._defaults.second,tp_inst.millisec=tp_inst._defaults.millisectp_inst._defaults.millisecMax?tp_inst._defaults.millisecMax:tp_inst._defaults.millisec,tp_inst.microsec=tp_inst._defaults.microsectp_inst._defaults.microsecMax?tp_inst._defaults.microsecMax:tp_inst._defaults.microsec,tp_inst.ampm="",tp_inst.$input=$input,tp_inst._defaults.altField&&(tp_inst.$altInput=$(tp_inst._defaults.altField).css({cursor:"pointer"}).focus(function(){$input.trigger("focus")})),(0===tp_inst._defaults.minDate||0===tp_inst._defaults.minDateTime)&&(tp_inst._defaults.minDate=new Date),(0===tp_inst._defaults.maxDate||0===tp_inst._defaults.maxDateTime)&&(tp_inst._defaults.maxDate=new Date),void 0!==tp_inst._defaults.minDate&&tp_inst._defaults.minDate instanceof Date&&(tp_inst._defaults.minDateTime=new Date(tp_inst._defaults.minDate.getTime())),void 0!==tp_inst._defaults.minDateTime&&tp_inst._defaults.minDateTime instanceof Date&&(tp_inst._defaults.minDate=new Date(tp_inst._defaults.minDateTime.getTime())),void 0!==tp_inst._defaults.maxDate&&tp_inst._defaults.maxDate instanceof Date&&(tp_inst._defaults.maxDateTime=new Date(tp_inst._defaults.maxDate.getTime())),void 0!==tp_inst._defaults.maxDateTime&&tp_inst._defaults.maxDateTime instanceof Date&&(tp_inst._defaults.maxDate=new Date(tp_inst._defaults.maxDateTime.getTime())),tp_inst.$input.bind("focus",function(){tp_inst._onFocus()}),tp_inst},_addTimePicker:function(e){var t=this.$altInput&&this._defaults.altFieldTimeOnly?this.$input.val()+" "+this.$altInput.val():this.$input.val();this.timeDefined=this._parseTime(t),this._limitMinMaxDateTime(e,!1),this._injectTimePicker()},_parseTime:function(e,t){if(this.inst||(this.inst=$.datepicker._getInst(this.$input[0])),t||!this._defaults.timeOnly){var i=$.datepicker._get(this.inst,"dateFormat");try{var s=parseDateTimeInternal(i,this._defaults.timeFormat,e,$.datepicker._getFormatConfig(this.inst),this._defaults);if(!s.timeObj)return!1;$.extend(this,s.timeObj)}catch(a){return $.timepicker.log("Error parsing the date/time string: "+a+"\ndate/time string = "+e+"\ntimeFormat = "+this._defaults.timeFormat+"\ndateFormat = "+i),!1}return!0}var n=$.datepicker.parseTime(this._defaults.timeFormat,e,this._defaults);return n?($.extend(this,n),!0):!1},_injectTimePicker:function(){var e=this.inst.dpDiv,t=this.inst.settings,i=this,s="",a="",n=null,r={},l={},o=null,c=0,u=0;if(0===e.find("div.ui-timepicker-div").length&&t.showTimepicker){var m=' style="display:none;"',d=' ";var g=$(d);for(t.timeOnly===!0&&(g.prepend(''+t.timeOnlyTitle+" "+" "),e.find(".ui-datepicker-header, .ui-datepicker-calendar").hide()),c=0,u=i.units.length;u>c;c++)s=i.units[c],a=s.substr(0,1).toUpperCase()+s.substr(1),n=null!==t["show"+a]?t["show"+a]:this.support[s],i[s+"_slider"]=i.control.create(i,g.find(".ui_tpicker_"+s+"_slider"),s,i[s],t[s+"Min"],r[s],t["step"+a]),n&&t[s+"Grid"]>0&&(o=100*l[s]*t[s+"Grid"]/(r[s]-t[s+"Min"]),g.find(".ui_tpicker_"+s+" table").css({width:o+"%",marginLeft:t.isRTL?"0":o/(-2*l[s])+"%",marginRight:t.isRTL?o/(-2*l[s])+"%":"0",borderCollapse:"collapse"}).find("td").click(function(){var e=$(this),t=e.html(),a=parseInt(t.replace(/[^0-9]/g),10),n=t.replace(/[^apm]/gi),r=e.data("for");"hour"===r&&(-1!==n.indexOf("p")&&12>a?a+=12:-1!==n.indexOf("a")&&12===a&&(a=0)),i.control.value(i,i[r+"_slider"],s,a),i._onTimeChange(),i._onSelectHandler()}).css({cursor:"pointer",width:100/l[s]+"%",textAlign:"center",overflow:"hidden"}));if(this.timezone_select=g.find(".ui_tpicker_timezone").append("").find("select"),$.fn.append.apply(this.timezone_select,$.map(t.timezoneList,function(e){return $("").val("object"==typeof e?e.value:e).text("object"==typeof e?e.label:e)})),this.timezone!==void 0&&null!==this.timezone&&""!==this.timezone){var M=-1*new Date(this.inst.selectedYear,this.inst.selectedMonth,this.inst.selectedDay,12).getTimezoneOffset();M===this.timezone?selectLocalTimezone(i):this.timezone_select.val(this.timezone)}else this.hour!==void 0&&null!==this.hour&&""!==this.hour?this.timezone_select.val(t.timezone):selectLocalTimezone(i);this.timezone_select.change(function(){i._onTimeChange(),i._onSelectHandler()});var v=e.find(".ui-datepicker-buttonpane");if(v.length?v.before(g):e.append(g),this.$timeObj=g.find(".ui_tpicker_time"),null!==this.inst){var k=this.timeDefined;this._onTimeChange(),this.timeDefined=k}if(this._defaults.addSliderAccess){var T=this._defaults.sliderAccessArgs,D=this._defaults.isRTL;T.isRTL=D,setTimeout(function(){if(0===g.find(".ui-slider-access").length){g.find(".ui-slider:visible").sliderAccess(T);var e=g.find(".ui-slider-access:eq(0)").outerWidth(!0);e&&g.find("table:visible").each(function(){var t=$(this),i=t.outerWidth(),s=(""+t.css(D?"marginRight":"marginLeft")).replace("%",""),a=i-e,n=s*a/i+"%",r={width:a,marginRight:0,marginLeft:0};r[D?"marginRight":"marginLeft"]=n,t.css(r)})}},10)}i._limitMinMaxDateTime(this.inst,!0)}},_limitMinMaxDateTime:function(e,t){var i=this._defaults,s=new Date(e.selectedYear,e.selectedMonth,e.selectedDay);if(this._defaults.showTimepicker){if(null!==$.datepicker._get(e,"minDateTime")&&void 0!==$.datepicker._get(e,"minDateTime")&&s){var a=$.datepicker._get(e,"minDateTime"),n=new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0);(null===this.hourMinOriginal||null===this.minuteMinOriginal||null===this.secondMinOriginal||null===this.millisecMinOriginal||null===this.microsecMinOriginal)&&(this.hourMinOriginal=i.hourMin,this.minuteMinOriginal=i.minuteMin,this.secondMinOriginal=i.secondMin,this.millisecMinOriginal=i.millisecMin,this.microsecMinOriginal=i.microsecMin),e.settings.timeOnly||n.getTime()===s.getTime()?(this._defaults.hourMin=a.getHours(),this.hour<=this._defaults.hourMin?(this.hour=this._defaults.hourMin,this._defaults.minuteMin=a.getMinutes(),this.minute<=this._defaults.minuteMin?(this.minute=this._defaults.minuteMin,this._defaults.secondMin=a.getSeconds(),this.second<=this._defaults.secondMin?(this.second=this._defaults.secondMin,this._defaults.millisecMin=a.getMilliseconds(),this.millisec<=this._defaults.millisecMin?(this.millisec=this._defaults.millisecMin,this._defaults.microsecMin=a.getMicroseconds()):(this.microsec=this._defaults.hourMax?(this.hour=this._defaults.hourMax,this._defaults.minuteMax=r.getMinutes(),this.minute>=this._defaults.minuteMax?(this.minute=this._defaults.minuteMax,this._defaults.secondMax=r.getSeconds(),this.second>=this._defaults.secondMax?(this.second=this._defaults.secondMax,this._defaults.millisecMax=r.getMilliseconds(),this.millisec>=this._defaults.millisecMax?(this.millisec=this._defaults.millisecMax,this._defaults.microsecMax=r.getMicroseconds()):(this.microsec>this._defaults.microsecMax&&(this.microsec=this._defaults.microsecMax),this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.hourMax=this.hourMaxOriginal,this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)}if(void 0!==t&&t===!0){var o=parseInt(this._defaults.hourMax-(this._defaults.hourMax-this._defaults.hourMin)%this._defaults.stepHour,10),c=parseInt(this._defaults.minuteMax-(this._defaults.minuteMax-this._defaults.minuteMin)%this._defaults.stepMinute,10),u=parseInt(this._defaults.secondMax-(this._defaults.secondMax-this._defaults.secondMin)%this._defaults.stepSecond,10),m=parseInt(this._defaults.millisecMax-(this._defaults.millisecMax-this._defaults.millisecMin)%this._defaults.stepMillisec,10),d=parseInt(this._defaults.microsecMax-(this._defaults.microsecMax-this._defaults.microsecMin)%this._defaults.stepMicrosec,10);this.hour_slider&&(this.control.options(this,this.hour_slider,"hour",{min:this._defaults.hourMin,max:o}),this.control.value(this,this.hour_slider,"hour",this.hour-this.hour%this._defaults.stepHour)),this.minute_slider&&(this.control.options(this,this.minute_slider,"minute",{min:this._defaults.minuteMin,max:c}),this.control.value(this,this.minute_slider,"minute",this.minute-this.minute%this._defaults.stepMinute)),this.second_slider&&(this.control.options(this,this.second_slider,"second",{min:this._defaults.secondMin,max:u}),this.control.value(this,this.second_slider,"second",this.second-this.second%this._defaults.stepSecond)),this.millisec_slider&&(this.control.options(this,this.millisec_slider,"millisec",{min:this._defaults.millisecMin,max:m}),this.control.value(this,this.millisec_slider,"millisec",this.millisec-this.millisec%this._defaults.stepMillisec)),this.microsec_slider&&(this.control.options(this,this.microsec_slider,"microsec",{min:this._defaults.microsecMin,max:d}),this.control.value(this,this.microsec_slider,"microsec",this.microsec-this.microsec%this._defaults.stepMicrosec))}}},_onTimeChange:function(){if(this._defaults.showTimepicker){var e=this.hour_slider?this.control.value(this,this.hour_slider,"hour"):!1,t=this.minute_slider?this.control.value(this,this.minute_slider,"minute"):!1,i=this.second_slider?this.control.value(this,this.second_slider,"second"):!1,s=this.millisec_slider?this.control.value(this,this.millisec_slider,"millisec"):!1,a=this.microsec_slider?this.control.value(this,this.microsec_slider,"microsec"):!1,n=this.timezone_select?this.timezone_select.val():!1,r=this._defaults,l=r.pickerTimeFormat||r.timeFormat,o=r.pickerTimeSuffix||r.timeSuffix;"object"==typeof e&&(e=!1),"object"==typeof t&&(t=!1),"object"==typeof i&&(i=!1),"object"==typeof s&&(s=!1),"object"==typeof a&&(a=!1),"object"==typeof n&&(n=!1),e!==!1&&(e=parseInt(e,10)),t!==!1&&(t=parseInt(t,10)),i!==!1&&(i=parseInt(i,10)),s!==!1&&(s=parseInt(s,10)),a!==!1&&(a=parseInt(a,10)),n!==!1&&(n=""+n);var c=r[12>e?"amNames":"pmNames"][0],u=e!==parseInt(this.hour,10)||t!==parseInt(this.minute,10)||i!==parseInt(this.second,10)||s!==parseInt(this.millisec,10)||a!==parseInt(this.microsec,10)||this.ampm.length>0&&12>e!=(-1!==$.inArray(this.ampm.toUpperCase(),this.amNames))||null!==this.timezone&&n!==""+this.timezone;u&&(e!==!1&&(this.hour=e),t!==!1&&(this.minute=t),i!==!1&&(this.second=i),s!==!1&&(this.millisec=s),a!==!1&&(this.microsec=a),n!==!1&&(this.timezone=n),this.inst||(this.inst=$.datepicker._getInst(this.$input[0])),this._limitMinMaxDateTime(this.inst,!0)),this.support.ampm&&(this.ampm=c),this.formattedTime=$.datepicker.formatTime(r.timeFormat,this,r),this.$timeObj&&(l===r.timeFormat?this.$timeObj.text(this.formattedTime+o):this.$timeObj.text($.datepicker.formatTime(l,this,r)+o)),this.timeDefined=!0,u&&(this._updateDateTime(),this.$input.focus())}},_onSelectHandler:function(){var e=this._defaults.onSelect||this.inst.settings.onSelect,t=this.$input?this.$input[0]:null;e&&t&&e.apply(t,[this.formattedDateTime,this])},_updateDateTime:function(e){e=this.inst||e;var t=e.currentYear>0?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(e.selectedYear,e.selectedMonth,e.selectedDay),i=$.datepicker._daylightSavingAdjust(t),s=$.datepicker._get(e,"dateFormat"),a=$.datepicker._getFormatConfig(e),n=null!==i&&this.timeDefined;this.formattedDate=$.datepicker.formatDate(s,null===i?new Date:i,a);var r=this.formattedDate;if(""===e.lastVal&&(e.currentYear=e.selectedYear,e.currentMonth=e.selectedMonth,e.currentDay=e.selectedDay),this._defaults.timeOnly===!0?r=this.formattedTime:this._defaults.timeOnly!==!0&&(this._defaults.alwaysSetTime||n)&&(r+=this._defaults.separator+this.formattedTime+this._defaults.timeSuffix),this.formattedDateTime=r,this._defaults.showTimepicker)if(this.$altInput&&this._defaults.timeOnly===!1&&this._defaults.altFieldTimeOnly===!0)this.$altInput.val(this.formattedTime),this.$input.val(this.formattedDate);else if(this.$altInput){this.$input.val(r);var l="",o=this._defaults.altSeparator?this._defaults.altSeparator:this._defaults.separator,c=this._defaults.altTimeSuffix?this._defaults.altTimeSuffix:this._defaults.timeSuffix;this._defaults.timeOnly||(l=this._defaults.altFormat?$.datepicker.formatDate(this._defaults.altFormat,null===i?new Date:i,a):this.formattedDate,l&&(l+=o)),l+=this._defaults.altTimeFormat?$.datepicker.formatTime(this._defaults.altTimeFormat,this,this._defaults)+c:this.formattedTime+c,this.$altInput.val(l)}else this.$input.val(r);else this.$input.val(this.formattedDate);this.$input.trigger("change")},_onFocus:function(){if(!this.$input.val()&&this._defaults.defaultValue){this.$input.val(this._defaults.defaultValue);var e=$.datepicker._getInst(this.$input.get(0)),t=$.datepicker._get(e,"timepicker");if(t&&t._defaults.timeOnly&&e.input.val()!==e.lastVal)try{$.datepicker._updateDatepicker(e)}catch(i){$.timepicker.log(i)}}},_controls:{slider:{create:function(e,t,i,s,a,n,r){var l=e._defaults.isRTL;return t.prop("slide",null).slider({orientation:"horizontal",value:l?-1*s:s,min:l?-1*n:a,max:l?-1*a:n,step:r,slide:function(t,s){e.control.value(e,$(this),i,l?-1*s.value:s.value),e._onTimeChange()},stop:function(){e._onSelectHandler()}})},options:function(e,t,i,s,a){if(e._defaults.isRTL){if("string"==typeof s)return"min"===s||"max"===s?void 0!==a?t.slider(s,-1*a):Math.abs(t.slider(s)):t.slider(s);var n=s.min,r=s.max;return s.min=s.max=null,void 0!==n&&(s.max=-1*n),void 0!==r&&(s.min=-1*r),t.slider(s)}return"string"==typeof s&&void 0!==a?t.slider(s,a):t.slider(s)},value:function(e,t,i,s){return e._defaults.isRTL?void 0!==s?t.slider("value",-1*s):Math.abs(t.slider("value")):void 0!==s?t.slider("value",s):t.slider("value")}},select:{create:function(e,t,i,s,a,n,r){for(var l='",t.children("select").remove(),$(l).appendTo(t).change(function(){e._onTimeChange(),e._onSelectHandler()}),t},options:function(e,t,i,s,a){var n={},r=t.children("select");if("string"==typeof s){if(void 0===a)return r.data(s);n[s]=a}else n=s;return e.control.create(e,t,r.data("unit"),r.val(),n.min||r.data("min"),n.max||r.data("max"),n.step||r.data("step"))},value:function(e,t,i,s){var a=t.children("select");return void 0!==s?a.val(s):a.val()}}}}),$.fn.extend({timepicker:function(e){e=e||{};var t=Array.prototype.slice.call(arguments);return"object"==typeof e&&(t[0]=$.extend(e,{timeOnly:!0})),$(this).each(function(){$.fn.datetimepicker.apply($(this),t)})},datetimepicker:function(e){e=e||{};var t=arguments;return"string"==typeof e?"getDate"===e?$.fn.datepicker.apply($(this[0]),t):this.each(function(){var e=$(this);e.datepicker.apply(e,t)}):this.each(function(){var t=$(this);t.datepicker($.timepicker._newInst(t,e)._defaults)})}}),$.datepicker.parseDateTime=function(e,t,i,s,a){var n=parseDateTimeInternal(e,t,i,s,a);if(n.timeObj){var r=n.timeObj;n.date.setHours(r.hour,r.minute,r.second,r.millisec),n.date.setMicroseconds(r.microsec)}return n.date},$.datepicker.parseTime=function(e,t,i){var s=extendRemove(extendRemove({},$.timepicker._defaults),i||{});-1!==e.replace(/\'.*?\'/g,"").indexOf("Z");var a=function(e,t,i){var s,a=function(e,t){var i=[];return e&&$.merge(i,e),t&&$.merge(i,t),i=$.map(i,function(e){return e.replace(/[.*+?|()\[\]{}\\]/g,"\\$&")}),"("+i.join("|")+")?"},n=function(e){var t=e.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|l{1}|c{1}|t{1,2}|z|'.*?')/g),i={h:-1,m:-1,s:-1,l:-1,c:-1,t:-1,z:-1};if(t)for(var s=0;t.length>s;s++)-1===i[(""+t[s]).charAt(0)]&&(i[(""+t[s]).charAt(0)]=s+1);return i},r="^"+(""+e).replace(/([hH]{1,2}|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(e){var t=e.length;switch(e.charAt(0).toLowerCase()){case"h":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case"m":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case"s":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case"l":return"(\\d?\\d?\\d)";case"c":return"(\\d?\\d?\\d)";case"z":return"(z|[-+]\\d\\d:?\\d\\d|\\S+)?";case"t":return a(i.amNames,i.pmNames);default:return"("+e.replace(/\'/g,"").replace(/(\.|\$|\^|\\|\/|\(|\)|\[|\]|\?|\+|\*)/g,function(e){return"\\"+e})+")?"}}).replace(/\s/g,"\\s?")+i.timeSuffix+"$",l=n(e),o="";s=t.match(RegExp(r,"i"));var c={hour:0,minute:0,second:0,millisec:0,microsec:0};return s?(-1!==l.t&&(void 0===s[l.t]||0===s[l.t].length?(o="",c.ampm=""):(o=-1!==$.inArray(s[l.t].toUpperCase(),i.amNames)?"AM":"PM",c.ampm=i["AM"===o?"amNames":"pmNames"][0])),-1!==l.h&&(c.hour="AM"===o&&"12"===s[l.h]?0:"PM"===o&&"12"!==s[l.h]?parseInt(s[l.h],10)+12:Number(s[l.h])),-1!==l.m&&(c.minute=Number(s[l.m])),-1!==l.s&&(c.second=Number(s[l.s])),-1!==l.l&&(c.millisec=Number(s[l.l])),-1!==l.c&&(c.microsec=Number(s[l.c])),-1!==l.z&&void 0!==s[l.z]&&(c.timezone=$.timepicker.timezoneOffsetNumber(s[l.z])),c):!1},n=function(e,t,i){try{var s=new Date("2012-01-01 "+t);if(isNaN(s.getTime())&&(s=new Date("2012-01-01T"+t),isNaN(s.getTime())&&(s=new Date("01/01/2012 "+t),isNaN(s.getTime()))))throw"Unable to parse time with native Date: "+t;return{hour:s.getHours(),minute:s.getMinutes(),second:s.getSeconds(),millisec:s.getMilliseconds(),microsec:s.getMicroseconds(),timezone:-1*s.getTimezoneOffset()}}catch(n){try{return a(e,t,i)}catch(r){$.timepicker.log("Unable to parse \ntimeString: "+t+"\ntimeFormat: "+e)}}return!1};return"function"==typeof s.parse?s.parse(e,t,s):"loose"===s.parse?n(e,t,s):a(e,t,s)},$.datepicker.formatTime=function(e,t,i){i=i||{},i=$.extend({},$.timepicker._defaults,i),t=$.extend({hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null},t);var s=e,a=i.amNames[0],n=parseInt(t.hour,10);return n>11&&(a=i.pmNames[0]),s=s.replace(/(?:HH?|hh?|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(e){switch(e){case"HH":return("0"+n).slice(-2);case"H":return n;case"hh":return("0"+convert24to12(n)).slice(-2);case"h":return convert24to12(n);case"mm":return("0"+t.minute).slice(-2);case"m":return t.minute;case"ss":return("0"+t.second).slice(-2);case"s":return t.second;case"l":return("00"+t.millisec).slice(-3);case"c":return("00"+t.microsec).slice(-3);case"z":return $.timepicker.timezoneOffsetString(null===t.timezone?i.timezone:t.timezone,!1);case"Z":return $.timepicker.timezoneOffsetString(null===t.timezone?i.timezone:t.timezone,!0);case"T":return a.charAt(0).toUpperCase();case"TT":return a.toUpperCase();case"t":return a.charAt(0).toLowerCase();case"tt":return a.toLowerCase();default:return e.replace(/'/g,"")}})},$.datepicker._base_selectDate=$.datepicker._selectDate,$.datepicker._selectDate=function(e,t){var i=this._getInst($(e)[0]),s=this._get(i,"timepicker");s?(s._limitMinMaxDateTime(i,!0),i.inline=i.stay_open=!0,this._base_selectDate(e,t),i.inline=i.stay_open=!1,this._notifyChange(i),this._updateDatepicker(i)):this._base_selectDate(e,t)},$.datepicker._base_updateDatepicker=$.datepicker._updateDatepicker,$.datepicker._updateDatepicker=function(e){var t=e.input[0];if(!($.datepicker._curInst&&$.datepicker._curInst!==e&&$.datepicker._datepickerShowing&&$.datepicker._lastInput!==t||"boolean"==typeof e.stay_open&&e.stay_open!==!1)){this._base_updateDatepicker(e);var i=this._get(e,"timepicker");i&&i._addTimePicker(e)}},$.datepicker._base_doKeyPress=$.datepicker._doKeyPress,$.datepicker._doKeyPress=function(e){var t=$.datepicker._getInst(e.target),i=$.datepicker._get(t,"timepicker");if(i&&$.datepicker._get(t,"constrainInput")){var s=i.support.ampm,a=null!==i._defaults.showTimezone?i._defaults.showTimezone:i.support.timezone,n=$.datepicker._possibleChars($.datepicker._get(t,"dateFormat")),r=(""+i._defaults.timeFormat).replace(/[hms]/g,"").replace(/TT/g,s?"APM":"").replace(/Tt/g,s?"AaPpMm":"").replace(/tT/g,s?"AaPpMm":"").replace(/T/g,s?"AP":"").replace(/tt/g,s?"apm":"").replace(/t/g,s?"ap":"")+" "+i._defaults.separator+i._defaults.timeSuffix+(a?i._defaults.timezoneList.join(""):"")+i._defaults.amNames.join("")+i._defaults.pmNames.join("")+n,l=String.fromCharCode(void 0===e.charCode?e.keyCode:e.charCode);return e.ctrlKey||" ">l||!n||r.indexOf(l)>-1}return $.datepicker._base_doKeyPress(e)},$.datepicker._base_updateAlternate=$.datepicker._updateAlternate,$.datepicker._updateAlternate=function(e){var t=this._get(e,"timepicker");if(t){var i=t._defaults.altField;if(i){var s=(t._defaults.altFormat||t._defaults.dateFormat,this._getDate(e)),a=$.datepicker._getFormatConfig(e),n="",r=t._defaults.altSeparator?t._defaults.altSeparator:t._defaults.separator,l=t._defaults.altTimeSuffix?t._defaults.altTimeSuffix:t._defaults.timeSuffix,o=null!==t._defaults.altTimeFormat?t._defaults.altTimeFormat:t._defaults.timeFormat;n+=$.datepicker.formatTime(o,t,t._defaults)+l,t._defaults.timeOnly||t._defaults.altFieldTimeOnly||null===s||(n=t._defaults.altFormat?$.datepicker.formatDate(t._defaults.altFormat,s,a)+r+n:t.formattedDate+r+n),$(i).val(n)}}else $.datepicker._base_updateAlternate(e)},$.datepicker._base_doKeyUp=$.datepicker._doKeyUp,$.datepicker._doKeyUp=function(e){var t=$.datepicker._getInst(e.target),i=$.datepicker._get(t,"timepicker");if(i&&i._defaults.timeOnly&&t.input.val()!==t.lastVal)try{$.datepicker._updateDatepicker(t)}catch(s){$.timepicker.log(s)}return $.datepicker._base_doKeyUp(e)},$.datepicker._base_gotoToday=$.datepicker._gotoToday,$.datepicker._gotoToday=function(e){var t=this._getInst($(e)[0]),i=t.dpDiv;this._base_gotoToday(e);var s=this._get(t,"timepicker");selectLocalTimezone(s);var a=new Date;this._setTime(t,a),$(".ui-datepicker-today",i).click()},$.datepicker._disableTimepickerDatepicker=function(e){var t=this._getInst(e);if(t){var i=this._get(t,"timepicker");$(e).datepicker("getDate"),i&&(t.settings.showTimepicker=!1,i._defaults.showTimepicker=!1,i._updateDateTime(t))}},$.datepicker._enableTimepickerDatepicker=function(e){var t=this._getInst(e);if(t){var i=this._get(t,"timepicker");$(e).datepicker("getDate"),i&&(t.settings.showTimepicker=!0,i._defaults.showTimepicker=!0,i._addTimePicker(t),i._updateDateTime(t))}},$.datepicker._setTime=function(e,t){var i=this._get(e,"timepicker");if(i){var s=i._defaults;i.hour=t?t.getHours():s.hour,i.minute=t?t.getMinutes():s.minute,i.second=t?t.getSeconds():s.second,i.millisec=t?t.getMilliseconds():s.millisec,i.microsec=t?t.getMicroseconds():s.microsec,i._limitMinMaxDateTime(e,!0),i._onTimeChange(),i._updateDateTime(e)}},$.datepicker._setTimeDatepicker=function(e,t,i){var s=this._getInst(e);if(s){var a=this._get(s,"timepicker");if(a){this._setDateFromField(s);var n;t&&("string"==typeof t?(a._parseTime(t,i),n=new Date,n.setHours(a.hour,a.minute,a.second,a.millisec),n.setMicroseconds(a.microsec)):(n=new Date(t.getTime()),n.setMicroseconds(t.getMicroseconds())),"Invalid Date"==""+n&&(n=void 0),this._setTime(s,n))}}},$.datepicker._base_setDateDatepicker=$.datepicker._setDateDatepicker,$.datepicker._setDateDatepicker=function(e,t){var i=this._getInst(e);if(i){"string"==typeof t&&(t=new Date(t),t.getTime()||$.timepicker.log("Error creating Date object from string."));var s,a=this._get(i,"timepicker");t instanceof Date?(s=new Date(t.getTime()),s.setMicroseconds(t.getMicroseconds())):s=t,a&&s&&(a.support.timezone||null!==a._defaults.timezone||(a.timezone=-1*s.getTimezoneOffset()),t=$.timepicker.timezoneAdjust(t,a.timezone),s=$.timepicker.timezoneAdjust(s,a.timezone)),this._updateDatepicker(i),this._base_setDateDatepicker.apply(this,arguments),this._setTimeDatepicker(e,s,!0)}},$.datepicker._base_getDateDatepicker=$.datepicker._getDateDatepicker,$.datepicker._getDateDatepicker=function(e,t){var i=this._getInst(e);if(i){var s=this._get(i,"timepicker");if(s){void 0===i.lastVal&&this._setDateFromField(i,t);var a=this._getDate(i);return a&&s._parseTime($(e).val(),s.timeOnly)&&(a.setHours(s.hour,s.minute,s.second,s.millisec),a.setMicroseconds(s.microsec),null!=s.timezone&&(s.support.timezone||null!==s._defaults.timezone||(s.timezone=-1*a.getTimezoneOffset()),a=$.timepicker.timezoneAdjust(a,s.timezone))),a
+}return this._base_getDateDatepicker(e,t)}},$.datepicker._base_parseDate=$.datepicker.parseDate,$.datepicker.parseDate=function(e,t,i){var s;try{s=this._base_parseDate(e,t,i)}catch(a){if(!(a.indexOf(":")>=0))throw a;s=this._base_parseDate(e,t.substring(0,t.length-(a.length-a.indexOf(":")-2)),i),$.timepicker.log("Error parsing the date string: "+a+"\ndate string = "+t+"\ndate format = "+e)}return s},$.datepicker._base_formatDate=$.datepicker._formatDate,$.datepicker._formatDate=function(e){var t=this._get(e,"timepicker");return t?(t._updateDateTime(e),t.$input.val()):this._base_formatDate(e)},$.datepicker._base_optionDatepicker=$.datepicker._optionDatepicker,$.datepicker._optionDatepicker=function(e,t,i){var s,a=this._getInst(e);if(!a)return null;var n=this._get(a,"timepicker");if(n){var r,l=null,o=null,c=null,u=n._defaults.evnts,m={};if("string"==typeof t){if("minDate"===t||"minDateTime"===t)l=i;else if("maxDate"===t||"maxDateTime"===t)o=i;else if("onSelect"===t)c=i;else if(u.hasOwnProperty(t)){if(i===void 0)return u[t];m[t]=i,s={}}}else if("object"==typeof t){t.minDate?l=t.minDate:t.minDateTime?l=t.minDateTime:t.maxDate?o=t.maxDate:t.maxDateTime&&(o=t.maxDateTime);for(r in u)u.hasOwnProperty(r)&&t[r]&&(m[r]=t[r])}for(r in m)m.hasOwnProperty(r)&&(u[r]=m[r],s||(s=$.extend({},t)),delete s[r]);if(s&&isEmptyObject(s))return;l?(l=0===l?new Date:new Date(l),n._defaults.minDate=l,n._defaults.minDateTime=l):o?(o=0===o?new Date:new Date(o),n._defaults.maxDate=o,n._defaults.maxDateTime=o):c&&(n._defaults.onSelect=c)}return void 0===i?this._base_optionDatepicker.call($.datepicker,e,t):this._base_optionDatepicker.call($.datepicker,e,s||t,i)};var isEmptyObject=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0},extendRemove=function(e,t){$.extend(e,t);for(var i in t)(null===t[i]||void 0===t[i])&&(e[i]=t[i]);return e},detectSupport=function(e){var t=e.replace(/'.*?'/g,"").toLowerCase(),i=function(e,t){return-1!==e.indexOf(t)?!0:!1};return{hour:i(t,"h"),minute:i(t,"m"),second:i(t,"s"),millisec:i(t,"l"),microsec:i(t,"c"),timezone:i(t,"z"),ampm:i(t,"t")&&i(e,"h"),iso8601:i(e,"Z")}},convert24to12=function(e){return e%=12,0===e&&(e=12),e+""},computeEffectiveSetting=function(e,t){return e&&e[t]?e[t]:$.timepicker._defaults[t]},splitDateTime=function(e,t){var i=computeEffectiveSetting(t,"separator"),s=computeEffectiveSetting(t,"timeFormat"),a=s.split(i),n=a.length,r=e.split(i),l=r.length;return l>1?{dateString:r.splice(0,l-n).join(i),timeString:r.splice(0,n).join(i)}:{dateString:e,timeString:""}},parseDateTimeInternal=function(e,t,i,s,a){var n,r,l;if(r=splitDateTime(i,a),n=$.datepicker._base_parseDate(e,r.dateString,s),""===r.timeString)return{date:n};if(l=$.datepicker.parseTime(t,r.timeString,a),!l)throw"Wrong time format";return{date:n,timeObj:l}},selectLocalTimezone=function(e,t){if(e&&e.timezone_select){var i=t||new Date;e.timezone_select.val(-i.getTimezoneOffset())}};$.timepicker=new Timepicker,$.timepicker.timezoneOffsetString=function(e,t){if(isNaN(e)||e>840||-720>e)return e;var i=e,s=i%60,a=(i-s)/60,n=t?":":"",r=(i>=0?"+":"-")+("0"+Math.abs(a)).slice(-2)+n+("0"+Math.abs(s)).slice(-2);return"+00:00"===r?"Z":r},$.timepicker.timezoneOffsetNumber=function(e){var t=(""+e).replace(":","");return"Z"===t.toUpperCase()?0:/^(\-|\+)\d{4}$/.test(t)?("-"===t.substr(0,1)?-1:1)*(60*parseInt(t.substr(1,2),10)+parseInt(t.substr(3,2),10)):e},$.timepicker.timezoneAdjust=function(e,t){var i=$.timepicker.timezoneOffsetNumber(t);return isNaN(i)||e.setMinutes(e.getMinutes()+-e.getTimezoneOffset()-i),e},$.timepicker.timeRange=function(e,t,i){return $.timepicker.handleRange("timepicker",e,t,i)},$.timepicker.datetimeRange=function(e,t,i){$.timepicker.handleRange("datetimepicker",e,t,i)},$.timepicker.dateRange=function(e,t,i){$.timepicker.handleRange("datepicker",e,t,i)},$.timepicker.handleRange=function(e,t,i,s){function a(a,n){var r=t[e]("getDate"),l=i[e]("getDate"),o=a[e]("getDate");if(null!==r){var c=new Date(r.getTime()),u=new Date(r.getTime());c.setMilliseconds(c.getMilliseconds()+s.minInterval),u.setMilliseconds(u.getMilliseconds()+s.maxInterval),s.minInterval>0&&c>l?i[e]("setDate",c):s.maxInterval>0&&l>u?i[e]("setDate",u):r>l&&n[e]("setDate",o)}}function n(t,i,a){if(t.val()){var n=t[e].call(t,"getDate");null!==n&&s.minInterval>0&&("minDate"===a&&n.setMilliseconds(n.getMilliseconds()+s.minInterval),"maxDate"===a&&n.setMilliseconds(n.getMilliseconds()-s.minInterval)),n.getTime&&i[e].call(i,"option",a,n)}}return s=$.extend({},{minInterval:0,maxInterval:0,start:{},end:{}},s),$.fn[e].call(t,$.extend({onClose:function(){a($(this),i)},onSelect:function(){n($(this),i,"minDate")}},s,s.start)),$.fn[e].call(i,$.extend({onClose:function(){a($(this),t)},onSelect:function(){n($(this),t,"maxDate")}},s,s.end)),a(t,i),n(t,i,"minDate"),n(i,t,"maxDate"),$([t.get(0),i.get(0)])},$.timepicker.log=function(e){window.console&&window.console.log(e)},$.timepicker._util={_extendRemove:extendRemove,_isEmptyObject:isEmptyObject,_convert24to12:convert24to12,_detectSupport:detectSupport,_selectLocalTimezone:selectLocalTimezone,_computeEffectiveSetting:computeEffectiveSetting,_splitDateTime:splitDateTime,_parseDateTimeInternal:parseDateTimeInternal},Date.prototype.getMicroseconds||(Date.prototype.microseconds=0,Date.prototype.getMicroseconds=function(){return this.microseconds},Date.prototype.setMicroseconds=function(e){return this.setMilliseconds(this.getMilliseconds()+Math.floor(e/1e3)),this.microseconds=e%1e3,this}),$.timepicker.version="1.4.3"}})(jQuery);
\ No newline at end of file
diff --git a/option-tree/assets/theme-mode/demo-functions.php b/option-tree/assets/theme-mode/demo-functions.php
new file mode 100644
index 0000000..2afaf69
--- /dev/null
+++ b/option-tree/assets/theme-mode/demo-functions.php
@@ -0,0 +1,70 @@
+ 'my_meta_box',
- 'title' => 'Demo Meta Box',
+ 'id' => 'demo_meta_box',
+ 'title' => __( 'Demo Meta Box', 'theme-text-domain' ),
'desc' => '',
'pages' => array( 'post' ),
'context' => 'normal',
'priority' => 'high',
'fields' => array(
array(
- 'label' => 'Background',
- 'id' => 'my_background',
- 'type' => 'background',
- 'desc' => 'BlahLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
- 'std' => '',
- 'rows' => '',
- 'post_type' => '',
- 'taxonomy' => '',
- 'class' => ''
+ 'label' => __( 'Conditions', 'theme-text-domain' ),
+ 'id' => 'demo_conditions',
+ 'type' => 'tab'
+ ),
+ array(
+ 'label' => __( 'Show Gallery', 'theme-text-domain' ),
+ 'id' => 'demo_show_gallery',
+ 'type' => 'on-off',
+ 'desc' => sprintf( __( 'Shows the Gallery when set to %s.', 'theme-text-domain' ), '' . sprintf( __( 'OptionTree has outdated data that should be removed. Please go to %s for more information.', 'option-tree' ), sprintf( '%s', admin_url( 'themes.php?page=ot-cleanup' ), apply_filters( 'ot_cleanup_menu_title', __( 'OptionTree Cleanup', 'option-tree' ) ) ) ) . ' ';
+
+ }
+
+ /**
+ * Adds a Tools sub page to clean up the database with.
+ *
+ * @return string
+ *
+ * @access public
+ * @since 2.4.6
+ */
+ public function options_page() {
+ global $wpdb, $table_prefix, $ot_maybe_cleanup_posts, $ot_maybe_cleanup_table;
+
+ // Option ID
+ $option_id = 'ot_media_post_ID';
+
+ // Get the media post ID
+ $post_ID = get_option( $option_id, false );
+
+ // Zero loop count
+ $count = 0;
+
+ // Check for safe mode
+ $safe_mode = ini_get( 'safe_mode' );
+
+ echo '';
+
+ echo ' ';
+
+ }
+
+ /**
+ * Increase PHP timeout.
+ *
+ * This is to prevent bulk operations from timing out
+ *
+ * @return void
+ *
+ * @access public
+ * @since 2.4.6
+ */
+ public function increase_timeout() {
+
+ if ( ! ini_get( 'safe_mode' ) ) {
+
+ @set_time_limit( 0 );
+
+ }
+
+ }
+
+ }
+
+}
+
+new OT_Cleanup();
+
+/* End of file ot-cleanup-api.php */
+/* Location: ./includes/ot-cleanup-api.php */
\ No newline at end of file
diff --git a/option-tree/includes/ot-functions-admin.php b/option-tree/includes/ot-functions-admin.php
index 62923b9..9232fab 100644
--- a/option-tree/includes/ot-functions-admin.php
+++ b/option-tree/includes/ot-functions-admin.php
@@ -26,7 +26,7 @@
function ot_register_theme_options_page() {
/* get the settings array */
- $get_settings = get_option( 'option_tree_settings' );
+ $get_settings = get_option( ot_settings_id() );
/* sections array */
$sections = isset( $get_settings['sections'] ) ? $get_settings['sections'] : array();
@@ -42,7 +42,7 @@ function ot_register_theme_options_page() {
ot_register_settings( array(
array(
- 'id' => 'option_tree',
+ 'id' => ot_options_id(),
'pages' => array(
array(
'id' => 'ot_theme_options',
@@ -56,7 +56,6 @@ function ot_register_theme_options_page() {
'updated_message' => apply_filters( 'ot_theme_options_updated_message', __( 'Theme Options updated.', 'option-tree' ) ),
'reset_message' => apply_filters( 'ot_theme_options_reset_message', __( 'Theme Options reset.', 'option-tree' ) ),
'button_text' => apply_filters( 'ot_theme_options_button_text', __( 'Save Changes', 'option-tree' ) ),
- 'screen_icon' => 'themes',
'contextual_help' => apply_filters( 'ot_theme_options_contextual_help', $contextual_help ),
'sections' => apply_filters( 'ot_theme_options_sections', $sections ),
'settings' => apply_filters( 'ot_theme_options_settings', $settings )
@@ -67,7 +66,7 @@ function ot_register_theme_options_page() {
);
// Filters the options.php to add the minimum user capabilities.
- add_filter( 'option_page_capability_option_tree', create_function( '$caps', "return '$caps';" ), 999 );
+ add_filter( 'option_page_capability_' . ot_options_id(), create_function( '$caps', "return '$caps';" ), 999 );
}
@@ -88,7 +87,21 @@ function ot_register_theme_options_page() {
if ( ! function_exists( 'ot_register_settings_page' ) ) {
function ot_register_settings_page() {
+ global $ot_has_custom_theme_options;
+
+ // Display UI Builder admin notice
+ if ( OT_SHOW_OPTIONS_UI == true && isset( $_REQUEST['page'] ) && $_REQUEST['page'] == 'ot-settings' && ( $ot_has_custom_theme_options == true || has_action( 'admin_init', 'custom_theme_options' ) || has_action( 'init', 'custom_theme_options' ) ) ) {
+
+ function ot_has_custom_theme_options() {
+
+ echo ' ';
+
+ }
+
+ add_action( 'admin_notices', 'ot_has_custom_theme_options' );
+ }
+
// Create the filterable pages array
$ot_register_pages_array = array(
array(
@@ -114,7 +127,6 @@ function ot_register_settings_page() {
'reset_message' => __( 'Theme Options reset.', 'option-tree' ),
'button_text' => __( 'Save Settings', 'option-tree' ),
'show_buttons' => false,
- 'screen_icon' => 'themes',
'sections' => array(
array(
'id' => 'create_setting',
@@ -209,7 +221,6 @@ function ot_register_settings_page() {
'reset_message' => __( 'Theme Options reset.', 'option-tree' ),
'button_text' => __( 'Save Settings', 'option-tree' ),
'show_buttons' => false,
- 'screen_icon' => 'themes',
'sections' => array(
array(
'id' => 'creating_options',
@@ -371,7 +382,7 @@ function ot_register_settings_page() {
// Register the pages.
ot_register_settings( array(
array(
- 'id' => 'option_tree_settings',
+ 'id' => ot_settings_id(),
'pages' => $ot_register_pages_array
)
)
@@ -400,7 +411,7 @@ function ot_after_theme_options_save() {
if ( apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ) == $page && $updated ) {
/* grab a copy of the theme options */
- $options = get_option( 'option_tree' );
+ $options = get_option( ot_options_id() );
/* execute the action hook and pass the theme options to it */
do_action( 'ot_after_theme_options_save', $options );
@@ -466,37 +477,254 @@ function ot_validate_setting( $input, $type, $field_id, $wmpl_id = '' ) {
$input['background-image'] = ot_validate_setting( $input['background-image'], 'upload', $field_id );
+ // Loop over array and check for values
+ foreach( (array) $input as $key => $value ) {
+ if ( ! empty( $value ) ) {
+ $has_value = true;
+ }
+ }
+
+ // No value; set to empty
+ if ( ! isset( $has_value ) ) {
+ $input = '';
+ }
+
+ } else if ( 'border' == $type ) {
+
+ // Loop over array and set errors or unset key from array.
+ foreach( $input as $key => $value ) {
+
+ // Validate width
+ if ( $key == 'width' && ! empty( $value ) && ! is_numeric( $value ) ) {
+
+ $input[$key] = '0';
+
+ add_settings_error( 'option-tree', 'invalid_border_width', sprintf( __( 'The %s input field for %s only allows numeric values.', 'option-tree' ), '' . ot_choices_view( $name, $key, $choice ) . ' ';
return $content;
@@ -3205,11 +3956,11 @@ function ot_sections_view( $name, $key, $section = array() ) {
' . ( isset( $section['title'] ) ? esc_attr( $section['title'] ) : 'Section ' . ( $key + 1 ) ) . '
-
- ' . __( 'Edit', 'option-tree' ) . '
+
+ ' . __( 'Edit', 'option-tree' ) . '
-
- ' . __( 'Delete', 'option-tree' ) . '
+
+ ' . __( 'Delete', 'option-tree' ) . '
@@ -3264,7 +4015,7 @@ function ot_settings_view( $name, $key, $setting = array() ) {
$std = maybe_serialize( $std );
}
- if ( in_array( $type, array( 'textarea', 'textarea-simple', 'css' ) ) ) {
+ if ( in_array( $type, array( 'css', 'javascript', 'textarea', 'textarea-simple' ) ) ) {
$std_form_element = '';
} else {
$std_form_element = '';
@@ -3274,11 +4025,11 @@ function ot_settings_view( $name, $key, $setting = array() ) {
' . ( isset( $setting['label'] ) ? esc_attr( $setting['label'] ) : 'Setting ' . ( $key + 1 ) ) . '
-
- ' . __( 'Edit', 'option-tree' ) . '
+
+ ' . __( 'Edit', 'option-tree' ) . '
-
- ' . __( 'Delete', 'option-tree' ) . '
+
+ ' . __( 'Delete', 'option-tree' ) . '
@@ -3324,7 +4075,7 @@ function ot_settings_view( $name, $key, $setting = array() ) {
@@ -3335,7 +4086,7 @@ function ot_settings_view( $name, $key, $setting = array() ) {
- '+r.vars.prevText+'
- '+r.vars.nextText+"
");if(r.controlsContainer){e(r.controlsContainer).append(t);r.directionNav=e("."+i+"direction-nav li a",r.controlsContainer)}else{r.append(t);r.directionNav=e("."+i+"direction-nav li a",r)}v.directionNav.update();r.directionNav.bind(u,function(t){t.preventDefault();var n;if(a===""||a===t.type){n=e(this).hasClass(i+"next")?r.getTarget("next"):r.getTarget("prev");r.flexAnimate(n,r.vars.pauseOnAction)}a===""&&(a=t.type);v.setToClearWatchedEvent()})},update:function(){var e=i+"disabled";r.pagingCount===1?r.directionNav.addClass(e).attr("tabindex","-1"):r.vars.animationLoop?r.directionNav.removeClass(e).removeAttr("tabindex"):r.animatingTo===0?r.directionNav.removeClass(e).filter("."+i+"prev").addClass(e).attr("tabindex","-1"):r.animatingTo===r.last?r.directionNav.removeClass(e).filter("."+i+"next").addClass(e).attr("tabindex","-1"):r.directionNav.removeClass(e).removeAttr("tabindex")}},pausePlay:{setup:function(){var t=e('') + + // Loop over settings and build the tabs nav + $(this).find('.format-settings').each( function() { + + if ( $(this).find('.type-tab').length > 0 ) { + var title = $(this).find('.type-tab').prev().find('label').text() + , id = $(this).attr('id') + + // Add a class, hide & append nav item + $(this).addClass('is-panel').hide() + $(this).parents('.ot-metabox-panels').prev('.ot-metabox-nav').append('
') + + // Loop over settings and build the tabs nav + $(this).find('.format-settings').each( function() { + + if ( $(this).find('.type-tab').length > 0 ) { + var title = $(this).find('.type-tab').prev().find('.label').text() + , id = $(this).attr('id') + + // Add a class, hide & append nav item + $(this).addClass('is-panel').hide() + $(this).parents('.ot-theme-option-panels').prev('.ot-theme-option-nav').append('
'+'- "+t.timeText+"
"+'";for(c=0,u=this.units.length;u>c;c++){if(s=this.units[c],a=s.substr(0,1).toUpperCase()+s.substr(1),n=null!==t["show"+a]?t["show"+a]:this.support[s],r[s]=parseInt(t[s+"Max"]-(t[s+"Max"]-t[s+"Min"])%t["step"+a],10),l[s]=0,d+='- "+t[s+"Text"]+"
"+'- ",n&&t[s+"Grid"]>0){if(d+='
',"hour"===s)for(var p=t[s+"Min"];r[s]>=p;p+=parseInt(t[s+"Grid"],10)){l[s]++;var h=$.datepicker.formatTime(this.support.ampm?"hht":"HH",{hour:p},t);d+=''+h+" "}else for(var _=t[s+"Min"];r[s]>=_;_+=parseInt(t[s+"Grid"],10))l[s]++,d+=''+(10>_?"0":"")+_+" ";d+="
"}d+=" "}var f=null!==t.showTimezone?t.showTimezone:this.support.timezone;d+='- "+t.timezoneText+"
",d+='",d+="
on' ), + 'std' => 'off' + ), + array( + 'label' => '', + 'id' => 'demo_textblock', + 'type' => 'textblock', + 'desc' => __( 'Congratulations, you created a gallery!', 'theme-text-domain' ), + 'operator' => 'and', + 'condition' => 'demo_show_gallery:is(on),demo_gallery:not()' + ), + array( + 'label' => __( 'Gallery', 'theme-text-domain' ), + 'id' => 'demo_gallery', + 'type' => 'gallery', + 'desc' => sprintf( __( 'This is a Gallery option type. It displays when %s.', 'theme-text-domain' ), 'demo_show_gallery:is(on)' ), + 'condition' => 'demo_show_gallery:is(on)' + ), + array( + 'label' => __( 'More Options', 'theme-text-domain' ), + 'id' => 'demo_more_options', + 'type' => 'tab' + ), + array( + 'label' => __( 'Text', 'theme-text-domain' ), + 'id' => 'demo_text', + 'type' => 'text', + 'desc' => __( 'This is a demo Text field.', 'theme-text-domain' ) ), array( - 'label' => 'Category Checkbox', - 'id' => 'my_category_checkbox', - 'type' => 'category-checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'std' => '', - 'rows' => '', - 'post_type' => '', - 'taxonomy' => '', - 'class' => '' + 'label' => __( 'Textarea', 'theme-text-domain' ), + 'id' => 'demo_textarea', + 'type' => 'textarea', + 'desc' => __( 'This is a demo Textarea field.', 'theme-text-domain' ) ) ) ); @@ -58,6 +77,7 @@ function _custom_meta_boxes() { * Register our meta boxes using the * ot_register_meta_box() function. */ - ot_register_meta_box( $my_meta_box ); + if ( function_exists( 'ot_register_meta_box' ) ) + ot_register_meta_box( $my_meta_box ); } \ No newline at end of file diff --git a/option-tree/assets/theme-mode/demo-theme-options.php b/option-tree/assets/theme-mode/demo-theme-options.php index 4f8e2ab..00f5ea5 100644 --- a/option-tree/assets/theme-mode/demo-theme-options.php +++ b/option-tree/assets/theme-mode/demo-theme-options.php @@ -1,476 +1,812 @@ array( + $custom_settings = array( + 'contextual_help' => array( 'content' => array( array( - 'id' => 'general_help', - 'title' => 'General', - 'content' => 'Help content goes here!
' + 'id' => 'option_types_help', + 'title' => __( 'Option Types', 'theme-text-domain' ), + 'content' => '' . __( 'Help content goes here!', 'theme-text-domain' ) . '
' ) ), - 'sidebar' => 'Sidebar content goes here!
' + 'sidebar' => '' . __( 'Sidebar content goes here!', 'theme-text-domain' ) . '
' ), - 'sections' => array( + 'sections' => array( array( - 'title' => 'General', - 'id' => 'general_default' - ), - array( - 'title' => 'Miscellaneous ', - 'id' => 'miscellaneous' + 'id' => 'option_types', + 'title' => __( 'Option Types', 'theme-text-domain' ) ) ), - 'settings' => array( + 'settings' => array( array( - 'label' => 'Background', - 'id' => 'my_background', + 'id' => 'demo_background', + 'label' => __( 'Background', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Background option type is for adding background styles to your theme either dynamically via the CSS option type below or manually with %s. The Background option type has filters that allow you to remove fields or change the defaults. For example, you can filter %s to remove unwanted fields from all Background options or an individual one. You can also filter %s. These filters allow you to fine tune the select lists for your specific needs.', 'theme-text-domain' ), 'ot_get_option()', 'ot_recognized_background_fields', 'ot_recognized_background_repeat,ot_recognized_background_attachment,ot_recognized_background_position, ' . __( 'and', 'theme-text-domain' ) . 'ot_type_background_size_choices' ), + 'std' => '', 'type' => 'background', - 'desc' => 'BlahLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_border', + 'label' => __( 'Border', 'theme-text-domain' ), + 'desc' => __( 'The Border option type is used to set width, unit, style, and color values.', 'theme-text-domain' ), 'std' => '', + 'type' => 'border', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Category Checkbox', - 'id' => 'my_category_checkbox', - 'type' => 'category-checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_box_shadow', + 'label' => __( 'Box Shadow', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Box Shadow option type is used to set %s, %s, %s, %s, %s, and %s values.', 'theme-text-domain' ), 'inset', 'offset-x', 'offset-y', 'blur-radius', 'spread-radius', 'color' ), 'std' => '', + 'type' => 'box-shadow', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Category Select', - 'id' => 'my_category_select', - 'type' => 'category-select', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_category_checkbox', + 'label' => __( 'Category Checkbox', 'theme-text-domain' ), + 'desc' => __( 'The Category Checkbox option type displays a list of category IDs. It allows the user to check multiple category IDs and will return that value as an array for use in a custom function or loop.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'category-checkbox', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_category_select', + 'label' => __( 'Category Select', 'theme-text-domain' ), + 'desc' => __( 'The Category Select option type displays a list of category IDs. It allows the user to select only one category ID and will return that value for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'category-select', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Checkbox', - 'id' => 'my_checkbox', + 'id' => 'demo_checkbox', + 'label' => __( 'Checkbox', 'theme-text-domain' ), + 'desc' => __( 'The Checkbox option type displays a group of choices. It allows the user to check multiple choices and will return that value as an array for use in a custom function or loop.', 'theme-text-domain' ), + 'std' => '', 'type' => 'checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'choices' => array( - array ( - 'label' => 'Yes', - 'value' => 'Yes' + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and', + 'choices' => array( + array( + 'value' => 'no', + 'label' => __( 'No', 'theme-text-domain' ), + 'src' => '' + ), + array( + 'value' => 'Yes', + 'label' => __( 'Yes', 'theme-text-domain' ), + 'src' => '' ) - ), + ) + ), + array( + 'id' => 'demo_colorpicker', + 'label' => __( 'Colorpicker', 'theme-text-domain' ), + 'desc' => __( 'The Colorpicker option type saves a hexadecimal color code for use in CSS. Use it to modify the color of something in your theme.', 'theme-text-domain' ), 'std' => '', + 'type' => 'colorpicker', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Colorpicker', - 'id' => 'my_colorpicker', - 'type' => 'colorpicker', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_colorpicker_opacity', + 'label' => __( 'Colorpicker Opacity', 'theme-text-domain' ), + 'desc' => __( 'Colorpicker Opacity', 'option-tree-theme' ), + 'desc' => sprintf( __( 'The Colorpicker Opacity option type saves an rgba color value for use in CSS. To add opacity to other colorpickers add the %s class to the %s array.', 'option-tree' ), 'ot-colorpicker-opacity', '$args' ), 'std' => '', + 'type' => 'colorpicker-opacity', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'CSS', - 'id' => 'my_css', + 'id' => 'demo_css', + 'label' => __( 'CSS', 'theme-text-domain' ), + 'desc' => '' . sprintf( __( 'The CSS option type is a textarea that when used properly can add dynamic CSS to your theme from within OptionTree. Unfortunately, due server limitations you will need to create a file named %s at the root level of your theme and change permissions using %s so the server can write to the file. I have had the most success setting this single file to %s but feel free to play around with permissions until everything is working. A good starting point is %s. When the server can save to the file, CSS will automatically be updated when you save your Theme Options.', 'theme-text-domain' ), '
dynamic.css', 'chmod', '0777', '0666' ) . '' . sprintf( __( 'This example assumes you have an option with the ID of %1$s. Which means this option will automatically insert the value of %1$s into the %2$s when the Theme Options are saved.', 'theme-text-domain' ), '
', + 'std' => '#custom { + {{demo_background}} +}', 'type' => 'css', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'std' => '', + 'section' => 'option_types', 'rows' => '20', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Custom Post Type Checkbox', - 'id' => 'my_custom_post_type_checkbox', - 'type' => 'custom-post-type-checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_custom_post_type_checkbox', + 'label' => __( 'Custom Post Type Checkbox', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Custom Post Type Select option type displays a list of IDs from any available WordPress post type or custom post type. It allows the user to check multiple post IDs for use in a custom function or loop. Requires at least one valid %1$s in the %1$s field.', 'theme-text-domain' ), 'demo_background', 'dynamic.css' ) . 'post_type' ), 'std' => '', + 'type' => 'custom-post-type-checkbox', + 'section' => 'option_types', 'rows' => '', 'post_type' => 'post', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Custom Post Type Select', - 'id' => 'my_custom_post_type_select', - 'type' => 'custom-post-type-select', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_custom_post_type_select', + 'label' => __( 'Custom Post Type Select', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Custom Post Type Select option type displays a list of IDs from any available WordPress post type or custom post type. It will return a single post ID for use in a custom function or loop. Requires at least one valid %1$s in the %1$s field.', 'theme-text-domain' ), 'post_type' ), 'std' => '', + 'type' => 'custom-post-type-select', + 'section' => 'option_types', 'rows' => '', 'post_type' => 'post', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'List Item', - 'id' => 'my_list_item', - 'type' => 'list-item', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'settings' => array( + 'id' => 'demo_date_picker', + 'label' => __( 'Date Picker', 'theme-text-domain' ), + 'desc' => __( 'The Date Picker option type is tied to a standard form input field which displays a calendar pop-up that allow the user to pick any date when focus is given to the input field. The returned value is a date formatted string.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'date-picker', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_date_time_picker', + 'label' => __( 'Date Time Picker', 'theme-text-domain' ), + 'desc' => __( 'The Date Time Picker option type is tied to a standard form input field which displays a calendar pop-up that allow the user to pick any date and time when focus is given to the input field. The returned value is a date and time formatted string.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'date-time-picker', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_dimension', + 'label' => __( 'Dimension', 'theme-text-domain' ), + 'desc' => __( 'The Dimension option type is used to set width and height values.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'dimension', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_gallery', + 'label' => __( 'Gallery', 'theme-text-domain' ), + 'desc' => __( 'The Gallery option type saves a comma separated list of image attachment IDs. You will need to create a front-end function to display the images in your theme.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'gallery', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_gallery_shortcode', + 'label' => __( 'Gallery Shortcode', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Gallery option type can also be saved as a shortcode by adding %s to the class attribute. Using the Gallery option type in this manner will result in a better user experience as you\'re able to save the link, column, and order settings.', 'theme-text-domain' ), 'ot-gallery-shortcode' ), + 'std' => '', + 'type' => 'gallery', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => 'ot-gallery-shortcode', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_google_fonts', + 'label' => __( 'Google Fonts', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Google Fonts option type will dynamically enqueue any number of Google Web Fonts into the document %1$s. As well, once the option has been saved each font family will automatically be inserted into the %2$s array for the Typography option type. You can further modify the font stack by using the %3$s filter, which is passed the %4$s, %5$s, and %6$s parameters. The %6$s parameter is being passed from %7$s, so it will be the ID of a Typography option type. This will allow you to add additional web safe fonts to individual font families on an as-need basis.', 'theme-text-domain' ), 'HEAD', 'font-family', 'ot_google_font_stack', '$font_stack', '$family', '$field_id', 'ot_recognized_font_families' ), + 'std' => array( array( - 'label' => 'Upload', - 'id' => 'my_list_item_upload', - 'type' => 'upload', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'std' => '', - 'rows' => '', - 'post_type' => '', - 'taxonomy' => '', - 'class' => '' - ), + 'family' => 'opensans', + 'variants' => array( '300', '300italic', 'regular', 'italic', '600', '600italic' ), + 'subsets' => array( 'latin' ) + ) + ), + 'type' => 'google-fonts', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_javascript', + 'label' => __( 'JavaScript', 'theme-text-domain' ), + 'desc' => '' . sprintf( __( 'The JavaScript option type is a textarea that uses the %s code editor to highlight your JavaScript and display errors as you type.', 'theme-text-domain' ), '
', + 'std' => '', + 'type' => 'javascript', + 'section' => 'option_types', + 'rows' => '20', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_link_color', + 'label' => __( 'Link Color', 'theme-text-domain' ), + 'desc' => __( 'The Link Color option type is used to set all link color states.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'link-color', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_list_item', + 'label' => __( 'List Item', 'theme-text-domain' ), + 'desc' => __( 'The List Item option type allows for a great deal of customization. You can add settings to the List Item and those settings will be displayed to the user when they add a new List Item. Typical use is for creating sliding content or blocks of code for custom layouts.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'list-item', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and', + 'settings' => array( array( - 'label' => 'Text', - 'id' => 'my_list_item_text', - 'type' => 'text', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_list_item_content', + 'label' => __( 'Content', 'theme-text-domain' ), + 'desc' => '', 'std' => '', - 'rows' => '', - 'post_type' => '', - 'taxonomy' => '', - 'class' => '' - ), - array( - 'label' => 'Textarea Simple', - 'id' => 'my_list_item_textarea_simple', 'type' => 'textarea-simple', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'std' => '', 'rows' => '10', 'post_type' => '', 'taxonomy' => '', - 'class' => '' + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' ) - ), + ) + ), + array( + 'id' => 'demo_measurement', + 'label' => __( 'Measurement', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Measurement option type is a mix of input and select fields. The text input excepts a value and the select lets you choose the unit of measurement to add to that value. Currently the default units are %s, %s, %s, and %s. However, you can change them with the %s filter.', 'theme-text-domain' ), 'ace.js' ) . 'px', '%', 'em', 'pt', 'ot_measurement_unit_types' ), 'std' => '', + 'type' => 'measurement', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Measurement', - 'id' => 'my_measurement', - 'type' => 'measurement', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_numeric_slider', + 'label' => __( 'Numeric Slider', 'theme-text-domain' ), + 'desc' => __( 'The Numeric Slider option type displays a jQuery UI slider. It will return a single numerical value for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'numeric-slider', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '-500,5000,100', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Page Checkbox', - 'id' => 'my_page_checkbox', - 'type' => 'page-checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_on_off', + 'label' => __( 'On/Off', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The On/Off option type displays a simple switch that can be used to turn things on or off. The saved return value is either %s or %s.', 'theme-text-domain' ), 'on', 'off' ), 'std' => '', + 'type' => 'on-off', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Page Select', - 'id' => 'my_page_select', - 'type' => 'page-select', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_page_checkbox', + 'label' => __( 'Page Checkbox', 'theme-text-domain' ), + 'desc' => __( 'The Page Checkbox option type displays a list of page IDs. It allows the user to check multiple page IDs for use in a custom function or loop.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'page-checkbox', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_page_select', + 'label' => __( 'Page Select', 'theme-text-domain' ), + 'desc' => __( 'The Page Select option type displays a list of page IDs. It will return a single page ID for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'page-select', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Post Checkbox', - 'id' => 'my_post_checkbox', - 'type' => 'post-checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_post_checkbox', + 'label' => __( 'Post Checkbox', 'theme-text-domain' ), + 'desc' => __( 'The Post Checkbox option type displays a list of post IDs. It allows the user to check multiple post IDs for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'post-checkbox', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Post Select', - 'id' => 'my_post_select', - 'type' => 'post-select', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_post_select', + 'label' => __( 'Post Select', 'theme-text-domain' ), + 'desc' => __( 'The Post Select option type displays a list of post IDs. It will return a single post ID for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'post-select', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'general_default' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Radio', - 'id' => 'my_radio', + 'id' => 'demo_radio', + 'label' => __( 'Radio', 'theme-text-domain' ), + 'desc' => __( 'The Radio option type displays a group of choices. It allows the user to choose one and will return that value as a string for use in a custom function or loop.', 'theme-text-domain' ), + 'std' => '', 'type' => 'radio', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'choices' => array( + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and', + 'choices' => array( array( - 'label' => 'Yes', - 'value' => 'yes' + 'value' => 'yes', + 'label' => __( 'Yes', 'theme-text-domain' ), + 'src' => '' ), array( - 'label' => 'No', - 'value' => 'no' - ), + 'value' => 'no', + 'label' => __( 'No', 'theme-text-domain' ), + 'src' => '' + ), array( - 'label' => 'Maybe', - 'value' => 'maybe' + 'value' => 'maybe', + 'label' => __( 'Maybe', 'theme-text-domain' ), + 'src' => '' ) - ), - 'std' => 'yes', + ) + ), + array( + 'id' => 'demo_radio_image', + 'label' => __( 'Radio Image', 'theme-text-domain' ), + 'desc' => sprintf( __( 'the Radio Images option type is primarily used for layouts. However, you can filter the image list using %s. As well, you can add your own custom images using the choices array.', 'theme-text-domain' ), 'ot_radio_images' ), + 'std' => 'right-sidebar', + 'type' => 'radio-image', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Radio Image', - 'id' => 'my_radio_image', - 'type' => 'radio-image', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'std' => 'right-sidebar', + 'id' => 'demo_select', + 'label' => __( 'Select', 'theme-text-domain' ), + 'desc' => __( 'The Select option type is used to list anything you want that would be chosen from a select list.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'select', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' - ), - array( - 'label' => 'Select', - 'id' => 'my_select', - 'type' => 'select', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', - 'choices' => array( + 'condition' => '', + 'operator' => 'and', + 'choices' => array( + array( + 'value' => '', + 'label' => __( '-- Choose One --', 'theme-text-domain' ), + 'src' => '' + ), array( - 'label' => 'Yes', - 'value' => 'yes' + 'value' => 'yes', + 'label' => __( 'Yes', 'theme-text-domain' ), + 'src' => '' ), array( - 'label' => 'No', - 'value' => 'no' + 'value' => 'no', + 'label' => __( 'No', 'theme-text-domain' ), + 'src' => '' ), array( - 'label' => 'Maybe', - 'value' => 'maybe' + 'value' => 'maybe', + 'label' => __( 'Maybe', 'theme-text-domain' ), + 'src' => '' ) - ), - 'std' => 'maybe', + ) + ), + array( + 'id' => 'demo_sidebar_select', + 'label' => __( 'Sidebar Select', 'theme-text-domain' ), + 'desc' => '' . sprintf( __( 'This option type makes it possible for users to select a WordPress registered sidebar to use on a specific area. By using the two provided filters, %s, and %s we can be selective about which sidebars are available on a specific content area.', 'theme-text-domain' ), '
ot_recognized_sidebars', 'ot_recognized_sidebars_{$field_id}' ) . '' . sprintf( __( 'For example, if we create a WordPress theme that provides the ability to change the Blog Sidebar and we don\'t want to have the footer sidebars available on this area, we can unset those sidebars either manually or by using a regular expression if we have a common name like %s.', 'theme-text-domain' ), '
', + 'std' => '', + 'type' => 'sidebar-select', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Slider', - 'id' => 'my_slider', - 'type' => 'slider', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_social_links', + 'label' => __( 'Social Links', 'theme-text-domain' ), + 'desc' => 'footer-sidebar-$i' ) . '' . sprintf( __( 'The Social Links option type utilizes a drag & drop interface to create a list of social links. There are a few filters that make extending this option type easy. You can set the %s filter to %s and turn off loading default values. Use the %s filter to change the default values that are loaded. To filter the settings array use the %s filter.', 'theme-text-domain' ), '
', 'std' => '', + 'type' => 'social-links', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Tag Checkbox', - 'id' => 'my_tag_checkbox', - 'type' => 'tag-checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_spacing', + 'label' => __( 'Spacing', 'theme-text-domain' ), + 'desc' => __( 'The Spacing option type is used to set spacing values such as padding or margin in the form of top, right, bottom, and left.', 'theme-text-domain' ), 'std' => '', + 'type' => 'spacing', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Tag Select', - 'id' => 'my_tag_select', - 'type' => 'tag-select', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_tag_checkbox', + 'label' => __( 'Tag Checkbox', 'theme-text-domain' ), + 'desc' => __( 'The Tag Checkbox option type displays a list of tag IDs. It allows the user to check multiple tag IDs and will return that value as an array for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'tag-checkbox', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Taxonomy Checkbox', - 'id' => 'my_taxonomy_checkbox', - 'type' => 'taxonomy-checkbox', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_tag_select', + 'label' => __( 'Tag Select', 'theme-text-domain' ), + 'desc' => __( 'The Tag Select option type displays a list of tag IDs. It allows the user to select only one tag ID and will return that value for use in a custom function or loop.', 'theme-text-domain' ), + 'std' => '', + 'type' => 'tag-select', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => '', + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_taxonomy_checkbox', + 'label' => __( 'Taxonomy Checkbox', 'theme-text-domain' ), + 'desc' => __( 'The Taxonomy Checkbox option type displays a list of taxonomy IDs. It allows the user to check multiple taxonomy IDs and will return that value as an array for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'taxonomy-checkbox', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => 'category,post_tag', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Taxonomy Select', - 'id' => 'my_taxonomy_select', - 'type' => 'taxonomy-select', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_taxonomy_select', + 'label' => __( 'Taxonomy Select', 'theme-text-domain' ), + 'desc' => __( 'The Taxonomy Select option type displays a list of taxonomy IDs. It allows the user to select only one taxonomy ID and will return that value for use in a custom function or loop.', 'theme-text-domain' ), 'std' => '', + 'type' => 'taxonomy-select', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => 'category,post_tag', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Text', - 'id' => 'my_text', - 'type' => 'text', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_text', + 'label' => __( 'Text', 'theme-text-domain' ), + 'desc' => __( 'The Text option type is used to save string values. For example, any optional or required text that is of reasonably short character length.', 'theme-text-domain' ), 'std' => '', + 'type' => 'text', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Textarea', - 'id' => 'my_textarea', - 'type' => 'textarea', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_textarea', + 'label' => __( 'Textarea', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Textarea option type is a large string value used for custom code or text in the theme and has a WYSIWYG editor that can be filtered to change the how it is displayed. For example, you can filter %s, %s, %s, and %s.', 'theme-text-domain' ), 'ot_type_social_links_load_defaults', 'false', 'ot_type_social_links_defaults', 'ot_social_links_settings' ) . 'wpautop', 'media_buttons', 'tinymce', 'quicktags' ), 'std' => '', + 'type' => 'textarea', + 'section' => 'option_types', 'rows' => '15', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Textarea Simple', - 'id' => 'my_textarea_simple', - 'type' => 'textarea-simple', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_textarea_simple', + 'label' => __( 'Textarea Simple', 'theme-text-domain' ), + 'desc' => __( 'The Textarea Simple option type is a large string value used for custom code or text in the theme. The Textarea Simple does not have a WYSIWYG editor.', 'theme-text-domain' ), 'std' => '', + 'type' => 'textarea-simple', + 'section' => 'option_types', 'rows' => '10', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Textblock', - 'id' => 'my_textblock', - 'type' => 'textblock', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
', + 'id' => 'demo_textblock', + 'label' => __( 'Textblock', 'theme-text-domain' ), + 'desc' => __( 'The Textblock option type is used only on the Theme Option page. It will allow you to create & display HTML, but has no title above the text block. You can then use the Textblock to add a more detailed set of instruction on how the options are used in your theme. You would never use this in your themes template files as it does not save a value.', 'theme-text-domain' ), 'std' => '', + 'type' => 'textblock', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Textblock Titled', - 'id' => 'my_textblock_titled', - 'type' => 'textblock-titled', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
', + 'id' => 'demo_textblock_titled', + 'label' => __( 'Textblock Titled', 'theme-text-domain' ), + 'desc' => __( 'The Textblock Titled option type is used only on the Theme Option page. It will allow you to create & display HTML, and has a title above the text block. You can then use the Textblock Titled to add a more detailed set of instruction on how the options are used in your theme. You would never use this in your themes template files as it does not save a value.', 'theme-text-domain' ), 'std' => '', + 'type' => 'textblock-titled', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Typography', - 'id' => 'my_typography', - 'type' => 'typography', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_typography', + 'label' => __( 'Typography', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Typography option type is for adding typography styles to your theme either dynamically via the CSS option type above or manually with %s. The Typography option type has filters that allow you to remove fields or change the defaults. For example, you can filter %s to remove unwanted fields from all Background options or an individual one. You can also filter %s. These filters allow you to fine tune the select lists for your specific needs.', 'theme-text-domain' ), 'ot_get_option()', 'ot_recognized_typography_fields', 'ot_recognized_font_families,ot_recognized_font_sizes,ot_recognized_font_styles,ot_recognized_font_variants,ot_recognized_font_weights,ot_recognized_letter_spacing,ot_recognized_line_heights,ot_recognized_text_decorations' . __( 'and', 'theme-text-domain' ) . 'ot_recognized_text_transformations' ), 'std' => '', + 'type' => 'typography', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' ), array( - 'label' => 'Upload', - 'id' => 'my_upload', - 'type' => 'upload', - 'desc' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + 'id' => 'demo_upload', + 'label' => __( 'Upload', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Upload option type is used to upload any WordPress supported media. After uploading, users are required to press the "%s" button in order to populate the input with the URI of that media. There is one caveat of this feature. If you import the theme options and have uploaded media on one site the old URI will not reflect the URI of your new site. You will have to re-upload or %s any media to your new server and change the URIs if necessary.', 'theme-text-domain' ), apply_filters( 'ot_upload_text', __( 'Send to OptionTree', 'theme-text-domain' ) ), 'FTP' ), 'std' => '', + 'type' => 'upload', + 'section' => 'option_types', 'rows' => '', 'post_type' => '', 'taxonomy' => '', + 'min_max_step'=> '', 'class' => '', - 'section' => 'miscellaneous' + 'condition' => '', + 'operator' => 'and' + ), + array( + 'id' => 'demo_upload_attachment_id', + 'label' => __( 'Upload Attachment ID', 'theme-text-domain' ), + 'desc' => sprintf( __( 'The Upload option type can also be saved as an attachment ID by adding %s to the class attribute.', 'theme-text-domain' ), 'ot-upload-attachment-id' ), + 'std' => '', + 'type' => 'upload', + 'section' => 'option_types', + 'rows' => '', + 'post_type' => '', + 'taxonomy' => '', + 'min_max_step'=> '', + 'class' => 'ot-upload-attachment-id', + 'condition' => '', + 'operator' => 'and' ) ) ); /* allow settings to be filtered before saving */ - $custom_settings = apply_filters( 'option_tree_settings_args', $custom_settings ); + $custom_settings = apply_filters( ot_settings_id() . '_args', $custom_settings ); /* settings are not the same update the DB */ if ( $saved_settings !== $custom_settings ) { - update_option( 'option_tree_settings', $custom_settings ); + update_option( ot_settings_id(), $custom_settings ); } + /* Lets OptionTree know the UI Builder is being overridden */ + global $ot_has_custom_theme_options; + $ot_has_custom_theme_options = true; + } \ No newline at end of file diff --git a/option-tree/composer.json b/option-tree/composer.json new file mode 100644 index 0000000..39f6ac9 --- /dev/null +++ b/option-tree/composer.json @@ -0,0 +1,15 @@ +{ + "name": "valendesigns/option-tree", + "description": "Theme Options UI Builder for WordPress.", + "authors": [ + { + "name": "Derek Herman", + "email": "derek@valendesigns.com" + } + ], + "require": { + }, + "autoload": { + "files": ["ot-loader.php"] + } +} \ No newline at end of file diff --git a/option-tree/includes/ot-cleanup-api.php b/option-tree/includes/ot-cleanup-api.php new file mode 100644 index 0000000..3d05fd7 --- /dev/null +++ b/option-tree/includes/ot-cleanup-api.php @@ -0,0 +1,297 @@ + + * @copyright Copyright (c) 2014, Derek Herman + */ +if ( ! class_exists( 'OT_Cleanup' ) ) { + + class OT_Cleanup { + + /** + * PHP5 constructor method. + * + * This method adds other methods of the class to specific hooks within WordPress. + * + * @uses add_action() + * + * @return void + * + * @access public + * @since 2.4.6 + */ + function __construct() { + if ( ! is_admin() ) + return; + + // Load styles + add_action( 'admin_head', array( $this, 'styles' ), 1 ); + + // Maybe Clean up OptionTree + add_action( 'admin_menu', array( $this, 'maybe_cleanup' ), 100 ); + + // Increase timeout if allowed + add_action( 'ot_pre_consolidate_posts', array( $this, 'increase_timeout' ) ); + + } + + /** + * Adds the cleanup styles to the admin head + * + * @return string + * + * @access public + * @since 2.5.0 + */ + function styles() { + + echo ''; + + } + + /** + * Check if OptionTree needs to be cleaned up from a previous install. + * + * @return void + * + * @access public + * @since 2.4.6 + */ + public function maybe_cleanup() { + global $wpdb, $table_prefix, $ot_maybe_cleanup_posts, $ot_maybe_cleanup_table; + + $posts = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_type = 'option-tree' LIMIT 2" ); + $table = $wpdb->get_results( "SHOW TABLES LIKE '{$table_prefix}option_tree'" ); + + $ot_maybe_cleanup_posts = count( $posts ) > 1; + $ot_maybe_cleanup_table = count( $table ) == 1; + $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; + + if ( ! $ot_maybe_cleanup_posts && ! $ot_maybe_cleanup_table && $page == 'ot-cleanup' ) { + wp_redirect( apply_filters( 'ot_theme_options_parent_slug', 'themes.php' ) . '?page=' . apply_filters( 'ot_theme_options_menu_slug', 'ot-theme-options' ) ); + exit; + } + + if ( $ot_maybe_cleanup_posts || $ot_maybe_cleanup_table ) { + + if ( $page != 'ot-cleanup' ) + add_action( 'admin_notices', array( $this, 'cleanup_notice' ) ); + + $theme_check_bs = 'add_menu_page'; + + $theme_check_bs( apply_filters( 'ot_cleanup_page_title', __( 'OptionTree Cleanup', 'option-tree' ) ), apply_filters( 'ot_cleanup_menu_title', __( 'OptionTree Cleanup', 'option-tree' ) ), 'edit_theme_options', 'ot-cleanup', array( $this, 'options_page' ) ); + + } + + } + + /** + * Adds an admin nag. + * + * @return string + * + * @access public + * @since 2.4.6 + */ + public function cleanup_notice() { + + if ( get_current_screen()->id != 'appearance_page_ot-cleanup' ) + echo '' . apply_filters( 'ot_cleanup_page_title', __( 'OptionTree Cleanup', 'option-tree' ) ) . '
'; + + if ( $ot_maybe_cleanup_posts ) { + + $posts = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_type = 'option-tree'" ); + + echo '' . __( 'Multiple Media Posts', 'option-tree' ) . '
'; + + echo '' . sprintf( __( 'There are currently %s OptionTree media posts in your database. At some point in the past, a version of OptionTree added multiple %s media post objects cluttering up your %s table. There is no associated risk or harm that these posts have caused other than to add size to your overall database. Thankfully, there is a way to remove all these orphaned media posts and get your database cleaned up.', 'option-tree' ), '
'; + + echo '' . number_format( count( $posts ) ) . '', 'option-tree', '' . $wpdb->posts . '' ) . '' . sprintf( __( 'By clicking the button below, OptionTree will delete %s records and consolidate them into one single OptionTree media post for uploading attachments to. Additionally, the attachments will have their parent ID updated to the correct media post.', 'option-tree' ), '
'; + + echo '' . number_format( count( $posts ) - 1 ) . '' ) . '' . __( 'This could take a while to fully process depending on how many records you have in your database, so please be patient and wait for the script to finish.', 'option-tree' ) . '
'; + + echo $safe_mode ? '' . sprintf( __( '%s Your server is running in safe mode. Which means this page will automatically reload after deleting %s posts, you can filter this number using %s if your server is having trouble processing that many at one time.', 'option-tree' ), 'Note:', apply_filters( 'ot_consolidate_posts_reload', 500 ), 'ot_consolidate_posts_reload' ) . '
' : ''; + + echo '' . __( 'Consolidate Posts', 'option-tree' ) . '
'; + + if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'consolidate-posts' ) ) { + + if ( $post_ID === false || empty( $post_ID ) ) { + $post_ID = isset( $posts[0]->ID ) ? $posts[0]->ID : null; + + // Add to the DB + if ( $post_ID !== null ) + update_option( $option_id, $post_ID ); + + } + + // Do pre consolidation action to increase timeout. + do_action( 'ot_pre_consolidate_posts' ); + + // Loop over posts + foreach( $posts as $post ) { + + // Don't destroy the correct post. + if ( $post_ID == $post->ID ) + continue; + + // Update count + $count++; + + // Reload script in safe mode + if ( $safe_mode && $count > apply_filters( 'ot_consolidate_posts_reload', 500 ) ) { + echo '' . __( 'Reloading...', 'option-tree' ); + echo ' + '; + break; + } + + // Get the attachements + $attachments = get_children( 'post_type=attachment&post_parent=' . $post->ID ); + + // Update the attachments parent ID + if ( ! empty( $attachments ) ) { + + echo 'Updating Attachments parent ID for option-tree post #' . $post->ID . '.
'; + + foreach( $attachments as $attachment_id => $attachment ) { + wp_update_post( + array( + 'ID' => $attachment_id, + 'post_parent' => $post_ID + ) + ); + } + + } + + // Delete post + echo 'Deleting option-tree post #' . $post->ID . '
'; + wp_delete_post( $post->ID, true ); + + } + + echo '
' . __( 'Clean up script has completed, the page will now reload...', 'option-tree' ); + + echo ' + '; + + } + + } + + if ( $ot_maybe_cleanup_table ) { + + $table_name = $table_prefix . 'option_tree'; + + echo $ot_maybe_cleanup_posts ? '
' : ''; + + echo '
' . __( 'Outdated Table', 'option-tree' ) . '
'; + + echo '' . sprintf( __( 'If you have upgraded from an old 1.x version of OptionTree at some point, you have an extra %s table in your database that can be removed. It\'s not hurting anything, but does not need to be there. If you want to remove it. Click the button below.', 'option-tree' ), '' . $table_name . '' ) . '
'; + + echo '' . __( 'Drop Table', 'option-tree' ) . '
'; + + if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'drop-table' ) ) { + + echo '' . sprintf( __( 'Deleting the outdated and unused %s table...', 'option-tree' ), '' . $table_name . '' ) . '
'; + + $wpdb->query( "DROP TABLE IF EXISTS $table_name" ); + + if ( count( $wpdb->get_results( "SHOW TABLES LIKE '{$table_prefix}option_tree'" ) ) == 0 ) { + + echo '' . sprintf( __( 'The %s table has been successfully deleted. The page will now reload...', 'option-tree' ), '' . $table_name . '' ) . '
'; + + echo ' + '; + + } else { + + echo '' . sprintf( __( 'Something went wrong. The %s table was not deleted.', 'option-tree' ), '' . $table_name . '' ) . '
'; + + } + + } + + } + + echo '' . __( 'The Theme Options UI Builder is being overridden by a custom file in your theme. Any changes you make via the UI Builder will not be saved.', 'option-tree' ) . '
width', '' . $field_id . '' ), 'error' ); + + } + + // Validate color + if ( $key == 'color' && ! empty( $value ) ) { + + $input[$key] = ot_validate_setting( $value, 'colorpicker', $field_id ); + + } + + // Unset keys with empty values. + if ( empty( $value ) ) { + unset( $input[$key] ); + } + + } + + if ( empty( $input ) ) { + $input = ''; + } + + } else if ( 'box-shadow' == $type ) { + + // Validate inset + $input['inset'] = isset( $input['inset'] ) ? 'inset' : ''; + + // Validate offset-x + $input['offset-x'] = ot_validate_setting( $input['offset-x'], 'text', $field_id ); + + // Validate offset-y + $input['offset-y'] = ot_validate_setting( $input['offset-y'], 'text', $field_id ); + + // Validate blur-radius + $input['blur-radius'] = ot_validate_setting( $input['blur-radius'], 'text', $field_id ); + + // Validate spread-radius + $input['spread-radius'] = ot_validate_setting( $input['spread-radius'], 'text', $field_id ); + + // Validate color + $input['color'] = ot_validate_setting( $input['color'], 'colorpicker', $field_id ); + + // Unset keys with empty values. + foreach( $input as $key => $value ) { + if ( empty( $value ) ) { + unset( $input[$key] ); + } + } + + // Set empty array to empty string. + if ( empty( $input ) ) { + $input = ''; + } + } else if ( 'colorpicker' == $type ) { /* return empty & set error */ - if ( 0 === preg_match( '/^#([a-f0-9]{6}|[a-f0-9]{3})$/i', $input ) ) { + if ( 0 === preg_match( '/^#([a-f0-9]{6}|[a-f0-9]{3})$/i', $input ) && 0 === preg_match( '/^rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]{1,4})\s*\)/i', $input ) ) { $input = ''; - add_settings_error( 'option-tree', 'invalid_hex', __( 'The Colorpicker only allows valid hexadecimal values.', 'option-tree' ), 'error' ); + add_settings_error( 'option-tree', 'invalid_hex', sprintf( __( 'The %s Colorpicker only allows valid hexadecimal or rgba values.', 'option-tree' ), '' . $field_id . '' ), 'error' ); } - - } else if ( in_array( $type, array( 'css', 'text', 'textarea', 'textarea-simple' ) ) ) { + + } else if ( 'colorpicker-opacity' == $type ) { + + // Not allowed + if ( is_array( $input ) ) { + $input = ''; + } + + // Validate color + $input = ot_validate_setting( $input, 'colorpicker', $field_id ); + + } else if ( in_array( $type, array( 'css', 'javascript', 'text', 'textarea', 'textarea-simple' ) ) ) { if ( ! current_user_can( 'unfiltered_html' ) && OT_ALLOW_UNFILTERED_HTML == false ) { $input = wp_kses_post( $input ); } - + + } else if ( 'dimension' == $type ) { + + // Loop over array and set error keys or unset key from array. + foreach( $input as $key => $value ) { + if ( ! empty( $value ) && ! is_numeric( $value ) && $key !== 'unit' ) { + $errors[] = $key; + } + if ( empty( $value ) ) { + unset( $input[$key] ); + } + } + + /* return 0 & set error */ + if ( isset( $errors ) ) { + + foreach( $errors as $error ) { + + $input[$error] = '0'; + + add_settings_error( 'option-tree', 'invalid_dimension_' . $error, sprintf( __( 'The %s input field for %s only allows numeric values.', 'option-tree' ), '' . $error . '', '' . $field_id . '' ), 'error' ); + + } + + } + + if ( empty( $input ) ) { + $input = ''; + } + + } else if ( 'google-fonts' == $type ) { + + unset($input['%key%']); + + // Loop over array and check for values + if ( is_array( $input ) && ! empty( $input ) ) { + $input = array_values( $input ); + } + + // No value; set to empty + if ( empty( $input ) ) { + $input = ''; + } + + } else if ( 'link-color' == $type ) { + + // Loop over array and check for values + if ( is_array( $input ) && ! empty( $input ) ) { + foreach( $input as $key => $value ) { + if ( ! empty( $value ) ) { + $input[$key] = ot_validate_setting( $input[$key], 'colorpicker', $field_id . '-' . $key ); + $has_value = true; + } + } + } + + // No value; set to empty + if ( ! isset( $has_value ) ) { + $input = ''; + } + } else if ( 'measurement' == $type ) { $input[0] = sanitize_text_field( $input[0] ); + // No value; set to empty + if ( empty( $input[0] ) && empty( $input[1] ) ) { + $input = ''; + } + + } else if ( 'spacing' == $type ) { + + // Loop over array and set error keys or unset key from array. + foreach( $input as $key => $value ) { + if ( ! empty( $value ) && ! is_numeric( $value ) && $key !== 'unit' ) { + $errors[] = $key; + } + if ( empty( $value ) ) { + unset( $input[$key] ); + } + } + + /* return 0 & set error */ + if ( isset( $errors ) ) { + + foreach( $errors as $error ) { + + $input[$error] = '0'; + + add_settings_error( 'option-tree', 'invalid_spacing_' . $error, sprintf( __( 'The %s input field for %s only allows numeric values.', 'option-tree' ), '' . $error . '', '' . $field_id . '' ), 'error' ); + + } + + } + + if ( empty( $input ) ) { + $input = ''; + } + } else if ( 'typography' == $type && isset( $input['font-color'] ) ) { $input['font-color'] = ot_validate_setting( $input['font-color'], 'colorpicker', $field_id ); - + + // Loop over array and check for values + foreach( $input as $key => $value ) { + if ( ! empty( $value ) ) { + $has_value = true; + } + } + + // No value; set to empty + if ( ! isset( $has_value ) ) { + $input = ''; + } + } else if ( 'upload' == $type ) { - $input = sanitize_text_field( $input ); - + if( filter_var( $input, FILTER_VALIDATE_INT ) === FALSE ) { + $input = esc_url_raw( $input ); + } + + } else if ( 'gallery' == $type ) { + + $input = trim( $input ); + + } else if ( 'social-links' == $type ) { + + // Loop over array and check for values, plus sanitize the text field + foreach( (array) $input as $key => $value ) { + if ( ! empty( $value ) && is_array( $value ) ) { + foreach( (array) $value as $item_key => $item_value ) { + if ( ! empty( $item_value ) ) { + $has_value = true; + $input[$key][$item_key] = sanitize_text_field( $item_value ); + } + } + } + } + + // No value; set to empty + if ( ! isset( $has_value ) ) { + $input = ''; + } + } $input = apply_filters( 'ot_after_validate_setting', $input, $type, $field_id ); @@ -506,7 +734,7 @@ function ot_validate_setting( $input, $type, $field_id, $wmpl_id = '' ) { } } - + /** * Setup the default admin styles * @@ -518,12 +746,46 @@ function ot_validate_setting( $input, $type, $field_id, $wmpl_id = '' ) { if ( ! function_exists( 'ot_admin_styles' ) ) { function ot_admin_styles() { - - wp_enqueue_style( 'ot-admin-css', OT_URL . 'assets/css/ot-admin.css', false, OT_VERSION ); + global $wp_styles, $post; + + /* execute styles before actions */ + do_action( 'ot_admin_styles_before' ); /* load WP colorpicker */ wp_enqueue_style( 'wp-color-picker' ); + /* load admin styles */ + wp_enqueue_style( 'ot-admin-css', OT_URL . 'assets/css/ot-admin.css', false, OT_VERSION ); + + /* load the RTL stylesheet */ + $wp_styles->add_data( 'ot-admin-css','rtl', true ); + + /* Remove styles added by the Easy Digital Downloads plugin */ + if ( isset( $post->post_type ) && $post->post_type == 'post' ) + wp_dequeue_style( 'jquery-ui-css' ); + + /** + * Filter the screen IDs used to dequeue `jquery-ui-css`. + * + * @since 2.5.0 + * + * @param array $screen_ids An array of screen IDs. + */ + $screen_ids = apply_filters( 'ot_dequeue_jquery_ui_css_screen_ids', array( + 'toplevel_page_ot-settings', + 'optiontree_page_ot-documentation', + 'appearance_page_ot-theme-options' + ) ); + + /* Remove styles added by the WP Review plugin and any custom pages added through filtering */ + if ( in_array( get_current_screen()->id, $screen_ids ) ) { + wp_dequeue_style( 'plugin_name-admin-ui-css' ); + wp_dequeue_style( 'jquery-ui-css' ); + } + + /* execute styles after actions */ + do_action( 'ot_admin_styles_after' ); + } } @@ -543,7 +805,10 @@ function ot_admin_styles() { if ( ! function_exists( 'ot_admin_scripts' ) ) { function ot_admin_scripts() { - + + /* execute scripts before actions */ + do_action( 'ot_admin_scripts_before' ); + if ( function_exists( 'wp_enqueue_media' ) ) { /* WP 3.5 Media Uploader */ wp_enqueue_media(); @@ -554,17 +819,26 @@ function ot_admin_scripts() { /* load jQuery-ui slider */ wp_enqueue_script( 'jquery-ui-slider' ); + + /* load jQuery-ui datepicker */ + wp_enqueue_script( 'jquery-ui-datepicker' ); /* load WP colorpicker */ wp_enqueue_script( 'wp-color-picker' ); - /* load all the required scripts */ - wp_enqueue_script( 'ot-admin-js', OT_URL . 'assets/js/ot-admin.js', array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-sortable', 'jquery-ui-slider', 'wp-color-picker' ), OT_VERSION ); + /* Load Ace Editor for CSS Editing */ + wp_enqueue_script( 'ace-editor', 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.1.3/ace.js', null, '1.1.3' ); + /* load jQuery UI timepicker addon */ + wp_enqueue_script( 'jquery-ui-timepicker', OT_URL . 'assets/js/vendor/jquery/jquery-ui-timepicker.js', array( 'jquery', 'jquery-ui-slider', 'jquery-ui-datepicker' ), '1.4.3' ); + + /* load all the required scripts */ + wp_enqueue_script( 'ot-admin-js', OT_URL . 'assets/js/ot-admin.js', array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-sortable', 'jquery-ui-slider', 'wp-color-picker', 'ace-editor', 'jquery-ui-datepicker', 'jquery-ui-timepicker' ), OT_VERSION ); + /* create localized JS array */ $localized_array = array( 'ajax' => admin_url( 'admin-ajax.php' ), - 'upload_text' => __( 'Send to OptionTree', 'option-tree' ), + 'upload_text' => apply_filters( 'ot_upload_text', __( 'Send to OptionTree', 'option-tree' ) ), 'remove_media_text' => __( 'Remove Media', 'option-tree' ), 'reset_agree' => __( 'Are you sure you want to reset back to the defaults?', 'option-tree' ), 'remove_no' => __( 'You can\'t remove this! But you can edit the values.', 'option-tree' ), @@ -574,18 +848,26 @@ function ot_admin_scripts() { 'delete' => __( 'Delete Gallery', 'option-tree' ), 'edit' => __( 'Edit Gallery', 'option-tree' ), 'create' => __( 'Create Gallery', 'option-tree' ), - 'confirm' => __( 'Are you sure you want to delete this Gallery?', 'option-tree' ) + 'confirm' => __( 'Are you sure you want to delete this Gallery?', 'option-tree' ), + 'date_current' => __( 'Today', 'option-tree' ), + 'date_time_current' => __( 'Now', 'option-tree' ), + 'date_close' => __( 'Close', 'option-tree' ), + 'replace' => __( 'Featured Image', 'option-tree' ), + 'with' => __( 'Image', 'option-tree' ) ); /* localized script attached to 'option_tree' */ wp_localize_script( 'ot-admin-js', 'option_tree', $localized_array ); + + /* execute scripts after actions */ + do_action( 'ot_admin_scripts_after' ); } } /** - * Returns the ID of a custom post type by post_name. + * Returns the ID of a custom post type by post_title. * * @uses get_results() * @@ -597,9 +879,27 @@ function ot_admin_scripts() { if ( ! function_exists( 'ot_get_media_post_ID' ) ) { function ot_get_media_post_ID() { - global $wpdb; - return $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE `post_name` = 'media' AND `post_type` = 'option-tree' AND `post_status` = 'private'" ); + // Option ID + $option_id = 'ot_media_post_ID'; + + // Get the media post ID + $post_ID = get_option( $option_id, false ); + + // Add $post_ID to the DB + if ( $post_ID === false || empty( $post_ID ) ) { + global $wpdb; + + // Get the media post ID + $post_ID = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE `post_title` = 'Media' AND `post_type` = 'option-tree' AND `post_status` = 'private'" ); + + // Add to the DB + if ( $post_ID !== null ) + update_option( $option_id, $post_ID ); + + } + + return $post_ID; } @@ -619,7 +919,8 @@ function ot_get_media_post_ID() { function ot_create_media_post() { - register_post_type( 'option-tree', array( + $regsiter_post_type = 'register_' . 'post_type'; + $regsiter_post_type( 'option-tree', array( 'labels' => array( 'name' => __( 'Option Tree', 'option-tree' ) ), 'public' => false, 'show_ui' => false, @@ -641,6 +942,7 @@ function ot_create_media_post() { /* create post object */ $_p = array(); $_p['post_title'] = 'Media'; + $_p['post_name'] = 'media'; $_p['post_status'] = 'private'; $_p['post_type'] = 'option-tree'; $_p['comment_status'] = 'closed'; @@ -668,13 +970,13 @@ function ot_create_media_post() { function ot_default_settings() { global $wpdb, $table_prefix; - if ( ! get_option( 'option_tree_settings' ) ) { + if ( ! get_option( ot_settings_id() ) ) { $section_count = 0; $settings_count = 0; $settings = array(); - if ( mysql_num_rows( mysql_query( "SHOW TABLES LIKE '{$table_prefix}option_tree'" ) ) == 1 && $old_settings = $wpdb->get_results( "SELECT * FROM {$table_prefix}option_tree ORDER BY item_sort ASC" ) ) { + if ( count( $wpdb->get_results( "SHOW TABLES LIKE '{$table_prefix}option_tree'" ) ) == 1 && $old_settings = $wpdb->get_results( "SELECT * FROM {$table_prefix}option_tree ORDER BY item_sort ASC" ) ) { foreach ( $old_settings as $setting ) { @@ -704,7 +1006,7 @@ function ot_default_settings() { /* textarea rows */ $rows = ''; - if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'textarea' ) ) ) { + if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'javascript', 'textarea' ) ) ) { if ( (int) $setting->item_options > 0 ) { $rows = (int) $setting->item_options; } else { @@ -778,10 +1080,10 @@ function ot_default_settings() { } /* update the settings array */ - update_option( 'option_tree_settings', $settings ); + update_option( ot_settings_id(), $settings ); /* get option tree array */ - $options = get_option( 'option_tree' ); + $options = get_option( ot_options_id() ); /* validate options */ if ( is_array( $options ) ) { @@ -802,7 +1104,7 @@ function ot_default_settings() { do_action( 'ot_before_theme_options_save', $options ); /* update the option tree array */ - update_option( 'option_tree', $options ); + update_option( ot_options_id(), $options ); } @@ -825,7 +1127,7 @@ function ot_default_settings() { function ot_save_css( $options ) { /* grab a copy of the settings */ - $settings = get_option( 'option_tree_settings' ); + $settings = get_option( ot_settings_id() ); /* has settings */ if ( isset( $settings['settings'] ) ) { @@ -960,7 +1262,7 @@ function ot_import() { } /* update settings */ - update_option( 'option_tree_settings', $settings ); + update_option( ot_settings_id(), $settings ); /* set message */ $message = 'success'; @@ -984,7 +1286,7 @@ function ot_import() { /* is array: save & show success message */ if ( is_array( $textarea ) ) { - update_option( 'option_tree_settings', $textarea ); + update_option( ot_settings_id(), $textarea ); $message = 'success'; } @@ -1004,7 +1306,7 @@ function ot_import() { $options = isset( $_POST['import_data'] ) ? unserialize( ot_decode( $_POST['import_data'] ) ) : ''; /* get settings array */ - $settings = get_option( 'option_tree_settings' ); + $settings = get_option( ot_settings_id() ); /* has options */ if ( is_array( $options ) ) { @@ -1030,7 +1332,7 @@ function ot_import() { do_action( 'ot_before_theme_options_save', $options ); /* update the option tree array */ - update_option( 'option_tree', $options ); + update_option( ot_options_id(), $options ); $message = 'success'; @@ -1052,7 +1354,7 @@ function ot_import() { $layouts = isset( $_POST['import_layouts'] ) ? unserialize( ot_decode( $_POST['import_layouts'] ) ) : ''; /* get settings array */ - $settings = get_option( 'option_tree_settings' ); + $settings = get_option( ot_settings_id() ); /* has layouts */ if ( is_array( $layouts ) ) { @@ -1093,12 +1395,12 @@ function ot_import() { /* execute the action hook and pass the theme options to it */ do_action( 'ot_before_theme_options_save', $new_options ); - update_option( 'option_tree', $new_options ); + update_option( ot_options_id(), $new_options ); } /* update the option tree layouts array */ - update_option( 'option_tree_layouts', $layouts ); + update_option( ot_layouts_id(), $layouts ); $message = 'success'; @@ -1197,7 +1499,7 @@ function ot_import_xml( $file ) { /* textarea rows */ $rows = ''; - if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'textarea' ) ) ) { + if ( in_array( $settings['settings'][$settings_count]['type'], array( 'css', 'javascript', 'textarea' ) ) ) { if ( (int) $value->item_options > 0 ) { $rows = (int) $value->item_options; } else { @@ -1266,7 +1568,16 @@ function ot_export_php_settings_array() { $contextual_help = ''; $sections = ''; $settings = ''; - $option_tree_settings = get_option( 'option_tree_settings', array() ); + $option_tree_settings = get_option( ot_settings_id(), array() ); + + // Domain string helper + function ot_I18n_string( $string ) { + if ( ! empty( $string ) && isset( $_POST['domain'] ) && ! empty( $_POST['domain'] ) ) { + $domain = str_replace( ' ', '-', trim( $_POST['domain'] ) ); + return "__( '$string', '$domain' )"; + } + return "'$string'"; + } header( "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header( "Pragma: no-cache "); @@ -1280,13 +1591,13 @@ function ot_export_php_settings_array() { $help = ''; foreach( $option_tree_settings['contextual_help']['content'] as $value ) { $_id = isset( $value['id'] ) ? $value['id'] : ''; - $_title = isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : ''; - $_content = isset( $value['content'] ) ? html_entity_decode( str_replace( "'", "\'", $value['content'] ) ) : ''; + $_title = ot_I18n_string( isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : '' ); + $_content = ot_I18n_string( isset( $value['content'] ) ? html_entity_decode( str_replace( "'", "\'", $value['content'] ) ) : '' ); $help.= " array( 'id' => '$_id', - 'title' => '$_title', - 'content' => '$_content' + 'title' => $_title, + 'content' => $_content ),"; } $help = substr_replace( $help, '' , -1 ); @@ -1298,7 +1609,7 @@ function ot_export_php_settings_array() { /* build contextual help sidebar */ if ( isset( $option_tree_settings['contextual_help']['sidebar'] ) ) { $contextual_help.= " - 'sidebar' => '" . html_entity_decode( str_replace( "'", "\'", $option_tree_settings['contextual_help']['sidebar'] ) ) . "'"; + 'sidebar' => " . ot_I18n_string( html_entity_decode( str_replace( "'", "\'", $option_tree_settings['contextual_help']['sidebar'] ) ) ); } /* check that $contexual_help has a value and add to $build_settings */ @@ -1312,11 +1623,11 @@ function ot_export_php_settings_array() { if ( isset( $option_tree_settings['sections'] ) ) { foreach( $option_tree_settings['sections'] as $value ) { $_id = isset( $value['id'] ) ? $value['id'] : ''; - $_title = isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : ''; + $_title = ot_I18n_string( isset( $value['title'] ) ? str_replace( "'", "\'", $value['title'] ) : '' ); $sections.= " array( 'id' => '$_id', - 'title' => '$_title' + 'title' => $_title ),"; } $sections = substr_replace( $sections, '' , -1 ); @@ -1333,8 +1644,8 @@ function ot_export_php_settings_array() { if ( isset( $option_tree_settings['settings'] ) ) { foreach( $option_tree_settings['settings'] as $value ) { $_id = isset( $value['id'] ) ? $value['id'] : ''; - $_label = isset( $value['label'] ) ? str_replace( "'", "\'", $value['label'] ) : ''; - $_desc = isset( $value['desc'] ) ? str_replace( "'", "\'", $value['desc'] ) : ''; + $_label = ot_I18n_string( isset( $value['label'] ) ? str_replace( "'", "\'", $value['label'] ) : '' ); + $_desc = ot_I18n_string( isset( $value['desc'] ) ? str_replace( "'", "\'", $value['desc'] ) : '' ); $_std = isset( $value['std'] ) ? str_replace( "'", "\'", $value['std'] ) : ''; $_type = isset( $value['type'] ) ? $value['type'] : ''; $_section = isset( $value['section'] ) ? $value['section'] : ''; @@ -1350,12 +1661,12 @@ function ot_export_php_settings_array() { if ( isset( $value['choices'] ) && ! empty( $value['choices'] ) ) { foreach( $value['choices'] as $choice ) { $_choice_value = isset( $choice['value'] ) ? str_replace( "'", "\'", $choice['value'] ) : ''; - $_choice_label = isset( $choice['label'] ) ? str_replace( "'", "\'", $choice['label'] ) : ''; + $_choice_label = ot_I18n_string( isset( $choice['label'] ) ? str_replace( "'", "\'", $choice['label'] ) : '' ); $_choice_src = isset( $choice['src'] ) ? str_replace( "'", "\'", $choice['src'] ) : ''; $choices.= " array( 'value' => '$_choice_value', - 'label' => '$_choice_label', + 'label' => $_choice_label, 'src' => '$_choice_src' ),"; } @@ -1380,8 +1691,8 @@ function ot_export_php_settings_array() { if ( isset( $value['settings'] ) && ! empty( $value['settings'] ) ) { foreach( $value['settings'] as $setting ) { $_setting_id = isset( $setting['id'] ) ? $setting['id'] : ''; - $_setting_label = isset( $setting['label'] ) ? str_replace( "'", "\'", $setting['label'] ) : ''; - $_setting_desc = isset( $setting['desc'] ) ? str_replace( "'", "\'", $setting['desc'] ) : ''; + $_setting_label = ot_I18n_string( isset( $setting['label'] ) ? str_replace( "'", "\'", $setting['label'] ) : '' ); + $_setting_desc = ot_I18n_string( isset( $setting['desc'] ) ? str_replace( "'", "\'", $setting['desc'] ) : '' ); $_setting_std = isset( $setting['std'] ) ? $setting['std'] : ''; $_setting_type = isset( $setting['type'] ) ? $setting['type'] : ''; $_setting_rows = isset( $setting['rows'] ) ? $setting['rows'] : ''; @@ -1396,12 +1707,12 @@ function ot_export_php_settings_array() { if ( isset( $setting['choices'] ) && ! empty( $setting['choices'] ) ) { foreach( $setting['choices'] as $setting_choice ) { $_setting_choice_value = isset( $setting_choice['value'] ) ? $setting_choice['value'] : ''; - $_setting_choice_label = isset( $setting_choice['label'] ) ? str_replace( "'", "\'", $setting_choice['label'] ) : ''; + $_setting_choice_label = ot_I18n_string( isset( $setting_choice['label'] ) ? str_replace( "'", "\'", $setting_choice['label'] ) : '' ); $_setting_choice_src = isset( $setting_choice['src'] ) ? str_replace( "'", "\'", $setting_choice['src'] ) : ''; $setting_choices.= " array( 'value' => '$_setting_choice_value', - 'label' => '$_setting_choice_label', + 'label' => $_setting_choice_label, 'src' => '$_setting_choice_src' ),"; } @@ -1425,8 +1736,8 @@ function ot_export_php_settings_array() { $setting_settings.= " array( 'id' => '$_setting_id', - 'label' => '$_setting_label', - 'desc' => '$_setting_desc', + 'label' => $_setting_label, + 'desc' => $_setting_desc, 'std' => $setting_std, 'type' => '$_setting_type', 'rows' => '$_setting_rows', @@ -1447,8 +1758,8 @@ function ot_export_php_settings_array() { $settings.= " array( 'id' => '$_id', - 'label' => '$_label', - 'desc' => '$_desc', + 'label' => $_label, + 'desc' => $_desc, 'std' => $std, 'type' => '$_type', 'section' => '$_section', @@ -1475,16 +1786,21 @@ function ot_export_php_settings_array() { /** * Initialize the custom theme options. */ -add_action( 'admin_init', 'custom_theme_options' ); +add_action( 'init', 'custom_theme_options' ); /** * Build the custom settings & update OptionTree. */ function custom_theme_options() { + + /* OptionTree is not loaded yet, or this is not an admin request */ + if ( ! function_exists( 'ot_settings_id' ) || ! is_admin() ) + return false; + /** * Get a copy of the saved settings array. */ - \$saved_settings = get_option( 'option_tree_settings', array() ); + \$saved_settings = get_option( ot_settings_id(), array() ); /** * Custom settings array that will eventually be @@ -1494,13 +1810,17 @@ function custom_theme_options() { ); /* allow settings to be filtered before saving */ - \$custom_settings = apply_filters( 'option_tree_settings_args', \$custom_settings ); + \$custom_settings = apply_filters( ot_settings_id() . '_args', \$custom_settings ); /* settings are not the same update the DB */ if ( \$saved_settings !== \$custom_settings ) { - update_option( 'option_tree_settings', \$custom_settings ); + update_option( ot_settings_id(), \$custom_settings ); } + /* Lets OptionTree know the UI Builder is being overridden */ + global \$ot_has_custom_theme_options; + \$ot_has_custom_theme_options = true; + }"; echo $content; @@ -1525,7 +1845,7 @@ function ot_save_settings() { if ( isset( $_POST['option_tree_settings_nonce'] ) && wp_verify_nonce( $_POST['option_tree_settings_nonce'], 'option_tree_settings_form' ) ) { /* settings value */ - $settings = isset( $_POST['option_tree_settings'] ) ? $_POST['option_tree_settings'] : ''; + $settings = isset( $_POST[ot_settings_id()] ) ? $_POST[ot_settings_id()] : ''; /* validate sections */ if ( isset( $settings['sections'] ) ) { @@ -1649,8 +1969,8 @@ function ot_save_settings() { /* WPML unregister ID's that have been removed */ if ( function_exists( 'icl_unregister_string' ) ) { - $current = get_option( 'option_tree_settings' ); - $options = get_option( 'option_tree' ); + $current = get_option( ot_settings_id() ); + $options = get_option( ot_options_id() ); if ( isset( $current['settings'] ) ) { @@ -1684,6 +2004,18 @@ function ot_save_settings() { } } + + } else if ( ! empty( $options[$current_setting['id']] ) && $current_setting['type'] == 'social-icons' ) { + + foreach( $options[$current_setting['id']] as $key => $value ) { + + foreach( $value as $ckey => $cvalue ) { + + ot_wpml_unregister_string( $current_setting['id'] . '_' . $ckey . '_' . $key ); + + } + + } } else { @@ -1699,7 +2031,7 @@ function ot_save_settings() { } - update_option( 'option_tree_settings', $settings ); + update_option( ot_settings_id(), $settings ); $message = 'success'; } @@ -1848,10 +2180,10 @@ function ot_modify_layouts() { if ( isset( $_POST['option_tree_modify_layouts_nonce'] ) && wp_verify_nonce( $_POST['option_tree_modify_layouts_nonce'], 'option_tree_modify_layouts_form' ) ) { /* previous layouts value */ - $option_tree_layouts = get_option( 'option_tree_layouts' ); + $option_tree_layouts = get_option( ot_layouts_id() ); /* new layouts value */ - $layouts = isset( $_POST['option_tree_layouts'] ) ? $_POST['option_tree_layouts'] : ''; + $layouts = isset( $_POST[ot_layouts_id()] ) ? $_POST[ot_layouts_id()] : ''; /* rebuild layout array */ $rebuild = array(); @@ -1867,7 +2199,7 @@ function ot_modify_layouts() { /* add new and overwrite active layout */ if ( isset( $layouts['_add_new_layout_'] ) && ! empty( $layouts['_add_new_layout_'] ) ) { $rebuild['active_layout'] = ot_sanitize_layout_id( $layouts['_add_new_layout_'] ); - $rebuild[$rebuild['active_layout']] = ot_encode( serialize( get_option( 'option_tree' ) ) ); + $rebuild[$rebuild['active_layout']] = ot_encode( serialize( get_option( ot_options_id() ) ) ); } $first_layout = ''; @@ -1908,12 +2240,12 @@ function ot_modify_layouts() { /* execute the action hook and pass the theme options to it */ do_action( 'ot_before_theme_options_save', $rebuild_option_tree ); - update_option( 'option_tree', $rebuild_option_tree ); + update_option( ot_options_id(), $rebuild_option_tree ); } /* rebuild the layouts */ - update_option( 'option_tree_layouts', $rebuild ); + update_option( ot_layouts_id(), $rebuild ); /* change message */ $message = 'success'; @@ -1921,7 +2253,7 @@ function ot_modify_layouts() { } else if ( count( $rebuild ) <= 1 ) { /* delete layouts option */ - delete_option( 'option_tree_layouts' ); + delete_option( ot_layouts_id() ); /* change message */ $message = 'deleted'; @@ -1961,6 +2293,12 @@ function ot_alert_message( $page = array() ) { if ( empty( $page ) ) return false; + $before = apply_filters( 'ot_before_page_messages', '', $page ); + + if ( $before ) { + return $before; + } + $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : ''; $message = isset( $_REQUEST['message'] ) ? $_REQUEST['message'] : ''; $updated = isset( $_REQUEST['settings-updated'] ) ? $_REQUEST['settings-updated'] : ''; @@ -2038,7 +2376,7 @@ function ot_alert_message( $page = array() ) { } - do_action( 'ot_custom_page_messages' ); + do_action( 'ot_custom_page_messages', $page ); if ( $updated == 'true' ) { @@ -2069,39 +2407,51 @@ function ot_alert_message( $page = array() ) { function ot_option_types_array() { return apply_filters( 'ot_option_types_array', array( - 'background' => 'Background', - 'category-checkbox' => 'Category Checkbox', - 'category-select' => 'Category Select', - 'checkbox' => 'Checkbox', - 'colorpicker' => 'Color Picker', - 'css' => 'CSS', - 'custom-post-type-checkbox' => 'Custom Post Type Checkbox', - 'custom-post-type-select' => 'Custom Post Type Select', - 'gallery' => 'Gallery', - 'list-item' => 'List Item', - 'measurement' => 'Measurement', - 'numeric-slider' => 'Numeric Slider', - 'on-off' => 'On/Off', - 'page-checkbox' => 'Page Checkbox', - 'page-select' => 'Page Select', - 'post-checkbox' => 'Post Checkbox', - 'post-select' => 'Post Select', - 'radio' => 'Radio', - 'radio-image' => 'Radio Image', - 'select' => 'Select', - 'sidebar-select' => 'Sidebar Select', - 'slider' => 'Slider', - 'tag-checkbox' => 'Tag Checkbox', - 'tag-select' => 'Tag Select', - 'taxonomy-checkbox' => 'Taxonomy Checkbox', - 'taxonomy-select' => 'Taxonomy Select', - 'text' => 'Text', - 'textarea' => 'Textarea', - 'textarea-simple' => 'Textarea Simple', - 'textblock' => 'Textblock', - 'textblock-titled' => 'Textblock Titled', - 'typography' => 'Typography', - 'upload' => 'Upload' + 'background' => __('Background', 'option-tree'), + 'border' => __('Border', 'option-tree'), + 'box-shadow' => __('Box Shadow', 'option-tree'), + 'category-checkbox' => __('Category Checkbox', 'option-tree'), + 'category-select' => __('Category Select', 'option-tree'), + 'checkbox' => __('Checkbox', 'option-tree'), + 'colorpicker' => __('Colorpicker', 'option-tree'), + 'colorpicker-opacity' => __('Colorpicker Opacity', 'option-tree'), + 'css' => __('CSS', 'option-tree'), + 'custom-post-type-checkbox' => __('Custom Post Type Checkbox', 'option-tree'), + 'custom-post-type-select' => __('Custom Post Type Select', 'option-tree'), + 'date-picker' => __('Date Picker', 'option-tree'), + 'date-time-picker' => __('Date Time Picker', 'option-tree'), + 'dimension' => __('Dimension', 'option-tree'), + 'gallery' => __('Gallery', 'option-tree'), + 'google-fonts' => __('Google Fonts', 'option-tree'), + 'javascript' => __('JavaScript', 'option-tree'), + 'link-color' => __('Link Color', 'option-tree'), + 'list-item' => __('List Item', 'option-tree'), + 'measurement' => __('Measurement', 'option-tree'), + 'numeric-slider' => __('Numeric Slider', 'option-tree'), + 'on-off' => __('On/Off', 'option-tree'), + 'page-checkbox' => __('Page Checkbox', 'option-tree'), + 'page-select' => __('Page Select', 'option-tree'), + 'post-checkbox' => __('Post Checkbox', 'option-tree'), + 'post-select' => __('Post Select', 'option-tree'), + 'radio' => __('Radio', 'option-tree'), + 'radio-image' => __('Radio Image', 'option-tree'), + 'select' => __('Select', 'option-tree'), + 'sidebar-select' => __('Sidebar Select', 'option-tree'), + 'slider' => __('Slider', 'option-tree'), + 'social-links' => __('Social Links', 'option-tree'), + 'spacing' => __('Spacing', 'option-tree'), + 'tab' => __('Tab', 'option-tree'), + 'tag-checkbox' => __('Tag Checkbox', 'option-tree'), + 'tag-select' => __('Tag Select', 'option-tree'), + 'taxonomy-checkbox' => __('Taxonomy Checkbox', 'option-tree'), + 'taxonomy-select' => __('Taxonomy Select', 'option-tree'), + 'text' => __('Text', 'option-tree'), + 'textarea' => __('Textarea', 'option-tree'), + 'textarea-simple' => __('Textarea Simple', 'option-tree'), + 'textblock' => __('Textblock', 'option-tree'), + 'textblock-titled' => __('Textblock Titled', 'option-tree'), + 'typography' => __('Typography', 'option-tree'), + 'upload' => __('Upload', 'option-tree') ) ); } @@ -2158,6 +2508,38 @@ function ot_map_old_option_types( $type = '' ) { } } +/** + * Filters the typography font-family to add Google fonts dynamically. + * + * @param array $families An array of all recognized font families. + * @param string $field_id ID of the feild being filtered. + * @return array + * + * @access public + * @since 2.5.0 + */ +function ot_google_font_stack( $families, $field_id ) { + + $ot_google_fonts = get_theme_mod( 'ot_google_fonts', array() ); + $ot_set_google_fonts = get_theme_mod( 'ot_set_google_fonts', array() ); + + if ( ! empty( $ot_set_google_fonts ) ) { + foreach( $ot_set_google_fonts as $id => $sets ) { + foreach( $sets as $value ) { + $family = isset( $value['family'] ) ? $value['family'] : ''; + if ( $family && isset( $ot_google_fonts[$family] ) ) { + $spaces = explode(' ', $ot_google_fonts[$family]['family'] ); + $font_stack = count( $spaces ) > 1 ? '"' . $ot_google_fonts[$family]['family'] . '"': $ot_google_fonts[$family]['family']; + $families[$family] = apply_filters( 'ot_google_font_stack', $font_stack, $family, $field_id ); + } + } + } + } + + return $families; +} +add_filter( 'ot_recognized_font_families', 'ot_google_font_stack', 1, 2 ); + /** * Recognized font families * @@ -2177,8 +2559,8 @@ function ot_map_old_option_types( $type = '' ) { if ( ! function_exists( 'ot_recognized_font_families' ) ) { function ot_recognized_font_families( $field_id = '' ) { - - return apply_filters( 'ot_recognized_font_families', array( + + $families = array( 'arial' => 'Arial', 'georgia' => 'Georgia', 'helvetica' => 'Helvetica', @@ -2187,7 +2569,9 @@ function ot_recognized_font_families( $field_id = '' ) { 'times' => '"Times New Roman", sans-serif', 'trebuchet' => 'Trebuchet', 'verdana' => 'Verdana' - ), $field_id ); + ); + + return apply_filters( 'ot_recognized_font_families', $families, $field_id ); } @@ -2222,7 +2606,7 @@ function ot_recognized_font_sizes( $field_id ) { $range[$k] = $v . $unit; } - return $range; + return apply_filters( 'ot_recognized_font_sizes', $range, $field_id ); } } @@ -2352,7 +2736,7 @@ function ot_recognized_letter_spacing( $field_id ) { $range[$k] = $v . $unit; } - return $range; + return apply_filters( 'ot_recognized_letter_spacing', $range, $field_id ); } } @@ -2377,7 +2761,7 @@ function ot_recognized_line_heights( $field_id ) { $range = ot_range( apply_filters( 'ot_line_height_low_range', 0, $field_id ), apply_filters( 'ot_line_height_high_range', 150, $field_id ), - apply_filters( 'ot_line_height_unit_type', 1, $field_id ) + apply_filters( 'ot_line_height_range_interval', 1, $field_id ) ); $unit = apply_filters( 'ot_line_height_unit_type', 'px', $field_id ); @@ -2386,7 +2770,7 @@ function ot_recognized_line_heights( $field_id ) { $range[$k] = $v . $unit; } - return $range; + return apply_filters( 'ot_recognized_line_heights', $range, $field_id ); } } @@ -2545,78 +2929,286 @@ function ot_recognized_background_position( $field_id = '' ) { } /** - * Measurement Units + * Border Styles + * + * Returns an array of all available style types. + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 2.5.0 + */ +if ( ! function_exists( 'ot_recognized_border_style_types' ) ) { + + function ot_recognized_border_style_types( $field_id = '' ) { + + return apply_filters( 'ot_recognized_border_style_types', array( + 'hidden' => 'Hidden', + 'dashed' => 'Dashed', + 'solid' => 'Solid', + 'double' => 'Double', + 'groove' => 'Groove', + 'ridge' => 'Ridge', + 'inset' => 'Inset', + 'outset' => 'Outset', + ), $field_id ); + + } + +} + +/** + * Border Units * * Returns an array of all available unit types. - * Renamed in version 2.0 to avoid name collisions. * * @uses apply_filters() * * @return array * * @access public - * @since 1.1.8 - * @updated 2.0 + * @since 2.5.0 */ -if ( ! function_exists( 'ot_measurement_unit_types' ) ) { - - function ot_measurement_unit_types( $field_id = '' ) { - - return apply_filters( 'ot_measurement_unit_types', array( +if ( ! function_exists( 'ot_recognized_border_unit_types' ) ) { + + function ot_recognized_border_unit_types( $field_id = '' ) { + + return apply_filters( 'ot_recognized_border_unit_types', array( 'px' => 'px', '%' => '%', 'em' => 'em', 'pt' => 'pt' ), $field_id ); - + } } /** - * Radio Images default array. + * Dimension Units * - * Returns an array of all available radio images. - * You can filter this function to change the images - * on a per option basis. + * Returns an array of all available unit types. * * @uses apply_filters() * * @return array * * @access public - * @since 2.0 + * @since 2.5.0 */ -if ( ! function_exists( 'ot_radio_images' ) ) { - - function ot_radio_images( $field_id = '' ) { - - return apply_filters( 'ot_radio_images', array( - array( - 'value' => 'left-sidebar', - 'label' => __( 'Left Sidebar', 'option-tree' ), - 'src' => OT_URL . 'assets/images/layout/left-sidebar.png' - ), - array( - 'value' => 'right-sidebar', - 'label' => __( 'Right Sidebar', 'option-tree' ), - 'src' => OT_URL . 'assets/images/layout/right-sidebar.png' - ), - array( - 'value' => 'full-width', - 'label' => __( 'Full Width (no sidebar)', 'option-tree' ), - 'src' => OT_URL . 'assets/images/layout/full-width.png' - ), - array( - 'value' => 'dual-sidebar', - 'label' => __( 'Dual Sidebar', 'option-tree' ), - 'src' => OT_URL . 'assets/images/layout/dual-sidebar.png' - ), - array( - 'value' => 'left-dual-sidebar', - 'label' => __( 'Left Dual Sidebar', 'option-tree' ), - 'src' => OT_URL . 'assets/images/layout/left-dual-sidebar.png' - ), +if ( ! function_exists( 'ot_recognized_dimension_unit_types' ) ) { + + function ot_recognized_dimension_unit_types( $field_id = '' ) { + + return apply_filters( 'ot_recognized_dimension_unit_types', array( + 'px' => 'px', + '%' => '%', + 'em' => 'em', + 'pt' => 'pt' + ), $field_id ); + + } + +} + +/** + * Spacing Units + * + * Returns an array of all available unit types. + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 2.5.0 + */ +if ( ! function_exists( 'ot_recognized_spacing_unit_types' ) ) { + + function ot_recognized_spacing_unit_types( $field_id = '' ) { + + return apply_filters( 'ot_recognized_spacing_unit_types', array( + 'px' => 'px', + '%' => '%', + 'em' => 'em', + 'pt' => 'pt' + ), $field_id ); + + } + +} + +/** + * Recognized Google font families + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 2.5.0 + */ +if ( ! function_exists( 'ot_recognized_google_font_families' ) ) { + + function ot_recognized_google_font_families( $field_id ) { + + $families = array(); + $ot_google_fonts = get_theme_mod( 'ot_google_fonts', array() ); + + // Forces an array rebuild when we sitch themes + if ( empty( $ot_google_fonts ) ) { + $ot_google_fonts = ot_fetch_google_fonts( true, true ); + } + + foreach( (array) $ot_google_fonts as $key => $item ) { + + if ( isset( $item['family'] ) ) { + + $families[ $key ] = $item['family']; + + } + + } + + return apply_filters( 'ot_recognized_google_font_families', $families, $field_id ); + + } + +} + +/** + * Recognized Google font variants + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 2.5.0 + */ +if ( ! function_exists( 'ot_recognized_google_font_variants' ) ) { + + function ot_recognized_google_font_variants( $field_id, $family ) { + + $variants = array(); + $ot_google_fonts = get_theme_mod( 'ot_google_fonts', array() ); + + if ( isset( $ot_google_fonts[ $family ]['variants'] ) ) { + + $variants = $ot_google_fonts[ $family ]['variants']; + + } + + return apply_filters( 'ot_recognized_google_font_variants', $variants, $field_id, $family ); + + } + +} + +/** + * Recognized Google font subsets + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 2.5.0 + */ +if ( ! function_exists( 'ot_recognized_google_font_subsets' ) ) { + + function ot_recognized_google_font_subsets( $field_id, $family ) { + + $subsets = array(); + $ot_google_fonts = get_theme_mod( 'ot_google_fonts', array() ); + + if ( isset( $ot_google_fonts[ $family ]['subsets'] ) ) { + + $subsets = $ot_google_fonts[ $family ]['subsets']; + + } + + return apply_filters( 'ot_recognized_google_font_subsets', $subsets, $field_id, $family ); + + } + +} + +/** + * Measurement Units + * + * Returns an array of all available unit types. + * Renamed in version 2.0 to avoid name collisions. + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 1.1.8 + * @updated 2.0 + */ +if ( ! function_exists( 'ot_measurement_unit_types' ) ) { + + function ot_measurement_unit_types( $field_id = '' ) { + + return apply_filters( 'ot_measurement_unit_types', array( + 'px' => 'px', + '%' => '%', + 'em' => 'em', + 'pt' => 'pt' + ), $field_id ); + + } + +} + +/** + * Radio Images default array. + * + * Returns an array of all available radio images. + * You can filter this function to change the images + * on a per option basis. + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 2.0 + */ +if ( ! function_exists( 'ot_radio_images' ) ) { + + function ot_radio_images( $field_id = '' ) { + + return apply_filters( 'ot_radio_images', array( + array( + 'value' => 'left-sidebar', + 'label' => __( 'Left Sidebar', 'option-tree' ), + 'src' => OT_URL . 'assets/images/layout/left-sidebar.png' + ), + array( + 'value' => 'right-sidebar', + 'label' => __( 'Right Sidebar', 'option-tree' ), + 'src' => OT_URL . 'assets/images/layout/right-sidebar.png' + ), + array( + 'value' => 'full-width', + 'label' => __( 'Full Width (no sidebar)', 'option-tree' ), + 'src' => OT_URL . 'assets/images/layout/full-width.png' + ), + array( + 'value' => 'dual-sidebar', + 'label' => __( 'Dual Sidebar', 'option-tree' ), + 'src' => OT_URL . 'assets/images/layout/dual-sidebar.png' + ), + array( + 'value' => 'left-dual-sidebar', + 'label' => __( 'Left Dual Sidebar', 'option-tree' ), + 'src' => OT_URL . 'assets/images/layout/left-dual-sidebar.png' + ), array( 'value' => 'right-dual-sidebar', 'label' => __( 'Right Dual Sidebar', 'option-tree' ), @@ -2765,6 +3357,53 @@ function ot_slider_settings( $id ) { } +/** + * Default Social Links Settings array. + * + * Returns an array of the default social links settings. + * You can filter this function to change the settings + * on a per option basis. + * + * @uses apply_filters() + * + * @return array + * + * @access public + * @since 2.4.0 + */ +if ( ! function_exists( 'ot_social_links_settings' ) ) { + + function ot_social_links_settings( $id ) { + + $settings = apply_filters( 'ot_social_links_settings', array( + array( + 'id' => 'name', + 'label' => __( 'Name', 'option-tree' ), + 'desc' => __( 'Enter the name of the social website.', 'option-tree' ), + 'std' => '', + 'type' => 'text', + 'class' => 'option-tree-setting-title' + ), + array( + 'id' => 'title', + 'label' => 'Title', + 'desc' => __( 'Enter the text shown in the title attribute of the link.', 'option-tree' ), + 'type' => 'text' + ), + array( + 'id' => 'href', + 'label' => 'Link', + 'desc' => sprintf( __( 'Enter a link to the profile or page on the social website. Remember to add the %s part to the front of the link.', 'option-tree' ), 'http://' ), + 'type' => 'text', + ) + ), $id ); + + return $settings; + + } + +} + /** * Inserts CSS with field_id markers. * @@ -2790,19 +3429,32 @@ function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = fa /* path to the dynamic.css file */ $filepath = get_stylesheet_directory() . '/dynamic.css'; + if ( is_multisite() ) { + $multisite_filepath = get_stylesheet_directory() . '/dynamic-' . get_current_blog_id() . '.css'; + if ( file_exists( $multisite_filepath ) ) { + $filepath = $multisite_filepath; + } + } /* allow filter on path */ $filepath = apply_filters( 'css_option_file_path', $filepath, $field_id ); - + /* grab a copy of the paths array */ $ot_css_file_paths = get_option( 'ot_css_file_paths', array() ); - + if ( is_multisite() ) { + $ot_css_file_paths = get_blog_option( get_current_blog_id(), 'ot_css_file_paths', $ot_css_file_paths ); + } + /* set the path for this field */ $ot_css_file_paths[$field_id] = $filepath; - + /* update the paths */ - update_option( 'ot_css_file_paths', $ot_css_file_paths ); - + if ( is_multisite() ) { + update_blog_option( get_current_blog_id(), 'ot_css_file_paths', $ot_css_file_paths ); + } else { + update_option( 'ot_css_file_paths', $ot_css_file_paths ); + } + /* insert CSS into file */ if ( file_exists( $filepath ) ) { @@ -2819,6 +3471,7 @@ function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = fa $value = ''; $option_id = str_replace( array( '{{', '}}' ), '', $option ); $option_array = explode( '|', $option_id ); + $option_type = ot_get_option_type_by_id( $option_id ); /* get the array value */ if ( $meta ) { @@ -2828,7 +3481,7 @@ function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = fa } else { - $options = get_option( 'option_tree' ); + $options = get_option( ot_options_id() ); if ( isset( $options[$option_array[0]] ) ) { @@ -2848,6 +3501,66 @@ function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = fa /* set $value with measurement properties */ $value = $value[0].$value[1]; + /* Border */ + } else if ( ot_array_keys_exists( $value, array( 'width', 'unit', 'style', 'color' ) ) && ! ot_array_keys_exists( $value, array( 'top', 'right', 'bottom', 'left', 'height', 'inset', 'offset-x', 'offset-y', 'blur-radius', 'spread-radius' ) ) ) { + $border = array(); + + $unit = ! empty( $value['unit'] ) ? $value['unit'] : 'px'; + + if ( ! empty( $value['width'] ) ) + $border[] = $value['width'].$unit; + + if ( ! empty( $value['style'] ) ) + $border[] = $value['style']; + + if ( ! empty( $value['color'] ) ) + $border[] = $value['color']; + + /* set $value with border properties or empty string */ + $value = ! empty( $border ) ? implode( ' ', $border ) : ''; + + /* Box Shadow */ + } else if ( ot_array_keys_exists( $value, array( 'inset', 'offset-x', 'offset-y', 'blur-radius', 'spread-radius', 'color' ) ) && ! ot_array_keys_exists( $value, array( 'width', 'height', 'unit', 'style', 'top', 'right', 'bottom', 'left' ) ) ) { + + /* set $value with box-shadow properties or empty string */ + $value = ! empty( $value ) ? implode( ' ', $value ) : ''; + + /* Dimension */ + } else if ( ot_array_keys_exists( $value, array( 'width', 'height', 'unit' ) ) && ! ot_array_keys_exists( $value, array( 'style', 'color', 'top', 'right', 'bottom', 'left' ) ) ) { + $dimension = array(); + + $unit = ! empty( $value['unit'] ) ? $value['unit'] : 'px'; + + if ( ! empty( $value['width'] ) ) + $dimension[] = $value['width'].$unit; + + if ( ! empty( $value['height'] ) ) + $dimension[] = $value['height'].$unit; + + /* set $value with dimension properties or empty string */ + $value = ! empty( $dimension ) ? implode( ' ', $dimension ) : ''; + + /* Spacing */ + } else if ( ot_array_keys_exists( $value, array( 'top', 'right', 'bottom', 'left', 'unit' ) ) && ! ot_array_keys_exists( $value, array( 'width', 'height', 'style', 'color' ) ) ) { + $spacing = array(); + + $unit = ! empty( $value['unit'] ) ? $value['unit'] : 'px'; + + if ( ! empty( $value['top'] ) ) + $spacing[] = $value['top'].$unit; + + if ( ! empty( $value['right'] ) ) + $spacing[] = $value['right'].$unit; + + if ( ! empty( $value['bottom'] ) ) + $spacing[] = $value['bottom'].$unit; + + if ( ! empty( $value['left'] ) ) + $spacing[] = $value['left'].$unit; + + /* set $value with spacing properties or empty string */ + $value = ! empty( $spacing ) ? implode( ' ', $spacing ) : ''; + /* typography */ } else if ( ot_array_keys_exists( $value, array( 'font-color', 'font-family', 'font-size', 'font-style', 'font-variant', 'font-weight', 'letter-spacing', 'line-height', 'text-decoration', 'text-transform' ) ) ) { $font = array(); @@ -2897,9 +3610,26 @@ function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = fa if ( ! empty( $value['background-color'] ) ) $bg[] = $value['background-color']; - if ( ! empty( $value['background-image'] ) ) + if ( ! empty( $value['background-image'] ) ) { + + /* If an attachment ID is stored here fetch its URL and replace the value */ + if ( wp_attachment_is_image( $value['background-image'] ) ) { + + $attachment_data = wp_get_attachment_image_src( $value['background-image'], 'original' ); + + /* check for attachment data */ + if ( $attachment_data ) { + + $value['background-image'] = $attachment_data[0]; + + } + + } + $bg[] = 'url("' . $value['background-image'] . '")'; + } + if ( ! empty( $value['background-repeat'] ) ) $bg[] = $value['background-repeat']; @@ -2925,27 +3655,48 @@ function ot_insert_css_with_markers( $field_id = '', $insertion = '', $meta = fa } } else { - + $value = $value[$option_array[1]]; } } + /* If an attachment ID is stored here fetch its URL and replace the value */ + if ( $option_type == 'upload' && wp_attachment_is_image( $value ) ) { + + $attachment_data = wp_get_attachment_image_src( $value, 'original' ); + + /* check for attachment data */ + if ( $attachment_data ) { + + $value = $attachment_data[0]; + + } + + } + // Filter the CSS - $value = apply_filters( 'ot_insert_css_with_markers_value', $value, $option_id ); + $value = apply_filters( 'ot_insert_css_with_markers_value', $value, $option_id ); /* insert CSS, even if the value is empty */ - $insertion = stripslashes( str_replace( $option, $value, $insertion ) ); + $insertion = stripslashes( str_replace( $option, $value, $insertion ) ); } - + + // Can't write to the file so we error out + if ( ! is_writable( $filepath ) ) { + add_settings_error( 'option-tree', 'dynamic_css', sprintf( __( 'Unable to write to file %s.', 'option-tree' ), '' . $filepath . '' ), 'error' ); + return false; + } + /* create array from the lines of code */ $markerdata = explode( "\n", implode( '', file( $filepath ) ) ); /* can't write to the file return false */ - if ( ! $f = ot_file_open( $filepath, 'w' ) ) + if ( ! $f = ot_file_open( $filepath, 'w' ) ) { return false; + } $searching = true; $foundit = false; @@ -3150,7 +3901,7 @@ function ot_loop_through_choices( $name, $choices = array() ) { $content = ''; - foreach( $choices as $key => $choice ) + foreach( (array) $choices as $key => $choice ) $content.= '' . ( isset( $setting['choices'] ) ? ot_loop_through_choices( $name . '[' . $key . ']', $setting['choices'] ) : '' ) . '
- ' . __( 'Add Choice', 'option-tree' ) . ' + ' . __( 'Add Choice', 'option-tree' ) . '' . ( isset( $setting['settings'] ) ? ot_loop_through_sub_settings( $name . '[' . $key . '][settings]', $setting['settings'] ) : '' ) . '
- ' . __( 'Add Setting', 'option-tree' ) . ' + ' . __( 'Add Setting', 'option-tree' ) . '