diff --git a/modules/addsharethis/addsharethis.php b/modules/addsharethis/addsharethis.php new file mode 100644 index 000000000..cd0637d70 --- /dev/null +++ b/modules/addsharethis/addsharethis.php @@ -0,0 +1,188 @@ +name = 'addsharethis'; + $this->author = 'Custom'; + $this->tab = 'front_office_features'; + $this->need_instance = 0; + $this->_directory = dirname(__FILE__); + parent::__construct(); + $this->displayName = $this->l('Add Sharethis'); + $this->description = $this->l('Display social count button on the home page'); +} + +public function install() + { + Configuration::updateValue('CONF_ROW', 'ea22d519-9f98-4018-99a9-5b5f1b100fa8'); + Configuration::updateValue('ADDTHISSHARE_TWITTER',1); + Configuration::updateValue('ADDTHISSHARE_GOOGLE',1); + Configuration::updateValue('ADDTHISSHARE_PINTEREST',1); + Configuration::updateValue('ADDTHISSHARE_FACEBOOK',1); + if (!parent::install() OR + + !$this->registerHook('Extraright') OR + !$this->registerHook('header')) + return false; + return true; +} + +public function uninstall() + { + if (!parent::uninstall() OR + !Configuration::deleteByName('CONF_ROW') OR + !Configuration::deleteByName('ADDTHISSHARE_TWITTER') OR + !Configuration::deleteByName('ADDTHISSHARE_GOOGLE') OR + !Configuration::deleteByName('ADDTHISSHARE_PINTEREST') OR + !Configuration::deleteByName('ADDTHISSHARE_FACEBOOK') OR + !$this->unregisterHook('Extraright') OR + !$this->unregisterHook('header')) + return false; + else return true; +} + +public function getContent() + { + + $this->_html .= '

'.$this->displayName.'

'; + if (isset($_POST['submitCog'])) $this->updateCog(); + + if (Tools::isSubmit('submitCog')) + { + $conf_row = Tools::getValue('conf_row'); + Configuration::updateValue('CONF_ROW', $conf_row); + + } + $this->_html .= ' +
+ '.$this->l('Configuration').' +
+
+ '.$this->l('(Key in your account statistic http://sharethis.com)').' +


+ +
+ +


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

+ +
+
+
'; + + return $this->_html; + } + +public function updateCog() + { + Configuration::updateValue('ADDTHISSHARE_TWITTER', (isset($_POST['Twitter']) ? 1 : 0)); + Configuration::updateValue('ADDTHISSHARE_GOOGLE', (isset($_POST['Google']) ? 1 : 0)); + Configuration::updateValue('ADDTHISSHARE_PINTEREST', (isset($_POST['Pinterest']) ? 1 : 0)); + Configuration::updateValue('ADDTHISSHARE_FACEBOOK', (isset($_POST['Facebook']) ? 1 : 0)); + + } + + +function hookDisplayHeader($params) + { + global $smarty, $cookie; + global $link; + $product = new Product((int)Tools::getValue('id_product'), false, (int)$cookie->id_lang); + $productLink = $link->getProductLink($product); + $images = $product->getImages((int)$cookie->id_lang); + foreach ($images AS $k => $image) + if ($image['cover']) + { + $cover['id_image'] = (int)$product->id.'-'.(int)$image['id_image']; + $cover['legend'] = $image['legend']; + } + if (!isset($cover)) + $cover = array('id_image' => Language::getIsoById((int)$cookie->id_lang).'-default', 'legend' => 'No picture'); + $this->context->smarty->assign(array( + 'cover' => $cover, + 'product' => $product, + 'productLink' => $productLink, + 'this_path' => $this->_path + )); + return $this->display(__FILE__, 'addsharethis_header.tpl'); + } + +public function hookExtraRight($params) + { + global $smarty, $cookie, $link; + + $conf_row = Configuration::get('CONF_ROW'); + $this->context->smarty->assign(array( + 'conf_row' => $conf_row, + )); + + if (Configuration::get('ADDTHISSHARE_TWITTER') == 1) + $data['twitter'] = ''; + if (Configuration::get('ADDTHISSHARE_GOOGLE') == 1) + { + $data['google'] = ''; + } + if (Configuration::get('ADDTHISSHARE_PINTEREST') == 1) + $data['pinterest'] = ''; + + if (Configuration::get('ADDTHISSHARE_FACEBOOK') == 1) + $data['facebook'] = ''; + + + $smarty->assign('addsharethis_data', $data); + + + return $this->display(__FILE__, 'addsharethis.tpl'); + } + + function hookLeftColumn($params) + { + return $this->hookExtraRight($params); + } + + function hookFooter($params) + { + return $this->hookExtraRight($params); + } + + function hookHome($params) + { + return $this->hookExtraRight($params); + } + + function hookExtraleft($params) + { + return $this->hookExtraRight($params); + } + function hookProductActions($params) + { + return $this->hookExtraRight($params); + } + + function hookProductFooter($params) + { + return $this->hookExtraRight($params); + } + +} +?> \ No newline at end of file diff --git a/modules/addsharethis/addsharethis.tpl b/modules/addsharethis/addsharethis.tpl new file mode 100644 index 000000000..27301435a --- /dev/null +++ b/modules/addsharethis/addsharethis.tpl @@ -0,0 +1,25 @@ + +{if isset($addsharethis_data)} +
+
+ + + {literal} + + {/literal} + {if isset($addsharethis_data.twitter)} + {$addsharethis_data.twitter} + {/if} + {if isset($addsharethis_data.google)} + {$addsharethis_data.google} + {/if} + {if isset($addsharethis_data.pinterest)} + {$addsharethis_data.pinterest} + {/if} + {if isset($addsharethis_data.facebook)} + {$addsharethis_data.facebook} + {/if} +
+
+{/if} + diff --git a/modules/addsharethis/addsharethis_header.tpl b/modules/addsharethis/addsharethis_header.tpl new file mode 100644 index 000000000..77523f1b7 --- /dev/null +++ b/modules/addsharethis/addsharethis_header.tpl @@ -0,0 +1,2 @@ + + diff --git a/modules/addsharethis/addsharethis_top.tpl b/modules/addsharethis/addsharethis_top.tpl new file mode 100644 index 000000000..33e879c41 --- /dev/null +++ b/modules/addsharethis/addsharethis_top.tpl @@ -0,0 +1,36 @@ + +{if isset($addsharethis_data)} +
+
+ {if isset($addsharethis_data.twitter)} + {$addsharethis_data.twitter} + {/if} + {if isset($addsharethis_data.google)} + {$addsharethis_data.google} + {/if} + {if isset($addsharethis_data.pinterest)} + {$addsharethis_data.pinterest} + {/if} + {if isset($addsharethis_data.facebook)} + {$addsharethis_data.facebook} + {/if} +
+
+{/if} + + + + diff --git a/modules/addsharethis/config.xml b/modules/addsharethis/config.xml new file mode 100644 index 000000000..5e014a873 --- /dev/null +++ b/modules/addsharethis/config.xml @@ -0,0 +1,12 @@ + + + addsharethis + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/addsharethis/css/addsharethis.css b/modules/addsharethis/css/addsharethis.css new file mode 100644 index 000000000..ba2363d9e --- /dev/null +++ b/modules/addsharethis/css/addsharethis.css @@ -0,0 +1,6 @@ +.topaddsharethis{ position:absolute; right:-170px; top:160px; width:150px;} +.stButton .stFb, .stButton .stTwbutton, .stButton .stMainServices, .stButton .stButton_gradient {height:22px !important;} +.stButton .stButton_gradient:hover {background: -moz-linear-gradient(center top , #D5D5D5 0px, #EFEFEF 48%, #FFFFFF 94%) repeat scroll 0 0 transparent!important;} +.stButton .chicklets:hover{ opacity:1!important;} +.stButton{ margin-bottom:15px;} +.addsharethis .stButton:hover{ opacity:0.6;} \ No newline at end of file diff --git a/modules/addsharethis/de.php b/modules/addsharethis/de.php new file mode 100644 index 000000000..e69de29bb diff --git a/modules/addsharethis/en.php b/modules/addsharethis/en.php new file mode 100644 index 000000000..9839c82f9 --- /dev/null +++ b/modules/addsharethis/en.php @@ -0,0 +1,4 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class Blockquickview extends Module +{ + public function __construct() + { + $this->name = 'blockquickview'; + $this->tab = 'front_office_features'; + $this->version = '1.0'; + parent::__construct(); + $this->displayName = $this->l('Quick view'); + $this->description = $this->l('Add Quick information about product.'); + } + + public function install() + { + Configuration::updateValue('PS_QUICK_VIEW',1); + if (!parent::install()) + return false; + return true; + } + + public function uninstall() + { + if (!parent::uninstall() OR + !Configuration::deleteByName('PS_QUICK_VIEW')) + return false; + else return true; + } + + + public function getContent() + { + $html = ''; + // If we try to update the settings + if (Tools::isSubmit('submitModule')) + { + Configuration::updateValue('PS_QUICK_VIEW', Tools::getValue('PS_QUICK_VIEW')); + $html .= $this->displayConfirmation($this->l('Configuration updated')); + } + $html .= $this->renderForm(); + return $html; + } + + public function renderForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'input' => array( + array( + 'type' => 'switch', + 'label' => $this->l('Display Quick view'), + 'name' => 'PS_QUICK_VIEW', + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ), + ), + 'submit' => array( + 'title' => $this->l('Save'), + 'class' => 'btn btn-primary') + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitModule'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'PS_QUICK_VIEW' => Tools::getValue('PS_QUICK_VIEW', Configuration::get('PS_QUICK_VIEW')), + ); + + } +} \ No newline at end of file diff --git a/modules/blockquickview/config.xml b/modules/blockquickview/config.xml new file mode 100644 index 000000000..5d75d80b9 --- /dev/null +++ b/modules/blockquickview/config.xml @@ -0,0 +1,12 @@ + + + blockquickview + + + + + + 1 + 1 + + \ No newline at end of file diff --git a/modules/blockquickview/index.php b/modules/blockquickview/index.php new file mode 100644 index 000000000..07830d90c --- /dev/null +++ b/modules/blockquickview/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../'); +exit; \ No newline at end of file diff --git a/modules/blockquickview/logo.gif b/modules/blockquickview/logo.gif new file mode 100644 index 000000000..bc0ae8b2c Binary files /dev/null and b/modules/blockquickview/logo.gif differ diff --git a/modules/blockquickview/logo.png b/modules/blockquickview/logo.png new file mode 100644 index 000000000..3702fd527 Binary files /dev/null and b/modules/blockquickview/logo.png differ diff --git a/themes/default-bootstrap/js/modules/index.php b/modules/blockquickview/translations/index.php similarity index 97% rename from themes/default-bootstrap/js/modules/index.php rename to modules/blockquickview/translations/index.php index 52b4e5c37..3f6561f72 100644 --- a/themes/default-bootstrap/js/modules/index.php +++ b/modules/blockquickview/translations/index.php @@ -23,13 +23,13 @@ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ - + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); - + header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); - + header("Location: ../"); -exit; +exit; \ No newline at end of file diff --git a/themes/default-bootstrap/address.tpl b/themes/default-bootstrap/address.tpl index 5de930f28..dde2a2244 100644 --- a/themes/default-bootstrap/address.tpl +++ b/themes/default-bootstrap/address.tpl @@ -217,13 +217,14 @@ $(function(){ldelim} - {if isset($one_phone_at_least) && $one_phone_at_least} -

{l s='You must register at least one phone number.'}

- {/if} -
+
+ {if isset($one_phone_at_least) && $one_phone_at_least} +

{l s='You must register at least one phone number.'}

+ {/if} +
diff --git a/themes/default-bootstrap/addresses.tpl b/themes/default-bootstrap/addresses.tpl index 1a70345b9..c74781316 100644 --- a/themes/default-bootstrap/addresses.tpl +++ b/themes/default-bootstrap/addresses.tpl @@ -124,7 +124,7 @@ {/if}
{else} -
id_image}style="background:url({$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html'}) 0 0 no-repeat; min-height:{$categorySize.height}px;" {/if}> - - - +
id_image}style="background:url({$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html'}) 0 bottom no-repeat; background-size:contain; min-height:{$categorySize.height}px;" {/if}> {if $category->description}

@@ -96,13 +93,13 @@ -

{$subcategory.name|escape:'htmlall':'UTF-8'}
+
{$subcategory.name|truncate:25:'...'|escape:'htmlall':'UTF-8'|truncate:350}
{if $subcategory.description}
{$subcategory.description}
{/if} diff --git a/themes/default-bootstrap/css/bootstrap_lib/bootstrap.css b/themes/default-bootstrap/css/bootstrap_lib/bootstrap.css index d516a27e5..11f03b35b 100644 --- a/themes/default-bootstrap/css/bootstrap_lib/bootstrap.css +++ b/themes/default-bootstrap/css/bootstrap_lib/bootstrap.css @@ -406,13 +406,13 @@ p { .lead { margin-bottom: 18px; - font-size: 14.95px; + font-size: 13px; font-weight: 200; line-height: 1.4; } @media (min-width: 768px) { .lead { - font-size: 19.5px; + font-size: 13px; } } @@ -488,19 +488,19 @@ h6 { } h1, .h1 { - font-size: 33px; + font-size: 26px; } h2, .h2 { - font-size: 27px; + font-size: 26px; } h3, .h3 { - font-size: 23px; + font-size: 13px; } h4, .h4 { - font-size: 17px; + font-size: 13px; } h5, .h5 { @@ -508,15 +508,15 @@ h5, .h5 { } h6, .h6 { - font-size: 12px; + font-size: 0px; } h1 small, .h1 small { - font-size: 23px; + font-size: 13px; } h2 small, .h2 small { - font-size: 17px; + font-size: 13px; } h3 small, .h3 small, @@ -610,7 +610,7 @@ blockquote { border-left: 5px solid #eeeeee; } blockquote p { - font-size: 16.25px; + font-size: 13px; font-weight: 300; line-height: 1.25; } @@ -1687,7 +1687,7 @@ legend { width: 100%; padding: 0; margin-bottom: 18px; - font-size: 19.5px; + font-size: 13px; line-height: inherit; color: #333333; border: 0; @@ -1766,16 +1766,16 @@ input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-i background-color: white; border: 1px solid #d6d4d4; border-radius: 0px; - -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-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); -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); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 8px rgba(102, 175, 233, 0); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 8px rgba(102, 175, 233, 0); } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { cursor: not-allowed; @@ -1902,13 +1902,13 @@ textarea.input-lg, .input-group-lg > textarea.form-control, } .has-warning .form-control { border-color: white; - -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-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); } .has-warning .form-control:focus { border-color: #e6e6e6; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px white; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px white; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 6px white; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 6px white; } .has-warning .input-group-addon { color: white; @@ -1922,13 +1922,13 @@ textarea.input-lg, .input-group-lg > textarea.form-control, } .has-error .form-control { border-color: white; - -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-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); } .has-error .form-control:focus { border-color: #e6e6e6; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px white; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px white; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 6px white; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 6px white; } .has-error .input-group-addon { color: white; @@ -1942,13 +1942,13 @@ textarea.input-lg, .input-group-lg > textarea.form-control, } .has-success .form-control { border-color: white; - -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-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); } .has-success .form-control:focus { border-color: #e6e6e6; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px white; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px white; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 6px white; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0), 0 0 6px white; } .has-success .input-group-addon { color: white; @@ -2052,14 +2052,14 @@ textarea.input-lg, .input-group-lg > textarea.form-control, .btn:active, .btn.active { outline: 0; background-image: none; - -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); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); + opacity: 0; + filter: alpha(opacity=0); -webkit-box-shadow: none; box-shadow: none; } @@ -2170,18 +2170,18 @@ textarea.input-lg, .input-group-lg > textarea.form-control, .btn-success { color: white; - background-color: #5cb85c; - border-color: #4cae4c; + background-color: #46a74e; + border-color: #3e9546; } .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active { color: white; - background-color: #47a447; - border-color: #398439; + background-color: #3a8a41; + border-color: #2c6a31; } .open .btn-success.dropdown-toggle { color: white; - background-color: #47a447; - border-color: #398439; + background-color: #3a8a41; + border-color: #2c6a31; } .btn-success:active, .btn-success.active { background-image: none; @@ -2190,8 +2190,8 @@ textarea.input-lg, .input-group-lg > textarea.form-control, background-image: none; } .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; + background-color: #46a74e; + border-color: #3e9546; } .btn-info { @@ -3159,8 +3159,8 @@ input[type="button"].btn-block { border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0); background-clip: padding-box; } .dropdown-menu.pull-right { @@ -3376,8 +3376,8 @@ input[type="button"].btn-block { } .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); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0); } .btn .caret { @@ -3771,7 +3771,7 @@ input[type="button"].btn-block { padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0); -webkit-overflow-scrolling: touch; } .navbar-collapse:before, .navbar-collapse:after { @@ -3957,8 +3957,8 @@ input[type="button"].btn-block { padding: 10px 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); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0), 0 1px 0 rgba(255, 255, 255, 0); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0), 0 1px 0 rgba(255, 255, 255, 0); margin-top: 9px; margin-bottom: 9px; } @@ -4340,14 +4340,14 @@ input[type="button"].btn-block { .label { display: inline; padding: .2em .6em .3em; - font-size: 75%; + font-size: 100%; font-weight: bold; line-height: 1; color: white; text-align: center; white-space: nowrap; vertical-align: baseline; - border-radius: .25em; + border-radius: 0; } .label[href]:hover, .label[href]:focus { color: white; @@ -4373,10 +4373,11 @@ input[type="button"].btn-block { } .label-success { - background-color: #5cb85c; + background-color: #55c65e; + border: 1px solid #36943e; } .label-success[href]:hover, .label-success[href]:focus { - background-color: #449d44; + background-color: #3aae43; } .label-info { @@ -4387,10 +4388,11 @@ input[type="button"].btn-block { } .label-warning { - background-color: #f0ad4e; + background-color: #fe9126; + border: 1px solid #e4752b; } .label-warning[href]:hover, .label-warning[href]:focus { - background-color: #ec971f; + background-color: #f07701; } .label-danger { @@ -4442,9 +4444,9 @@ a.list-group-item.active > .badge, .jumbotron { padding: 30px; margin-bottom: 30px; - font-size: 19.5px; + font-size: 13px; font-weight: 200; - line-height: 2.14286; + line-height: 1.42857; color: inherit; background-color: #eeeeee; } @@ -4460,15 +4462,15 @@ a.list-group-item.active > .badge, } @media screen and (min-width: 768px) { .jumbotron { - padding-top: 48px; - padding-bottom: 48px; + padding-top: 30px; + padding-bottom: 30px; } .container .jumbotron { padding-left: 60px; padding-right: 60px; } .jumbotron h1 { - font-size: 58.5px; + font-size: 52px; } } @@ -4621,8 +4623,8 @@ a.thumbnail:focus { margin-bottom: 18px; background-color: whitesmoke; border-radius: 0px; - -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); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0); } .progress-bar { @@ -4633,17 +4635,17 @@ a.thumbnail:focus { color: white; 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-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0); -webkit-transition: width 0.6s ease; transition: width 0.6s ease; } .progress-striped .progress-bar { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - 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: -moz-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-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0)), color-stop(0.75, rgba(255, 255, 255, 0)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); background-size: 40px 40px; } @@ -4656,43 +4658,43 @@ a.thumbnail:focus { } .progress-bar-success { - background-color: #5cb85c; + background-color: #46a74e; } .progress-striped .progress-bar-success { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - 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: -moz-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-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0)), color-stop(0.75, rgba(255, 255, 255, 0)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - 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: -moz-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-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0)), color-stop(0.75, rgba(255, 255, 255, 0)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - 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: -moz-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-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0)), color-stop(0.75, rgba(255, 255, 255, 0)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - 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: -moz-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-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0)), color-stop(0.75, rgba(255, 255, 255, 0)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, transparent 75%, transparent); } .media, @@ -4797,8 +4799,8 @@ a.list-group-item:hover, a.list-group-item:focus { background-color: white; border: 1px solid transparent; border-radius: 0px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0); } .panel-body { @@ -4849,7 +4851,7 @@ a.list-group-item:hover, a.list-group-item:focus { .panel-title { margin-top: 0; margin-bottom: 0; - font-size: 15px; + font-size: 13px; } .panel-title > a { color: inherit; @@ -4981,12 +4983,12 @@ a.list-group-item:hover, a.list-group-item:focus { background-color: whitesmoke; border: 1px solid #e3e3e3; border-radius: 0px; - -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); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0); } .well blockquote { border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); + border-color: rgba(0, 0, 0, 0); } .well-lg { @@ -5001,20 +5003,20 @@ a.list-group-item:hover, a.list-group-item:focus { .close { float: right; - font-size: 19.5px; + font-size: 13px; font-weight: bold; line-height: 1; color: black; text-shadow: 0 1px 0 white; - opacity: 0.2; - filter: alpha(opacity=20); + opacity: 0; + filter: alpha(opacity=0); } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); + opacity: 0; + filter: alpha(opacity=0); } button.close { @@ -5077,8 +5079,8 @@ body.modal-open { border: 1px solid #999999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0); background-clip: padding-box; outline: none; } @@ -5097,8 +5099,8 @@ body.modal-open { filter: alpha(opacity=0); } .modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); + opacity: 0; + filter: alpha(opacity=0); } .modal-header { @@ -5157,8 +5159,8 @@ body.modal-open { } .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); + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0); } } .tooltip { @@ -5172,8 +5174,8 @@ body.modal-open { filter: alpha(opacity=0); } .tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); + opacity: 0; + filter: alpha(opacity=0); } .tooltip.top { margin-top: -3px; @@ -5277,8 +5279,8 @@ body.modal-open { 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); + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0); white-space: normal; } .popover.top { @@ -5455,28 +5457,28 @@ body.modal-open { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-control.left { - background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); - 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: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, 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-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0) 0%), color-stop(rgba(0, 0, 0, 0) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=1); } .carousel-control.right { left: auto; right: 0; - background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); - 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: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, 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-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0) 0%), color-stop(rgba(0, 0, 0, 0) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=1); } .carousel-control:hover, .carousel-control:focus { color: white; text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); + opacity: 0; + filter: alpha(opacity=0); } .carousel-control .icon-prev, .carousel-control .icon-next, diff --git a/themes/default-bootstrap/css/category.css b/themes/default-bootstrap/css/category.css index 727f7ae9c..f3071a0d2 100644 --- a/themes/default-bootstrap/css/category.css +++ b/themes/default-bootstrap/css/category.css @@ -9,14 +9,25 @@ margin-bottom: 26px; } .content_scene_cat .content_scene_cat_bg { - padding: 18px 0 10px 42px; - background-color: #403d3b; + padding: 18px 10px 10px 42px; + background-color: #464646 !important; +} +@media (max-width: 1199px) { + .content_scene_cat .content_scene_cat_bg { + padding: 10px 10px 10px 15px; + } } .content_scene_cat h1.category-name { font: 600 42px/51px "Open Sans", sans-serif; color: #fff; margin-bottom: 12px; } +@media (max-width: 1199px) { + .content_scene_cat h1.category-name { + font-size: 25px; + line-height: 30px; + } +} .content_scene_cat p { margin-bottom: 0; } @@ -44,7 +55,7 @@ ************************************************************************************************ */ #subcategories { border-top: 1px solid #d6d4d4; - padding: 15px 0 13px 0; + padding: 15px 0 0px 0; } #subcategories p.subcategory-heading { font-weight: bold; @@ -59,6 +70,8 @@ width: 128px; margin-left: 20px; text-align: center; + margin-bottom: 13px; + height: 202px; } #subcategories ul li .subcategory-image { padding-bottom: 8px; diff --git a/themes/default-bootstrap/css/contact-form.css b/themes/default-bootstrap/css/contact-form.css index b0c02aa1f..5a948bd1c 100644 --- a/themes/default-bootstrap/css/contact-form.css +++ b/themes/default-bootstrap/css/contact-form.css @@ -20,6 +20,7 @@ -webkit-box-shadow: rgba(0, 0, 0, 0) 0px 5px 13px; -moz-box-shadow: rgba(0, 0, 0, 0) 0px 5px 13px; box-shadow: rgba(0, 0, 0, 0) 0px 5px 13px; + /* min 992px max 1199px */ } .contact-form-box fieldset { padding: 0 19px 21px 19px; @@ -36,9 +37,21 @@ } .contact-form-box .col-md-3 { padding-left: 0; + /* max 991px */ +} +@media (max-width: 991px) { + .contact-form-box .col-md-3 { + padding-right: 0; + } } .contact-form-box .col-md-9 { padding-right: 0; + /* max 991px */ +} +@media (max-width: 991px) { + .contact-form-box .col-md-9 { + padding-left: 0; + } } .contact-form-box #desc_contact0 { display: none; @@ -56,6 +69,14 @@ max-width: 270px; width: 100%; } +.contact-form-box input.form-control { + max-width: 270px; +} +@media (min-width: 992px) and (max-width: 1199px) { + .contact-form-box div.uploader span.filename { + width: 114px; + } +} /************************************************************************** Contact Page Bottom Banners Styles diff --git a/themes/default-bootstrap/css/global.css b/themes/default-bootstrap/css/global.css index 9c079d41b..603a38af8 100644 --- a/themes/default-bootstrap/css/global.css +++ b/themes/default-bootstrap/css/global.css @@ -67,6 +67,9 @@ body { line-height: 18px; font-size: 13px; } +body.content_only { + background: none; +} textarea { resize: none; @@ -105,6 +108,11 @@ textarea { } /* text **************************************************************************************** */ +a, a:focus, a:active { + text-decoration: none; + outline: none; +} + p.info-title { font-weight: bold; color: #333; @@ -128,11 +136,33 @@ p.info-account { } .alert ul, .alert ol { padding-left: 15px; + margin-left: 27px; } .alert ul li, .alert ol li { list-style-type: decimal; font-weight: normal; } +.alert.alert-success { + text-shadow: 1px 1px rgba(0, 0, 0, 0); +} +.alert.alert-success:before { + font-family: "FontAwesome"; + content: ""; + font-size: 20px; + vertical-align: -2px; + padding-right: 7px; +} +.alert.alert-danger { + text-shadow: 1px 1px rgba(0, 0, 0, 0); +} +.alert.alert-danger:before { + font-family: "FontAwesome"; + content: ""; + font-size: 20px; + vertical-align: -2px; + padding-right: 7px; + float: left; +} .required sup { color: #f13340; @@ -149,6 +179,13 @@ label { color: #333; } +.checkbox { + line-height: 16px; +} +.checkbox label { + color: #777777; +} + .close { opacity: 1; } @@ -173,6 +210,8 @@ span.exclusive_mini, span.exclusive_small, span.exclusive, span.exclusive_large, color: #000; background: url(../img/bg_bt.gif) repeat-x 0 0 #f4b61b; cursor: pointer; + white-space: normal; + text-align: left; } *:first-child + html input.button_mini, *:first-child + html input.button_small, *:first-child + html input.button, *:first-child + html input.button_large, @@ -318,16 +357,36 @@ input.button_large, input.button_large_disabled, input.exclusive_large, input.ex padding: 10px 10px 10px 14px; border: 1px solid; border-color: #74d578; + /* max 480px */ +} +@media (max-width: 480px) { + .button.button-medium span { + font-size: 15px; + padding-right: 7px; + padding-left: 7px; + } } .button.button-medium i.left { font-size: 24px; vertical-align: -2px; margin: -4px 10px 0 0; display: inline-block; + /* max 480px */ +} +@media (max-width: 480px) { + .button.button-medium i.left { + margin-right: 5px; + } } .button.button-medium i.right { margin-right: 0; margin-left: 9px; + /* max 480px */ +} +@media (max-width: 480px) { + .button.button-medium i.right { + margin-left: 5px; + } } .button.button-medium:hover { background: #3aa04c; @@ -441,6 +500,14 @@ input.button_large, input.button_large_disabled, input.exclusive_large, input.ex background: -ms-linear-gradient(top, #f7f7f7 0%, #ededed 100%); background: linear-gradient(to bottom, #f7f7f7 0%, #ededed 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#ededed',GradientType=0 ); + /* max 480px */ +} +@media (max-width: 480px) { + .button.exclusive-medium span { + font-size: 15px; + padding-right: 7px; + padding-left: 7px; + } } .button.exclusive-medium:hover { border-color: #9e9e9e #c2c2c2 #c8c8c8 #c2c2c2; @@ -634,6 +701,10 @@ table.table_block td { padding: 0 5px 0 3px; display: inline-block; } +.price-percent-reduction.small { + font: 700 14px/17px Arial, Helvetica, sans-serif; + padding: 1px 6px; +} /*************************************************************************************************** Labels New/Sale @@ -781,9 +852,34 @@ table.table_block td { padding: 9px 10px 9px 20px; } .box.box-small .dark { - margin-top: 10px; + padding-top: 10px; + padding-right: 20px; margin-bottom: 0; + width: auto; +} + +.page-product-box { + padding-bottom: 10px; +} + +.product-box { + width: 178px; float: left; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.product-box .product-image { + border: 1px solid #d6d4d4; + background: white; + padding: 5px; + display: block; + margin-bottom: 11px; +} +.product-box .product-image img { + max-width: 100%; + width: 100%; + height: auto; } /* BLOCK .block ******************************************************************************** */ @@ -973,6 +1069,7 @@ table.table_block td { padding: 0px 0px 17px 0px; margin-bottom: 30px; border-bottom: 1px solid #d6d4d4; + overflow: hidden; } .page-heading span.heading-counter { font: bold 13px/22px Arial, Helvetica, sans-serif; @@ -980,6 +1077,16 @@ table.table_block td { color: #333; text-transform: none; } +@media (max-width: 480px) { + .page-heading span.heading-counter { + float: none; + display: block; + padding-top: 5px; + } +} +.page-heading span.lighter { + color: #9c9c9c; +} .page-heading.bottom-indent { margin-bottom: 16px; } @@ -1000,9 +1107,24 @@ table.table_block td { border-bottom: 1px solid #d6d4d4; } +h3.page-product-heading { + color: #555454; + text-transform: uppercase; + font-family: "Open Sans", sans-serif; + font-weight: 600; + font-size: 18px; + line-height: 20px; + padding: 14px 20px 17px; + margin: 0 0 20px; + position: relative; + border: 1px solid #d6d4d4; + border-bottom: none; + background: #fbfbfb; +} + /* BLOCK .footer_links (cms pages) ************************************************************* */ ul.footer_links { - padding: 20px 0 50px 0; + padding: 20px 0 0px 0; border-top: 1px solid #d6d4d4; } ul.footer_links li { @@ -1024,8 +1146,14 @@ ul.footer_links li + li { margin-bottom: 10px; } .content_sortPagiBar .sortPagiBar #productsSortForm select { - width: 192px; + max-width: 192px; float: left; + /* max 991px */ +} +@media (max-width: 991px) { + .content_sortPagiBar .sortPagiBar #productsSortForm select { + max-width: 160px; + } } .content_sortPagiBar .sortPagiBar #productsSortForm .selector { float: left; @@ -1034,7 +1162,7 @@ ul.footer_links li + li { float: left; } .content_sortPagiBar .sortPagiBar .nbrItemPage select { - width: 59px; + max-width: 59px; float: left; } .content_sortPagiBar .sortPagiBar .nbrItemPage .clearfix > span { @@ -1098,10 +1226,35 @@ ul.footer_links li + li { float: right; width: 530px; text-align: center; + /* min 992px max 1199px */ + /* max 991px */ +} +@media (min-width: 992px) and (max-width: 1199px) { + .top-pagination-content div.pagination, .bottom-pagination-content div.pagination { + width: 380px; + } +} +@media (max-width: 991px) { + .top-pagination-content div.pagination, .bottom-pagination-content div.pagination { + float: left; + width: auto; + } } .top-pagination-content div.pagination .showall, .bottom-pagination-content div.pagination .showall { float: right; margin: 8px 53px 8px 14px; + /* min 992px max 1199px */ + /* max 991px */ +} +@media (min-width: 992px) and (max-width: 1199px) { + .top-pagination-content div.pagination .showall, .bottom-pagination-content div.pagination .showall { + margin-right: 11px; + } +} +@media (max-width: 991px) { + .top-pagination-content div.pagination .showall, .bottom-pagination-content div.pagination .showall { + margin-right: 0; + } } .top-pagination-content div.pagination .showall .btn span, .bottom-pagination-content div.pagination .showall .btn span { font-size: 13px; @@ -1162,12 +1315,26 @@ ul.footer_links li + li { } .top-pagination-content .compare-form, .bottom-pagination-content .compare-form { float: right; + /* max 479px */ +} +@media (max-width: 479px) { + .top-pagination-content .compare-form, .bottom-pagination-content .compare-form { + float: left; + width: 100%; + text-align: left; + padding-bottom: 10px; + clear: both; + } } .top-pagination-content .product-count, .bottom-pagination-content .product-count { - position: absolute; - left: 0; - top: 0; - padding: 22px 0 0 0; + padding: 11px 0 0 0; + float: left; + /* max 991px */ +} +@media (max-width: 991px) { + .top-pagination-content .product-count, .bottom-pagination-content .product-count { + clear: left; + } } .bottom-pagination-content { @@ -1178,11 +1345,16 @@ ul.footer_links li + li { ul.step { margin-bottom: 30px; overflow: hidden; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; + /*min 480px*/ +} +@media (min-width: 480px) { + ul.step { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; + } } ul.step li { float: left; @@ -1193,6 +1365,13 @@ ul.step li { border-bottom-color: #9a9a9a; border-right-color: #b7b7b7; border-left-width: 0px; + /* max 480px */ +} +@media (max-width: 479px) { + ul.step li { + width: 100%; + border-left-width: 1px; + } } ul.step li a, ul.step li span, ul.step li.step_current span, ul.step li.step_current_end span { display: block; @@ -1203,18 +1382,21 @@ ul.step li a, ul.step li span, ul.step li.step_current span, ul.step li.step_cur font-weight: bold; text-shadow: 1px 1px white; position: relative; + /* min 991px */ } -ul.step li a:after, ul.step li span:after, ul.step li.step_current span:after, ul.step li.step_current_end span:after { - content: "."; - position: absolute; - top: 0; - right: -31px; - z-index: 0; - text-indent: -5000px; - display: block; - width: 31px; - height: 52px; - margin-top: -2px; +@media (min-width: 992px) { + ul.step li a:after, ul.step li span:after, ul.step li.step_current span:after, ul.step li.step_current_end span:after { + content: "."; + position: absolute; + top: 0; + right: -31px; + z-index: 0; + text-indent: -5000px; + display: block; + width: 31px; + height: 52px; + margin-top: -2px; + } } ul.step li a:focus, ul.step li span:focus, ul.step li.step_current span:focus, ul.step li.step_current_end span:focus { text-decoration: none; @@ -1223,22 +1405,32 @@ ul.step li a:focus, ul.step li span:focus, ul.step li.step_current span:focus, u ul.step li.first { border-left-width: 1px; border-left-color: #b7b7b7; - -moz-border-radius-topleft: 4px; - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; + /*min 480px*/ +} +@media (min-width: 480px) { + ul.step li.first { + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + } } ul.step li.first span, ul.step li.first a { - -moz-border-radius-topleft: 4px; - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; z-index: 5; padding-left: 13px !important; + /*min 480px*/ +} +@media (min-width: 480px) { + ul.step li.first span, ul.step li.first a { + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + } } ul.step li.second span, ul.step li.second a { z-index: 4; @@ -1250,22 +1442,29 @@ ul.step li.four span, ul.step li.four a { z-index: 2; } ul.step li.last { - -moz-border-radius-topright: 4px; - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-bottomright: 4px; - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; + /*min 480px*/ } ul.step li.last span { - -moz-border-radius-topright: 4px; - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-bottomright: 4px; - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; z-index: 1; } +@media (min-width: 480px) { + ul.step li.last { + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + } + ul.step li.last span { + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + } +} ul.step li.step_current { font-weight: bold; background: #42b856; @@ -1284,10 +1483,15 @@ ul.step li.step_current span { border: 1px solid; border-color: #73ca77 #74c776 #74c175 #74c776; position: relative; - padding-left: 38px; + /* min 991px */ } -ul.step li.step_current span:after { - background: url(../img/order-step-a.png) right 0 no-repeat; +@media (min-width: 992px) { + ul.step li.step_current span { + padding-left: 38px; + } + ul.step li.step_current span:after { + background: url(../img/order-step-a.png) right 0 no-repeat; + } } ul.step li.step_current_end { font-weight: bold; @@ -1305,11 +1509,16 @@ ul.step li.step_todo span { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#ededed',GradientType=0 ); border: 1px solid; border-color: #fff; - padding-left: 38px; position: relative; + /* min 991px */ } -ul.step li.step_todo span:after { - background: url(../img/order-step-current.png) right 0 no-repeat; +@media (min-width: 992px) { + ul.step li.step_todo span { + padding-left: 38px; + } + ul.step li.step_todo span:after { + background: url(../img/order-step-current.png) right 0 no-repeat; + } } ul.step li.step_done { border-color: #666666 #5f5f5f #292929 #5f5f5f; @@ -1327,16 +1536,40 @@ ul.step li.step_done a { background: -ms-linear-gradient(top, #727171 0%, #666666 100%); background: linear-gradient(to bottom, #727171 0%, #666666 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#727171', endColorstr='#666666',GradientType=0 ); - padding-left: 38px; + /* min 991px */ } -ul.step li.step_done a:after { - background: url(../img/order-step-done.png) right 0 no-repeat; +@media (min-width: 992px) { + ul.step li.step_done a { + padding-left: 38px; + } + ul.step li.step_done a:after { + background: url(../img/order-step-done.png) right 0 no-repeat; + } } -ul.step li.step_done.step_done_last a:after { - background: url(../img/order-step-done-last.png) right 0 no-repeat; +ul.step li.step_done.step_done_last { + /* min 991px */ } -ul.step li#step_end span:after { - display: none; +@media (min-width: 992px) { + ul.step li.step_done.step_done_last a:after { + background: url(../img/order-step-done-last.png) right 0 no-repeat; + } +} +ul.step li#step_end span { + /* min 991px */ +} +@media (min-width: 992px) { + ul.step li#step_end span:after { + display: none; + } +} +ul.step li em { + font-style: normal; + /* min 480px max 767px */ +} +@media (min-width: 480px) and (max-width: 767px) { + ul.step li em { + display: none; + } } /* module productcomments ********************************************************************** */ @@ -1371,7 +1604,7 @@ ul.step li#step_end span:after { } .star, .star a { - background: url(modules/productcomments/img/star.gif) no-repeat 0 0; + background: url(modules/productcomments/img/star.png) no-repeat 0 0; } .cancel a, .star a { @@ -1393,12 +1626,6 @@ div.star_hover a, div.star a:hover { margin: 10px 0 10px 0; } -.pack_price { - float: right; - margin-right: 3px; - font-size: 12px; -} - .confirmation { margin: 0 0 10px; padding: 10px; @@ -1824,6 +2051,13 @@ div.star_hover a, div.star a:hover { -moz-box-shadow: none; box-shadow: none; } +@media (max-width: 480px) { + .cart_navigation > span { + display: block; + width: 100%; + padding-bottom: 15px; + } +} /* step 1 - cart ******************************************************************************* */ .cart_last_product { @@ -1879,12 +2113,23 @@ a.price_discount_delete:hover { #cart_summary tbody td.cart_product img { border: 1px solid #d6d4d4; } +#cart_summary tbody td.cart_unit { + text-align: center; +} #cart_summary tbody td.cart_unit .price span { display: block; } +#cart_summary tbody td.cart_unit .price span.price-percent-reduction { + margin: 5px auto; + display: inline-block; +} #cart_summary tbody td.cart_unit .price span.old-price { text-decoration: line-through; } +#cart_summary tbody td.cart_description small { + display: block; + padding: 5px 0 0 0; +} #cart_summary tfoot td.text-right { font-weight: bold; color: #333; @@ -2088,6 +2333,9 @@ table#cart_summary .gift-icon { .order_carrier_content .delivery_options_address .carrier_title { margin-bottom: 17px; } +.order_carrier_content + div { + padding-bottom: 15px; +} #carrierTable { border: 1px solid #999; @@ -2250,11 +2498,24 @@ p.cheque-indent { margin-bottom: 4px; } #address .form-group .form-control, #identity .form-group .form-control, #account-creation_form .form-group .form-control, #new_account_form .form-group .form-control, #opc_account_form .form-group .form-control, #authentication .form-group .form-control { - width: 271px; + max-width: 271px; } #address .form-group#adress_alias, #identity .form-group#adress_alias, #account-creation_form .form-group#adress_alias, #new_account_form .form-group#adress_alias, #opc_account_form .form-group#adress_alias, #authentication .form-group#adress_alias { margin-bottom: 20px; } +@media (min-width: 1200px) { + #address .form-group.phone-number, #identity .form-group.phone-number, #account-creation_form .form-group.phone-number, #new_account_form .form-group.phone-number, #opc_account_form .form-group.phone-number, #authentication .form-group.phone-number { + float: left; + width: 270px; + margin-right: 13px; + } +} +@media (min-width: 1200px) { + #address .form-group.phone-number + p, #identity .form-group.phone-number + p, #account-creation_form .form-group.phone-number + p, #new_account_form .form-group.phone-number + p, #opc_account_form .form-group.phone-number + p, #authentication .form-group.phone-number + p { + padding: 23px 0 0 0px; + margin-bottom: 0; + } +} #identity #center_column form.std .row, #authentication #center_column form.std .row, #order-opc #center_column form.std .row { margin-left: -5px; @@ -2263,10 +2524,10 @@ p.cheque-indent { #identity #center_column form.std .row .col-xs-4, #authentication #center_column form.std .row .col-xs-4, #order-opc #center_column form.std .row .col-xs-4 { padding-left: 5px; padding-right: 5px; - width: 94px; + max-width: 94px; } #identity #center_column form.std .row .col-xs-4 .form-control, #authentication #center_column form.std .row .col-xs-4 .form-control, #order-opc #center_column form.std .row .col-xs-4 .form-control { - width: 84px; + max-width: 84px; } #identity #center_column .footer_links, #authentication #center_column .footer_links, #order-opc #center_column .footer_links { border: none; @@ -2342,6 +2603,12 @@ p.cheque-indent { #manufacturers_list.list li .mansup-container, #suppliers_list.list li .mansup-container { border-top: 1px solid #d6d4d4; padding: 31px 0 30px 0; + /* < 768 */ +} +@media (max-width: 767px) { + #manufacturers_list.list li .mansup-container, #suppliers_list.list li .mansup-container { + text-align: center; + } } #manufacturers_list.list li:first-child .mansup-container, #suppliers_list.list li:first-child .mansup-container { border-top: 0; @@ -2355,16 +2622,42 @@ p.cheque-indent { } #manufacturers_list.list li .middle-side, #suppliers_list.list li .middle-side { padding-left: 0; + /* < 768 */ +} +@media (max-width: 767px) { + #manufacturers_list.list li .middle-side, #suppliers_list.list li .middle-side { + padding-right: 15px; + padding-left: 15px; + } } #manufacturers_list.list li .right-side-content, #suppliers_list.list li .right-side-content { border-left: 1px solid #d6d4d4; padding: 0 0 32px 31px; min-height: 108px; + /* < 768 */ +} +@media (max-width: 767px) { + #manufacturers_list.list li .right-side-content, #suppliers_list.list li .right-side-content { + min-height: 1px; + padding: 0; + border: none; + } } #manufacturers_list.list li .right-side-content .product-counter, #suppliers_list.list li .right-side-content .product-counter { position: relative; top: -6px; margin-bottom: 12px; + /* < 768 */ +} +@media (max-width: 767px) { + #manufacturers_list.list li .right-side-content .product-counter, #suppliers_list.list li .right-side-content .product-counter { + top: 0; + } +} +#manufacturers_list.grid, #suppliers_list.grid { + /* > 1199 */ + /*768 -> 1199*/ + /*< 768 */ } #manufacturers_list.grid li, #suppliers_list.grid li { text-align: center; @@ -2383,11 +2676,26 @@ p.cheque-indent { #manufacturers_list.grid li .product-container .product-counter, #suppliers_list.grid li .product-container .product-counter { margin-bottom: 12px; } -#manufacturers_list.grid li.first-in-line, #suppliers_list.grid li.first-in-line { - clear: left; +@media (min-width: 1200px) { + #manufacturers_list.grid li.first-in-line, #suppliers_list.grid li.first-in-line { + clear: left; + } + #manufacturers_list.grid li.last-line .product-container, #suppliers_list.grid li.last-line .product-container { + border-bottom: none; + } } -#manufacturers_list.grid li.last-line .product-container, #suppliers_list.grid li.last-line .product-container { - border-bottom: none; +@media (min-width: 768px) and (max-width: 1199px) { + #manufacturers_list.grid li.first-item-of-tablet-line, #suppliers_list.grid li.first-item-of-tablet-line { + clear: left; + } + #manufacturers_list.grid li.last-tablet-line .product-container, #suppliers_list.grid li.last-tablet-line .product-container { + border-bottom: none; + } +} +@media (max-width: 767px) { + #manufacturers_list.grid li.item-last .product-container, #suppliers_list.grid li.item-last .product-container { + border-bottom: none; + } } #manufacturer .description_box, #supplier .description_box { @@ -2400,12 +2708,43 @@ p.cheque-indent { } #manufacturer .bottom-pagination-content, #manufacturer .top-pagination-content, #supplier .bottom-pagination-content, #supplier .top-pagination-content { min-height: 69px; + /* < 480*/ +} +#manufacturer .bottom-pagination-content #pagination, #manufacturer .top-pagination-content #pagination, #supplier .bottom-pagination-content #pagination, #supplier .top-pagination-content #pagination { + /* 480 -> 1199 */ +} +@media (min-width: 480px) and (max-width: 1199px) { + #manufacturer .bottom-pagination-content #pagination, #manufacturer .top-pagination-content #pagination, #supplier .bottom-pagination-content #pagination, #supplier .top-pagination-content #pagination { + width: auto; + text-align: right; + } } #manufacturer .bottom-pagination-content #pagination .showall, #manufacturer .top-pagination-content #pagination .showall, #supplier .bottom-pagination-content #pagination .showall, #supplier .top-pagination-content #pagination .showall { - margin-right: 201px; + margin-right: 0; + /* > 1199 */ +} +@media (min-width: 1200px) { + #manufacturer .bottom-pagination-content #pagination .showall, #manufacturer .top-pagination-content #pagination .showall, #supplier .bottom-pagination-content #pagination .showall, #supplier .top-pagination-content #pagination .showall { + margin-right: 201px; + } +} +@media (max-width: 480px) { + #manufacturer .bottom-pagination-content .product-count, #manufacturer .bottom-pagination-content #pagination, #manufacturer .top-pagination-content .product-count, #manufacturer .top-pagination-content #pagination, #supplier .bottom-pagination-content .product-count, #supplier .bottom-pagination-content #pagination, #supplier .top-pagination-content .product-count, #supplier .top-pagination-content #pagination { + width: 100%; + text-align: center; + } + #manufacturer .bottom-pagination-content .product-count .showall, #manufacturer .bottom-pagination-content #pagination .showall, #manufacturer .top-pagination-content .product-count .showall, #manufacturer .top-pagination-content #pagination .showall, #supplier .bottom-pagination-content .product-count .showall, #supplier .bottom-pagination-content #pagination .showall, #supplier .top-pagination-content .product-count .showall, #supplier .top-pagination-content #pagination .showall { + display: none; + } } #manufacturer .top-pagination-content.bottom-line, #supplier .top-pagination-content.bottom-line { border-bottom: 1px solid #d6d4d4; + /* < 767 */ +} +@media (max-width: 767px) { + #manufacturer .top-pagination-content.bottom-line, #supplier .top-pagination-content.bottom-line { + border-top: 1px solid #d6d4d4; + } } /***************************************************************************************************** @@ -2426,8 +2765,27 @@ table.discount i.icon-remove { /***************************************************************************************************** GUEST TRACKING ******************************************************************************************************/ +#guestTracking { + /* > 1200px */ +} #guestTracking .form-control { - width: 271px; + max-width: 271px; +} +@media (min-width: 1200px) { + #guestTracking .form-group { + overflow: hidden; + } + #guestTracking .form-group i { + padding-left: 10px; + } + #guestTracking .form-control { + float: left; + } + #guestTracking label { + float: left; + clear: both; + width: 100%; + } } /***************************************************************************************************** @@ -2468,10 +2826,22 @@ table.discount i.icon-remove { #pagenotfound .pagenotfound label { font-weight: normal; } +@media (max-width: 767px) { + #pagenotfound .pagenotfound label { + display: block; + } +} #pagenotfound .pagenotfound .form-control { max-width: 293px; display: inline-block; margin-right: 5px; + /* max 767px */ +} +@media (max-width: 767px) { + #pagenotfound .pagenotfound .form-control { + margin: 0 auto 15px auto; + display: block; + } } #pagenotfound .pagenotfound .buttons { padding: 48px 0 20px 0; @@ -2605,7 +2975,7 @@ form#sendComment h3 { } .star, .star a { - background: url(modules/productcomments/img/star.gif) no-repeat 0 0; + background: url(modules/productcomments/img/star.png) no-repeat 0 0; } div.star_on a { @@ -2662,7 +3032,7 @@ div.star_hover a, div.star a:hover { float: left; } .radio-inline .checker span, .checkbox .checker span { - top: 3px; + top: 0px; } .radio-inline div.radio, .checkbox div.radio { display: inline-block; @@ -2671,3 +3041,26 @@ div.star_hover a, div.star a:hover { float: left; top: 0px; } + +.fancybox-skin { + background: #fff !important; +} + +.fancybox-skin .fancybox-close { + top: 8px; + right: 8px; + width: 28px; + height: 28px; + background: none; + font-size: 28px; + line-height: 28px; + color: #333333; + text-align: center; +} +.fancybox-skin .fancybox-close:hover { + color: #515151; +} +.fancybox-skin .fancybox-close:after { + content: ""; + font-family: "FontAwesome"; +} diff --git a/themes/default-bootstrap/css/jquery/footable.core.css b/themes/default-bootstrap/css/jquery/footable.core.css new file mode 100644 index 000000000..b5991721f --- /dev/null +++ b/themes/default-bootstrap/css/jquery/footable.core.css @@ -0,0 +1,61 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic); +.footable { + width: 100%; +} +.footable.breakpoint > tbody > tr.footable-detail-show > td { + border-bottom: none; +} +.footable.breakpoint > tbody > tr.footable-detail-show > td > span.footable-toggle:before { + font-family: "FontAwesome"; + content: ""; +} +.footable.breakpoint > tbody > tr:hover:not(.footable-row-detail) { + cursor: pointer; +} +.footable.breakpoint > tbody > tr > td.footable-cell-detail { + background: #eee; + border-top: none; +} +.footable.breakpoint > tbody > tr > td > span.footable-toggle { + display: inline-block; + font-family: "FontAwesome"; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + -webkit-font-smoothing: antialiased; + padding-right: 5px; + font-size: 14px; +} +.footable.breakpoint > tbody > tr > td > span.footable-toggle:before { + font-family: "FontAwesome"; + content: ""; +} +.footable.breakpoint.toggle-medium > tbody > tr > td > span.footable-toggle { + font-size: 18px; +} +.footable.breakpoint.toggle-large > tbody > tr > td > span.footable-toggle { + font-size: 24px; +} +.footable .footable-row-detail-inner { + display: table; +} +.footable .footable-row-detail-row { + display: table-row; + line-height: 1.5em; +} +.footable .footable-row-detail-group { + display: block; + line-height: 2em; + font-size: 1.2em; + font-weight: bold; +} +.footable .footable-row-detail-name { + display: table-cell; + font-weight: bold; + padding-right: 0.5em; +} +.footable .footable-row-detail-value { + display: table-cell; +} diff --git a/themes/default-bootstrap/css/jquery/jquery.bxslider.css b/themes/default-bootstrap/css/jquery/jquery.bxslider.css new file mode 100644 index 000000000..33bb54315 --- /dev/null +++ b/themes/default-bootstrap/css/jquery/jquery.bxslider.css @@ -0,0 +1,181 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic); +/** + * BxSlider v4.0 - Fully loaded, responsive content slider + * http://bxslider.com + * + * Written by: Steven Wanderski, 2012 + * http://stevenwanderski.com + * (while drinking Belgian ales and listening to jazz) + * + * CEO and founder of bxCreative, LTD + * http://bxcreative.com + */ +#crossselling_list, .accessories-block .block_content, #productscategory_list { + /** RESET AND LAYOUT + ===================================*/ + /** THEME + ===================================*/ + /* LOADER */ + /* PAGER */ + /* DIRECTION CONTROLS (NEXT / PREV) */ + /* AUTO CONTROLS (START / STOP) */ + /* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */ + /* IMAGE CAPTIONS */ +} +#crossselling_list .bx-wrapper, .accessories-block .block_content .bx-wrapper, #productscategory_list .bx-wrapper { + position: relative; + padding: 0; + *zoom: 1; + margin: 0 !important; +} +#crossselling_list .bx-wrapper img, .accessories-block .block_content .bx-wrapper img, #productscategory_list .bx-wrapper img { + max-width: 100%; + display: block; +} +#crossselling_list .bx-wrapper .bx-pager, +#crossselling_list .bx-wrapper .bx-controls-auto, .accessories-block .block_content .bx-wrapper .bx-pager, +.accessories-block .block_content .bx-wrapper .bx-controls-auto, #productscategory_list .bx-wrapper .bx-pager, +#productscategory_list .bx-wrapper .bx-controls-auto { + position: absolute; + bottom: -30px; + width: 100%; +} +#crossselling_list .bx-wrapper .bx-loading, .accessories-block .block_content .bx-wrapper .bx-loading, #productscategory_list .bx-wrapper .bx-loading { + min-height: 50px; + background: url(images/bx_loader.gif) center center no-repeat; + height: 100%; + width: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 2000; + display: none; +} +#crossselling_list .bx-wrapper .bx-pager, .accessories-block .block_content .bx-wrapper .bx-pager, #productscategory_list .bx-wrapper .bx-pager { + text-align: center; + font-size: .85em; + font-family: Arial; + font-weight: bold; + color: #666; + padding-top: 20px; +} +#crossselling_list .bx-wrapper .bx-pager .bx-pager-item, +#crossselling_list .bx-wrapper .bx-controls-auto .bx-controls-auto-item, .accessories-block .block_content .bx-wrapper .bx-pager .bx-pager-item, +.accessories-block .block_content .bx-wrapper .bx-controls-auto .bx-controls-auto-item, #productscategory_list .bx-wrapper .bx-pager .bx-pager-item, +#productscategory_list .bx-wrapper .bx-controls-auto .bx-controls-auto-item { + display: inline-block; + *zoom: 1; + *display: inline; +} +#crossselling_list .bx-wrapper .bx-pager.bx-default-pager a, .accessories-block .block_content .bx-wrapper .bx-pager.bx-default-pager a, #productscategory_list .bx-wrapper .bx-pager.bx-default-pager a { + text-indent: -9999px; + display: block; + width: 10px; + height: 10px; + margin: 0 5px; + background: #000; + outline: 0; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -ms-border-radius: 5px; + -o-border-radius: 5px; + border-radius: 5px; +} +#crossselling_list .bx-wrapper .bx-pager.bx-default-pager a:hover, +#crossselling_list .bx-wrapper .bx-pager.bx-default-pager a.active, .accessories-block .block_content .bx-wrapper .bx-pager.bx-default-pager a:hover, +.accessories-block .block_content .bx-wrapper .bx-pager.bx-default-pager a.active, #productscategory_list .bx-wrapper .bx-pager.bx-default-pager a:hover, +#productscategory_list .bx-wrapper .bx-pager.bx-default-pager a.active { + background: #000; +} +#crossselling_list .bx-wrapper .bx-controls-direction a, .accessories-block .block_content .bx-wrapper .bx-controls-direction a, #productscategory_list .bx-wrapper .bx-controls-direction a { + margin-top: 38px; + height: 20px; + width: 20px; + line-height: 0; + position: absolute; + top: 40%; + margin-top: -10px; + font-size: 0; + overflow: hidden; +} +#crossselling_list .bx-wrapper .bx-controls-direction a:before, .accessories-block .block_content .bx-wrapper .bx-controls-direction a:before, #productscategory_list .bx-wrapper .bx-controls-direction a:before { + padding-left: 2px; + color: #c0c0c0; + font-family: FontAwesome; + font-size: 20px; + line-height: 22px; +} +#crossselling_list .bx-wrapper .bx-controls-direction a:hover:before, .accessories-block .block_content .bx-wrapper .bx-controls-direction a:hover:before, #productscategory_list .bx-wrapper .bx-controls-direction a:hover:before { + color: #333; +} +#crossselling_list .bx-next, .accessories-block .block_content .bx-next, #productscategory_list .bx-next { + right: 10px; +} +#crossselling_list .bx-next:before, .accessories-block .block_content .bx-next:before, #productscategory_list .bx-next:before { + content: ""; +} +#crossselling_list .bx-prev, .accessories-block .block_content .bx-prev, #productscategory_list .bx-prev { + left: 10px; +} +#crossselling_list .bx-prev:before, .accessories-block .block_content .bx-prev:before, #productscategory_list .bx-prev:before { + content: ""; +} +#crossselling_list .bx-wrapper .bx-controls-direction a.disabled, .accessories-block .block_content .bx-wrapper .bx-controls-direction a.disabled, #productscategory_list .bx-wrapper .bx-controls-direction a.disabled { + display: none; +} +#crossselling_list .bx-wrapper .bx-controls-auto, .accessories-block .block_content .bx-wrapper .bx-controls-auto, #productscategory_list .bx-wrapper .bx-controls-auto { + text-align: center; +} +#crossselling_list .bx-wrapper .bx-controls-auto .bx-start, .accessories-block .block_content .bx-wrapper .bx-controls-auto .bx-start, #productscategory_list .bx-wrapper .bx-controls-auto .bx-start { + display: block; + text-indent: -9999px; + width: 10px; + height: 11px; + outline: 0; + background: url(images/controls.png) -86px -11px no-repeat; + margin: 0 3px; +} +#crossselling_list .bx-wrapper .bx-controls-auto .bx-start:hover, +#crossselling_list .bx-wrapper .bx-controls-auto .bx-start.active, .accessories-block .block_content .bx-wrapper .bx-controls-auto .bx-start:hover, +.accessories-block .block_content .bx-wrapper .bx-controls-auto .bx-start.active, #productscategory_list .bx-wrapper .bx-controls-auto .bx-start:hover, +#productscategory_list .bx-wrapper .bx-controls-auto .bx-start.active { + background-position: -86px 0; +} +#crossselling_list .bx-wrapper .bx-controls-auto .bx-stop, .accessories-block .block_content .bx-wrapper .bx-controls-auto .bx-stop, #productscategory_list .bx-wrapper .bx-controls-auto .bx-stop { + display: block; + text-indent: -9999px; + width: 9px; + height: 11px; + outline: 0; + background: url(images/controls.png) -86px -44px no-repeat; + margin: 0 3px; +} +#crossselling_list .bx-wrapper .bx-controls-auto .bx-stop:hover, +#crossselling_list .bx-wrapper .bx-controls-auto .bx-stop.active, .accessories-block .block_content .bx-wrapper .bx-controls-auto .bx-stop:hover, +.accessories-block .block_content .bx-wrapper .bx-controls-auto .bx-stop.active, #productscategory_list .bx-wrapper .bx-controls-auto .bx-stop:hover, +#productscategory_list .bx-wrapper .bx-controls-auto .bx-stop.active { + background-position: -86px -33px; +} +#crossselling_list .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager, .accessories-block .block_content .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager, #productscategory_list .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager { + text-align: left; + width: 80%; +} +#crossselling_list .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto, .accessories-block .block_content .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto, #productscategory_list .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto { + right: 0; + width: 35px; +} +#crossselling_list .bx-wrapper .bx-caption, .accessories-block .block_content .bx-wrapper .bx-caption, #productscategory_list .bx-wrapper .bx-caption { + position: absolute; + bottom: 0; + left: 0; + background: #666\9; + background: rgba(80, 80, 80, 0); + width: 100%; +} +#crossselling_list .bx-wrapper .bx-caption span, .accessories-block .block_content .bx-wrapper .bx-caption span, #productscategory_list .bx-wrapper .bx-caption span { + color: #fff; + font-family: Arial; + display: block; + font-size: .85em; + padding: 10px; +} diff --git a/themes/default-bootstrap/css/jquery/owl-carousel/owl.carousel.css b/themes/default-bootstrap/css/jquery/owl-carousel/owl.carousel.css deleted file mode 100644 index 0e3ec8ea3..000000000 --- a/themes/default-bootstrap/css/jquery/owl-carousel/owl.carousel.css +++ /dev/null @@ -1,404 +0,0 @@ -/* - * Core Owl Carousel CSS File - * v1.24 - */ -/* clearfix */ -.owl-carousel .owl-wrapper:after { - content: "."; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0; -} - -/* display none until init */ -.owl-carousel { - display: none; - position: relative; - width: 100%; - -ms-touch-action: pan-y; - overflow: hidden; -} - -.owl-carousel .owl-wrapper { - display: none; - position: relative; - -webkit-transform: translate3d(0px, 0px, 0px); -} - -.owl-carousel .owl-wrapper-outer { - overflow: hidden; - position: relative; - margin: 0 -10px; -} - -.owl-carousel .owl-wrapper-outer.autoHeight { - -webkit-transition: height 500ms ease-in-out; - -moz-transition: height 500ms ease-in-out; - -ms-transition: height 500ms ease-in-out; - -o-transition: height 500ms ease-in-out; - transition: height 500ms ease-in-out; -} - -.owl-carousel .owl-item { - float: left; - width: 200px !important; -} - -.owl-controls .owl-page, -.owl-controls .owl-buttons div { - cursor: pointer; -} - -.owl-controls { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -/* mouse grab icon */ -.grabbing { - cursor: url(grabbing.png) 8 8, move; -} - -/* fix */ -.owl-carousel .owl-wrapper, -.owl-carousel .owl-item { - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); -} - -/* CSS3 Transitions */ -.owl-origin { - -webkit-perspective: 1200px; - -webkit-perspective-origin-x: 50%; - -webkit-perspective-origin-y: 50%; - -moz-perspective: 1200px; - -moz-perspective-origin-x: 50%; - -moz-perspective-origin-y: 50%; - perspective: 1200px; -} - -/* fade */ -.owl-fade-out { - z-index: 10; - -webkit-animation: fadeOut .7s both ease; - -moz-animation: fadeOut .7s both ease; - animation: fadeOut .7s both ease; -} - -.owl-fade-in { - -webkit-animation: fadeIn .7s both ease; - -moz-animation: fadeIn .7s both ease; - animation: fadeIn .7s both ease; -} - -/* backSlide */ -.owl-backSlide-out { - -webkit-animation: backSlideOut 1s both ease; - -moz-animation: backSlideOut 1s both ease; - animation: backSlideOut 1s both ease; -} - -.owl-backSlide-in { - -webkit-animation: backSlideIn 1s both ease; - -moz-animation: backSlideIn 1s both ease; - animation: backSlideIn 1s both ease; -} - -/* goDown */ -.owl-goDown-out { - -webkit-animation: scaleToFade .7s ease both; - -moz-animation: scaleToFade .7s ease both; - animation: scaleToFade .7s ease both; -} - -.owl-goDown-in { - -webkit-animation: goDown .6s ease both; - -moz-animation: goDown .6s ease both; - animation: goDown .6s ease both; -} - -/* scaleUp */ -.owl-fadeUp-in { - -webkit-animation: scaleUpFrom .5s ease both; - -moz-animation: scaleUpFrom .5s ease both; - animation: scaleUpFrom .5s ease both; -} - -.owl-fadeUp-out { - -webkit-animation: scaleUpTo .5s ease both; - -moz-animation: scaleUpTo .5s ease both; - animation: scaleUpTo .5s ease both; -} - -/* Keyframes */ -/*empty*/ -@-webkit-keyframes empty { - 0% { - opacity: 1; - } -} - -@-moz-keyframes empty { - 0% { - opacity: 1; - } -} - -@keyframes empty { - 0% { - opacity: 1; - } -} - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@-moz-keyframes fadeIn { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@keyframes fadeIn { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@-moz-keyframes fadeOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@keyframes fadeOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@-webkit-keyframes backSlideOut { - 25% { - opacity: .5; - -webkit-transform: translateZ(-500px); - } - - 75% { - opacity: .5; - -webkit-transform: translateZ(-500px) translateX(-200%); - } - - 100% { - opacity: .5; - -webkit-transform: translateZ(-500px) translateX(-200%); - } -} - -@-moz-keyframes backSlideOut { - 25% { - opacity: .5; - -moz-transform: translateZ(-500px); - } - - 75% { - opacity: .5; - -moz-transform: translateZ(-500px) translateX(-200%); - } - - 100% { - opacity: .5; - -moz-transform: translateZ(-500px) translateX(-200%); - } -} - -@keyframes backSlideOut { - 25% { - opacity: .5; - transform: translateZ(-500px); - } - - 75% { - opacity: .5; - transform: translateZ(-500px) translateX(-200%); - } - - 100% { - opacity: .5; - transform: translateZ(-500px) translateX(-200%); - } -} - -@-webkit-keyframes backSlideIn { - 0%, 25% { - opacity: .5; - -webkit-transform: translateZ(-500px) translateX(200%); - } - - 75% { - opacity: .5; - -webkit-transform: translateZ(-500px); - } - - 100% { - opacity: 1; - -webkit-transform: translateZ(0) translateX(0); - } -} - -@-moz-keyframes backSlideIn { - 0%, 25% { - opacity: .5; - -moz-transform: translateZ(-500px) translateX(200%); - } - - 75% { - opacity: .5; - -moz-transform: translateZ(-500px); - } - - 100% { - opacity: 1; - -moz-transform: translateZ(0) translateX(0); - } -} - -@keyframes backSlideIn { - 0%, 25% { - opacity: .5; - transform: translateZ(-500px) translateX(200%); - } - - 75% { - opacity: .5; - transform: translateZ(-500px); - } - - 100% { - opacity: 1; - transform: translateZ(0) translateX(0); - } -} - -@-webkit-keyframes scaleToFade { - to { - opacity: 0; - -webkit-transform: scale(0.8); - } -} - -@-moz-keyframes scaleToFade { - to { - opacity: 0; - -moz-transform: scale(0.8); - } -} - -@keyframes scaleToFade { - to { - opacity: 0; - transform: scale(0.8); - } -} - -@-webkit-keyframes goDown { - from { - -webkit-transform: translateY(-100%); - } -} - -@-moz-keyframes goDown { - from { - -moz-transform: translateY(-100%); - } -} - -@keyframes goDown { - from { - transform: translateY(-100%); - } -} - -@-webkit-keyframes scaleUpFrom { - from { - opacity: 0; - -webkit-transform: scale(1.5); - } -} - -@-moz-keyframes scaleUpFrom { - from { - opacity: 0; - -moz-transform: scale(1.5); - } -} - -@keyframes scaleUpFrom { - from { - opacity: 0; - transform: scale(1.5); - } -} - -@-webkit-keyframes scaleUpTo { - to { - opacity: 0; - -webkit-transform: scale(1.5); - } -} - -@-moz-keyframes scaleUpTo { - to { - opacity: 0; - -moz-transform: scale(1.5); - } -} - -@keyframes scaleUpTo { - to { - opacity: 0; - transform: scale(1.5); - } -} diff --git a/themes/default-bootstrap/css/jquery/owl-carousel/owl.theme.css b/themes/default-bootstrap/css/jquery/owl-carousel/owl.theme.css deleted file mode 100644 index 038962bec..000000000 --- a/themes/default-bootstrap/css/jquery/owl-carousel/owl.theme.css +++ /dev/null @@ -1,93 +0,0 @@ -@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic); -/* -* Owl Carousel Owl Demo Theme -* v1.24 -*/ -.owl-theme { - /* Styling Next and Prev buttons */ - /* preloading images */ -} -.owl-theme .owl-controls { - margin-top: 10px; - text-align: center; -} -.owl-theme .owl-controls { - /* Styling Pagination*/ - /* If PaginationNumbers is true */ -} -.owl-theme .owl-controls .owl-buttons div { - margin-top: 38px; - height: 20px; - width: 20px; - line-height: 0; - position: absolute; - top: 40%; - margin-top: -10px; - font-size: 0; - overflow: hidden; -} -.owl-theme .owl-controls .owl-buttons div:before { - padding-left: 2px; - color: #c0c0c0; - font-family: FontAwesome; - font-size: 20px; - line-height: 22px; -} -.owl-theme .owl-controls .owl-buttons div:hover:before { - color: #333; -} -.owl-theme .owl-controls .owl-next { - right: 10px; -} -.owl-theme .owl-controls .owl-next:before { - content: ""; -} -.owl-theme .owl-controls .owl-prev { - left: 10px; -} -.owl-theme .owl-controls .owl-prev:before { - content: ""; -} -.owl-theme .owl-controls .owl-pagination { - display: none; -} -.owl-theme .owl-controls .owl-page { - display: inline-block; - zoom: 1; - *display: inline; - /*IE7 life-saver */ -} -.owl-theme .owl-controls .owl-page span { - display: block; - width: 12px; - height: 12px; - margin: 5px 7px; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); - opacity: 0; - -webkit-border-radius: 20px; - -moz-border-radius: 20px; - -ms-border-radius: 20px; - -o-border-radius: 20px; - border-radius: 20px; - background: #869791; -} -.owl-theme .owl-controls .owl-page.active span, .owl-theme .owl-controls.clickable .owl-page:hover span { - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; -} -.owl-theme .owl-controls .owl-page span.owl-numbers { - height: auto; - width: auto; - color: #FFF; - padding: 2px 10px; - font-size: 12px; - -webkit-border-radius: 30px; - -moz-border-radius: 30px; - -ms-border-radius: 30px; - -o-border-radius: 30px; - border-radius: 30px; -} -.owl-theme .owl-item.loading { - min-height: 150px; - background: url(AjaxLoader.gif) no-repeat center center; -} diff --git a/themes/default-bootstrap/css/jquery/responsive-tables.css b/themes/default-bootstrap/css/jquery/responsive-tables.css new file mode 100644 index 000000000..f0a905c62 --- /dev/null +++ b/themes/default-bootstrap/css/jquery/responsive-tables.css @@ -0,0 +1,38 @@ +/* Foundation v2.1.4 http://foundation.zurb.com */ +/* Artfully masterminded by ZURB */ + +/* -------------------------------------------------- + Table of Contents +----------------------------------------------------- +:: Shared Styles +:: Page Name 1 +:: Page Name 2 +*/ + + +/* ----------------------------------------- + Shared Styles +----------------------------------------- */ + +table th { font-weight: bold; } +table td, table th { padding: 9px 10px; text-align: left; } + +/* Mobile */ +@media only screen and (max-width: 767px) { + + table.responsive { margin-bottom: 0; } + + .pinned { position: absolute; left: 0; top: 0; background: #fff; width: 35%; overflow: hidden; overflow-x: scroll; border-right: 1px solid #ccc; border-left: 1px solid #ccc; } + .pinned table { border-right: none; border-left: none; width: 100%; } + .pinned table th, .pinned table td { white-space: nowrap; } + .pinned td:last-child { border-bottom: 0; } + + div.table-wrapper { position: relative; margin-bottom: 20px; overflow: hidden; border-right: 1px solid #ccc; } + div.table-wrapper div.scrollable { margin-left: 35%; } + div.table-wrapper div.scrollable { overflow: scroll; overflow-y: hidden; } + + table.responsive td, table.responsive th { position: relative; white-space: nowrap; overflow: hidden; } + table.responsive th:first-child, table.responsive td:first-child, table.responsive td:first-child, table.responsive.pinned td { display: none; } + + +} diff --git a/themes/default-bootstrap/css/maintenance.css b/themes/default-bootstrap/css/maintenance.css index 4afbeb2e7..e157199b6 100644 --- a/themes/default-bootstrap/css/maintenance.css +++ b/themes/default-bootstrap/css/maintenance.css @@ -3,9 +3,15 @@ Maintenance Page Styles **********************************************************************/ #maintenance { - margin: 126px 0 0 0; - padding: 91px 48px 365px 297px; - background: url(../img/bg_maintenance.png) no-repeat; + margin-top: 50px; + /* > 1200 */ +} +@media (min-width: 1200px) { + #maintenance { + margin: 126px 0 0 0; + padding: 91px 48px 365px 297px; + background: url(../img/bg_maintenance.png) no-repeat; + } } #maintenance .logo { margin-bottom: 31px; diff --git a/themes/default-bootstrap/css/modules/blockcart/blockcart.css b/themes/default-bootstrap/css/modules/blockcart/blockcart.css index a029bf17f..9eb85e975 100644 --- a/themes/default-bootstrap/css/modules/blockcart/blockcart.css +++ b/themes/default-bootstrap/css/modules/blockcart/blockcart.css @@ -51,9 +51,11 @@ position: relative; } #cart_block dd { - padding: 10px 20px; position: relative; } +#cart_block dd li { + padding: 10px 20px; +} #cart_block dd li .deleteCustomizableProduct { top: 12px !important; right: 15px !important; @@ -98,7 +100,7 @@ display: none; position: absolute; right: 0; - top: 132px; + top: 95px; height: auto; width: 270px; background: #484848; @@ -153,7 +155,8 @@ } #cart_block #cart_block_shipping_cost, -#cart_block #cart_block_total { +#cart_block #cart_block_total, +#cart_block #cart_block_wrapping_cost { float: right; } @@ -217,6 +220,8 @@ } #layer_cart .layer_cart_product { padding: 30px 30px 30px 30px; + overflow: hidden; + position: static; } #layer_cart .layer_cart_product h2 { font: 400 23px/29px Arial, Helvetica, sans-serif; @@ -224,12 +229,25 @@ margin-bottom: 22px; padding-right: 100px; } +@media (max-width: 767px) { + #layer_cart .layer_cart_product h2 { + font-size: 18px; + padding-right: 0; + line-height: normal; + } +} #layer_cart .layer_cart_product h2 i { font-size: 30px; line-height: 30px; float: left; padding-right: 8px; } +@media (max-width: 767px) { + #layer_cart .layer_cart_product h2 i { + font-size: 22px; + line-height: 22px; + } +} #layer_cart .layer_cart_product .product-image-container { max-width: 178px; border: 1px solid #d6d4d4; @@ -237,6 +255,13 @@ float: left; margin-right: 30px; } +@media (max-width: 480px) { + #layer_cart .layer_cart_product .product-image-container { + float: none; + margin-right: 0; + margin-bottom: 10px; + } +} #layer_cart .layer_cart_product .layer_cart_product_info { padding: 38px 0 0 0; } @@ -253,15 +278,30 @@ #layer_cart .layer_cart_cart { background: #fafafa; border-left: 1px solid #d6d4d4; - padding: 21px 30px 90px 30px; + padding: 21px 30px 170px 30px; -webkit-border-radius: 0px 4px 4px 0px; -moz-border-radius: 0px 4px 4px 0px; -ms-border-radius: 0px 4px 4px 0px; -o-border-radius: 0px 4px 4px 0px; border-radius: 0px 4px 4px 0px; - min-height: 318px; position: relative; } +@media (min-width: 1200px) { + #layer_cart .layer_cart_cart { + min-height: 318px; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + #layer_cart .layer_cart_cart { + min-height: 360px; + } +} +@media (max-width: 991px) { + #layer_cart .layer_cart_cart { + border-left: none; + border-top: 1px solid #d6d4d4; + } +} #layer_cart .layer_cart_cart h2 { font: 400 23px/29px Arial, Helvetica, sans-serif; color: #333; @@ -269,6 +309,11 @@ padding-bottom: 13px; margin-bottom: 17px; } +@media (max-width: 767px) { + #layer_cart .layer_cart_cart h2 { + font-size: 18px; + } +} #layer_cart .layer_cart_cart .layer_cart_row { padding: 0 0 7px 0; } @@ -289,7 +334,7 @@ padding-right: 5px; color: #777777; } -#layer_cart .layer_cart_cart .cross { +#layer_cart .cross { position: absolute; right: 7px; top: 8px; @@ -297,15 +342,16 @@ height: 25px; cursor: pointer; color: #333; + z-index: 2; } -#layer_cart .layer_cart_cart .cross:before { +#layer_cart .cross:before { content: ""; display: block; font-family: "FontAwesome"; font-size: 25px; line-height: 25px; } -#layer_cart .layer_cart_cart .cross:hover { +#layer_cart .cross:hover { color: #515151; } #layer_cart .continue { @@ -315,18 +361,84 @@ padding: 0px; } -#blockcart_list { - width: 232px; +/************************************************************************ + Layer Cart Caroucel +*************************************************************************/ +#layer_cart .crossseling .crossseling-content { + border-top: 1px solid #d6d4d4; + padding: 26px 30px 40px 30px; + position: relative; +} +#layer_cart .crossseling h2 { + font: 400 23px/26px Arial, Helvetica, sans-serif; + color: #333333; + margin-bottom: 25px; +} +#layer_cart .crossseling #blockcart_list { + max-width: 773px; + width: 84%; + margin: 0 auto; overflow: hidden; } - -#blockcart_list ul { +#layer_cart .crossseling #blockcart_list ul { display: block; - height: 90px; } - -#blockcart_list li { - list-style-type: none; +#layer_cart .crossseling #blockcart_list ul li { float: left; - width: 58px; + width: 178px; + margin: 0 0px 0 0; +} +#layer_cart .crossseling #blockcart_list ul li .product-image-container { + border: 1px solid #d6d4d4; + text-align: center; + padding: 5px; + margin-bottom: 15px; +} +#layer_cart .crossseling #blockcart_list ul li .product-image-container img { + width: 100%; +} +#layer_cart .crossseling #blockcart_list ul li .product-name { + padding-bottom: 5px; +} +#layer_cart .crossseling #blockcart_list ul li .product-name a { + font-size: 15px; + line-height: 20px; +} +#layer_cart .crossseling #blockcart_list a.bx-prev, #layer_cart .crossseling #blockcart_list a.bx-next { + display: block; + font-family: "FontAwesome"; + font-size: 20px; + line-height: 20px; + width: 20px; + height: 20px; + color: #333; + text-indent: -5000px; + position: absolute; + top: 45%; + margin-top: -20px; +} +#layer_cart .crossseling #blockcart_list a.bx-prev:after, #layer_cart .crossseling #blockcart_list a.bx-next:after { + display: block; + text-indent: 0; +} +#layer_cart .crossseling #blockcart_list a.bx-prev:hover, #layer_cart .crossseling #blockcart_list a.bx-next:hover { + color: #c0c0c0; +} +#layer_cart .crossseling #blockcart_list a.bx-prev.disabled, #layer_cart .crossseling #blockcart_list a.bx-next.disabled { + display: none; +} +#layer_cart .crossseling #blockcart_list a.bx-prev { + left: 5%; +} +#layer_cart .crossseling #blockcart_list a.bx-prev:after { + content: ""; +} +#layer_cart .crossseling #blockcart_list a.bx-next { + right: 5%; +} +#layer_cart .crossseling #blockcart_list a.bx-next:after { + content: ""; +} +#layer_cart .crossseling #blockcart_list .bx-controls { + overflow: hidden; } diff --git a/themes/default-bootstrap/css/modules/blockwishlist/blockwishlist.css b/themes/default-bootstrap/css/modules/blockwishlist/blockwishlist.css index 612247285..2bf4cef49 100644 --- a/themes/default-bootstrap/css/modules/blockwishlist/blockwishlist.css +++ b/themes/default-bootstrap/css/modules/blockwishlist/blockwishlist.css @@ -22,22 +22,6 @@ margin-right: 6px; } -/* bt add */ -.add_wishlist_button a { - padding: 5px 7px 5px 18px; -} - -.add_wishlist_button a span { - z-index: 10; - display: block; - position: absolute; - top: -1px; - left: -12px; - height: 26px; - width: 26px; - background: url(img/icon/pict_add_wishlist.png) no-repeat 0 0 transparent; -} - /* block */ #wishlist_block #wishlist_block_list { margin-bottom: 20px; @@ -118,21 +102,23 @@ } #module-blockwishlist-mywishlist .wishlistLinkTop ul.display_list { - border-bottom: 1px dotted #ccc; + border-bottom: 1px solid #d6d4d4; margin-bottom: 20px; } +#module-blockwishlist-mywishlist .wishlistLinkTop ul.display_list a { + display: inline-block; + color: #333; + margin: 10px 10px 10px 0px; + font-weight: bold; +} +#module-blockwishlist-mywishlist .wishlistLinkTop ul.display_list a:hover { + color: #515151; +} #module-blockwishlist-mywishlist .wishlistLinkTop li { float: left; } -#module-blockwishlist-mywishlist .wishlistLinkTop .display_list li a { - display: inline-block; - padding: 7px 11px 5px 22px; - color: #333; - background: url(img/arrow_right_2.png) no-repeat 10px 10px transparent; -} - #module-blockwishlist-mywishlist .wishlistLinkTop #hideSendWishlist { float: right; } @@ -144,17 +130,53 @@ /* wlp_bought ****************************************** */ /* wlp_bought_list */ -ul.wlp_bought_list li .inner-content { +ul.wlp_bought_list li { + margin-bottom: 30px; + /*> 992px*/ + /*768px x 991px*/ +} +ul.wlp_bought_list li .product_image { + padding: 9px; + border: 1px solid #d6d4d4; + margin-bottom: 20px; + max-width: 270px; +} +ul.wlp_bought_list li .product-name { + margin-bottom: 10px; + padding-right: 20px; +} +ul.wlp_bought_list li .product-name small { + display: block; + font-size: 11px; +} +ul.wlp_bought_list li .product-name small a { + font-size: 11px; +} +ul.wlp_bought_list li .product_infos { position: relative; } +ul.wlp_bought_list li .btn_action .btn { + margin-bottom: 10px; +} +@media (min-width: 992px) { + ul.wlp_bought_list li.first-in-line { + clear: left; + } +} +@media (min-width: 768px) and (max-width: 991px) { + ul.wlp_bought_list li.first-item-of-tablet-line { + clear: left; + } +} + +.wishlistLinkTop .submit { + margin-bottom: 30px; +} ul.wlp_bought_list li .lnkdel { position: absolute; - top: 5px; - right: 5px; + top: 0px; + right: 0px; display: block; - height: 12px; - width: 12px; - text-indent: -5000px; - background: url(img/icon/delete.gif) no-repeat 0 0; + font-size: 14px; } diff --git a/themes/default-bootstrap/css/modules/crossselling/crossselling.css b/themes/default-bootstrap/css/modules/crossselling/crossselling.css new file mode 100644 index 000000000..de6746ee6 --- /dev/null +++ b/themes/default-bootstrap/css/modules/crossselling/crossselling.css @@ -0,0 +1 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic); diff --git a/themes/default-bootstrap/css/modules/homeslider/bx_styles.css b/themes/default-bootstrap/css/modules/homeslider/bx_styles.css index bdefa938f..b0696ef66 100644 --- a/themes/default-bootstrap/css/modules/homeslider/bx_styles.css +++ b/themes/default-bootstrap/css/modules/homeslider/bx_styles.css @@ -15,9 +15,15 @@ #homepage-slider { padding-left: 0; padding-right: 0; - padding-top: 30px; - margin-bottom: 30px; + padding-top: 29px; + margin-bottom: 35px; max-width: 779px; + position: relative; + z-index: 1; +} +#homepage-slider #homeslider { + margin: 0 auto; + padding: 0; } /***************************************************************************** @@ -25,35 +31,38 @@ ********************************************************************************/ /** RESET AND LAYOUT ===================================*/ -.bx-wrapper { +#homepage-slider { + /** THEME + ===================================*/ + /* LOADER */ + /* PAGER */ + /* DIRECTION CONTROLS (NEXT / PREV) */ + /* AUTO CONTROLS (START / STOP) */ + /* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */ + /* IMAGE CAPTIONS */ +} +#homepage-slider .bx-wrapper { position: relative; padding: 0; *zoom: 1; } -.bx-wrapper a { +#homepage-slider .bx-wrapper a { display: block; } -.bx-wrapper img { +#homepage-slider .bx-wrapper img { display: block; max-width: 100%; - height: auto; } - -/** THEME -===================================*/ -.bx-wrapper .bx-viewport { +#homepage-slider .bx-wrapper .bx-viewport { width: 100%; } - -.bx-wrapper .bx-pager, -.bx-wrapper .bx-controls-auto { +#homepage-slider .bx-wrapper .bx-pager, +#homepage-slider .bx-wrapper .bx-controls-auto { position: absolute; bottom: -30px; width: 100%; } - -/* LOADER */ -.bx-wrapper .bx-loading { +#homepage-slider .bx-wrapper .bx-loading { min-height: 50px; background: url(images/bx_loader.gif) center center no-repeat white; height: 100%; @@ -63,9 +72,7 @@ left: 0; z-index: 2000; } - -/* PAGER */ -.bx-wrapper .bx-pager { +#homepage-slider .bx-wrapper .bx-pager { text-align: center; font-size: .85em; font-family: Arial; @@ -73,15 +80,13 @@ color: #666; padding-top: 20px; } - -.bx-wrapper .bx-pager .bx-pager-item, -.bx-wrapper .bx-controls-auto .bx-controls-auto-item { +#homepage-slider .bx-wrapper .bx-pager .bx-pager-item, +#homepage-slider .bx-wrapper .bx-controls-auto .bx-controls-auto-item { display: inline-block; *zoom: 1; *display: inline; } - -.bx-wrapper .bx-pager.bx-default-pager a { +#homepage-slider .bx-wrapper .bx-pager.bx-default-pager a { background: #666; text-indent: -9999px; display: block; @@ -93,52 +98,71 @@ -webkit-border-radius: 5px; border-radius: 5px; } - -.bx-wrapper .bx-pager.bx-default-pager a:hover, -.bx-wrapper .bx-pager.bx-default-pager a.active { +#homepage-slider .bx-wrapper .bx-pager.bx-default-pager a:hover, +#homepage-slider .bx-wrapper .bx-pager.bx-default-pager a.active { background: #000; } - -/* DIRECTION CONTROLS (NEXT / PREV) */ -.bx-wrapper .bx-prev { - left: 10px; - background: url(images/controls.png) no-repeat 0 -32px; +#homepage-slider .bx-wrapper .bx-prev { + right: 60px; } - -.bx-wrapper .bx-next { +#homepage-slider .bx-wrapper .bx-prev:after { + content: ""; +} +#homepage-slider .bx-wrapper .bx-next { right: 10px; - background: url(images/controls.png) no-repeat -43px -32px; } - -.bx-wrapper .bx-prev:hover { - background-position: 0 0; +#homepage-slider .bx-wrapper .bx-next:after { + content: ""; } - -.bx-wrapper .bx-next:hover { - background-position: -43px 0; -} - -.bx-wrapper .bx-controls-direction a { +#homepage-slider .bx-wrapper .bx-controls-direction a { position: absolute; - top: 50%; - margin-top: -16px; + bottom: 10px; outline: 0; - width: 32px; - height: 32px; + width: 52px; + height: 52px; text-indent: -9999px; z-index: 9999; + border: 2px solid #fff; } - -.bx-wrapper .bx-controls-direction a.disabled { +#homepage-slider .bx-wrapper .bx-controls-direction a:before { + height: 48px; + width: 48px; + display: block; + background: #fff; + content: "."; + opacity: 0.14; + text-indent: -9999px; + position: absolute; + left: 0; + top: 0; + z-index: 1; +} +#homepage-slider .bx-wrapper .bx-controls-direction a:after { + display: block; + width: 48px; + height: 48px; + color: #fff; + text-indent: 0; + text-align: center; + font-size: 21px; + font-family: "FontAwesome"; + position: absolute; + top: 0; + left: 0; + z-index: 2; + padding: 16px 0 0 0; +} +#homepage-slider .bx-wrapper .bx-controls-direction a:hover:before { + background: #333; + opacity: 0.83; +} +#homepage-slider .bx-wrapper .bx-controls-direction a.disabled { display: none; } - -/* AUTO CONTROLS (START / STOP) */ -.bx-wrapper .bx-controls-auto { +#homepage-slider .bx-wrapper .bx-controls-auto { text-align: center; } - -.bx-wrapper .bx-controls-auto .bx-start { +#homepage-slider .bx-wrapper .bx-controls-auto .bx-start { display: block; text-indent: -9999px; width: 10px; @@ -147,13 +171,11 @@ background: url(images/controls.png) -86px -11px no-repeat; margin: 0 3px; } - -.bx-wrapper .bx-controls-auto .bx-start:hover, -.bx-wrapper .bx-controls-auto .bx-start.active { +#homepage-slider .bx-wrapper .bx-controls-auto .bx-start:hover, +#homepage-slider .bx-wrapper .bx-controls-auto .bx-start.active { background-position: -86px 0; } - -.bx-wrapper .bx-controls-auto .bx-stop { +#homepage-slider .bx-wrapper .bx-controls-auto .bx-stop { display: block; text-indent: -9999px; width: 9px; @@ -162,25 +184,19 @@ background: url(images/controls.png) -86px -44px no-repeat; margin: 0 3px; } - -.bx-wrapper .bx-controls-auto .bx-stop:hover, -.bx-wrapper .bx-controls-auto .bx-stop.active { +#homepage-slider .bx-wrapper .bx-controls-auto .bx-stop:hover, +#homepage-slider .bx-wrapper .bx-controls-auto .bx-stop.active { background-position: -86px -33px; } - -/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */ -.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager { +#homepage-slider .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager { text-align: left; width: 80%; } - -.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto { +#homepage-slider .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto { right: 0; width: 35px; } - -/* IMAGE CAPTIONS */ -.bx-wrapper .bx-caption { +#homepage-slider .bx-wrapper .bx-caption { position: absolute; bottom: 0; left: 0; @@ -188,8 +204,7 @@ background: rgba(80, 80, 80, 0.75); width: 100%; } - -.bx-wrapper .bx-caption span { +#homepage-slider .bx-wrapper .bx-caption span { color: #fff; font-family: Arial; display: block; diff --git a/themes/default-bootstrap/css/modules/productcomments/img/star.png b/themes/default-bootstrap/css/modules/productcomments/img/star.png new file mode 100644 index 000000000..1bf6cf2ee Binary files /dev/null and b/themes/default-bootstrap/css/modules/productcomments/img/star.png differ diff --git a/themes/default-bootstrap/css/modules/productcomments/productcomments.css b/themes/default-bootstrap/css/modules/productcomments/productcomments.css index 63f104521..964fa548e 100644 --- a/themes/default-bootstrap/css/modules/productcomments/productcomments.css +++ b/themes/default-bootstrap/css/modules/productcomments/productcomments.css @@ -86,7 +86,7 @@ #product_comments_block_extra .comments_note { margin-bottom: 5px; } -#product_comments_block_extra #product_comments_block_extra .comments_note span, +#product_comments_block_extra .comments_note span, #product_comments_block_extra .star_content { float: left; color: #333; @@ -95,10 +95,10 @@ margin-top: 1px; } #product_comments_block_extra div.star { - background: url(img/star.gif) no-repeat 0 0; + background: url(img/star.png) no-repeat 0 0; } #product_comments_block_extra div.star_on { - background: url(img/star.gif) no-repeat 0 -13px; + background: url(img/star.png) no-repeat 0 -13px; } #product_comments_block_extra .comments_advices { clear: both; @@ -254,7 +254,7 @@ } #product_comments_block_tab div.star, #product_comments_block_tab div.star_on { - background: url(img/star.gif) no-repeat 0 0 transparent; + background: url(img/star.png) no-repeat 0 0; } #product_comments_block_tab div.star_on { background-position: 0 -13px; @@ -285,8 +285,13 @@ margin: 0; } #product_comments_block_tab div.comment_details li { - padding: 2px 0 2px 12px; - background: url(img/bg_li.png) no-repeat 1px 45% white; + padding: 2px 0 2px; +} +#product_comments_block_tab div.comment_details li:before { + font-family: FontAwesome; + content: ""; + color: #333; + margin-right: 8px; } #product_comments_block_tab div.comment_details .title_block { text-transform: capitalize; diff --git a/themes/default-bootstrap/css/modules/productscategory/productscategory.css b/themes/default-bootstrap/css/modules/productscategory/productscategory.css index 20b48ca69..e69de29bb 100644 --- a/themes/default-bootstrap/css/modules/productscategory/productscategory.css +++ b/themes/default-bootstrap/css/modules/productscategory/productscategory.css @@ -1,50 +0,0 @@ -@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic); -h2.productscategory_h2 { - margin: 40px 0 20px 0; - padding: 10px 0; - border-bottom: 1px solid #ccc; - font-size: 18px; - color: #333333; -} - -#productscategory { - overflow: auto; - margin-left: -10px; -} - -#productscategory_list { - overflow: hidden; -} -#productscategory_list ul { - list-style-type: none; - overflow: hidden; -} -#productscategory_list li a.lnk_img { - display: block; -} - -#productscategory_noscroll { - height: 220px; - width: 100%; - margin-bottom: 30px; -} - -#productscategory_scroll_left, #productscategory_scroll_right { - background: url("img/thumbs_left.gif") no-repeat center; - text-indent: -3000px; - display: block; - width: 9px; - height: 18px; - float: left; - margin-top: 30px; -} - -#productscategory_scroll_right { - background-image: url("img/thumbs_right.gif"); -} - -@media screen and (-webkit-min-device-pixel-ratio: 0) { - #productscategory_list li { - margin: 0 7px; - } -} diff --git a/themes/default-bootstrap/css/modules/stripejs/stripe-prestashop.css b/themes/default-bootstrap/css/modules/stripejs/stripe-prestashop.css index 0a6dbd629..fa8a0cb60 100644 --- a/themes/default-bootstrap/css/modules/stripejs/stripe-prestashop.css +++ b/themes/default-bootstrap/css/modules/stripejs/stripe-prestashop.css @@ -1,3 +1,4 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic); #stripe-payment-form { line-height: 20px; padding-bottom: 7px; @@ -6,7 +7,7 @@ margin-bottom: 5px; } #stripe-payment-form .form-group input.stripe-card-number { - width: 263px; + max-width: 263px; } #stripe-payment-form .block-left { float: left; @@ -33,24 +34,38 @@ #stripe-payment-form .stripe-card-cvc-info:hover { text-decoration: none; } -#stripe-payment-form .stripe-card-expiry-year.form-control, #stripe-payment-form .stripe-card-expiry-month.form-control { +#stripe-payment-form #uniform-month, #stripe-payment-form .stripe-card-expiry-year.form-control, #stripe-payment-form #uniform-year, #stripe-payment-form .stripe-card-expiry-month.form-control { float: left; } #stripe-payment-form .stripe-card-expiry-year.form-control { width: 68px; } -#stripe-payment-form .stripe-card-expiry-month.form-control { +#stripe-payment-form #uniform-month, #stripe-payment-form .stripe-card-expiry-month.form-control { width: 115px; margin-right: 10px; } #stripe-payment-form .stripe-line { margin-bottom: 11px; } +@media (max-width: 479px) { + #stripe-payment-form .stripe-line .form-group { + clear: left; + width: 100%; + } +} #stripe-payment-form .ckeckbox { margin-bottom: 11px; } +#stripe-payment-form .ckeckbox .checker { + float: left; +} +#stripe-payment-form .ckeckbox .checker span { + top: 2px; +} #stripe-payment-form .ckeckbox label { font-weight: normal; + cursor: pointer; + color: #777777; } a.stripe-card-cvc-info div.cvc-info { diff --git a/themes/default-bootstrap/css/order-opc.css b/themes/default-bootstrap/css/order-opc.css index b49b62700..7bb48d8fd 100644 --- a/themes/default-bootstrap/css/order-opc.css +++ b/themes/default-bootstrap/css/order-opc.css @@ -29,7 +29,7 @@ margin-bottom: 2px; } #order-opc .form-group .form-control { - width: 271px; + max-width: 271px; } #order-opc .lost_password { display: inline-block; diff --git a/themes/default-bootstrap/css/product.css b/themes/default-bootstrap/css/product.css index c474ad0b7..f07269c58 100644 --- a/themes/default-bootstrap/css/product.css +++ b/themes/default-bootstrap/css/product.css @@ -11,19 +11,6 @@ margin: 2px 0 31px; } -.product-image { - border: 1px solid #d6d4d4; - background: white; - padding: 5px; - display: block; - margin-bottom: 14px; -} -.product-image img { - max-width: 100%; - width: 100%; - height: auto; -} - .product-heading-h5 { color: #333; font-weight: bold; @@ -32,7 +19,6 @@ .box-security .product-heading-h5 { margin: 3px 0 -8px; - /*max 1199px*/ } @media (max-width: 1199px) { .box-security .product-heading-h5 { @@ -40,43 +26,21 @@ } } -.name-product { +#productscategory_list .product-name, +.accessories-block .product-name { margin-bottom: 5px; } -.name-product a { +#productscategory_list .product-name a, +.accessories-block .product-name a { font-size: 15px; line-height: 18px; color: #3a3939; } -.name-product a:hover { +#productscategory_list .product-name a:hover, +.accessories-block .product-name a:hover { color: #999999; } -.product-box { - width: 178px; - margin: 0 10px; - float: left; -} - -h3.page-product-heading { - color: #555454; - text-transform: uppercase; - font-family: "Open Sans", sans-serif; - font-weight: 600; - font-size: 18px; - line-height: 20px; - padding: 14px 20px 17px; - margin: 0 0 20px; - position: relative; - border: 1px solid #d6d4d4; - border-bottom: none; - background: #fbfbfb; -} - -.page-product-box { - padding-bottom: 10px; -} - img { max-width: 100%; height: auto; @@ -88,7 +52,6 @@ img { padding: 5px; border: 1px solid #dbdbdb; background: #fff; - /*max 767px*/ } @media (max-width: 767px) { #pb-right-column #image-block { @@ -150,9 +113,6 @@ img { overflow: hidden; float: left; width: 392px; - /*min 992px max 1199px*/ - /* min 768px max 991px*/ - /*max 767px*/ } @media (min-width: 992px) and (max-width: 1199px) { #thumbs_list { @@ -186,7 +146,6 @@ img { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; - /*min 768px max 991px*/ } @media (min-width: 768px) and (max-width: 991px) { #thumbs_list li { @@ -223,7 +182,6 @@ img { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; - /*min 768px max 991px*/ } @media (min-width: 768px) and (max-width: 991px) { #thumbs_list li img { @@ -236,7 +194,6 @@ span.view_scroll_spacer { float: left; width: 39px; padding-left: 12px; - /*min 768px max 991px*/ } @media (min-width: 768px) and (max-width: 991px) { span.view_scroll_spacer { @@ -253,7 +210,6 @@ span.view_scroll_spacer { line-height: 0; font-size: 0; overflow: hidden; - /*min 768px max 991px*/ } @media (min-width: 768px) and (max-width: 991px) { #view_scroll_left, @@ -289,6 +245,9 @@ span.view_scroll_spacer { .resetimg { padding: 10px 0 0; } +.resetimg #resetImages i { + margin-right: 6px; +} /* link list */ #usefull_link_block { @@ -296,13 +255,20 @@ span.view_scroll_spacer { } #usefull_link_block li { float: left; - /*min 768px max 991px*/ + border-left: 1px solid #d6d4d4; + padding-left: 20px; + margin-left: 20px; } @media (min-width: 768px) and (max-width: 991px) { #usefull_link_block li { float: none !important; } } +#usefull_link_block li:first-child { + margin: 0; + border: none; + padding: 0; +} #usefull_link_block li a { color: #777676; font-weight: bold; @@ -324,12 +290,6 @@ span.view_scroll_spacer { #usefull_link_block li a:hover { color: #000; } -#usefull_link_block li.print { - border-left: 1px solid #d6d4d4; - padding-left: 20px; - margin-left: 20px; - /*min 768px max 991px*/ -} @media (min-width: 768px) and (max-width: 991px) { #usefull_link_block li.print { margin: 8px 0 0; @@ -340,9 +300,62 @@ span.view_scroll_spacer { #usefull_link_block li.print a:before { content: ""; } +#usefull_link_block li.sendtofriend { + margin: 0; + border: none; + padding: 0; +} #usefull_link_block li.sendtofriend a:before { content: ""; } +#usefull_link_block li#left_share_fb { + clear: both; + float: none; + margin-bottom: 8px; +} +#usefull_link_block li#left_share_fb a { + padding-left: 18px; +} +#usefull_link_block li#left_share_fb a:before { + content: ""; +} +#usefull_link_block li#favoriteproducts_block_extra_remove, +#usefull_link_block li#favoriteproducts_block_extra_add, +#usefull_link_block li#favoriteproducts_block_extra_removed, +#usefull_link_block li#favoriteproducts_block_extra_added { + cursor: pointer; + font-weight: bold; + clear: both; + float: none; + margin-bottom: 8px; + padding-left: 24px; + margin-left: 0; + border: none; + position: relative; +} +#usefull_link_block li#favoriteproducts_block_extra_remove:before, +#usefull_link_block li#favoriteproducts_block_extra_add:before, +#usefull_link_block li#favoriteproducts_block_extra_removed:before, +#usefull_link_block li#favoriteproducts_block_extra_added:before { + font-family: FontAwesome; + color: #333; + font-size: 19px; + line-height: 24px; + position: absolute; + top: -2px; + left: 0; + font-weight: normal; + content: ""; +} +#usefull_link_block li#favoriteproducts_block_extra_remove:hover, +#usefull_link_block li#favoriteproducts_block_extra_add:hover, +#usefull_link_block li#favoriteproducts_block_extra_removed:hover, +#usefull_link_block li#favoriteproducts_block_extra_added:hover { + color: #000; +} +#usefull_link_block li#favoriteproducts_block_extra_removed:before { + content: ""; +} /* pb-left-column ****************************************************************************** */ #pb-left-column { @@ -422,11 +435,6 @@ span.view_scroll_spacer { text-align: right; } -.ie7 #pb-left-column #buy_block label { - margin-right: 5px; - float: left; -} - #short_description_block #short_description_content { padding: 0 0 15px; } @@ -447,17 +455,13 @@ span.view_scroll_spacer { } #attributes .attribute_list { - display: inline-block; + width: 100%; } - -.ie7 #attributes .attribute_list { - display: inline; - zoom: 1; - float: right; +#attributes .attribute_list .form-control { + max-width: 230px; } #attributes .attribute_list ul { - list-style: none; clear: both; } @@ -478,10 +482,6 @@ span.view_scroll_spacer { display: inline-block; } -.ie7 #attributes .attribute_list span { - margin-top: 1px; -} - #attributes .attribute_list #color_to_pick_list { list-style-type: none; } @@ -516,7 +516,7 @@ span.view_scroll_spacer { padding: 18px 19px 12px; } -.box-info-product #add_to_cart { +.box-info-product .exclusive { padding: 0; border-top: 1px solid #0079b6; border-right: 1px solid #006fa8; @@ -528,9 +528,9 @@ span.view_scroll_spacer { -o-border-radius: 5px; border-radius: 5px; position: relative; - display: inline-block; + display: block; } -.box-info-product #add_to_cart:before { +.box-info-product .exclusive:before { font-family: FontAwesome; position: absolute; top: 0; @@ -541,32 +541,22 @@ span.view_scroll_spacer { line-height: 47px; text-shadow: 0 1px #015883; content: ""; - z-index: 10; + z-index: 2; width: 51px; text-align: center; - border-top: 1px solid #06b2e6; - border-right: 1px solid #06b2e6; - border-left: 1px solid #06b2e6; - border-bottom: 1px solid #06b2e6; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #009ad0), color-stop(100%, #007ab7)); - background-image: -webkit-linear-gradient(#009ad0, #007ab7); - background-image: -moz-linear-gradient(#009ad0, #007ab7); - background-image: -o-linear-gradient(#009ad0, #007ab7); - background-image: linear-gradient(#009ad0, #007ab7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#009ad0', endColorstr='#007ab7',GradientType=0 ); + border: 1px solid #06b2e6; -webkit-border-radius: 5px 0 0 5px; -moz-border-radius: 5px 0 0 5px; -ms-border-radius: 5px 0 0 5px; -o-border-radius: 5px 0 0 5px; border-radius: 5px 0 0 5px; - /*max 991px*/ } @media (max-width: 991px) { - .box-info-product #add_to_cart:before { + .box-info-product .exclusive:before { display: none; } } -.box-info-product #add_to_cart:after { +.box-info-product .exclusive:after { background: url(../img/border-1.gif) repeat-y 0 0; position: absolute; top: 0; @@ -574,16 +564,15 @@ span.view_scroll_spacer { left: 51px; content: ""; width: 1px; - z-index: 10; - /* max 991px*/ + z-index: 2; } @media (max-width: 991px) { - .box-info-product #add_to_cart:after { + .box-info-product .exclusive:after { display: none; } } -.box-info-product .exclusive { +.box-info-product .exclusive span { background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #009ad0), color-stop(100%, #007ab7)); background-image: -webkit-linear-gradient(#009ad0, #007ab7); background-image: -moz-linear-gradient(#009ad0, #007ab7); @@ -604,25 +593,27 @@ span.view_scroll_spacer { border-bottom: 1px solid #06b2e6; text-shadow: 0 1px #015883; padding: 12px 36px 14px 82px; - text-align: right; color: #fff; display: block !important; - /* max 1199px*/ - /*max 991px*/ + -webkit-transition: all 0s ease; + -moz-transition: all 0s ease; + -o-transition: all 0s ease; + transition: all 0.3s ease; } @media (max-width: 1199px) { - .box-info-product .exclusive { + .box-info-product .exclusive span { padding: 12px 22px 14px 70px; font-size: 14px; } } @media (max-width: 991px) { - .box-info-product .exclusive { + .box-info-product .exclusive span { padding: 8px 12px 10px; text-align: left; } } -.box-info-product .exclusive:hover { + +.box-info-product .exclusive:hover span { background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #007ab7), color-stop(100%, #009ad0)); background-image: -webkit-linear-gradient(#007ab7, #009ad0); background-image: -moz-linear-gradient(#007ab7, #009ad0); @@ -664,6 +655,11 @@ table.table-produst-discounts { margin: 0 0 20px; background: #fff; } +@media (max-width: 767px) { + table.table-produst-discounts { + width: 100%; + } +} table.table-produst-discounts tr th { background: #fbfbfb; color: #333; @@ -715,17 +711,12 @@ table.table-produst-discounts tr th { width: 78px; height: 27px; padding: 0 6px; + float: left; border: 1px solid #d6d4d4; - /*min 768px max 991px*/ } -@media (min-width: 768px) and (max-width: 991px) { - #quantity_wanted_p input { - width: 100%; - margin-bottom: 4px; - } -} -#quantity_wanted_p button { - margin-top: -2px; +#quantity_wanted_p .btn { + float: left; + margin-left: 3px; } #quantity_wanted_p label { display: block; @@ -766,6 +757,8 @@ table.table-produst-discounts tr th { background: #ff7430; border: 1px solid #ea5e1a; padding: 4px 8px 3px; + position: relative; + top: 1px; } #availability_statut, @@ -830,7 +823,6 @@ table.table-produst-discounts tr th { line-height: 32px; font-family: "Open Sans", sans-serif; color: #333; - /*max 991px*/ } @media (max-width: 991px) { .our_price_display { @@ -884,8 +876,7 @@ table.table-produst-discounts tr th { } } .ie9 .content_prices #add_to_cart .exclusive, .ie9 .content_prices #add_to_cart .exclusive_disabled, -.ie8 .content_prices #add_to_cart .exclusive, .ie8 .content_prices #add_to_cart .exclusive_disabled, -.ie7 .content_prices #add_to_cart .exclusive, .ie7 .content_prices #add_to_cart .exclusive_disabled { +.ie8 .content_prices #add_to_cart .exclusive, .ie8 .content_prices #add_to_cart .exclusive_disabled { padding: 8px 7px 4px 15px; line-height: 12px; } @@ -986,13 +977,6 @@ table.table-produst-discounts tr th { text-align: right; } -/* PACK ##################################################################### */ -#blockpack { - margin-top: 20px; - padding-top: 20px; - border-top: 1px dotted #999; -} - /* PERSONNALISATION ##################################################################### */ .customization_block p.infoCustomizable { margin: 10px 0 20px; @@ -1040,3 +1024,194 @@ ul#uploadable_files, ul#text_fields { .accessories_block div ul li .s_title_block a, .accessories_block div ul li .s_title_block span { font-weight: bold; } + +/****************************************************************** + Quick View Styles +******************************************************************/ +#product.content_only div#primary_block, #product.content_only section#primary_block { + margin-bottom: 0; +} +@media (max-width: 991px) { + #product.content_only div#primary_block, #product.content_only section#primary_block { + margin-right: 0; + } +} +#product.content_only div#primary_block div#pb-right-column, #product.content_only section#primary_block div#pb-right-column { + padding: 20px 20px 5px 35px; + width: 47%; +} +@media (max-width: 479px) { + #product.content_only div#primary_block div#pb-right-column, #product.content_only section#primary_block div#pb-right-column { + width: 100%; + float: none; + } +} +#product.content_only div#primary_block div#pb-right-column span.view_scroll_spacer, #product.content_only section#primary_block div#pb-right-column span.view_scroll_spacer { + width: 38px; + padding-left: 10px; +} +#product.content_only div#primary_block div#pb-right-column #thumbs_list, #product.content_only section#primary_block div#pb-right-column #thumbs_list { + width: 392px; +} +#product.content_only div#primary_block div#pb-left-column, #product.content_only section#primary_block div#pb-left-column { + padding: 20px 20px 60px 0px; + width: 27.5%; + margin-bottom: 0; + min-height: 623px; + height: 100%; +} +@media (max-width: 991px) { + #product.content_only div#primary_block div#pb-left-column, #product.content_only section#primary_block div#pb-left-column { + min-height: 440px; + } +} +@media (max-width: 479px) { + #product.content_only div#primary_block div#pb-left-column, #product.content_only section#primary_block div#pb-left-column { + width: 100%; + float: none; + } +} +#product.content_only div#primary_block div#pb-left-column .product_comments_block_extra, #product.content_only section#primary_block div#pb-left-column .product_comments_block_extra { + padding-right: 0; +} +@media (max-width: 479px) { + #product.content_only div#primary_block div#pb-left-column .comments_advices li, #product.content_only section#primary_block div#pb-left-column .comments_advices li { + display: block; + } + #product.content_only div#primary_block div#pb-left-column .comments_advices a.reviews, #product.content_only section#primary_block div#pb-left-column .comments_advices a.reviews { + margin: 0; + padding: 0; + border: none; + } +} +#product.content_only div#primary_block div#pb-left-column #ShareDiv, #product.content_only section#primary_block div#pb-left-column #ShareDiv { + position: absolute; + bottom: 8px; +} +#product.content_only div#primary_block div#pb-right-column1, #product.content_only section#primary_block div#pb-right-column1 { + width: 25.5%; + padding-right: 15px; + padding-left: 0; +} +#product.content_only div#primary_block div#pb-right-column1 .box-info-product, #product.content_only section#primary_block div#pb-right-column1 .box-info-product { + border-top-width: 0px; + border-right: none; + border-bottom: none; + min-height: 623px; + height: 100%; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + -ms-border-radius: 0 4px 4px 0; + -o-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; + position: relative; + padding-bottom: 125px; +} +@media (max-width: 991px) { + #product.content_only div#primary_block div#pb-right-column1 .box-info-product, #product.content_only section#primary_block div#pb-right-column1 .box-info-product { + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + -o-border-radius: 0; + border-radius: 0; + border: 1px solid #d6d4d4; + } +} +#product.content_only div#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive, #product.content_only section#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive { + display: block; + width: 100%; +} +#product.content_only div#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive:before, #product.content_only div#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive:after, #product.content_only section#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive:before, #product.content_only section#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive:after { + display: block; +} +#product.content_only div#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive span, #product.content_only section#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive span { + font-size: 20px; + text-align: center; +} +@media (max-width: 1199px) { + #product.content_only div#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive span, #product.content_only section#primary_block div#pb-right-column1 .box-info-product #add_to_cart .exclusive span { + padding: 12px 22px 14px 70px; + font-size: 20px; + } +} +#product.content_only div#primary_block div#pb-right-column1 .box-info-product .box-cart-bottom, #product.content_only section#primary_block div#pb-right-column1 .box-info-product .box-cart-bottom { + position: absolute; + bottom: 0; + right: 0; + left: 0; +} +#product.content_only div#primary_block div#pb-right-column1 #attributes .attribute_list .form-control, #product.content_only section#primary_block div#pb-right-column1 #attributes .attribute_list .form-control { + width: 230px; +} +#product.content_only div#primary_block div#pb-right-column1 .product_attributes, #product.content_only div#primary_block div#pb-right-column1 .box-cart-bottom, #product.content_only section#primary_block div#pb-right-column1 .product_attributes, #product.content_only section#primary_block div#pb-right-column1 .box-cart-bottom { + -webkit-box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px; + -moz-box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px; + box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px; +} +#product.content_only div#primary_block div#pb-right-column1 .product_attributes, #product.content_only section#primary_block div#pb-right-column1 .product_attributes { + padding-top: 0; +} + +.addsharethisinner .stButton .stArrow { + display: none !important; +} + +@media (max-width: 1050px) { + #product.content_only div#primary_block div#pb-right-column, #product.content_only section#primary_block div#pb-right-column { + width: 100%; + padding-right: 15px; + } + #product.content_only div#primary_block div#pb-right-column #image-block, #product.content_only div#primary_block div#pb-right-column #views_block, #product.content_only section#primary_block div#pb-right-column #image-block, #product.content_only section#primary_block div#pb-right-column #views_block { + max-width: 470px; + width: 100%; + margin-left: auto; + margin-right: auto; + } + #product.content_only div#primary_block div#pb-right-column #thumbs_list li, #product.content_only section#primary_block div#pb-right-column #thumbs_list li { + width: 90px; + height: 90px; + } + #product.content_only div#primary_block div#pb-right-column #thumbs_list li img, #product.content_only section#primary_block div#pb-right-column #thumbs_list li img { + width: 82px; + height: 82px; + } + #product.content_only div#primary_block div#pb-left-column, #product.content_only section#primary_block div#pb-left-column { + width: 50%; + float: left; + padding-left: 35px; + } + #product.content_only div#primary_block div#pb-right-column1, #product.content_only section#primary_block div#pb-right-column1 { + width: 50%; + float: left; + } + #product.content_only div#primary_block div#pb-right-column1 .box-info-product, #product.content_only section#primary_block div#pb-right-column1 .box-info-product { + border-top-width: 1px; + min-height: 1px; + } +} +@media (max-width: 1050px) and (max-width: 479px) { + #product.content_only div#primary_block, #product.content_only section#primary_block { + margin-left: 0; + } +} +@media (max-width: 1050px) and (max-width: 479px) { + #product.content_only div#primary_block div#pb-left-column, #product.content_only section#primary_block div#pb-left-column { + width: 100%; + float: none; + padding-left: 15px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } +} +@media (max-width: 1050px) and (max-width: 479px) { + #product.content_only div#primary_block div#pb-right-column1, #product.content_only section#primary_block div#pb-right-column1 { + margin-top: 10px; + width: 100%; + float: none; + padding-left: 15px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } +} diff --git a/themes/default-bootstrap/css/product_list.css b/themes/default-bootstrap/css/product_list.css index 4ba56dd55..89b57610c 100644 --- a/themes/default-bootstrap/css/product_list.css +++ b/themes/default-bootstrap/css/product_list.css @@ -30,6 +30,32 @@ ul.product_list .color-list-container ul li a { height: 23px; margin: 1px; } +ul.product_list .product-image-container .quick-view { + font: 700 13px/16px Arial, Helvetica, sans-serif; + color: #777676; + position: absolute; + left: 50%; + top: 50%; + margin: -21px 0 0 -53px; + padding: 13px 0 0; + background: rgba(255, 255, 255, 0.82); + width: 107px; + height: 43px; + text-align: center; + -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0 2px 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.16) 0 2px 8px; + box-shadow: rgba(0, 0, 0, 0.16) 0 2px 8px; +} +@media (min-width: 1200px) { + ul.product_list .product-image-container .quick-view { + display: none; + } +} +@media (max-width: 767px) { + ul.product_list .product-image-container .quick-view { + display: none; + } +} /******************************************************* Product list(Grid) Styles @@ -38,6 +64,11 @@ ul.product_list.grid > li { margin-bottom: 20px; text-align: center; } +@media (min-width: 480px) and (max-width: 767px) { + ul.product_list.grid > li { + width: 50%; + } +} ul.product_list.grid > li .product-container { background: #fff; padding: 0; @@ -49,6 +80,13 @@ ul.product_list.grid > li .product-container .product-image-container { margin-bottom: 13px; position: relative; } +@media (max-width: 767px) { + ul.product_list.grid > li .product-container .product-image-container { + max-width: 290px; + margin-left: auto; + margin-right: auto; + } +} ul.product_list.grid > li .product-container .product-image-container .content_price { position: absolute; left: 0; @@ -82,17 +120,25 @@ ul.product_list.grid > li .product-container .old-price { margin-right: 5px; } ul.product_list.grid > li .product-container .button-container { - display: none; margin-bottom: 14px; } +@media (min-width: 1200px) { + ul.product_list.grid > li .product-container .button-container { + display: none; + } +} ul.product_list.grid > li .product-container .button-container .ajax_add_to_cart_button, ul.product_list.grid > li .product-container .button-container span.button { margin-right: 6px; } ul.product_list.grid > li .product-container .functional-buttons { - display: none; background: url(../img/functional-bt-shadow.png) repeat-x; padding: 11px 0 5px; } +@media (min-width: 1200px) { + ul.product_list.grid > li .product-container .functional-buttons { + display: none; + } +} ul.product_list.grid > li .product-container .functional-buttons div { width: 50%; float: left; @@ -109,38 +155,80 @@ ul.product_list.grid > li .product-container .functional-buttons div a:hover, ul ul.product_list.grid > li .product-container .functional-buttons div.wishlist { border-right: 1px solid #d6d4d4; } +@media (min-width: 992px) and (max-width: 1199px) { + ul.product_list.grid > li .product-container .functional-buttons div.wishlist { + border-right: 0; + } + ul.product_list.grid > li .product-container .functional-buttons div.wishlist i { + display: none; + } +} +@media (min-width: 480px) and (max-width: 767px) { + ul.product_list.grid > li .product-container .functional-buttons div.wishlist { + border-right: 0; + } + ul.product_list.grid > li .product-container .functional-buttons div.wishlist i { + display: none; + } +} ul.product_list.grid > li .product-container .functional-buttons div.compare:before { content: ""; display: inline-block; font-family: 'FontAwesome'; } +@media (min-width: 992px) and (max-width: 1199px) { + ul.product_list.grid > li .product-container .functional-buttons div.compare:before { + display: none; + } +} +@media (min-width: 480px) and (max-width: 767px) { + ul.product_list.grid > li .product-container .functional-buttons div.compare:before { + display: none; + } +} ul.product_list.grid > li .product-container .functional-buttons div.compare.compare.checked:before { content: ""; } -ul.product_list.grid > li .product-container:hover { - -webkit-box-shadow: rgba(0, 0, 0, 0.17) 0 0 13px; - -moz-box-shadow: rgba(0, 0, 0, 0.17) 0 0 13px; - box-shadow: rgba(0, 0, 0, 0.17) 0 0 13px; - margin-bottom: -48px; - position: relative; - z-index: 2; +@media (min-width: 1200px) { + ul.product_list.grid > li .product-container:hover { + -webkit-box-shadow: rgba(0, 0, 0, 0.17) 0 0 13px; + -moz-box-shadow: rgba(0, 0, 0, 0.17) 0 0 13px; + box-shadow: rgba(0, 0, 0, 0.17) 0 0 13px; + position: relative; + z-index: 2; + } + ul.product_list.grid > li .product-container:hover .content_price { + display: none; + } + ul.product_list.grid > li .product-container:hover .product-image-container .content_price { + display: block; + } + ul.product_list.grid > li .product-container:hover .product-image-container .quick-view { + display: block; + } + ul.product_list.grid > li .product-container:hover .button-container, ul.product_list.grid > li .product-container:hover .functional-buttons { + display: block; + } } -ul.product_list.grid > li .product-container:hover .content_price { - display: none; +@media (min-width: 992px) { + ul.product_list.grid > li.first-in-line { + clear: left; + } } -ul.product_list.grid > li .product-container:hover .product-image-container .content_price { - display: block; -} -ul.product_list.grid > li .product-container:hover .button-container, ul.product_list.grid > li .product-container:hover .functional-buttons { - display: block; -} -ul.product_list.grid > li.first-in-line { - clear: left; +@media (min-width: 480px) and (max-width: 991px) { + ul.product_list.grid > li.first-item-of-tablet-line { + clear: left; + } } /******************************************************* Product list(List) Styles ********************************************************/ +@media (max-width: 479px) { + ul.product_list.list > li .left-block { + width: 100%; + } +} ul.product_list.list > li .product-container { border-top: 1px solid #d6d4d4; padding: 30px 0 30px; @@ -150,6 +238,12 @@ ul.product_list.list > li .product-image-container { border: 1px solid #d6d4d4; padding: 9px; } +@media (max-width: 479px) { + ul.product_list.list > li .product-image-container { + max-width: 290px; + margin: 0 auto; + } +} ul.product_list.list > li .product-image-container .content_price { display: none !important; } @@ -166,30 +260,89 @@ ul.product_list.list > li h5 { ul.product_list.list > li .product-desc { margin-bottom: 15px; } -ul.product_list.list > li .right-block .right-block-content { - border-left: 1px solid #d6d4d4; - padding-left: 30px; - padding-bottom: 16px; +@media (max-width: 479px) { + ul.product_list.list > li .center-block { + width: 100%; + } +} +@media (min-width: 992px) { + ul.product_list.list > li .right-block .right-block-content { + margin: 0; + border-left: 1px solid #d6d4d4; + padding-left: 15px; + padding-bottom: 16px; + } +} +@media (max-width: 991px) { + ul.product_list.list > li .right-block .right-block-content { + padding-top: 20px; + } +} +@media (max-width: 479px) { + ul.product_list.list > li .right-block .right-block-content { + padding-top: 5px; + } } ul.product_list.list > li .right-block .right-block-content .content_price { - padding-bottom: 24px; + padding-bottom: 10px; +} +@media (max-width: 991px) { + ul.product_list.list > li .right-block .right-block-content .content_price { + padding-top: 13px; + padding-bottom: 0; + } +} +@media (max-width: 479px) { + ul.product_list.list > li .right-block .right-block-content .content_price { + padding-top: 0; + width: 100%; + } } ul.product_list.list > li .right-block .right-block-content .content_price span { display: inline-block; margin-top: -4px; + margin-bottom: 14px; } -ul.product_list.list > li .right-block .right-block-content .content_price span.price-percent-reduction { - margin-left: 8px; +ul.product_list.list > li .right-block .right-block-content .content_price span.old-price { + margin-right: 8px; } ul.product_list.list > li .right-block .right-block-content .button-container { overflow: hidden; padding-bottom: 20px; } +@media (max-width: 479px) { + ul.product_list.list > li .right-block .right-block-content .button-container { + width: 100%; + } +} ul.product_list.list > li .right-block .right-block-content .button-container .btn { - float: left; - clear: both; margin-bottom: 10px; } +@media (min-width: 992px) { + ul.product_list.list > li .right-block .right-block-content .button-container .btn { + float: left; + clear: both; + } +} +@media (max-width: 991px) { + ul.product_list.list > li .right-block .right-block-content .functional-buttons { + clear: both; + } + ul.product_list.list > li .right-block .right-block-content .functional-buttons > div { + float: left; + padding-top: 0 !important; + padding-right: 20px; + } +} +@media (max-width: 479px) { + ul.product_list.list > li .right-block .right-block-content .functional-buttons { + float: none; + display: inline-block; + } + ul.product_list.list > li .right-block .right-block-content .functional-buttons a i, ul.product_list.list > li .right-block .right-block-content .functional-buttons a:before, ul.product_list.list > li .right-block .right-block-content .functional-buttons label i, ul.product_list.list > li .right-block .right-block-content .functional-buttons label:before { + display: none !important; + } +} ul.product_list.list > li .right-block .right-block-content .functional-buttons a, ul.product_list.list > li .right-block .right-block-content .functional-buttons label { font-weight: bold; color: #777676; @@ -244,19 +397,28 @@ ul.product_list.list > li .right-block .right-block-content .functional-buttons ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare label:hover:before { background: #333333; } +@media (min-width: 1200px) { + ul.product_list.list > li:hover .product-image-container .quick-view { + display: block; + } +} +@media (max-width: 479px) { + ul.product_list.list > li { + text-align: center; + } +} /******************************************************* Product list(Index page) Styles ********************************************************/ -#index ul.product_list > li { - border-bottom: 1px solid #d6d4d4; +#index ul.product_list.tab-pane > li { padding-bottom: 35px; margin-bottom: 50px; } -#index ul.product_list > li .availability { +#index ul.product_list.tab-pane > li .availability { display: none; } -#index ul.product_list > li.last-line { +#index ul.product_list.tab-pane > li.last-line { border: none; padding-bottom: 0; margin-bottom: 0; diff --git a/themes/default-bootstrap/css/stores.css b/themes/default-bootstrap/css/stores.css index 000d60ef5..37d8558d8 100644 --- a/themes/default-bootstrap/css/stores.css +++ b/themes/default-bootstrap/css/stores.css @@ -14,6 +14,13 @@ #stores .address-input { float: left; margin-right: 19px; + /* max 767px */ +} +@media (max-width: 767px) { + #stores .address-input { + width: 100%; + margin: 0 0 20px 0; + } } #stores .address-input label { margin-right: 5px; @@ -60,7 +67,7 @@ margin-left: 5px; } #stores #locationSelect { - width: 356px; + max-width: 356px; visibility: hidden; } #stores #stores-table { @@ -73,6 +80,19 @@ background: #fbfbfb; width: 46px; } +#stores #stores-table tbody td.name { + /* max 767px */ +} #stores #stores-table tbody td.name span { padding-left: 15px; } +@media (max-width: 767px) { + #stores #stores-table tbody td.name img { + display: none; + } +} + +.store-image img { + width: 100%; + min-width: 100px; +} diff --git a/themes/default-bootstrap/discount.tpl b/themes/default-bootstrap/discount.tpl index 2cd5d8401..8eab5219c 100644 --- a/themes/default-bootstrap/discount.tpl +++ b/themes/default-bootstrap/discount.tpl @@ -27,16 +27,16 @@

{l s='My vouchers'}

{if isset($cart_rules) && count($cart_rules) && $nb_cart_rules} - +
- - - - + + + + diff --git a/themes/default-bootstrap/header.tpl b/themes/default-bootstrap/header.tpl index 540f2ca13..b613e749b 100644 --- a/themes/default-bootstrap/header.tpl +++ b/themes/default-bootstrap/header.tpl @@ -56,8 +56,8 @@ - - + + {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} @@ -71,8 +71,9 @@ - + + {$HOOK_HEADER} @@ -87,7 +88,7 @@ diff --git a/themes/default-bootstrap/history.tpl b/themes/default-bootstrap/history.tpl index ebd7e02be..309f686af 100644 --- a/themes/default-bootstrap/history.tpl +++ b/themes/default-bootstrap/history.tpl @@ -33,16 +33,16 @@
{if $orders && count($orders)} -
{l s='Code'} {l s='Description'} {l s='Quantity'}{l s='Value'}*{l s='Minimum'}{l s='Cumulative'}{l s='Expiration date'}{l s='Value'}*{l s='Minimum'}{l s='Cumulative'}{l s='Expiration date'}
+
- - + + - - + + diff --git a/themes/default-bootstrap/identity.tpl b/themes/default-bootstrap/identity.tpl index a8d8b5e80..8bbff3bcf 100644 --- a/themes/default-bootstrap/identity.tpl +++ b/themes/default-bootstrap/identity.tpl @@ -59,21 +59,9 @@
- +
-
- - -
-
- - -
-
- - -
@@ -117,6 +105,18 @@
+
+ + +
+
+ + +
+
+ + +
{if $newsletter}
'); + $row.after($next); + } + $next.find('> td:first').attr('colspan', colspan); + $detail = $next.find('.' + cls.detailInner).empty(); + opt.createDetail($detail, values, opt.createGroupedDetail, opt.detailSeparator, cls); + $row.data('detail_created', true); + ft.raise(evt.rowDetailUpdated, { 'row': $row, 'detail': $next }); + return !exists; + }; + + ft.raise = function (eventName, args) { + + if (ft.options.debug === true && $.isFunction(ft.options.log)) ft.options.log(eventName, 'event'); + + args = args || { }; + var def = { 'ft': ft }; + $.extend(true, def, args); + var e = $.Event(eventName, def); + if (!e.ft) { + $.extend(true, e, def); + } //pre jQuery 1.6 which did not allow data to be passed to event object constructor + $(ft.table).trigger(e); + return e; + }; + + //reset the state of FooTable + ft.reset = function() { + var $table = $(ft.table); + $table.removeData('footable_info') + .data('breakpoint', '') + .removeClass(cls.loading) + .removeClass(cls.loaded); + + $table.find(opt.toggleSelector).unbind(trg.toggleRow).unbind('click.footable'); + + $table.find('> tbody > tr').removeClass(cls.detailShow); + + $table.find('> tbody > tr.' + cls.detail).remove(); + + ft.raise(evt.reset); + }; + + ft.init(); + return ft; + } +})(jQuery, window); +$(function () { + $('.footab').footable(); +}); \ No newline at end of file diff --git a/themes/default-bootstrap/js/jquery/highdpi.js b/themes/default-bootstrap/js/jquery/highdpi.js index 805133709..1d3f4149b 100644 --- a/themes/default-bootstrap/js/jquery/highdpi.js +++ b/themes/default-bootstrap/js/jquery/highdpi.js @@ -1,8 +1,9 @@ function highdpi_init() { - if(jQuery('.replace-2x').css('font-size') == "1px") { - var els = jQuery("img.replace-2x").get(); + if($('.replace-2x').css('font-size') == "1px") { + + var els = $("img.replace-2x").get(); for(var i = 0; i < els.length; i++) { - var src = els[i].src + var src = els[i].src; src = src.replace(".png", "2x.png"); src = src.replace(".jpg", "2x.jpg"); src = src.replace(".gif", "2x.gif"); @@ -10,6 +11,31 @@ function highdpi_init() { } } } -jQuery(document).ready(function() { +$(document).ready(function() { + highdpi_init(); -}); \ No newline at end of file + + $(".replace-2x").each( function () + { + $.ajax({ + url:$(this).attr('src'), + type:'HEAD', + error:function(){ + + if($('.replace-2x').css('font-size') == "1px") { + + var els = $("img.replace-2x").get(); + for(var i = 0; i < els.length; i++) { + var src = els[i].src; + src = src.replace("2x.png", ".png"); + src = src.replace("2x.jpg", ".jpg"); + src = src.replace("2x.gif", ".gif"); + els[i].src = src; + } + } + }, + success:function(){} + }); + }); +}); + diff --git a/themes/default-bootstrap/js/jquery/jquery.bxslider.js b/themes/default-bootstrap/js/jquery/jquery.bxslider.js new file mode 100644 index 000000000..94fdab7d3 --- /dev/null +++ b/themes/default-bootstrap/js/jquery/jquery.bxslider.js @@ -0,0 +1,1315 @@ +/** + * BxSlider v4.1.1 - Fully loaded, responsive content slider + * http://bxslider.com + * + * Copyright 2013, Steven Wanderski - http://stevenwanderski.com - http://bxcreative.com + * Written while drinking Belgian ales and listening to jazz + * + * Released under the MIT license - http://opensource.org/licenses/MIT + */ + +;(function($){ + + var plugin = {}; + + var defaults = { + + // GENERAL + mode: 'horizontal', + slideSelector: '', + infiniteLoop: true, + hideControlOnEnd: false, + speed: 500, + easing: null, + slideMargin: 0, + startSlide: 0, + randomStart: false, + captions: false, + ticker: false, + tickerHover: false, + adaptiveHeight: false, + adaptiveHeightSpeed: 500, + video: false, + useCSS: true, + preloadImages: 'visible', + responsive: true, + + // TOUCH + touchEnabled: true, + swipeThreshold: 50, + oneToOneTouch: true, + preventDefaultSwipeX: true, + preventDefaultSwipeY: false, + + // PAGER + pager: true, + pagerType: 'full', + pagerShortSeparator: ' / ', + pagerSelector: null, + buildPager: null, + pagerCustom: null, + + // CONTROLS + controls: true, + nextText: 'Next', + prevText: 'Prev', + nextSelector: null, + prevSelector: null, + autoControls: false, + startText: 'Start', + stopText: 'Stop', + autoControlsCombine: false, + autoControlsSelector: null, + + // AUTO + auto: false, + pause: 4000, + autoStart: true, + autoDirection: 'next', + autoHover: false, + autoDelay: 0, + + // CAROUSEL + minSlides: 1, + maxSlides: 1, + moveSlides: 0, + slideWidth: 0, + + // CALLBACKS + onSliderLoad: function() {}, + onSlideBefore: function() {}, + onSlideAfter: function() {}, + onSlideNext: function() {}, + onSlidePrev: function() {} + } + + $.fn.bxSlider = function(options){ + + if(this.length == 0) return this; + + // support mutltiple elements + if(this.length > 1){ + this.each(function(){$(this).bxSlider(options)}); + return this; + } + + // create a namespace to be used throughout the plugin + var slider = {}; + // set a reference to our slider element + var el = this; + plugin.el = this; + + /** + * Makes slideshow responsive + */ + // first get the original window dimens (thanks alot IE) + var windowWidth = $(window).width(); + var windowHeight = $(window).height(); + + + + /** + * =================================================================================== + * = PRIVATE FUNCTIONS + * =================================================================================== + */ + + /** + * Initializes namespace settings to be used throughout plugin + */ + var init = function(){ + // merge user-supplied options with the defaults + slider.settings = $.extend({}, defaults, options); + // parse slideWidth setting + slider.settings.slideWidth = parseInt(slider.settings.slideWidth); + // store the original children + slider.children = el.children(slider.settings.slideSelector); + // check if actual number of slides is less than minSlides / maxSlides + if(slider.children.length < slider.settings.minSlides) slider.settings.minSlides = slider.children.length; + if(slider.children.length < slider.settings.maxSlides) slider.settings.maxSlides = slider.children.length; + // if random start, set the startSlide setting to random number + if(slider.settings.randomStart) slider.settings.startSlide = Math.floor(Math.random() * slider.children.length); + // store active slide information + slider.active = { index: slider.settings.startSlide } + // store if the slider is in carousel mode (displaying / moving multiple slides) + slider.carousel = slider.settings.minSlides > 1 || slider.settings.maxSlides > 1; + // if carousel, force preloadImages = 'all' + if(slider.carousel) slider.settings.preloadImages = 'all'; + // calculate the min / max width thresholds based on min / max number of slides + // used to setup and update carousel slides dimensions + slider.minThreshold = (slider.settings.minSlides * slider.settings.slideWidth) + ((slider.settings.minSlides - 1) * slider.settings.slideMargin); + slider.maxThreshold = (slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin); + // store the current state of the slider (if currently animating, working is true) + slider.working = false; + // initialize the controls object + slider.controls = {}; + // initialize an auto interval + slider.interval = null; + // determine which property to use for transitions + slider.animProp = slider.settings.mode == 'vertical' ? 'top' : 'left'; + // determine if hardware acceleration can be used + slider.usingCSS = slider.settings.useCSS && slider.settings.mode != 'fade' && (function(){ + // create our test div element + var div = document.createElement('div'); + // css transition properties + var props = ['WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective']; + // test for each property + for(var i in props){ + if(div.style[props[i]] !== undefined){ + slider.cssPrefix = props[i].replace('Perspective', '').toLowerCase(); + slider.animProp = '-' + slider.cssPrefix + '-transform'; + return true; + } + } + return false; + }()); + // if vertical mode always make maxSlides and minSlides equal + if(slider.settings.mode == 'vertical') slider.settings.maxSlides = slider.settings.minSlides; + // save original style data + el.data("origStyle", el.attr("style")); + el.children(slider.settings.slideSelector).each(function() { + $(this).data("origStyle", $(this).attr("style")); + }); + // perform all DOM / CSS modifications + setup(); + } + + /** + * Performs all DOM and CSS modifications + */ + var setup = function(){ + // wrap el in a wrapper + el.wrap('
'); + // store a namspace reference to .bx-viewport + slider.viewport = el.parent(); + // add a loading div to display while images are loading + slider.loader = $('
'); + slider.viewport.prepend(slider.loader); + // set el to a massive width, to hold any needed slides + // also strip any margin and padding from el + el.css({ + width: slider.settings.mode == 'horizontal' ? (slider.children.length * 100 + 215) + '%' : 'auto', + position: 'relative' + }); + // if using CSS, add the easing property + if(slider.usingCSS && slider.settings.easing){ + el.css('-' + slider.cssPrefix + '-transition-timing-function', slider.settings.easing); + // if not using CSS and no easing value was supplied, use the default JS animation easing (swing) + }else if(!slider.settings.easing){ + slider.settings.easing = 'swing'; + } + var slidesShowing = getNumberSlidesShowing(); + // make modifications to the viewport (.bx-viewport) + slider.viewport.css({ + width: '100%', + overflow: 'hidden', + position: 'relative' + }); + slider.viewport.parent().css({ + maxWidth: getViewportMaxWidth() + }); + // make modification to the wrapper (.bx-wrapper) + if(!slider.settings.pager) { + slider.viewport.parent().css({ + margin: '0 auto 0px' + }); + } + // apply css to all slider children + slider.children.css({ + 'float': slider.settings.mode == 'horizontal' ? 'left' : 'none', + listStyle: 'none', + position: 'relative' + }); + // apply the calculated width after the float is applied to prevent scrollbar interference + slider.children.css('width', getSlideWidth()); + // if slideMargin is supplied, add the css + if(slider.settings.mode == 'horizontal' && slider.settings.slideMargin > 0) slider.children.css('marginRight', slider.settings.slideMargin); + if(slider.settings.mode == 'vertical' && slider.settings.slideMargin > 0) slider.children.css('marginBottom', slider.settings.slideMargin); + // if "fade" mode, add positioning and z-index CSS + if(slider.settings.mode == 'fade'){ + slider.children.css({ + position: 'absolute', + zIndex: 0, + display: 'none' + }); + // prepare the z-index on the showing element + slider.children.eq(slider.settings.startSlide).css({zIndex: 50, display: 'block'}); + } + // create an element to contain all slider controls (pager, start / stop, etc) + slider.controls.el = $('
'); + // if captions are requested, add them + if(slider.settings.captions) appendCaptions(); + // check if startSlide is last slide + slider.active.last = slider.settings.startSlide == getPagerQty() - 1; + // if video is true, set up the fitVids plugin + if(slider.settings.video) el.fitVids(); + // set the default preload selector (visible) + var preloadSelector = slider.children.eq(slider.settings.startSlide); + if (slider.settings.preloadImages == "all") preloadSelector = slider.children; + // only check for control addition if not in "ticker" mode + if(!slider.settings.ticker){ + // if pager is requested, add it + if(slider.settings.pager) appendPager(); + // if controls are requested, add them + if(slider.settings.controls) appendControls(); + // if auto is true, and auto controls are requested, add them + if(slider.settings.auto && slider.settings.autoControls) appendControlsAuto(); + // if any control option is requested, add the controls wrapper + if(slider.settings.controls || slider.settings.autoControls || slider.settings.pager) slider.viewport.after(slider.controls.el); + // if ticker mode, do not allow a pager + }else{ + slider.settings.pager = false; + } + // preload all images, then perform final DOM / CSS modifications that depend on images being loaded + loadElements(preloadSelector, start); + } + + var loadElements = function(selector, callback){ + var total = selector.find('img, iframe').length; + if (total == 0){ + callback(); + return; + } + var count = 0; + selector.find('img, iframe').each(function(){ + $(this).one('load', function() { + if(++count == total) callback(); + }).each(function() { + if(this.complete) $(this).load(); + }); + }); + } + + /** + * Start the slider + */ + var start = function(){ + // if infinite loop, prepare additional slides + if(slider.settings.infiniteLoop && slider.settings.mode != 'fade' && !slider.settings.ticker){ + var slice = slider.settings.mode == 'vertical' ? slider.settings.minSlides : slider.settings.maxSlides; + var sliceAppend = slider.children.slice(0, slice).clone().addClass('bx-clone'); + var slicePrepend = slider.children.slice(-slice).clone().addClass('bx-clone'); + el.append(sliceAppend).prepend(slicePrepend); + } + // remove the loading DOM element + slider.loader.remove(); + // set the left / top position of "el" + setSlidePosition(); + // if "vertical" mode, always use adaptiveHeight to prevent odd behavior + if (slider.settings.mode == 'vertical') slider.settings.adaptiveHeight = true; + // set the viewport height + slider.viewport.height(getViewportHeight()); + // make sure everything is positioned just right (same as a window resize) + el.redrawSlider(); + // onSliderLoad callback + slider.settings.onSliderLoad(slider.active.index); + // slider has been fully initialized + slider.initialized = true; + // bind the resize call to the window + if (slider.settings.responsive) $(window).bind('resize', resizeWindow); + // if auto is true, start the show + if (slider.settings.auto && slider.settings.autoStart) initAuto(); + // if ticker is true, start the ticker + if (slider.settings.ticker) initTicker(); + // if pager is requested, make the appropriate pager link active + if (slider.settings.pager) updatePagerActive(slider.settings.startSlide); + // check for any updates to the controls (like hideControlOnEnd updates) + if (slider.settings.controls) updateDirectionControls(); + // if touchEnabled is true, setup the touch events + if (slider.settings.touchEnabled && !slider.settings.ticker) initTouch(); + } + + /** + * Returns the calculated height of the viewport, used to determine either adaptiveHeight or the maxHeight value + */ + var getViewportHeight = function(){ + var height = 0; + // first determine which children (slides) should be used in our height calculation + var children = $(); + // if mode is not "vertical" and adaptiveHeight is false, include all children + if(slider.settings.mode != 'vertical' && !slider.settings.adaptiveHeight){ + children = slider.children; + }else{ + // if not carousel, return the single active child + if(!slider.carousel){ + children = slider.children.eq(slider.active.index); + // if carousel, return a slice of children + }else{ + // get the individual slide index + var currentIndex = slider.settings.moveSlides == 1 ? slider.active.index : slider.active.index * getMoveBy(); + // add the current slide to the children + children = slider.children.eq(currentIndex); + // cycle through the remaining "showing" slides + for (i = 1; i <= slider.settings.maxSlides - 1; i++){ + // if looped back to the start + if(currentIndex + i >= slider.children.length){ + children = children.add(slider.children.eq(i - 1)); + }else{ + children = children.add(slider.children.eq(currentIndex + i)); + } + } + } + } + // if "vertical" mode, calculate the sum of the heights of the children + if(slider.settings.mode == 'vertical'){ + children.each(function(index) { + height += $(this).outerHeight(); + }); + // add user-supplied margins + if(slider.settings.slideMargin > 0){ + height += slider.settings.slideMargin * (slider.settings.minSlides - 1); + } + // if not "vertical" mode, calculate the max height of the children + }else{ + height = Math.max.apply(Math, children.map(function(){ + return $(this).outerHeight(false); + }).get()); + } + return height; + } + + /** + * Returns the calculated width to be used for the outer wrapper / viewport + */ + var getViewportMaxWidth = function(){ + var width = '100%'; + if(slider.settings.slideWidth > 0){ + if(slider.settings.mode == 'horizontal'){ + width = (slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin); + }else{ + width = slider.settings.slideWidth; + } + } + return width; + } + + /** + * Returns the calculated width to be applied to each slide + */ + var getSlideWidth = function(){ + // start with any user-supplied slide width + var newElWidth = slider.settings.slideWidth; + // get the current viewport width + var wrapWidth = slider.viewport.width(); + // if slide width was not supplied, or is larger than the viewport use the viewport width + if(slider.settings.slideWidth == 0 || + (slider.settings.slideWidth > wrapWidth && !slider.carousel) || + slider.settings.mode == 'vertical'){ + newElWidth = wrapWidth; + // if carousel, use the thresholds to determine the width + }else if(slider.settings.maxSlides > 1 && slider.settings.mode == 'horizontal'){ + if(wrapWidth > slider.maxThreshold){ + // newElWidth = (wrapWidth - (slider.settings.slideMargin * (slider.settings.maxSlides - 1))) / slider.settings.maxSlides; + }else if(wrapWidth < slider.minThreshold){ + newElWidth = (wrapWidth - (slider.settings.slideMargin * (slider.settings.minSlides - 1))) / slider.settings.minSlides; + } + } + return newElWidth; + } + + /** + * Returns the number of slides currently visible in the viewport (includes partially visible slides) + */ + var getNumberSlidesShowing = function(){ + var slidesShowing = 1; + if(slider.settings.mode == 'horizontal' && slider.settings.slideWidth > 0){ + // if viewport is smaller than minThreshold, return minSlides + if(slider.viewport.width() < slider.minThreshold){ + slidesShowing = slider.settings.minSlides; + // if viewport is larger than minThreshold, return maxSlides + }else if(slider.viewport.width() > slider.maxThreshold){ + slidesShowing = slider.settings.maxSlides; + // if viewport is between min / max thresholds, divide viewport width by first child width + }else{ + var childWidth = slider.children.first().width(); + slidesShowing = Math.floor(slider.viewport.width() / childWidth); + } + // if "vertical" mode, slides showing will always be minSlides + }else if(slider.settings.mode == 'vertical'){ + slidesShowing = slider.settings.minSlides; + } + return slidesShowing; + } + + /** + * Returns the number of pages (one full viewport of slides is one "page") + */ + var getPagerQty = function(){ + var pagerQty = 0; + // if moveSlides is specified by the user + if(slider.settings.moveSlides > 0){ + if(slider.settings.infiniteLoop){ + pagerQty = slider.children.length / getMoveBy(); + }else{ + // use a while loop to determine pages + var breakPoint = 0; + var counter = 0 + // when breakpoint goes above children length, counter is the number of pages + while (breakPoint < slider.children.length){ + ++pagerQty; + breakPoint = counter + getNumberSlidesShowing(); + counter += slider.settings.moveSlides <= getNumberSlidesShowing() ? slider.settings.moveSlides : getNumberSlidesShowing(); + } + } + // if moveSlides is 0 (auto) divide children length by sides showing, then round up + }else{ + pagerQty = Math.ceil(slider.children.length / getNumberSlidesShowing()); + } + return pagerQty; + } + + /** + * Returns the number of indivual slides by which to shift the slider + */ + var getMoveBy = function(){ + // if moveSlides was set by the user and moveSlides is less than number of slides showing + if(slider.settings.moveSlides > 0 && slider.settings.moveSlides <= getNumberSlidesShowing()){ + return slider.settings.moveSlides; + } + // if moveSlides is 0 (auto) + return getNumberSlidesShowing(); + } + + /** + * Sets the slider's (el) left or top position + */ + var setSlidePosition = function(){ + // if last slide, not infinite loop, and number of children is larger than specified maxSlides + if(slider.children.length > slider.settings.maxSlides && slider.active.last && !slider.settings.infiniteLoop){ + if (slider.settings.mode == 'horizontal'){ + // get the last child's position + var lastChild = slider.children.last(); + var position = lastChild.position(); + // set the left position + setPositionProperty(-(position.left - (slider.viewport.width() - lastChild.width())), 'reset', 0); + }else if(slider.settings.mode == 'vertical'){ + // get the last showing index's position + var lastShowingIndex = slider.children.length - slider.settings.minSlides; + var position = slider.children.eq(lastShowingIndex).position(); + // set the top position + setPositionProperty(-position.top, 'reset', 0); + } + // if not last slide + }else{ + // get the position of the first showing slide + var position = slider.children.eq(slider.active.index * getMoveBy()).position(); + // check for last slide + if (slider.active.index == getPagerQty() - 1) slider.active.last = true; + // set the repective position + if (position != undefined){ + if (slider.settings.mode == 'horizontal') setPositionProperty(-position.left, 'reset', 0); + else if (slider.settings.mode == 'vertical') setPositionProperty(-position.top, 'reset', 0); + } + } + } + + /** + * Sets the el's animating property position (which in turn will sometimes animate el). + * If using CSS, sets the transform property. If not using CSS, sets the top / left property. + * + * @param value (int) + * - the animating property's value + * + * @param type (string) 'slider', 'reset', 'ticker' + * - the type of instance for which the function is being + * + * @param duration (int) + * - the amount of time (in ms) the transition should occupy + * + * @param params (array) optional + * - an optional parameter containing any variables that need to be passed in + */ + var setPositionProperty = function(value, type, duration, params){ + // use CSS transform + if(slider.usingCSS){ + // determine the translate3d value + var propValue = slider.settings.mode == 'vertical' ? 'translate3d(0, ' + value + 'px, 0)' : 'translate3d(' + value + 'px, 0, 0)'; + // add the CSS transition-duration + el.css('-' + slider.cssPrefix + '-transition-duration', duration / 1000 + 's'); + if(type == 'slide'){ + // set the property value + el.css(slider.animProp, propValue); + // bind a callback method - executes when CSS transition completes + el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){ + // unbind the callback + el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd'); + updateAfterSlideTransition(); + }); + }else if(type == 'reset'){ + el.css(slider.animProp, propValue); + }else if(type == 'ticker'){ + // make the transition use 'linear' + el.css('-' + slider.cssPrefix + '-transition-timing-function', 'linear'); + el.css(slider.animProp, propValue); + // bind a callback method - executes when CSS transition completes + el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){ + // unbind the callback + el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd'); + // reset the position + setPositionProperty(params['resetValue'], 'reset', 0); + // start the loop again + tickerLoop(); + }); + } + // use JS animate + }else{ + var animateObj = {}; + animateObj[slider.animProp] = value; + if(type == 'slide'){ + el.animate(animateObj, duration, slider.settings.easing, function(){ + updateAfterSlideTransition(); + }); + }else if(type == 'reset'){ + el.css(slider.animProp, value) + }else if(type == 'ticker'){ + el.animate(animateObj, speed, 'linear', function(){ + setPositionProperty(params['resetValue'], 'reset', 0); + // run the recursive loop after animation + tickerLoop(); + }); + } + } + } + + /** + * Populates the pager with proper amount of pages + */ + var populatePager = function(){ + var pagerHtml = ''; + var pagerQty = getPagerQty(); + // loop through each pager item + for(var i=0; i < pagerQty; i++){ + var linkContent = ''; + // if a buildPager function is supplied, use it to get pager link value, else use index + 1 + if(slider.settings.buildPager && $.isFunction(slider.settings.buildPager)){ + linkContent = slider.settings.buildPager(i); + slider.pagerEl.addClass('bx-custom-pager'); + }else{ + linkContent = i + 1; + slider.pagerEl.addClass('bx-default-pager'); + } + // var linkContent = slider.settings.buildPager && $.isFunction(slider.settings.buildPager) ? slider.settings.buildPager(i) : i + 1; + // add the markup to the string + pagerHtml += ''; + }; + // populate the pager element with pager links + slider.pagerEl.html(pagerHtml); + } + + /** + * Appends the pager to the controls element + */ + var appendPager = function(){ + if(!slider.settings.pagerCustom){ + // create the pager DOM element + slider.pagerEl = $('
'); + // if a pager selector was supplied, populate it with the pager + if(slider.settings.pagerSelector){ + $(slider.settings.pagerSelector).html(slider.pagerEl); + // if no pager selector was supplied, add it after the wrapper + }else{ + slider.controls.el.addClass('bx-has-pager').append(slider.pagerEl); + } + // populate the pager + populatePager(); + }else{ + slider.pagerEl = $(slider.settings.pagerCustom); + } + // assign the pager click binding + slider.pagerEl.delegate('a', 'click', clickPagerBind); + } + + /** + * Appends prev / next controls to the controls element + */ + var appendControls = function(){ + slider.controls.next = $('' + slider.settings.nextText + ''); + slider.controls.prev = $('' + slider.settings.prevText + ''); + // bind click actions to the controls + slider.controls.next.bind('click', clickNextBind); + slider.controls.prev.bind('click', clickPrevBind); + // if nextSlector was supplied, populate it + if(slider.settings.nextSelector){ + $(slider.settings.nextSelector).append(slider.controls.next); + } + // if prevSlector was supplied, populate it + if(slider.settings.prevSelector){ + $(slider.settings.prevSelector).append(slider.controls.prev); + } + // if no custom selectors were supplied + if(!slider.settings.nextSelector && !slider.settings.prevSelector){ + // add the controls to the DOM + slider.controls.directionEl = $('
'); + // add the control elements to the directionEl + slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next); + // slider.viewport.append(slider.controls.directionEl); + slider.controls.el.addClass('bx-has-controls-direction').append(slider.controls.directionEl); + } + } + + /** + * Appends start / stop auto controls to the controls element + */ + var appendControlsAuto = function(){ + slider.controls.start = $(''); + slider.controls.stop = $(''); + // add the controls to the DOM + slider.controls.autoEl = $('
'); + // bind click actions to the controls + slider.controls.autoEl.delegate('.bx-start', 'click', clickStartBind); + slider.controls.autoEl.delegate('.bx-stop', 'click', clickStopBind); + // if autoControlsCombine, insert only the "start" control + if(slider.settings.autoControlsCombine){ + slider.controls.autoEl.append(slider.controls.start); + // if autoControlsCombine is false, insert both controls + }else{ + slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop); + } + // if auto controls selector was supplied, populate it with the controls + if(slider.settings.autoControlsSelector){ + $(slider.settings.autoControlsSelector).html(slider.controls.autoEl); + // if auto controls selector was not supplied, add it after the wrapper + }else{ + slider.controls.el.addClass('bx-has-controls-auto').append(slider.controls.autoEl); + } + // update the auto controls + updateAutoControls(slider.settings.autoStart ? 'stop' : 'start'); + } + + /** + * Appends image captions to the DOM + */ + var appendCaptions = function(){ + // cycle through each child + slider.children.each(function(index){ + // get the image title attribute + var title = $(this).find('img:first').attr('title'); + // append the caption + if (title != undefined && ('' + title).length) { + $(this).append('
' + title + '
'); + } + }); + } + + /** + * Click next binding + * + * @param e (event) + * - DOM event object + */ + var clickNextBind = function(e){ + // if auto show is running, stop it + if (slider.settings.auto) el.stopAuto(); + el.goToNextSlide(); + e.preventDefault(); + } + + /** + * Click prev binding + * + * @param e (event) + * - DOM event object + */ + var clickPrevBind = function(e){ + // if auto show is running, stop it + if (slider.settings.auto) el.stopAuto(); + el.goToPrevSlide(); + e.preventDefault(); + } + + /** + * Click start binding + * + * @param e (event) + * - DOM event object + */ + var clickStartBind = function(e){ + el.startAuto(); + e.preventDefault(); + } + + /** + * Click stop binding + * + * @param e (event) + * - DOM event object + */ + var clickStopBind = function(e){ + el.stopAuto(); + e.preventDefault(); + } + + /** + * Click pager binding + * + * @param e (event) + * - DOM event object + */ + var clickPagerBind = function(e){ + // if auto show is running, stop it + if (slider.settings.auto) el.stopAuto(); + var pagerLink = $(e.currentTarget); + var pagerIndex = parseInt(pagerLink.attr('data-slide-index')); + // if clicked pager link is not active, continue with the goToSlide call + if(pagerIndex != slider.active.index) el.goToSlide(pagerIndex); + e.preventDefault(); + } + + /** + * Updates the pager links with an active class + * + * @param slideIndex (int) + * - index of slide to make active + */ + var updatePagerActive = function(slideIndex){ + // if "short" pager type + var len = slider.children.length; // nb of children + if(slider.settings.pagerType == 'short'){ + if(slider.settings.maxSlides > 1) { + len = Math.ceil(slider.children.length/slider.settings.maxSlides); + } + slider.pagerEl.html( (slideIndex + 1) + slider.settings.pagerShortSeparator + len); + return; + } + // remove all pager active classes + slider.pagerEl.find('a').removeClass('active'); + // apply the active class for all pagers + slider.pagerEl.each(function(i, el) { $(el).find('a').eq(slideIndex).addClass('active'); }); + } + + /** + * Performs needed actions after a slide transition + */ + var updateAfterSlideTransition = function(){ + // if infinte loop is true + if(slider.settings.infiniteLoop){ + var position = ''; + // first slide + if(slider.active.index == 0){ + // set the new position + position = slider.children.eq(0).position(); + // carousel, last slide + }else if(slider.active.index == getPagerQty() - 1 && slider.carousel){ + position = slider.children.eq((getPagerQty() - 1) * getMoveBy()).position(); + // last slide + }else if(slider.active.index == slider.children.length - 1){ + position = slider.children.eq(slider.children.length - 1).position(); + } + if (slider.settings.mode == 'horizontal') { setPositionProperty(-position.left, 'reset', 0);; } + else if (slider.settings.mode == 'vertical') { setPositionProperty(-position.top, 'reset', 0);; } + } + // declare that the transition is complete + slider.working = false; + // onSlideAfter callback + slider.settings.onSlideAfter(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); + } + + /** + * Updates the auto controls state (either active, or combined switch) + * + * @param state (string) "start", "stop" + * - the new state of the auto show + */ + var updateAutoControls = function(state){ + // if autoControlsCombine is true, replace the current control with the new state + if(slider.settings.autoControlsCombine){ + slider.controls.autoEl.html(slider.controls[state]); + // if autoControlsCombine is false, apply the "active" class to the appropriate control + }else{ + slider.controls.autoEl.find('a').removeClass('active'); + slider.controls.autoEl.find('a:not(.bx-' + state + ')').addClass('active'); + } + } + + /** + * Updates the direction controls (checks if either should be hidden) + */ + var updateDirectionControls = function(){ + if(getPagerQty() == 1){ + slider.controls.prev.addClass('disabled'); + slider.controls.next.addClass('disabled'); + }else if(!slider.settings.infiniteLoop && slider.settings.hideControlOnEnd){ + // if first slide + if (slider.active.index == 0){ + slider.controls.prev.addClass('disabled'); + slider.controls.next.removeClass('disabled'); + // if last slide + }else if(slider.active.index == getPagerQty() - 1){ + slider.controls.next.addClass('disabled'); + slider.controls.prev.removeClass('disabled'); + // if any slide in the middle + }else{ + slider.controls.prev.removeClass('disabled'); + slider.controls.next.removeClass('disabled'); + } + } + } + + /** + * Initialzes the auto process + */ + var initAuto = function(){ + // if autoDelay was supplied, launch the auto show using a setTimeout() call + if(slider.settings.autoDelay > 0){ + var timeout = setTimeout(el.startAuto, slider.settings.autoDelay); + // if autoDelay was not supplied, start the auto show normally + }else{ + el.startAuto(); + } + // if autoHover is requested + if(slider.settings.autoHover){ + // on el hover + el.hover(function(){ + // if the auto show is currently playing (has an active interval) + if(slider.interval){ + // stop the auto show and pass true agument which will prevent control update + el.stopAuto(true); + // create a new autoPaused value which will be used by the relative "mouseout" event + slider.autoPaused = true; + } + }, function(){ + // if the autoPaused value was created be the prior "mouseover" event + if(slider.autoPaused){ + // start the auto show and pass true agument which will prevent control update + el.startAuto(true); + // reset the autoPaused value + slider.autoPaused = null; + } + }); + } + } + + /** + * Initialzes the ticker process + */ + var initTicker = function(){ + var startPosition = 0; + // if autoDirection is "next", append a clone of the entire slider + if(slider.settings.autoDirection == 'next'){ + el.append(slider.children.clone().addClass('bx-clone')); + // if autoDirection is "prev", prepend a clone of the entire slider, and set the left position + }else{ + el.prepend(slider.children.clone().addClass('bx-clone')); + var position = slider.children.first().position(); + startPosition = slider.settings.mode == 'horizontal' ? -position.left : -position.top; + } + setPositionProperty(startPosition, 'reset', 0); + // do not allow controls in ticker mode + slider.settings.pager = false; + slider.settings.controls = false; + slider.settings.autoControls = false; + // if autoHover is requested + if(slider.settings.tickerHover && !slider.usingCSS){ + // on el hover + slider.viewport.hover(function(){ + el.stop(); + }, function(){ + // calculate the total width of children (used to calculate the speed ratio) + var totalDimens = 0; + slider.children.each(function(index){ + totalDimens += slider.settings.mode == 'horizontal' ? $(this).outerWidth(true) : $(this).outerHeight(true); + }); + // calculate the speed ratio (used to determine the new speed to finish the paused animation) + var ratio = slider.settings.speed / totalDimens; + // determine which property to use + var property = slider.settings.mode == 'horizontal' ? 'left' : 'top'; + // calculate the new speed + var newSpeed = ratio * (totalDimens - (Math.abs(parseInt(el.css(property))))); + tickerLoop(newSpeed); + }); + } + // start the ticker loop + tickerLoop(); + } + + /** + * Runs a continuous loop, news ticker-style + */ + var tickerLoop = function(resumeSpeed){ + speed = resumeSpeed ? resumeSpeed : slider.settings.speed; + var position = {left: 0, top: 0}; + var reset = {left: 0, top: 0}; + // if "next" animate left position to last child, then reset left to 0 + if(slider.settings.autoDirection == 'next'){ + position = el.find('.bx-clone').first().position(); + // if "prev" animate left position to 0, then reset left to first non-clone child + }else{ + reset = slider.children.first().position(); + } + var animateProperty = slider.settings.mode == 'horizontal' ? -position.left : -position.top; + var resetValue = slider.settings.mode == 'horizontal' ? -reset.left : -reset.top; + var params = {resetValue: resetValue}; + setPositionProperty(animateProperty, 'ticker', speed, params); + } + + /** + * Initializes touch events + */ + var initTouch = function(){ + // initialize object to contain all touch values + slider.touch = { + start: {x: 0, y: 0}, + end: {x: 0, y: 0} + } + slider.viewport.bind('touchstart', onTouchStart); + } + + /** + * Event handler for "touchstart" + * + * @param e (event) + * - DOM event object + */ + var onTouchStart = function(e){ + if(slider.working){ + e.preventDefault(); + }else{ + // record the original position when touch starts + slider.touch.originalPos = el.position(); + var orig = e.originalEvent; + // record the starting touch x, y coordinates + slider.touch.start.x = orig.changedTouches[0].pageX; + slider.touch.start.y = orig.changedTouches[0].pageY; + // bind a "touchmove" event to the viewport + slider.viewport.bind('touchmove', onTouchMove); + // bind a "touchend" event to the viewport + slider.viewport.bind('touchend', onTouchEnd); + } + } + + /** + * Event handler for "touchmove" + * + * @param e (event) + * - DOM event object + */ + var onTouchMove = function(e){ + var orig = e.originalEvent; + // if scrolling on y axis, do not prevent default + var xMovement = Math.abs(orig.changedTouches[0].pageX - slider.touch.start.x); + var yMovement = Math.abs(orig.changedTouches[0].pageY - slider.touch.start.y); + // x axis swipe + if((xMovement * 3) > yMovement && slider.settings.preventDefaultSwipeX){ + e.preventDefault(); + // y axis swipe + }else if((yMovement * 3) > xMovement && slider.settings.preventDefaultSwipeY){ + e.preventDefault(); + } + if(slider.settings.mode != 'fade' && slider.settings.oneToOneTouch){ + var value = 0; + // if horizontal, drag along x axis + if(slider.settings.mode == 'horizontal'){ + var change = orig.changedTouches[0].pageX - slider.touch.start.x; + value = slider.touch.originalPos.left + change; + // if vertical, drag along y axis + }else{ + var change = orig.changedTouches[0].pageY - slider.touch.start.y; + value = slider.touch.originalPos.top + change; + } + setPositionProperty(value, 'reset', 0); + } + } + + /** + * Event handler for "touchend" + * + * @param e (event) + * - DOM event object + */ + var onTouchEnd = function(e){ + slider.viewport.unbind('touchmove', onTouchMove); + var orig = e.originalEvent; + var value = 0; + // record end x, y positions + slider.touch.end.x = orig.changedTouches[0].pageX; + slider.touch.end.y = orig.changedTouches[0].pageY; + // if fade mode, check if absolute x distance clears the threshold + if(slider.settings.mode == 'fade'){ + var distance = Math.abs(slider.touch.start.x - slider.touch.end.x); + if(distance >= slider.settings.swipeThreshold){ + slider.touch.start.x > slider.touch.end.x ? el.goToNextSlide() : el.goToPrevSlide(); + el.stopAuto(); + } + // not fade mode + }else{ + var distance = 0; + // calculate distance and el's animate property + if(slider.settings.mode == 'horizontal'){ + distance = slider.touch.end.x - slider.touch.start.x; + value = slider.touch.originalPos.left; + }else{ + distance = slider.touch.end.y - slider.touch.start.y; + value = slider.touch.originalPos.top; + } + // if not infinite loop and first / last slide, do not attempt a slide transition + if(!slider.settings.infiniteLoop && ((slider.active.index == 0 && distance > 0) || (slider.active.last && distance < 0))){ + setPositionProperty(value, 'reset', 200); + }else{ + // check if distance clears threshold + if(Math.abs(distance) >= slider.settings.swipeThreshold){ + distance < 0 ? el.goToNextSlide() : el.goToPrevSlide(); + el.stopAuto(); + }else{ + // el.animate(property, 200); + setPositionProperty(value, 'reset', 200); + } + } + } + slider.viewport.unbind('touchend', onTouchEnd); + } + + /** + * Window resize event callback + */ + var resizeWindow = function(e){ + // get the new window dimens (again, thank you IE) + var windowWidthNew = $(window).width(); + var windowHeightNew = $(window).height(); + // make sure that it is a true window resize + // *we must check this because our dinosaur friend IE fires a window resize event when certain DOM elements + // are resized. Can you just die already?* + if(windowWidth != windowWidthNew || windowHeight != windowHeightNew){ + // set the new window dimens + windowWidth = windowWidthNew; + windowHeight = windowHeightNew; + // update all dynamic elements + el.redrawSlider(); + } + } + + /** + * =================================================================================== + * = PUBLIC FUNCTIONS + * =================================================================================== + */ + + /** + * Performs slide transition to the specified slide + * + * @param slideIndex (int) + * - the destination slide's index (zero-based) + * + * @param direction (string) + * - INTERNAL USE ONLY - the direction of travel ("prev" / "next") + */ + el.goToSlide = function(slideIndex, direction){ + // if plugin is currently in motion, ignore request + if(slider.working || slider.active.index == slideIndex) return; + // declare that plugin is in motion + slider.working = true; + // store the old index + slider.oldIndex = slider.active.index; + // if slideIndex is less than zero, set active index to last child (this happens during infinite loop) + if(slideIndex < 0){ + slider.active.index = getPagerQty() - 1; + // if slideIndex is greater than children length, set active index to 0 (this happens during infinite loop) + }else if(slideIndex >= getPagerQty()){ + slider.active.index = 0; + // set active index to requested slide + }else{ + slider.active.index = slideIndex; + } + // onSlideBefore, onSlideNext, onSlidePrev callbacks + slider.settings.onSlideBefore(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); + if(direction == 'next'){ + slider.settings.onSlideNext(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); + }else if(direction == 'prev'){ + slider.settings.onSlidePrev(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); + } + // check if last slide + slider.active.last = slider.active.index >= getPagerQty() - 1; + // update the pager with active class + if(slider.settings.pager) updatePagerActive(slider.active.index); + // // check for direction control update + if(slider.settings.controls) updateDirectionControls(); + // if slider is set to mode: "fade" + if(slider.settings.mode == 'fade'){ + // if adaptiveHeight is true and next height is different from current height, animate to the new height + if(slider.settings.adaptiveHeight && slider.viewport.height() != getViewportHeight()){ + slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed); + } + // fade out the visible child and reset its z-index value + slider.children.filter(':visible').fadeOut(slider.settings.speed).css({zIndex: 0}); + // fade in the newly requested slide + slider.children.eq(slider.active.index).css('zIndex', 51).fadeIn(slider.settings.speed, function(){ + $(this).css('zIndex', 50); + updateAfterSlideTransition(); + }); + // slider mode is not "fade" + }else{ + // if adaptiveHeight is true and next height is different from current height, animate to the new height + if(slider.settings.adaptiveHeight && slider.viewport.height() != getViewportHeight()){ + slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed); + } + var moveBy = 0; + var position = {left: 0, top: 0}; + // if carousel and not infinite loop + if(!slider.settings.infiniteLoop && slider.carousel && slider.active.last){ + if(slider.settings.mode == 'horizontal'){ + // get the last child position + var lastChild = slider.children.eq(slider.children.length - 1); + position = lastChild.position(); + // calculate the position of the last slide + moveBy = slider.viewport.width() - lastChild.outerWidth(); + }else{ + // get last showing index position + var lastShowingIndex = slider.children.length - slider.settings.minSlides; + position = slider.children.eq(lastShowingIndex).position(); + } + // horizontal carousel, going previous while on first slide (infiniteLoop mode) + }else if(slider.carousel && slider.active.last && direction == 'prev'){ + // get the last child position + var eq = slider.settings.moveSlides == 1 ? slider.settings.maxSlides - getMoveBy() : ((getPagerQty() - 1) * getMoveBy()) - (slider.children.length - slider.settings.maxSlides); + var lastChild = el.children('.bx-clone').eq(eq); + position = lastChild.position(); + // if infinite loop and "Next" is clicked on the last slide + }else if(direction == 'next' && slider.active.index == 0){ + // get the last clone position + position = el.find('> .bx-clone').eq(slider.settings.maxSlides).position(); + slider.active.last = false; + // normal non-zero requests + }else if(slideIndex >= 0){ + var requestEl = slideIndex * getMoveBy(); + position = slider.children.eq(requestEl).position(); + } + + /* If the position doesn't exist + * (e.g. if you destroy the slider on a next click), + * it doesn't throw an error. + */ + if ("undefined" !== typeof(position)) { + var value = slider.settings.mode == 'horizontal' ? -(position.left - moveBy) : -position.top; + // plugin values to be animated + setPositionProperty(value, 'slide', slider.settings.speed); + } + } + } + + /** + * Transitions to the next slide in the show + */ + el.goToNextSlide = function(){ + // if infiniteLoop is false and last page is showing, disregard call + if (!slider.settings.infiniteLoop && slider.active.last) return; + var pagerIndex = parseInt(slider.active.index) + 1; + el.goToSlide(pagerIndex, 'next'); + } + + /** + * Transitions to the prev slide in the show + */ + el.goToPrevSlide = function(){ + // if infiniteLoop is false and last page is showing, disregard call + if (!slider.settings.infiniteLoop && slider.active.index == 0) return; + var pagerIndex = parseInt(slider.active.index) - 1; + el.goToSlide(pagerIndex, 'prev'); + } + + /** + * Starts the auto show + * + * @param preventControlUpdate (boolean) + * - if true, auto controls state will not be updated + */ + el.startAuto = function(preventControlUpdate){ + // if an interval already exists, disregard call + if(slider.interval) return; + // create an interval + slider.interval = setInterval(function(){ + slider.settings.autoDirection == 'next' ? el.goToNextSlide() : el.goToPrevSlide(); + }, slider.settings.pause); + // if auto controls are displayed and preventControlUpdate is not true + if (slider.settings.autoControls && preventControlUpdate != true) updateAutoControls('stop'); + } + + /** + * Stops the auto show + * + * @param preventControlUpdate (boolean) + * - if true, auto controls state will not be updated + */ + el.stopAuto = function(preventControlUpdate){ + // if no interval exists, disregard call + if(!slider.interval) return; + // clear the interval + clearInterval(slider.interval); + slider.interval = null; + // if auto controls are displayed and preventControlUpdate is not true + if (slider.settings.autoControls && preventControlUpdate != true) updateAutoControls('start'); + } + + /** + * Returns current slide index (zero-based) + */ + el.getCurrentSlide = function(){ + return slider.active.index; + } + + /** + * Returns number of slides in show + */ + el.getSlideCount = function(){ + return slider.children.length; + } + + /** + * Update all dynamic slider elements + */ + el.redrawSlider = function(){ + // resize all children in ratio to new screen size + slider.children.add(el.find('.bx-clone')).outerWidth(getSlideWidth()); + // adjust the height + slider.viewport.css('height', getViewportHeight()); + // update the slide position + if(!slider.settings.ticker) setSlidePosition(); + // if active.last was true before the screen resize, we want + // to keep it last no matter what screen size we end on + if (slider.active.last) slider.active.index = getPagerQty() - 1; + // if the active index (page) no longer exists due to the resize, simply set the index as last + if (slider.active.index >= getPagerQty()) slider.active.last = true; + // if a pager is being displayed and a custom pager is not being used, update it + if(slider.settings.pager && !slider.settings.pagerCustom){ + populatePager(); + updatePagerActive(slider.active.index); + } + } + + /** + * Destroy the current instance of the slider (revert everything back to original state) + */ + el.destroySlider = function(){ + // don't do anything if slider has already been destroyed + if(!slider.initialized) return; + slider.initialized = false; + $('.bx-clone', this).remove(); + slider.children.each(function() { + $(this).data("origStyle") != undefined ? $(this).attr("style", $(this).data("origStyle")) : $(this).removeAttr('style'); + }); + $(this).data("origStyle") != undefined ? this.attr("style", $(this).data("origStyle")) : $(this).removeAttr('style'); + $(this).unwrap().unwrap(); + if(slider.controls.el) slider.controls.el.remove(); + if(slider.controls.next) slider.controls.next.remove(); + if(slider.controls.prev) slider.controls.prev.remove(); + if(slider.pagerEl) slider.pagerEl.remove(); + $('.bx-caption', this).remove(); + if(slider.controls.autoEl) slider.controls.autoEl.remove(); + clearInterval(slider.interval); + if(slider.settings.responsive) $(window).unbind('resize', resizeWindow); + } + + /** + * Reload the slider (revert all DOM changes, and re-initialize) + */ + el.reloadSlider = function(settings){ + if (settings != undefined) options = settings; + el.destroySlider(); + init(); + } + + init(); + + // returns the current jQuery object + return this; + } + +})(jQuery); \ No newline at end of file diff --git a/themes/default-bootstrap/js/jquery/owl.carousel.js b/themes/default-bootstrap/js/jquery/owl.carousel.js deleted file mode 100644 index 08c8358cc..000000000 --- a/themes/default-bootstrap/js/jquery/owl.carousel.js +++ /dev/null @@ -1,1415 +0,0 @@ -/* - * jQuery OwlCarousel v1.27 - * - * Copyright (c) 2013 Bartosz Wojciechowski - * http://www.owlgraphic.com/owlcarousel/ - * - * Licensed under MIT - * - */ - -if ( typeof Object.create !== "function" ) { - Object.create = function( obj ) { - function F() {}; - F.prototype = obj; - return new F(); - }; -} -(function( $, window, document, undefined ) { - - var Carousel = { - init :function(options, el){ - var base = this; - base.options = $.extend({}, $.fn.owlCarousel.options, options); - base.userOptions = options; - var elem = el; - var $elem = $(el); - base.$elem = $elem; - base.loadContent(); - }, - - loadContent : function(){ - var base = this; - - if (typeof base.options.beforeInit === "function") { - base.options.beforeInit.apply(this,[base.$elem]); - } - - if (typeof base.options.jsonPath === "string") { - var url = base.options.jsonPath; - - function getData(data) { - if (typeof base.options.jsonSuccess === "function") { - base.options.jsonSuccess.apply(this,[data]); - } else { - var content = ""; - for(var i in data["owl"]){ - content += data["owl"][i]["item"]; - } - base.$elem.html(content); - } - base.logIn(); - } - $.getJSON(url,getData); - } else { - base.logIn(); - } - }, - - logIn : function(action){ - var base = this; - - base.$elem.css({opacity: 0}); - base.orignalItems = base.options.items; - base.checkBrowser(); - base.wrapperWidth = 0; - base.checkVisible; - base.setVars(); - }, - - setVars : function(){ - var base = this; - if(base.$elem.children().length === 0){return false} - base.baseClass(); - base.eventTypes(); - base.$userItems = base.$elem.children(); - base.itemsAmount = base.$userItems.length; - base.wrapItems(); - base.$owlItems = base.$elem.find(".owl-item"); - base.$owlWrapper = base.$elem.find(".owl-wrapper"); - base.playDirection = "next"; - base.prevItem = 0;//base.options.startPosition; - base.currentItem = 0; //Starting Position - base.customEvents(); - base.onStartup(); - }, - - onStartup : function(){ - var base = this; - base.updateItems(); - base.calculateAll(); - base.buildControls(); - base.updateControls(); - base.response(); - base.moveEvents(); - base.stopOnHover(); - base.owlStatus(); - - if(base.options.transitionStyle !== false){ - base.transitionTypes(base.options.transitionStyle); - } - if(base.options.autoPlay === true){ - base.options.autoPlay = 5000; - } - base.play(); - - base.$elem.find(".owl-wrapper").css("display","block") - - if(!base.$elem.is(":visible")){ - base.watchVisibility(); - } else { - base.$elem.css("opacity",1); - } - base.onstartup = false; - base.eachMoveUpdate(); - if (typeof base.options.afterInit === "function") { - base.options.afterInit.apply(this,[base.$elem]); - } - }, - - eachMoveUpdate : function(){ - var base = this; - - if(base.options.lazyLoad === true){ - base.lazyLoad(); - } - if(base.options.autoHeight === true){ - base.autoHeight(); - } - if(base.options.addClassActive === true){ - base.addClassActive(); - } - if (typeof base.options.afterAction === "function") { - base.options.afterAction.apply(this,[base.$elem]); - } - }, - - updateVars : function(){ - var base = this; - if(typeof base.options.beforeUpdate === "function") { - base.options.beforeUpdate.apply(this,[base.$elem]); - } - base.watchVisibility(); - base.updateItems(); - base.calculateAll(); - base.updatePosition(); - base.updateControls(); - base.eachMoveUpdate(); - if(typeof base.options.afterUpdate === "function") { - base.options.afterUpdate.apply(this,[base.$elem]); - } - }, - - reload : function(elements){ - var base = this; - setTimeout(function(){ - base.updateVars(); - },0) - }, - - watchVisibility : function(){ - var base = this; - - if(base.$elem.is(":visible") === false){ - base.$elem.css({opacity: 0}); - clearInterval(base.autoPlayInterval); - clearInterval(base.checkVisible); - } else { - return false; - } - base.checkVisible = setInterval(function(){ - if (base.$elem.is(":visible")) { - base.reload(); - base.$elem.animate({opacity: 1},200); - clearInterval(base.checkVisible); - } - }, 500); - }, - - wrapItems : function(){ - var base = this; - base.$userItems.wrapAll("
").wrap("
"); - base.$elem.find(".owl-wrapper").wrap("
"); - base.wrapperOuter = base.$elem.find(".owl-wrapper-outer"); - base.$elem.css("display","block"); - }, - - - - - - baseClass : function(){ - var base = this; - var hasBaseClass = base.$elem.hasClass(base.options.baseClass); - var hasThemeClass = base.$elem.hasClass(base.options.theme); - base.$elem.data("owl-originalStyles", base.$elem.attr("style")) - .data("owl-originalClasses", base.$elem.attr("class")); - - if(!hasBaseClass){ - base.$elem.addClass(base.options.baseClass); - } - - if(!hasThemeClass){ - base.$elem.addClass(base.options.theme); - } - }, - - updateItems : function(){ - var base = this; - - if(base.options.responsive === false){ - return false; - } - if(base.options.singleItem === true){ - base.options.items = base.orignalItems = 1; - base.options.itemsDesktop = false; - base.options.itemsDesktopSmall = false; - base.options.itemsTablet = false; - base.options.itemsTabletSmall = false; - base.options.itemsMobile = false; - return false; - } - - var width = $(base.options.responsiveBaseWidth).width(); - - if(width > (base.options.itemsDesktop[0] || base.orignalItems) ){ - base.options.items = base.orignalItems - } - - if(width <= base.options.itemsDesktop[0] && base.options.itemsDesktop !== false){ - base.options.items = base.options.itemsDesktop[1]; - } - - if(width <= base.options.itemsDesktopSmall[0] && base.options.itemsDesktopSmall !== false){ - base.options.items = base.options.itemsDesktopSmall[1]; - } - - if(width <= base.options.itemsTablet[0] && base.options.itemsTablet !== false){ - base.options.items = base.options.itemsTablet[1]; - } - - if(width <= base.options.itemsTabletSmall[0] && base.options.itemsTabletSmall !== false){ - base.options.items = base.options.itemsTabletSmall[1]; - } - - if(width <= base.options.itemsMobile[0] && base.options.itemsMobile !== false){ - base.options.items = base.options.itemsMobile[1]; - } - - //if number of items is less than declared - if(base.options.items > base.itemsAmount){ - base.options.items = base.itemsAmount; - } - }, - - response : function(){ - var base = this, - smallDelay; - if(base.options.responsive !== true){ - return false - } - var lastWindowWidth = $(window).width(); - - base.resizer = function(){ - if($(window).width() !== lastWindowWidth){ - if(base.options.autoPlay !== false){ - clearInterval(base.autoPlayInterval); - } - clearTimeout(smallDelay); - smallDelay = setTimeout(function(){ - lastWindowWidth = $(window).width(); - base.updateVars(); - },base.options.responsiveRefreshRate); - } - } - $(window).resize(base.resizer) - }, - - updatePosition : function(){ - var base = this; - - if(base.browser.support3d === true){ - if(base.positionsInArray[base.currentItem] > base.maximumPixels){ - base.transition3d(base.positionsInArray[base.currentItem]); - } else { - base.transition3d(0); - base.currentItem = 0; - } - } else{ - if(base.positionsInArray[base.currentItem] > base.maximumPixels){ - base.css2slide(base.positionsInArray[base.currentItem]); - } else { - base.css2slide(0); - base.currentItem = 0; - } - } - if(base.options.autoPlay !== false){ - base.checkAp(); - } - }, - - appendItemsSizes : function(){ - var base = this; - - var roundPages = 0; - var lastItem = base.itemsAmount - base.options.items; - - base.$owlItems.each(function(index){ - var $this = $(this); - $this - .css({"width": base.itemWidth}) - .data("owl-item",Number(index)); - - if(index % base.options.items === 0 || index === lastItem){ - if(!(index > lastItem)){ - roundPages +=1; - } - } - $this.data("owl-roundPages",roundPages) - }); - }, - - appendWrapperSizes : function(){ - var base = this; - var width = 0; - - var width = base.$owlItems.length * base.itemWidth; - - base.$owlWrapper.css({ - "width": width*2, - "left": 0 - }); - base.appendItemsSizes(); - }, - - calculateAll : function(){ - var base = this; - base.calculateWidth(); - base.appendWrapperSizes(); - base.loops(); - base.max(); - }, - - calculateWidth : function(){ - var base = this; - base.itemWidth = Math.round(base.$elem.width()/base.options.items) - }, - - max : function(){ - var base = this; - base.maximumItem = base.itemsAmount - base.options.items; - var maximum = (base.itemsAmount * base.itemWidth) - base.options.items * base.itemWidth; - maximum = maximum * -1 - base.maximumPixels = maximum; - return maximum; - }, - - min : function(){ - return 0; - }, - - loops : function(){ - var base = this; - - base.positionsInArray = [0]; - var elWidth = 0; - - for(var i = 0; i").toggleClass("clickable", !base.browser.isTouch).appendTo(base.$elem); - } - if(base.options.pagination === true){ - base.buildPagination(); - } - if(base.options.navigation === true){ - base.buildButtons(); - } - }, - - buildButtons : function(){ - var base = this; - var buttonsWrapper = $("
") - base.owlControls.append(buttonsWrapper); - - base.buttonPrev = $("
",{ - "class" : "owl-prev", - "html" : base.options.navigationText[0] || "" - }); - - base.buttonNext = $("
",{ - "class" : "owl-next", - "html" : base.options.navigationText[1] || "" - }); - - buttonsWrapper - .append(base.buttonPrev) - .append(base.buttonNext); - - buttonsWrapper.on("touchend.owlControls mouseup.owlControls", "div[class^=\"owl\"]", function(event){ - event.preventDefault(); - if($(this).hasClass("owl-next")){ - base.next(); - } else{ - base.prev(); - } - }) - }, - - buildPagination : function(){ - var base = this; - - base.paginationWrapper = $("
"); - base.owlControls.append(base.paginationWrapper); - - base.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function(event){ - event.preventDefault(); - if(Number($(this).data("owl-page")) !== base.currentItem){ - base.goTo( Number($(this).data("owl-page")), true); - } - }); - }, - - updatePagination : function(){ - var base = this; - if(base.options.pagination === false){ - return false; - } - - base.paginationWrapper.html(""); - - var counter = 0; - var lastPage = base.itemsAmount - base.itemsAmount % base.options.items; - - for(var i = 0; i",{ - "class" : "owl-page" - }); - var paginationButtonInner = $("",{ - "text": base.options.paginationNumbers === true ? counter : "", - "class": base.options.paginationNumbers === true ? "owl-numbers" : "" - }); - paginationButton.append(paginationButtonInner); - - paginationButton.data("owl-page",lastPage === i ? lastItem : i); - paginationButton.data("owl-roundPages",counter); - - base.paginationWrapper.append(paginationButton); - } - } - base.checkPagination(); - }, - checkPagination : function(){ - var base = this; - if(base.options.pagination === false){ - return false; - } - base.paginationWrapper.find(".owl-page").each(function(i,v){ - if($(this).data("owl-roundPages") === $(base.$owlItems[base.currentItem]).data("owl-roundPages") ){ - base.paginationWrapper - .find(".owl-page") - .removeClass("active"); - $(this).addClass("active"); - } - }); - }, - - checkNavigation : function(){ - var base = this; - - if(base.options.navigation === false){ - return false; - } - if(base.options.rewindNav === false){ - if(base.currentItem === 0 && base.maximumItem === 0){ - base.buttonPrev.addClass("disabled"); - base.buttonNext.addClass("disabled"); - } else if(base.currentItem === 0 && base.maximumItem !== 0){ - base.buttonPrev.addClass("disabled"); - base.buttonNext.removeClass("disabled"); - } else if (base.currentItem === base.maximumItem){ - base.buttonPrev.removeClass("disabled"); - base.buttonNext.addClass("disabled"); - } else if(base.currentItem !== 0 && base.currentItem !== base.maximumItem){ - base.buttonPrev.removeClass("disabled"); - base.buttonNext.removeClass("disabled"); - } - } - }, - - updateControls : function(){ - var base = this; - base.updatePagination(); - base.checkNavigation(); - if(base.owlControls){ - if(base.options.items === base.itemsAmount){ - base.owlControls.hide(); - } else { - base.owlControls.show(); - } - } - }, - - destroyControls : function(){ - var base = this; - if(base.owlControls){ - base.owlControls.remove(); - } - }, - - next : function(speed){ - var base = this; - - if(base.isTransition){ - return false; - } - - base.storePrevItem = base.currentItem; - - base.currentItem += base.options.scrollPerPage === true ? base.options.items : 1; - if(base.currentItem > base.maximumItem + (base.options.scrollPerPage == true ? (base.options.items - 1) : 0)){ - if(base.options.rewindNav === true){ - base.currentItem = 0; - speed = "rewind"; - } else { - base.currentItem = base.maximumItem; - return false; - } - } - base.goTo(base.currentItem,speed); - }, - - prev : function(speed){ - var base = this; - - if(base.isTransition){ - return false; - } - - base.storePrevItem = base.currentItem; - - if(base.options.scrollPerPage === true && base.currentItem > 0 && base.currentItem < base.options.items){ - base.currentItem = 0 - } else { - base.currentItem -= base.options.scrollPerPage === true ? base.options.items : 1; - } - if(base.currentItem < 0){ - if(base.options.rewindNav === true){ - base.currentItem = base.maximumItem; - speed = "rewind" - } else { - base.currentItem =0; - return false; - } - } - base.goTo(base.currentItem,speed); - }, - - goTo : function(position,speed,drag){ - var base = this; - - if(base.isTransition){ - return false; - } - base.getPrevItem(); - if(typeof base.options.beforeMove === "function") { - base.options.beforeMove.apply(this,[base.$elem]); - } - if(position >= base.maximumItem){ - position = base.maximumItem; - } - else if( position <= 0 ){ - position = 0; - } - - base.currentItem = base.owl.currentItem = position; - if( base.options.transitionStyle !== false && drag !== "drag" && base.options.items === 1 && base.browser.support3d === true){ - base.swapSpeed(0) - if(base.browser.support3d === true){ - base.transition3d(base.positionsInArray[position]); - } else { - base.css2slide(base.positionsInArray[position],1); - } - base.singleItemTransition(); - base.afterGo(); - return false; - } - var goToPixel = base.positionsInArray[position]; - - if(base.browser.support3d === true){ - base.isCss3Finish = false; - - if(speed === true){ - base.swapSpeed("paginationSpeed"); - setTimeout(function() { - base.isCss3Finish = true; - }, base.options.paginationSpeed); - - } else if(speed === "rewind" ){ - base.swapSpeed(base.options.rewindSpeed); - setTimeout(function() { - base.isCss3Finish = true; - }, base.options.rewindSpeed); - - } else { - base.swapSpeed("slideSpeed"); - setTimeout(function() { - base.isCss3Finish = true; - }, base.options.slideSpeed); - } - base.transition3d(goToPixel); - } else { - if(speed === true){ - base.css2slide(goToPixel, base.options.paginationSpeed); - } else if(speed === "rewind" ){ - base.css2slide(goToPixel, base.options.rewindSpeed); - } else { - base.css2slide(goToPixel, base.options.slideSpeed); - } - } - base.afterGo(); - }, - - getPrevItem : function(){ - var base = this; - base.prevItem = base.owl.prevItem = base.storePrevItem === undefined ? base.currentItem : base.storePrevItem; - base.storePrevItem = undefined; - }, - - jumpTo : function(position){ - var base = this; - base.getPrevItem(); - if(typeof base.options.beforeMove === "function") { - base.options.beforeMove.apply(this,[base.$elem]); - } - if(position >= base.maximumItem || position === -1){ - position = base.maximumItem; - } - else if( position <= 0 ){ - position = 0; - } - base.swapSpeed(0) - if(base.browser.support3d === true){ - base.transition3d(base.positionsInArray[position]); - } else { - base.css2slide(base.positionsInArray[position],1); - } - base.currentItem = base.owl.currentItem = position; - base.afterGo(); - }, - - afterGo : function(){ - var base = this; - base.checkPagination(); - base.checkNavigation(); - base.eachMoveUpdate(); - - if(typeof base.options.afterMove === "function") { - base.options.afterMove.apply(this,[base.$elem]); - } - if(base.options.autoPlay !== false){ - base.checkAp(); - } - }, - - stop : function(){ - var base = this; - base.apStatus = "stop"; - clearInterval(base.autoPlayInterval); - }, - - checkAp : function(){ - var base = this; - if(base.apStatus !== "stop"){ - base.play(); - } - }, - - play : function(){ - var base = this; - base.apStatus = "play"; - if(base.options.autoPlay === false){ - return false; - } - clearInterval(base.autoPlayInterval); - base.autoPlayInterval = setInterval(function(){ - base.next(true); - },base.options.autoPlay); - }, - - swapSpeed : function(action){ - var base = this; - if(action === "slideSpeed"){ - base.$owlWrapper.css(base.addCssSpeed(base.options.slideSpeed)); - } else if(action === "paginationSpeed" ){ - base.$owlWrapper.css(base.addCssSpeed(base.options.paginationSpeed)); - } else if(typeof action !== "string"){ - base.$owlWrapper.css(base.addCssSpeed(action)); - } - }, - - addCssSpeed : function(speed){ - var base = this; - return { - "-webkit-transition": "all "+ speed +"ms ease", - "-moz-transition": "all "+ speed +"ms ease", - "-o-transition": "all "+ speed +"ms ease", - "transition": "all "+ speed +"ms ease" - }; - }, - - removeTransition : function(){ - return { - "-webkit-transition": "", - "-moz-transition": "", - "-o-transition": "", - "transition": "" - }; - }, - - doTranslate : function(pixels){ - return { - "-webkit-transform": "translate3d("+pixels+"px, 0px, 0px)", - "-moz-transform": "translate3d("+pixels+"px, 0px, 0px)", - "-o-transform": "translate3d("+pixels+"px, 0px, 0px)", - "-ms-transform": "translate3d("+pixels+"px, 0px, 0px)", - "transform": "translate3d("+pixels+"px, 0px,0px)" - }; - }, - - transition3d : function(value){ - var base = this; - base.$owlWrapper.css(base.doTranslate(value)); - }, - - css2move : function(value){ - var base = this; - base.$owlWrapper.css({"left" : value}) - }, - - css2slide : function(value,speed){ - var base = this; - - base.isCssFinish = false; - base.$owlWrapper.stop(true,true).animate({ - "left" : value - }, { - duration : speed || base.options.slideSpeed , - complete : function(){ - base.isCssFinish = true; - } - }); - }, - - checkBrowser : function(){ - var base = this; - - //Check 3d support - var translate3D = "translate3d(0px, 0px, 0px)", - tempElem = document.createElement("div"); - - tempElem.style.cssText= " -moz-transform:" + translate3D + - "; -ms-transform:" + translate3D + - "; -o-transform:" + translate3D + - "; -webkit-transform:" + translate3D + - "; transform:" + translate3D; - var regex = /translate3d\(0px, 0px, 0px\)/g, - asSupport = tempElem.style.cssText.match(regex), - support3d = (asSupport !== null && asSupport.length === 1); - - var isTouch = "ontouchstart" in window || navigator.msMaxTouchPoints; - - base.browser = { - "support3d" : support3d, - "isTouch" : isTouch - } - }, - - moveEvents : function(){ - var base = this; - if(base.options.mouseDrag !== false || base.options.touchDrag !== false){ - base.gestures(); - base.disabledEvents(); - } - }, - - eventTypes : function(){ - var base = this; - var types = ["s","e","x"]; - - base.ev_types = {}; - - if(base.options.mouseDrag === true && base.options.touchDrag === true){ - types = [ - "touchstart.owl mousedown.owl", - "touchmove.owl mousemove.owl", - "touchend.owl touchcancel.owl mouseup.owl" - ]; - } else if(base.options.mouseDrag === false && base.options.touchDrag === true){ - types = [ - "touchstart.owl", - "touchmove.owl", - "touchend.owl touchcancel.owl" - ]; - } else if(base.options.mouseDrag === true && base.options.touchDrag === false){ - types = [ - "mousedown.owl", - "mousemove.owl", - "mouseup.owl" - ]; - } - - base.ev_types["start"] = types[0]; - base.ev_types["move"] = types[1]; - base.ev_types["end"] = types[2]; - }, - - disabledEvents : function(){ - var base = this; - base.$elem.on("dragstart.owl", function(event) { event.preventDefault();}); - base.$elem.on("mousedown.disableTextSelect", function(e) { - return $(e.target).is('input, textarea, select, option'); - }); - }, - - gestures : function(){ - var base = this; - - var locals = { - offsetX : 0, - offsetY : 0, - baseElWidth : 0, - relativePos : 0, - position: null, - minSwipe : null, - maxSwipe: null, - sliding : null, - dargging: null, - targetElement : null - } - - base.isCssFinish = true; - - function getTouches(event){ - if(event.touches){ - return { - x : event.touches[0].pageX, - y : event.touches[0].pageY - } - } else { - if(event.pageX !== undefined){ - return { - x : event.pageX, - y : event.pageY - } - } else { - return { - x : event.clientX, - y : event.clientY - } - } - } - } - - function swapEvents(type){ - if(type === "on"){ - $(document).on(base.ev_types["move"], dragMove); - $(document).on(base.ev_types["end"], dragEnd); - } else if(type === "off"){ - $(document).off(base.ev_types["move"]); - $(document).off(base.ev_types["end"]); - } - } - - function dragStart(event) { - var event = event.originalEvent || event || window.event; - - if(base.isCssFinish === false && !base.options.dragBeforeAnimFinish ){ - return false; - } - if(base.isCss3Finish === false && !base.options.dragBeforeAnimFinish ){ - return false; - } - - if(base.options.autoPlay !== false){ - clearInterval(base.autoPlayInterval); - } - - if(base.browser.isTouch !== true && !base.$owlWrapper.hasClass("grabbing")){ - base.$owlWrapper.addClass("grabbing") - } - - base.newPosX = 0; - base.newRelativeX = 0; - - $(this).css(base.removeTransition()); - - var position = $(this).position(); - locals.relativePos = position.left; - - locals.offsetX = getTouches(event).x - position.left; - locals.offsetY = getTouches(event).y - position.top; - - swapEvents("on"); - - locals.sliding = false; - locals.targetElement = event.target || event.srcElement; - } - - function dragMove(event){ - var event = event.originalEvent || event || window.event; - - base.newPosX = getTouches(event).x- locals.offsetX; - base.newPosY = getTouches(event).y - locals.offsetY; - base.newRelativeX = base.newPosX - locals.relativePos; - - if (typeof base.options.startDragging === "function" && locals.dragging !== true && base.newRelativeX !== 0) { - locals.dragging = true; - base.options.startDragging.apply(this); - } - - if(base.newRelativeX > 8 || base.newRelativeX < -8 && base.browser.isTouch === true){ - event.preventDefault ? event.preventDefault() : event.returnValue = false; - locals.sliding = true; - } - - if((base.newPosY > 10 || base.newPosY < -10) && locals.sliding === false){ - $(document).off("touchmove.owl"); - } - - var minSwipe = function(){ - return base.newRelativeX / 5; - } - var maxSwipe = function(){ - return base.maximumPixels + base.newRelativeX / 5; - } - - base.newPosX = Math.max(Math.min( base.newPosX, minSwipe() ), maxSwipe() ); - if(base.browser.support3d === true){ - base.transition3d(base.newPosX); - } else { - base.css2move(base.newPosX); - } - } - - function dragEnd(event){ - var event = event.originalEvent || event || window.event; - event.target = event.target || event.srcElement; - - locals.dragging = false; - - if(base.browser.isTouch !== true){ - base.$owlWrapper.removeClass("grabbing"); - } - - if(base.newRelativeX !== 0){ - var newPosition = base.getNewPosition(); - base.goTo(newPosition,false,"drag"); - if(locals.targetElement === event.target && base.browser.isTouch !== true){ - $(event.target).on("click.disable", function(ev){ - ev.stopImmediatePropagation(); - ev.stopPropagation(); - ev.preventDefault(); - $(event.target).off("click.disable"); - }); - var handlers = $._data(event.target, "events")["click"]; - var owlStopEvent = handlers.pop(); - handlers.splice(0, 0, owlStopEvent); - } - } - swapEvents("off"); - } - base.$elem.on(base.ev_types["start"], ".owl-wrapper", dragStart); - }, - - getNewPosition : function(){ - var base = this, - newPosition; - - var newPosition = base.improveClosest(); - if(newPosition>base.maximumItem){ - base.currentItem = base.maximumItem; - newPosition = base.maximumItem; - } else if( base.newPosX >=0 ){ - newPosition = 0; - base.currentItem = 0; - } - return newPosition; - }, - - improveClosest : function(){ - var base = this; - var array = base.positionsInArray; - var goal = base.newPosX; - var closest = null; - $.each(array, function(i,v){ - if( goal - (base.itemWidth/20) > array[i+1] && goal - (base.itemWidth/20)< v && base.moveDirection() === "left") { - closest = v; - base.currentItem = i; - } - else if (goal + (base.itemWidth/20) < v && goal + (base.itemWidth/20) > array[i+1] && base.moveDirection() === "right"){ - closest = array[i+1]; - base.currentItem = i+1; - } - }); - return base.currentItem; - }, - - moveDirection : function(){ - var base = this, - direction; - if(base.newRelativeX < 0 ){ - direction = "right" - base.playDirection = "next" - } else { - direction = "left" - base.playDirection = "prev" - } - return direction - }, - - customEvents : function(){ - var base = this; - base.$elem.on("owl.next",function(){ - base.next(); - }); - base.$elem.on("owl.prev",function(){ - base.prev(); - }); - base.$elem.on("owl.play",function(event,speed){ - base.options.autoPlay = speed; - base.play(); - base.hoverStatus = "play"; - }); - base.$elem.on("owl.stop",function(){ - base.stop(); - base.hoverStatus = "stop"; - }); - base.$elem.on("owl.goTo",function(event,item){ - base.goTo(item) - }); - base.$elem.on("owl.jumpTo",function(event,item){ - base.jumpTo(item) - }); - }, - - stopOnHover : function(){ - var base = this; - if(base.options.stopOnHover === true && base.browser.isTouch !== true && base.options.autoPlay !== false){ - base.$elem.on("mouseover", function(){ - base.stop(); - }); - base.$elem.on("mouseout", function(){ - if(base.hoverStatus !== "stop"){ - base.play(); - } - }); - } - }, - - lazyLoad : function(){ - var base = this; - - if(base.options.lazyLoad === false){ - return false; - } - for(var i=0; i= base.currentItem; - } else { - follow = true; - } - if(follow && itemNumber < base.currentItem + base.options.items && $lazyImg.length){ - base.lazyPreload($item,$lazyImg); - } - } - }, - - lazyPreload : function($item,$lazyImg){ - var base = this, - iterations = 0; - $lazyImg[0].src = $lazyImg.data("src"); - checkLazyImage(); - - function checkLazyImage(){ - iterations += 1; - if (base.completeImg( $lazyImg.get(0) )) { - showImage(); - } else if(iterations <= 100){//if image loads in less than 10 seconds - setTimeout(checkLazyImage,100); - } else { - showImage(); - } - } - function showImage(){ - $item.data("owl-loaded", "loaded").removeClass("loading"); - $lazyImg.removeAttr("data-src"); - base.options.lazyEffect === "fade" ? $lazyImg.fadeIn(400) : $lazyImg.show(); - } - }, - - autoHeight : function(){ - var base = this; - var $currentimg = $(base.$owlItems[base.currentItem]).find("img"); - - if($currentimg.get(0) !== undefined ){ - var iterations = 0; - checkImage(); - } else { - addHeight(); - } - function checkImage(){ - iterations += 1; - if ( base.completeImg($currentimg.get(0)) ) { - addHeight(); - } else if(iterations <= 100){ //if image loads in less than 10 seconds - setTimeout(checkImage,100); - } else { - base.wrapperOuter.css("height", ""); //Else remove height attribute - } - } - - function addHeight(){ - var $currentItem = $(base.$owlItems[base.currentItem]).height(); - base.wrapperOuter.css("height",$currentItem+"px"); - if(!base.wrapperOuter.hasClass("autoHeight")){ - setTimeout(function(){ - base.wrapperOuter.addClass("autoHeight"); - },0); - } - } - }, - - completeImg : function(img) { - if (!img.complete) { - return false; - } - if (typeof img.naturalWidth !== "undefined" && img.naturalWidth == 0) { - return false; - } - return true; - }, - - addClassActive : function(){ - var base = this; - base.$owlItems.removeClass("active"); - for(var i=base.currentItem; i= base.$userItems.length || position === -1){ - base.$userItems.eq(-1).after(htmlString) - } else { - base.$userItems.eq(position).before(htmlString) - } - - base.setVars(); - }, - - removeItem : function(targetPosition){ - var base = this, - position; - - if(base.$elem.children().length === 0){return false} - - if(targetPosition === undefined || targetPosition === -1){ - position = -1; - } else { - position = targetPosition; - } - - base.unWrap(); - base.$userItems.eq(position).remove(); - base.setVars(); - } - - }; - - $.fn.owlCarousel = function( options ){ - return this.each(function() { - if($(this).data("owl-init") === true){ - return false; - } - $(this).data("owl-init", true); - var carousel = Object.create( Carousel ); - carousel.init( options, this ); - $.data( this, "owlCarousel", carousel ); - }); - }; - - - - - $.fn.owlCarousel.options = { - items : 5, - itemsDesktop : [1199,4], - itemsDesktopSmall : [979,3], - itemsTablet: [768,2], - itemsTabletSmall: false, - itemsMobile : [479,1], - singleItem:false, - - slideSpeed : 200, - paginationSpeed : 800, - rewindSpeed : 1000, - - autoPlay : false, - stopOnHover : false, - - navigation : false, - navigationText : ["prev","next"], - rewindNav : true, - scrollPerPage : false, - - pagination : true, - paginationNumbers: false, - - responsive: true, - responsiveRefreshRate : 200, - responsiveBaseWidth: window, - - baseClass : "owl-carousel", - theme : "owl-theme", - - lazyLoad : false, - lazyFollow : true, - lazyEffect : "fade", - - autoHeight : false, - - jsonPath : false, - jsonSuccess : false, - - dragBeforeAnimFinish : true, - mouseDrag : true, - touchDrag : true, - - addClassActive : false, - transitionStyle : false, - - beforeUpdate : false, - afterUpdate : false, - beforeInit : false, - afterInit : false, - beforeMove: false, - afterMove: false, - afterAction : false, - startDragging : false - - }; -})( jQuery, window, document ); \ No newline at end of file diff --git a/themes/default-bootstrap/js/modules/blockcart/ajax-cart.js b/themes/default-bootstrap/js/modules/blockcart/ajax-cart.js index fb8dcc0db..4549e3610 100644 --- a/themes/default-bootstrap/js/modules/blockcart/ajax-cart.js +++ b/themes/default-bootstrap/js/modules/blockcart/ajax-cart.js @@ -41,7 +41,7 @@ var ajaxCart = { return false; }); //for product page 'add' button... - $('#add_to_cart input').unbind('click').click(function(){ + $('#add_to_cart button').unbind('click').click(function(){ ajaxCart.add( $('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null); return false; }); @@ -169,7 +169,7 @@ var ajaxCart = { //reactive the button when adding has finished if (addedFromProductPage) - $('#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled'); + $('#add_to_cart button').removeAttr('disabled').removeClass('disabled'); else $('.ajax_add_to_cart_button').removeAttr('disabled'); }, @@ -185,7 +185,7 @@ var ajaxCart = { //disabled the button when adding to not double add if user double click if (addedFromProductPage) { - $('#add_to_cart input').attr('disabled', true).removeClass('exclusive').addClass('exclusive_disabled'); + $('#add_to_cart button').attr('disabled', true).addClass('disabled'); $('.filled').removeClass('filled'); } else @@ -208,32 +208,36 @@ var ajaxCart = { if (whishlist && !jsonData.errors) WishlistAddProductCart(whishlist[0], idProduct, idCombination, whishlist[1]); - // add the picture to the cart - var $element = $(callerElement).parents('.ajax_block_product').find('a.product_image img,a.product_img_link img'); - if (!$element.length) - $element = $('#bigpic'); - var $picture = $element.clone(); - var pictureOffsetOriginal = $element.offset(); - pictureOffsetOriginal.right = $(window).innerWidth() - pictureOffsetOriginal.left - $element.width(); + // add the picture to the cart + var $element = $(callerElement).parents('.ajax_block_product').find('a.product_image img,a.product_img_link img'); + if (!$element.length) + $element = $('#bigpic'); + var $picture = $element.clone(); + var pictureOffsetOriginal = $element.offset(); + pictureOffsetOriginal.right = $(window).innerWidth() - pictureOffsetOriginal.left - $element.width(); - if ($picture.length) - { - $picture.css({ - position: 'absolute', - top: pictureOffsetOriginal.top, - right: pictureOffsetOriginal.right - }); - } - - var pictureOffset = $picture.offset(); - var cartBlock = $('#cart_block'); - if (!$('#cart_block')[0] || !$('#cart_block').offset().top || !$('#cart_block').offset().left) - cartBlock = $('#shopping_cart'); - var cartBlockOffset = cartBlock.offset(); - cartBlockOffset.right = $(window).innerWidth() - cartBlockOffset.left - cartBlock.width(); + if ($picture.length) + { + $picture.css({ + position: 'absolute', + top: pictureOffsetOriginal.top, + right: pictureOffsetOriginal.right + }); + } + if (typeof(contentOnly) != 'undefined') { + var $contentOnly = contentOnly; + } + var pictureOffset = $picture.offset(); + if (($contentOnly && $contentOnly !=true) || !$contentOnly) { + var cartBlock = $('#cart_block'); + if (!$('#cart_block')[0] || !$('#cart_block').offset().top || !$('#cart_block').offset().left) + cartBlock = $('#shopping_cart'); + var cartBlockOffset = cartBlock.offset(); + cartBlockOffset.right = $(window).innerWidth() - cartBlockOffset.left - cartBlock.width(); + } // Check if the block cart is activated for the animation - if (cartBlockOffset != undefined && $picture.length) + if (cartBlockOffset != undefined && $picture.length && (($contentOnly && $contentOnly !=true) || !$contentOnly)) { $picture.appendTo('body'); $picture @@ -263,15 +267,20 @@ var ajaxCart = { } }); } - else + else if ($contentOnly && $contentOnly !=false) { + window.parent.ajaxCart.updateCartInformation(jsonData, addedFromProductPage); ajaxCart.updateCartInformation(jsonData, addedFromProductPage); + } + else { + ajaxCart.updateCartInformation(jsonData, addedFromProductPage); + } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("Impossible to add the product to the cart.\n\ntextStatus: '" + textStatus + "'\nerrorThrown: '" + errorThrown + "'\nresponseText:\n" + XMLHttpRequest.responseText); //reactive the button when adding has finished if (addedFromProductPage) - $('#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled'); + $('#add_to_cart button').removeAttr('disabled').removeClass('disabled'); else $(callerElement).removeAttr('disabled'); } @@ -487,7 +496,7 @@ var ajaxCart = { content += ''; content += ''; if (this.hasAttributes) - content += '
'; + content += '
'; if (this.hasCustomizedDatas) content += ajaxCart.displayNewCustomizedDatas(this); if (this.hasAttributes) content += '
'; @@ -606,8 +615,8 @@ var ajaxCart = { var t = $('#layer_cart').outerHeight(true); if (t < h) var n = parseInt(((h-t) / 2) + s) + 'px'; - $('.layer_cart_overlay').css('width',$('body').width()); - $('.layer_cart_overlay').css('height',$('body').height()); + $('.layer_cart_overlay').css('width','100%'); + $('.layer_cart_overlay').css('height','100%'); $('.layer_cart_overlay').show(); $('#layer_cart').css({'top': n}).fadeIn('fast'); crossselling_serialScroll(); @@ -771,12 +780,13 @@ $(document).ready(function() }); $('#cart_navigation input').click(function(){ - $(this).attr('disabled', true).removeClass('exclusive').addClass('exclusive_disabled'); + $(this).attr('disabled', true).addClass('disabled'); $(this).closest("form").get(0).submit(); }); $('#layer_cart .cross, #layer_cart .continue, .layer_cart_overlay').click(function(){ - $('.layer_cart_overlay').hide(); $('#layer_cart').fadeOut('fast'); return false; + $('.layer_cart_overlay').hide(); + $('#layer_cart').fadeOut('fast'); return false; }); }); @@ -795,35 +805,16 @@ function HoverWatcher(selector){ }) } -function crossselling_serialScrollFixLock(event, targeted, scrolled, items, position) -{ - serialScrollNbImages = $('#blockcart_list li:visible').length; - serialScrollNbImagesDisplayed = 4; - - var leftArrow = position == 0 ? true : false; - var rightArrow = position + serialScrollNbImagesDisplayed >= serialScrollNbImages ? true : false; - - $('#blockcart_scroll_left').css('cursor', leftArrow ? 'default' : 'pointer').css('display', leftArrow ? 'none' : 'block').fadeTo(0, leftArrow ? 0 : 1); - $('#blockcart_scroll_right').css('cursor', rightArrow ? 'default' : 'pointer').fadeTo(0, rightArrow ? 0 : 1).css('display', rightArrow ? 'none' : 'block'); - return true; -} - function crossselling_serialScroll() { - $('#blockcart_list').serialScroll({ - items:'li:visible', - prev:'#blockcart_scroll_left', - next:'#blockcart_scroll_right', - axis:'x', - offset:0, - start:0, - stop:true, - onBefore:crossselling_serialScrollFixLock, - duration:300, - step: 1, - lazy: true, - lock: false, - force:false + $('#blockcart_caroucel').bxSlider({ + minSlides: 2, + maxSlides: 4, + slideWidth: 178, + slideMargin: 20, + moveSlides: 1, + infiniteLoop: false, + hideControlOnEnd: true, + pager: false }); - $('#blockcart_list').trigger('goto', 0); } \ No newline at end of file diff --git a/themes/default-bootstrap/js/modules/crossselling/js/crossselling.js b/themes/default-bootstrap/js/modules/crossselling/js/crossselling.js new file mode 100644 index 000000000..e2584aa14 --- /dev/null +++ b/themes/default-bootstrap/js/modules/crossselling/js/crossselling.js @@ -0,0 +1,38 @@ +/* +* 2007-2013 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ +$(document).ready(function() { + $('#crossselling_list_car').bxSlider({ + minSlides: 2, + maxSlides: 6, + slideWidth: 178, + slideMargin: 20, + pager: false, + nextText: '', + prevText: '', + moveSlides:1, + infiniteLoop:false, + hideControlOnEnd: true + }); +}); diff --git a/themes/default-bootstrap/js/modules/homeslider/js/homeslider.js b/themes/default-bootstrap/js/modules/homeslider/js/homeslider.js index 41eef5b48..a5a400d12 100644 --- a/themes/default-bootstrap/js/modules/homeslider/js/homeslider.js +++ b/themes/default-bootstrap/js/modules/homeslider/js/homeslider.js @@ -24,7 +24,7 @@ * International Registered Trademark & Property of PrestaShop SA */ -$(function(){ +$(document).ready(function(){ if (typeof(homeslider_speed) == 'undefined') homeslider_speed = 500; @@ -33,5 +33,14 @@ $(function(){ if (typeof(homeslider_loop) == 'undefined') homeslider_loop = true; - $('#homeslider').bxSlider(); + $('#homeslider').bxSlider({ + infiniteLoop: homeslider_loop, + hideControlOnEnd: true, + pager: false, + autoHover: true, + auto: homeslider_loop, + speed: homeslider_speed, + pause: homeslider_pause, + controls: true + }); }); \ No newline at end of file diff --git a/themes/default-bootstrap/js/modules/productscategory/productscategory.js b/themes/default-bootstrap/js/modules/productscategory/productscategory.js new file mode 100644 index 000000000..7b2c50fa1 --- /dev/null +++ b/themes/default-bootstrap/js/modules/productscategory/productscategory.js @@ -0,0 +1,38 @@ +/* +* 2007-2013 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ +$(document).ready(function() { + $('#bxslider1').bxSlider({ + minSlides: 2, + maxSlides: 6, + slideWidth: 178, + slideMargin: 20, + pager: false, + nextText: '', + prevText: '', + moveSlides:1, + infiniteLoop:false, + hideControlOnEnd: true + }); +}); \ No newline at end of file diff --git a/themes/default-bootstrap/js/order-opc.js b/themes/default-bootstrap/js/order-opc.js index 7e16dd46d..e8eeccc26 100644 --- a/themes/default-bootstrap/js/order-opc.js +++ b/themes/default-bootstrap/js/order-opc.js @@ -62,6 +62,7 @@ function updatePaymentMethodsDisplay() success: function(json) { updatePaymentMethods(json); + $("select.form-control,input[type='checkbox']").uniform(); } }); $(this).fadeOut('slow'); diff --git a/themes/default-bootstrap/js/product.js b/themes/default-bootstrap/js/product.js index f336069fe..fabe6968d 100644 --- a/themes/default-bootstrap/js/product.js +++ b/themes/default-bootstrap/js/product.js @@ -511,7 +511,7 @@ $(document).ready(function() stop:true, onBefore:serialScrollFixLock, duration:700, - step: 2, + step: 1, lazy: true, lock: false, force:false, @@ -570,12 +570,14 @@ $(document).ready(function() $('#resetImages').click(function() { refreshProductImages(0); }); - - $('.thickbox').fancybox({ - 'hideOnContentClick': true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic' - }); + if (contentOnly == false) + $('.thickbox').fancybox({ + 'hideOnContentClick': true, + 'transitionIn' : 'elastic', + 'transitionOut' : 'elastic' + }); + else + $('.thickbox').click(function(){return false}) }); function saveCustomization() @@ -726,3 +728,35 @@ function checkUrl() } } } +// product quantity change buttons +$(document).ready(function(){ + // The button to increment the product value + $('.product_quantity_up').click(function(e){ + e.preventDefault(); + fieldName = $(this).attr('rel'); + var currentVal = parseInt($('input[name='+fieldName+']').val()); + if (quantityAvailable > 0) { + quantityAvailableT = quantityAvailable; + } else { + quantityAvailableT = 100000000; + } + if (!isNaN(currentVal) && currentVal < quantityAvailableT) { + $('input[name='+fieldName+']').val(currentVal + 1).trigger('keyup'); + } else { + $('input[name='+fieldName+']').val(quantityAvailableT); + } + return false; + }); + // The button to decrement the product value + $(".product_quantity_down").click(function(e) { + e.preventDefault(); + fieldName = $(this).attr('rel'); + var currentVal = parseInt($('input[name='+fieldName+']').val()); + if (!isNaN(currentVal) && currentVal > 1) { + $('input[name='+fieldName+']').val(currentVal - 1).trigger('keyup'); + } else { + $('input[name='+fieldName+']').val(1); + } + return false; + }); +}); diff --git a/themes/default-bootstrap/js/quick-view.js b/themes/default-bootstrap/js/quick-view.js index ab0c888e8..52a6d6972 100644 --- a/themes/default-bootstrap/js/quick-view.js +++ b/themes/default-bootstrap/js/quick-view.js @@ -22,12 +22,21 @@ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ - -$(document).ready(function() { - $('.quick-view').hover(function() { +function quick_view() { + $('.quick-view').click(function() { $.fancybox({ - 'type': 'iframe', - 'href': this.href+'&content_only=1' + 'padding': 0, + 'width': 1087, + 'height': 610, + 'type': 'iframe', + 'href': this.rel+'&content_only=1' }); + ajaxCart.refresh(); + return false; }); +} +$(document).ready(function() { + quick_view(); }); + + diff --git a/themes/default-bootstrap/lang/fr.php b/themes/default-bootstrap/lang/fr.php deleted file mode 100644 index abfdc848c..000000000 --- a/themes/default-bootstrap/lang/fr.php +++ /dev/null @@ -1,997 +0,0 @@ - - {l s='Manufacturers:'} + {l s='Brands'} {strip} {if $nbManufacturers == 0}{l s='There are no manufacturers.'} {else} {if $nbManufacturers == 1} - {l s='There is %d manufacturer.' sprintf=$nbManufacturers} + {l s='There is %d brand' sprintf=$nbManufacturers} {else} - {l s='There are %d manufacturers.' sprintf=$nbManufacturers} + {l s='There are %d brands' sprintf=$nbManufacturers} {/if} {/if} @@ -46,12 +46,13 @@ {if $nbManufacturers > 0}
-
+
{include file="$tpl_dir./pagination.tpl"} @@ -68,7 +69,7 @@ {math equation="(total%perLineT)" total=$smarty.foreach.manufacturers.total perLineT=$nbItemsPerLineTablet assign=totModuloTablet} {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} {if $totModuloTablet == 0}{assign var='totModuloTablet' value=$nbItemsPerLineTablet}{/if} -
  • +
  • {if !isset($customizedDatas.$productId.$productAttributeId) && (!isset($product.is_gift) || !$product.is_gift)} {/if} - {if isset($product.attributes_small) && isset($customizedDatas.$productId.$productAttributeId[$product.id_address_delivery])} + {if isset($product.attributes_small)}
    + {/if} + + {if isset($customizedDatas.$productId.$productAttributeId[$product.id_address_delivery])} {if !isset($product.attributes_small)}
    {/if}
      {foreach from=$customizedDatas.$productId.$productAttributeId[$product.id_address_delivery] key='id_customization' item='customization' name='customizations'} @@ -186,51 +189,52 @@ var generated_date = {$smarty.now|intval};
  • -
    -

    {l s='Product successfully added to your shopping cart' mod='blockcart'}

    -
    - img -
    -
    - - -
    {l s='Quantity:' mod='blockcart'}
    -
    {l s='Total:' mod='blockcart'}
    -
    -
    -
    - -

    {l s='Cart:' mod='blockcart'} {$cart_qties} {l s='item' mod='blockcart'}{l s='items' mod='blockcart'}

    -
    - {l s='Total products' mod='blockcart'}{if $priceDisplay == 1} {l s='(tax exclu.):' mod='blockcart'}{else} {l s='(tax incl.):' mod='blockcart'}{/if} - {if $cart_qties > 0}{convertPrice price=$cart->getOrderTotal(false, Cart::ONLY_PRODUCTS)}{/if} -
    - {if $show_wrapping} -
    - {l s='Wrapping' mod='blockcart'}{if $priceDisplay == 1} {l s='(tax exclu.):' mod='blockcart'}{else} {l s='(tax incl.):' mod='blockcart'}{/if} - {if $priceDisplay == 1}{convertPrice price=$cart->getOrderTotal(false, Cart::ONLY_WRAPPING)}{else}{convertPrice price=$cart->getOrderTotal(true, Cart::ONLY_WRAPPING)}{/if} -
    - {/if} -
    - {l s='Total shipping (tax exclu.):' mod='blockcart'} - {if $shipping_cost_float == 0}{l s='Free shipping!' mod='blockcart'}{else}{$shipping_cost}{/if} -
    - {if $show_tax && isset($tax_cost)} -
    - {l s='Tax' mod='blockcart'} - {$tax_cost} +
    +
    + +

    {l s='Product successfully added to your shopping cart' mod='blockcart'}

    +
    + img +
    +
    + + +
    {l s='Quantity:' mod='blockcart'}
    +
    {l s='Total:' mod='blockcart'}
    - {/if} -
    - {l s='Total' mod='blockcart'}{if $priceDisplay == 1} {l s='(tax exclu.):' mod='blockcart'}{else} {l s='(tax incl.):' mod='blockcart'}{/if} - {if $cart_qties > 0}{if $priceDisplay == 1}{convertPrice price=$cart->getOrderTotal(false)}{else}{convertPrice price=$cart->getOrderTotal(true)}{/if}{/if}
    - {l s='Spend just' mod='blockcart'} {convertPrice price=$free_shipping} {l s='more and get' mod='blockcart'} {l s='FREE SHIPPING!' mod='blockcart'} -
    - {l s='Continue shopping' mod='blockcart'} - {l s='Procedd to checkout' mod='blockcart'} +
    +

    {l s='Cart:' mod='blockcart'} {$cart_qties} {l s='item' mod='blockcart'}{l s='items' mod='blockcart'}

    +
    + {l s='Total products' mod='blockcart'}{if $priceDisplay == 1} {l s='(tax exclu.):' mod='blockcart'}{else} {l s='(tax incl.):' mod='blockcart'}{/if} + {if $cart_qties > 0}{convertPrice price=$cart->getOrderTotal(false, Cart::ONLY_PRODUCTS)}{/if} +
    + {if $show_wrapping} +
    + {l s='Wrapping' mod='blockcart'}{if $priceDisplay == 1} {l s='(tax exclu.):' mod='blockcart'}{else} {l s='(tax incl.):' mod='blockcart'}{/if} + {if $priceDisplay == 1}{convertPrice price=$cart->getOrderTotal(false, Cart::ONLY_WRAPPING)}{else}{convertPrice price=$cart->getOrderTotal(true, Cart::ONLY_WRAPPING)}{/if} +
    + {/if} +
    + {l s='Total shipping (tax exclu.):' mod='blockcart'} + {if $shipping_cost_float == 0}{l s='Free shipping!' mod='blockcart'}{else}{$shipping_cost}{/if} +
    + {if $show_tax && isset($tax_cost)} +
    + {l s='Tax' mod='blockcart'} + {$tax_cost} +
    + {/if} +
    + {l s='Total' mod='blockcart'}{if $priceDisplay == 1} {l s='(tax exclu.):' mod='blockcart'}{else} {l s='(tax incl.):' mod='blockcart'}{/if} + {if $cart_qties > 0}{if $priceDisplay == 1}{convertPrice price=$cart->getOrderTotal(false)}{else}{convertPrice price=$cart->getOrderTotal(true)}{/if}{/if} +
    +
    + {l s='Continue shopping' mod='blockcart'} + {l s='Proceed to checkout' mod='blockcart'} +
    -
    +
    diff --git a/themes/default-bootstrap/modules/blockcart/crossselling.tpl b/themes/default-bootstrap/modules/blockcart/crossselling.tpl new file mode 100644 index 000000000..94d1c97fd --- /dev/null +++ b/themes/default-bootstrap/modules/blockcart/crossselling.tpl @@ -0,0 +1,50 @@ +{* +* 2007-2013 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + + +{if isset($orderProducts) && count($orderProducts) > 0} +
    +

    {l s='Customers who bought this product also bought' mod='blockcart'}

    +
    + +
    +
    +{/if} \ No newline at end of file diff --git a/themes/default-bootstrap/modules/blockcategories/blockcategories.tpl b/themes/default-bootstrap/modules/blockcategories/blockcategories.tpl index 86acc7807..d2e0e05f8 100644 --- a/themes/default-bootstrap/modules/blockcategories/blockcategories.tpl +++ b/themes/default-bootstrap/modules/blockcategories/blockcategories.tpl @@ -24,9 +24,8 @@ *} -{if $blockCategTree && $blockCategTree.children|@count}
    -

    {if isset($currentCategory)}{$currentCategory->name|escape}{else}{l s='Categories' mod='blockcategories'}{/if}

    +

    {l s='Categories' mod='blockcategories'}

      {foreach from=$blockCategTree.children item=child name=blockCategTree} @@ -46,5 +45,4 @@
    -{/if} diff --git a/themes/default-bootstrap/modules/blockspecials/blockspecials.tpl b/themes/default-bootstrap/modules/blockspecials/blockspecials.tpl index 70502da00..0b01e23d2 100644 --- a/themes/default-bootstrap/modules/blockspecials/blockspecials.tpl +++ b/themes/default-bootstrap/modules/blockspecials/blockspecials.tpl @@ -30,7 +30,7 @@ {if $special}
    • - {$special.legend|escape:html:'UTF-8'} + {$special.legend|escape:html:'UTF-8'}
      {$special.name|escape:html:'UTF-8'}
      {if isset($special.description_short) && $special.description_short} diff --git a/themes/default-bootstrap/modules/blockstore/blockstore.tpl b/themes/default-bootstrap/modules/blockstore/blockstore.tpl index 374b1f725..f1f6962ed 100644 --- a/themes/default-bootstrap/modules/blockstore/blockstore.tpl +++ b/themes/default-bootstrap/modules/blockstore/blockstore.tpl @@ -27,7 +27,7 @@

      {l s='Our stores' mod='blockstore'}

      -

      {l s='Our stores' mod='blockstore'}

      +

      {l s='Our stores' mod='blockstore'}

      Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magn.

      {l s='Discover our stores' mod='blockstore'} diff --git a/themes/default-bootstrap/modules/blockwishlist/managewishlist.tpl b/themes/default-bootstrap/modules/blockwishlist/managewishlist.tpl index 9a9a63a0f..29bed3d59 100644 --- a/themes/default-bootstrap/modules/blockwishlist/managewishlist.tpl +++ b/themes/default-bootstrap/modules/blockwishlist/managewishlist.tpl @@ -43,71 +43,86 @@

      - + {l s='Send this wishlist' mod='blockwishlist'}

      {/if}
      + {assign var='nbItemsPerLine' value=4} + {assign var='nbItemsPerLineTablet' value=3} + {assign var='nbLi' value=$products|@count} + {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} + {math equation="nbLi/nbItemsPerLineTablet" nbLi=$nbLi nbItemsPerLineTablet=$nbItemsPerLineTablet assign=nbLinesTablet}
        {foreach from=$products item=product name=i} -
      • -
        - » {l s='Delete' mod='blockwishlist'} + {math equation="(total%perLine)" total=$smarty.foreach.i.total perLine=$nbItemsPerLine assign=totModulo} + {math equation="(total%perLineT)" total=$smarty.foreach.i.total perLineT=$nbItemsPerLineTablet assign=totModuloTablet} + {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} + {if $totModuloTablet == 0}{assign var='totModuloTablet' value=$nbItemsPerLineTablet}{/if} +
      • +
        + +
        -

        {$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'}

        - - {if isset($product.attributes_small)} - {$product.attributes_small|escape:'htmlall':'UTF-8'} + +

        + {$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'} + {if isset($product.attributes_small)} + {$product.attributes_small|escape:'htmlall':'UTF-8'} {/if} +

        +

        - - + +

        - -

        - +

        +
        +
        - +
      • {/foreach}
      {if !$refresh} - +
      -

      +

      - -

      + +
      {section name=i loop=11 start=2} -

      +

      - -

      + +
      {/section} -

      - -

      +
      + +

      * {l s='Required field'}

      {if count($productsBoughts)} -
    {l s='Order reference'} {l s='Date'}{l s='Total price'}{l s='Payment: '}{l s='Total price'}{l s='Payment: '} {l s='Status'}{l s='Invoice'} {l s='Invoice'} 
    +
    {l s='Product' mod='blockwishlist'} diff --git a/themes/default-bootstrap/modules/blockwishlist/view.tpl b/themes/default-bootstrap/modules/blockwishlist/view.tpl index 77afee42a..942ec9387 100644 --- a/themes/default-bootstrap/modules/blockwishlist/view.tpl +++ b/themes/default-bootstrap/modules/blockwishlist/view.tpl @@ -22,12 +22,11 @@ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} -
    -

    {l s='Wishlist' mod='blockwishlist'}

    +

    {l s='Wishlist' mod='blockwishlist'}

    {if $wishlists}

    - {l s='Other wishlists of' mod='blockwishlist'} {$current_wishlist.firstname} {$current_wishlist.lastname}: + {l s='Other wishlists of' mod='blockwishlist'} {$current_wishlist.firstname} {$current_wishlist.lastname}: {foreach from=$wishlists item=wishlist name=i} {if $wishlist.id_wishlist != $current_wishlist.id_wishlist} {$wishlist.name} @@ -40,26 +39,40 @@ {/if}

    + {assign var='nbItemsPerLine' value=3} + {assign var='nbItemsPerLineTablet' value=2} + {assign var='nbLi' value=$products|@count} + {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} + {math equation="nbLi/nbItemsPerLineTablet" nbLi=$nbLi nbItemsPerLineTablet=$nbItemsPerLineTablet assign=nbLinesTablet}
      {foreach from=$products item=product name=i} -
    • -
      -
      + {math equation="(total%perLine)" total=$smarty.foreach.i.total perLine=$nbItemsPerLine assign=totModulo} + {math equation="(total%perLineT)" total=$smarty.foreach.i.total perLineT=$nbItemsPerLineTablet assign=totModuloTablet} + {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} + {if $totModuloTablet == 0}{assign var='totModuloTablet' value=$nbItemsPerLineTablet}{/if} +
    • +
      +
      + -
      -

      {$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'}

      +
      +
      +
      +

      + {$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'} + {if isset($product.attributes_small)} + {$product.attributes_small|escape:'htmlall':'UTF-8'} + {/if} +

      - {if isset($product.attributes_small)} - {$product.attributes_small|escape:'htmlall':'UTF-8'} - {/if}

      - +

      -

      +

      -
      -
      -
      - {l s='View' mod='blockwishlist'} - {if isset($product.attribute_quantity) AND $product.attribute_quantity >= 1 OR !isset($product.attribute_quantity) AND $product.product_quantity >= 1} - {if !$ajax} -
      - -
      +
      + {if isset($product.attribute_quantity) AND $product.attribute_quantity >= 1 OR !isset($product.attribute_quantity) AND $product.product_quantity >= 1} + {if !$ajax} +
      + +
      + {/if} + {l s='Add to cart' mod='blockwishlist'} + {else} + {l s='Add to cart' mod='blockwishlist'} {/if} - {l s='Add to cart' mod='blockwishlist'} - {else} - {l s='Add to cart' mod='blockwishlist'} - {/if} + {l s='View' mod='blockwishlist'} +
      +
      +
    • diff --git a/themes/default-bootstrap/modules/cheque/translations/en.php b/themes/default-bootstrap/modules/cheque/translations/en.php new file mode 100644 index 000000000..f5074176c --- /dev/null +++ b/themes/default-bootstrap/modules/cheque/translations/en.php @@ -0,0 +1,17 @@ +cheque_7b4cc4f79be9aae43efd53b4ae5cba4d'] = 'Payment by check'; +$_MODULE['<{cheque}prestashop>cheque_c888438d14855d7d96a2724ee9c306bd'] = 'Your settings have been updated.'; +$_MODULE['<{cheque}prestashop>cheque_5dd532f0a63d89c5af0243b74732f63c'] = 'Contact details'; +$_MODULE['<{cheque}prestashop>cheque_dd7bf230fde8d4836917806aff6a6b27'] = 'Address'; +$_MODULE['<{cheque}prestashop>payment_execution_060bf2d587991d8f090a1309b285291c'] = 'Payments by check'; +$_MODULE['<{cheque}prestashop>payment_execution_1f87346a16cf80c372065de3c54c86d9'] = '(tax incl.)'; +$_MODULE['<{cheque}prestashop>payment_execution_0881a11f7af33bc1b43e437391129d66'] = 'Please confirm your order by clicking \'I confirm my order\''; +$_MODULE['<{cheque}prestashop>payment_execution_46b9e3665f187c739c55983f757ccda0'] = 'I confirm my order'; +$_MODULE['<{cheque}prestashop>payment_return_e1c54fdba2544646684f41ace03b5fda'] = 'Do not forget to include your order number #%d.'; +$_MODULE['<{cheque}prestashop>payment_return_4761b03b53bc2b3bd948bb7443a26f31'] = 'Do not forget to include your order reference %s.'; +$_MODULE['<{cheque}prestashop>payment_return_0db71da7150c27142eef9d22b843b4a9'] = 'If you have questions, comments or concerns, please contact our'; +$_MODULE['<{cheque}prestashop>payment_841728ede901f5134574c4656aba5464'] = 'Pay by check (order processing will take more time)'; diff --git a/themes/default-bootstrap/modules/cheque/translations/it.php b/themes/default-bootstrap/modules/cheque/translations/it.php new file mode 100644 index 000000000..7cf9c6221 --- /dev/null +++ b/themes/default-bootstrap/modules/cheque/translations/it.php @@ -0,0 +1,49 @@ +cheque_7b4cc4f79be9aae43efd53b4ae5cba4d'] = 'Assegno'; +$_MODULE['<{cheque}prestashop>cheque_14e41f4cfd99b10766cc15676d8cda66'] = 'Questo modulo permette di accettare pagamenti tramite assegno.'; +$_MODULE['<{cheque}prestashop>cheque_e09484ba6c16bc20236b63cc0d87ee95'] = 'Sei sicuro di voler cancellare i tuoi dati?'; +$_MODULE['<{cheque}prestashop>cheque_10afbbb4dcb65d825785d196ffb294dd'] = '\'All\'ordine di\' e l\'indirizzo devono essere configurati per poter utilizzare questo modulo correttamente'; +$_MODULE['<{cheque}prestashop>cheque_e2d93539acef2afbbadf8542351fb2b4'] = 'Nessuna valuta impostata per questo modulo'; +$_MODULE['<{cheque}prestashop>cheque_94ce8bec7334b16916823f53ebe936d7'] = 'Il campo \"all\'ordine di\" è obbligatorio.'; +$_MODULE['<{cheque}prestashop>cheque_4b5e20a521d31cc44b9690bd35eaacfc'] = 'Indirizzo obbligatorio.'; +$_MODULE['<{cheque}prestashop>cheque_c888438d14855d7d96a2724ee9c306bd'] = 'Impostazioni aggiornate'; +$_MODULE['<{cheque}prestashop>cheque_aa646de3f8d345490b22b72d4a505dcd'] = 'Se il cliente sceglie questa modalità di pagamento, l\'ordine cambierà il proprio status in \"attesa di pagamento\".'; +$_MODULE['<{cheque}prestashop>cheque_8c88bbf5712292b26e2a6bbeb0a7b5c4'] = 'Pertanto, sarà necessario confermare l\'ordine non appena si riceve un assegno.'; +$_MODULE['<{cheque}prestashop>cheque_5dd532f0a63d89c5af0243b74732f63c'] = 'Dettagli di contatto'; +$_MODULE['<{cheque}prestashop>cheque_119100c9e7b17d9cfe7b1d6c64259a04'] = 'Si prega di specificare il nome e l\'indirizzo a cui i clienti dovranno inviare il loro assegno'; +$_MODULE['<{cheque}prestashop>cheque_75475839e69bef6ed57a8200a5a71d37'] = 'All\'ordine di'; +$_MODULE['<{cheque}prestashop>cheque_dd7bf230fde8d4836917806aff6a6b27'] = 'Indirizzo'; +$_MODULE['<{cheque}prestashop>cheque_b17f3f4dcf653a5776792498a9b44d6a'] = 'Aggiorna le impostazioni'; +$_MODULE['<{cheque}prestashop>validation_e2b7dec8fa4b498156dfee6e4c84b156'] = 'Questo metodo di pagamento non è disponibile.'; +$_MODULE['<{cheque}prestashop>payment_execution_8520b283b0884394b13b80d5689628b3'] = 'Pagamento con assegno'; +$_MODULE['<{cheque}prestashop>payment_execution_f1d3b424cd68795ecaa552883759aceb'] = 'Riepilogo dell\'ordine'; +$_MODULE['<{cheque}prestashop>payment_execution_060bf2d587991d8f090a1309b285291c'] = 'Assegno'; +$_MODULE['<{cheque}prestashop>payment_execution_76ca011e4772bfcce26aecd42c598510'] = 'Hai scelto di pagare con assegno.'; +$_MODULE['<{cheque}prestashop>payment_execution_c884ed19483d45970c5bf23a681e2dd2'] = 'Ecco un breve riepilogo del tuo ordine:'; +$_MODULE['<{cheque}prestashop>payment_execution_3b3b41f131194e747489ef93e778ed0d'] = 'L\'importo totale del tuo ordine è:'; +$_MODULE['<{cheque}prestashop>payment_execution_1f87346a16cf80c372065de3c54c86d9'] = '(tasse incl.)'; +$_MODULE['<{cheque}prestashop>payment_execution_7b1c6e78d93817f61f2b1bbc2108a803'] = 'Si accettano più valute per gli assegni.'; +$_MODULE['<{cheque}prestashop>payment_execution_a7a08622ee5c8019b57354b99b7693b2'] = 'Scegli una delle seguenti:'; +$_MODULE['<{cheque}prestashop>payment_execution_f73ad0f08052884ff465749bf48b55ce'] = 'Accettiamo le seguente valuta da inviare tramite assegno:'; +$_MODULE['<{cheque}prestashop>payment_execution_7135ff14c7931e1c8e9d33aff3dfc7f7'] = 'Le informazioni sul titolare dell\'assegno e l\'indirizzo verranno visualizzate nella pagina successiva.'; +$_MODULE['<{cheque}prestashop>payment_execution_0881a11f7af33bc1b43e437391129d66'] = 'Conferma l\'ordine cliccando su \'confermo il mio ordine\''; +$_MODULE['<{cheque}prestashop>payment_execution_46b9e3665f187c739c55983f757ccda0'] = 'Confermo il mio ordine'; +$_MODULE['<{cheque}prestashop>payment_execution_569fd05bdafa1712c4f6be5b153b8418'] = 'Altri metodi di pagamento'; +$_MODULE['<{cheque}prestashop>payment_return_88526efe38fd18179a127024aba8c1d7'] = 'Il tuo ordine su %s è completo.'; +$_MODULE['<{cheque}prestashop>payment_return_61da27a5dd1f8ced46c77b0feaa9e159'] = 'Vi preghiamo di inviarci un assegno con:'; +$_MODULE['<{cheque}prestashop>payment_return_543baa3e0ca83589be12aff8036b5fe6'] = 'Importo pagamento.'; +$_MODULE['<{cheque}prestashop>payment_return_9b8f932b1412d130ece5045ecafd1b42'] = 'Pagabile all\'ordine di'; +$_MODULE['<{cheque}prestashop>payment_return_9a94f1d749a3de5d299674d6c685e416'] = 'Spedire a'; +$_MODULE['<{cheque}prestashop>payment_return_e1c54fdba2544646684f41ace03b5fda'] = 'Non dimenticare di inserire il tuo numero d\'ordine n.%d.'; +$_MODULE['<{cheque}prestashop>payment_return_4761b03b53bc2b3bd948bb7443a26f31'] = 'Non dimenticare di inserire il riferimento ordine %s.'; +$_MODULE['<{cheque}prestashop>payment_return_610abe74e72f00210e3dcb91a0a3f717'] = 'Ti è stata inviata una email con queste informazioni.'; +$_MODULE['<{cheque}prestashop>payment_return_ffd2478830ca2f519f7fe7ee259d4b96'] = 'Il tuo ordine verrà inviato non appena avremo ricevuto il pagamento.'; +$_MODULE['<{cheque}prestashop>payment_return_0db71da7150c27142eef9d22b843b4a9'] = 'Per eventuali domande o per ulteriori informazioni, contatta la nostra'; +$_MODULE['<{cheque}prestashop>payment_return_decce112a9e64363c997b04aa71b7cb8'] = 'assistenza clienti.'; +$_MODULE['<{cheque}prestashop>payment_return_9bdf695c5a30784327137011da6ef568'] = 'Abbiamo notato un problema con il tuo ordine. Se pensi che questo sia un errore, contatta la nostra'; +$_MODULE['<{cheque}prestashop>payment_f05fd8637f8a6281466a507fcb56baec'] = 'Paga con assegno.'; +$_MODULE['<{cheque}prestashop>payment_841728ede901f5134574c4656aba5464'] = 'Paga con assegno (l\'elaborazione dell\'ordine sarà più lenta).'; diff --git a/themes/default-bootstrap/modules/crossselling/crossselling.tpl b/themes/default-bootstrap/modules/crossselling/crossselling.tpl new file mode 100644 index 000000000..84b91e45d --- /dev/null +++ b/themes/default-bootstrap/modules/crossselling/crossselling.tpl @@ -0,0 +1,44 @@ +{* +* 2007-2013 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +{if isset($orderProducts) && count($orderProducts)} +
      +

      {l s='Customers who bought this product also bought:' mod='crossselling'}

      +
      +
        + {foreach from=$orderProducts item='orderProduct' name=orderProduct} +
      • + {$orderProduct.name|htmlspecialchars} +

        {$orderProduct.name|truncate:15:'...'|escape:'htmlall':'UTF-8'}

        + {if $crossDisplayPrice AND $orderProduct.show_price == 1 AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE} +

        + {convertPrice price=$orderProduct.displayed_price} +

        + {/if} +
      • + {/foreach} +
      +
      +
      +{/if} diff --git a/themes/default-bootstrap/modules/favoriteproducts/views/templates/front/favoriteproducts-account.tpl b/themes/default-bootstrap/modules/favoriteproducts/views/templates/front/favoriteproducts-account.tpl index 9b36f785d..471bfec44 100644 --- a/themes/default-bootstrap/modules/favoriteproducts/views/templates/front/favoriteproducts-account.tpl +++ b/themes/default-bootstrap/modules/favoriteproducts/views/templates/front/favoriteproducts-account.tpl @@ -56,11 +56,11 @@ $('document').ready(function() {capture name=path} {l s='My account' mod='favoriteproducts'} - {$navigationPipe}{l s='My favorite products.' mod='favoriteproducts'} + {$navigationPipe}{l s='My favorite products' mod='favoriteproducts'} {/capture}
      -

      {l s='My favorite products.' mod='favoriteproducts'}

      +

      {l s='My favorite products' mod='favoriteproducts'}

      {if $favoriteProducts}
        {foreach from=$favoriteProducts item=favoriteProduct} diff --git a/themes/default-bootstrap/modules/favoriteproducts/views/templates/hook/my-account.tpl b/themes/default-bootstrap/modules/favoriteproducts/views/templates/hook/my-account.tpl index cdd09636d..f34592ade 100644 --- a/themes/default-bootstrap/modules/favoriteproducts/views/templates/hook/my-account.tpl +++ b/themes/default-bootstrap/modules/favoriteproducts/views/templates/hook/my-account.tpl @@ -24,5 +24,5 @@ *}
      • - {if !$in_footer}{l s='My favorite products.' mod='favoriteproducts'}{else}{l s='My favorite products.' mod='favoriteproducts'}{/if} + {if !$in_footer}{l s='My favorite products' mod='favoriteproducts'}{else}{l s='My favorite products' mod='favoriteproducts'}{/if}
      • diff --git a/themes/default-bootstrap/modules/homeslider/homeslider.tpl b/themes/default-bootstrap/modules/homeslider/homeslider.tpl index 2530d8c96..7d08c57f1 100644 --- a/themes/default-bootstrap/modules/homeslider/homeslider.tpl +++ b/themes/default-bootstrap/modules/homeslider/homeslider.tpl @@ -41,13 +41,13 @@ var homeslider_pause = {$homeslider.pause}; {/if} {if isset($homeslider_slides)} -
        +
          {foreach from=$homeslider_slides item=slide} {if $slide.active}
        • - {$slide.legend|escape:'htmlall':'UTF-8'} + {$slide.legend|escape:'htmlall':'UTF-8'}
        • {/if} diff --git a/themes/default-bootstrap/modules/productcomments/productcomments-extra.tpl b/themes/default-bootstrap/modules/productcomments/productcomments-extra.tpl index 13b4f281a..e2dccb5cf 100644 --- a/themes/default-bootstrap/modules/productcomments/productcomments-extra.tpl +++ b/themes/default-bootstrap/modules/productcomments/productcomments-extra.tpl @@ -35,7 +35,7 @@ $(function(){ }); -{if $logged == 1 || $nbComments != 0} +{if ($logged == 1 || $nbComments != 0) && !$content_only}
        {if $nbComments != 0} diff --git a/themes/default-bootstrap/modules/productscategory/productscategory.tpl b/themes/default-bootstrap/modules/productscategory/productscategory.tpl index 2065ce90c..34bac3165 100644 --- a/themes/default-bootstrap/modules/productscategory/productscategory.tpl +++ b/themes/default-bootstrap/modules/productscategory/productscategory.tpl @@ -22,57 +22,30 @@ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} - {if count($categoryProducts) > 0 && $categoryProducts !== false} -
        +

        {$categoryProducts|@count} {l s='other products in the same category:' mod='productscategory'}

        -
        -
        - - +
      -
    - -{/if} - - - \ No newline at end of file +{/if} \ No newline at end of file diff --git a/themes/default-bootstrap/modules/stripejs/payment.tpl b/themes/default-bootstrap/modules/stripejs/payment.tpl index 1bd925afc..b0dc4ac75 100644 --- a/themes/default-bootstrap/modules/stripejs/payment.tpl +++ b/themes/default-bootstrap/modules/stripejs/payment.tpl @@ -97,10 +97,9 @@
    {if isset($stripe_save_tokens_ask)} -
    -