/**
 * Magento
 *
 * 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_AFL.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@magento.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magento.com for more information.
 *
 * @category    design
 * @package     rwd_default
 * @copyright   Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/*
 * Removes default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Fonts
   ========================================================================== */
@font-face {
  font-family: 'BeauSansBold';
  src: url('../fonts/BeauSans/PFBeauSansPro-Bold.eot');
  src: url('../fonts/BeauSans/PFBeauSansPro-Bold.eot?#iefix') format('embedded-opentype'),
  url('../fonts/BeauSans/PFBeauSansPro-Bold.woff') format('woff'),
  url('../fonts/BeauSans/PFBeauSansPro-Bold.ttf') format('truetype'),
  url('../fonts/BeauSans/PFBeauSansPro-Bold.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */
h1 {
  font-size: 24px;
}

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: 600;
}

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/*
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Sets consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
 * Addresses inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Removes border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
input[disabled] {
  cursor: default;
}

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ============================================ *
 * Reset
 * ============================================ */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* Prevent tap highlight on iOS/Android */
  -webkit-text-size-adjust: 100%;
  /* Prevent automatic scaling on iOS */
}

body {
  background: #FFFFFF;
  color: #787878;
  line-height: 1;
}

html,
body,
img,
fieldset,
abbr,
acronym {
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 400;
}

th,
code,
cite,
caption {
  font-weight: 400;
  font-style: normal;
  text-align: left;
}

address {
  font-style: normal;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

img {
    display: block;
    max-width: 100%;
}
@media only screen and (min-width: 771px) {
  img.mobile, .mobile { display: none !important; }
}
@media only screen and (max-width: 770px) {
  img.desktop, .desktop  { display: none !important; }
}

ol,
ul {
  list-style: none;
}

q:before,
q:after {
  content: '';
}

input:focus,
input[type="search"]:focus {
  outline: none;
}

input[type="search"] {
  -webkit-appearance: none;
  /* 1 */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  /* 2 */
  box-sizing: border-box;
}

/* ============================================ *
 * Base Styles
 * ============================================ */
@-ms-viewport {
  width: device-width;
}

@-o-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

a, button {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

body,
button,
input,
select,
table,
textarea {
  font-family: "Raleway", "Helvetica Neue", Verdana, Arial, sans-serif;
  font-weight: 400;
  font-size: 13px;
  color: #787878;
  line-height: 1.5em;
}

a {
  color: #787878;
  text-decoration: none;
  /*-webkit-transition: 300ms linear;
  -moz-transition: 300ms linear;
  -o-transition: 300ms linear;
  transition: 300ms linear;*/
}
a.red-link, span.red-link, a.red, span.red { color: #e3002b; }
a.underline, span.underline { text-decoration: underline; }

a:hover {
  color: #e3002b;
  text-decoration: underline;
}

a:focus {
  outline: none;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.clear { clear: both; height: 0; margin: 0; padding: 0; }
.note { margin: 10px 0; color: #a0a0a0; font-size: 11px; line-height: 1.5; }

/* ============================================ *
 * Typography
 * ============================================ */
h1, .h1 {
  margin: 0;
  margin-bottom: 0.5em;
  color: #868686;
  font-size: 26px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  text-transform: none;
}

h2, .h2 {
  margin: 0;
  margin-bottom: 0.5em;
  color: #868686;
  font-size: 24px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  text-transform: none;
}

h3, .h3 {
  margin: 0;
  margin-bottom: 10px;
  color: #868686;
  font-size: 20px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: none;
}

h4, .h4 {
  margin: 0;
  margin-bottom: 5px;
  color: #868686;
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: none;
}

h5, .h5 {
  margin: 0;
  margin-bottom: 5px;
  color: #868686;
  font-size: 14px;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}

h6, .h6 {
  margin: 0;
  margin-bottom: 5px;
  color: #868686;
  font-size: 12px;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}

/* ============================================ *
 * Shared Classes
 * ============================================ */
.address-list address {
  margin-bottom: 1em;
}

.availability {
  margin-bottom: 0;
  font-size: 13px;
  text-transform: uppercase;
}

.availability .label {
  display: none;
}

.availability.in-stock {
  color: #11b400;
}

.availability.available-soon,
.availability.out-of-stock {
  color: #df280a;
}

.availability-only {
  color: #df280a;
  margin-bottom: 10px;
}

/* -------------------------------------------- *
 * Page Titles
 */


/* -------------------------------------------- *
 * Block Module
 */
.block,
.col-left-first {
  margin-bottom: 20px;
}

.col-left-first .block:last-of-type {
  margin-bottom: 0;
}

.block-title {
  position: relative;
  margin: 20px 0;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
}
.block-title:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 16px;
  display: block;
  width: 100%;
  border-bottom: 1px solid #868686;
}
.block-title.no-line:before {
  display: none;
}

.block-title h2,
.block-title h3,
.block-title strong {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin: 0;
  padding: 0 15px;
  background: #fff;
  font-size: 24px;
  color: #787878 !important;
}
.block-title small {
  font-size: 100%;
  font-weight: 400;
  color: #a0a0a0;
}

@media only screen and (max-width: 770px) {
  .cms-index-index .block-title:before {
    display: none;
  }
}

body:not(.customer-account) .block:first-child .block-title {
  border-top: none;
  padding-top: 0;
}

.block-subtitle {
  font-weight: 600;
  margin-bottom: 7px;
}

.block-content {
  margin-top: 5px;
}

.block-content.unpad {
  padding: 0;
}

.block .actions {
  margin: 10px 0 0;
}
.block .actions:after {
  content: '';
  display: table;
  clear: both;
}
.block .actions a {
  float: left;
}
.block .actions .button {
  float: left;
}

@media only screen and (max-width: 770px) {
  .sidebar .block:not(.block-layered-nav) {
    margin-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title {
    padding: 0;
    margin-top: 0;
    border-bottom: none;
    border-top: none;
    margin-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong {
    margin: 0;
    color: #636363;
    font-size: 14px;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: 400;
    margin-bottom: 0;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #cccccc;
    position: relative;
    background-color: #f4f4f4;
    display: block;
    width: 100%;
    cursor: pointer;
    border-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #e3002b;
    border-right: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong:hover {
    background-color: #ececec;
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong {
    margin: 0;
    color: #636363;
    font-size: 14px;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: 400;
    margin-bottom: 0;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #cccccc;
    position: relative;
    background-color: #f4f4f4;
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #e3002b;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong:hover {
    background-color: #ececec;
  }
  .sidebar .block:not(.block-layered-nav) .block-content {
    padding: 10px;
    margin-top: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #cccccc;
  }
  .sidebar .block:last-of-type {
    padding-bottom: 12px;
    border-bottom: 1px solid #cccccc;
  }
  .block-content {
    margin-top: 0;
  }
}
/* -------------------------------------------- *
 * Secondary Navigation
 */
.block-cms-menu .block-title {
  padding-top: 0;
  border-top: none;
}
.block-cms-menu li {
  text-transform: uppercase;
  margin: 7px 0;
}
.block-cms-menu li strong {
  font-weight: 600;
  color: #e3002b;
}
.block-cms-menu li a {
  color: #636363;
}
.block-cms-menu li a:hover {
  color: #e3002b;
}

/* ============================================ *
 * Buttons
 * ============================================ */
/* Primary Buttons */
.button {
  display: inline-block;
  min-width: 120px;
  padding: 5px 25px;
  border: 0;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  background: #e3002b;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.button:hover {
  background: #3d3d3d;
  cursor: pointer;
}
.button:active {
  background: #e3002b;
  color: #FFFFFF;
}
.button:focus {
  background-color: #e3002b;
  outline: none;
  color: #FFFFFF;
}

.button span.loader {
  display: none;
}
.button.loading span.loader {
  display: block;
}
.button.loading span.label {
  display: none;
}

a.button {
  text-decoration: none;
}
a.button:hover {
  color: #FFFFFF;
}

.button-mobile {
  color: #e3002b;
}
.button.mobile {
  float: none !important;
  width: 100%;
  margin: 10px 0 0;
  clear: both;
}

.button.white {
  border: 1px solid #e3002b;
  background: transparent;
  color: #e3002b;
}
.button.white:hover {
  background: #e3002b;
  color: #fff;
}

@media only screen and (max-width: 479px){
  .button-mobile {
    display: block;
    width: 100%;
    padding: 7px 15px;
    border: 1px solid #e3002b;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    border-radius: 15px;
    background: transparent;
    color: #e3002b;
    font-weight: 400;
    line-height: 15px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
  }
  .button-mobile:hover {
    background: #e3002b;
    color: #fff !important;
    text-decoration: none;
    cursor: pointer;
  }
  .button-mobile:active {
    background: #e3002b;
    color: #fff;
  }
  .button-mobile:focus {
    background-color: #e3002b;
    outline: none;
    color: #fff;
  }
}

/* Disabled - class for anchor, state for form elements */
.button.disabled,
.button:disabled {
  background: #C8C8C8;
  opacity: 0.6;
  cursor: not-allowed;
}

/* Adjacent buttons */
.button + .button {
  margin-left: 5px;
}

.button2 {
  border: 0;
  padding: 0 5px;
  margin: 0;
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
}

.button2:focus {
  outline: none;
}

.button2 span,
.button2 span span {
  line-height: 30px;
  height: 30px;
  text-decoration: underline;
  text-transform: uppercase;
  display: inline-block;
  color: #e3002b;
}
.button2 span:hover,
.button2 span span:hover {
  text-decoration: none;
  color: #246b8f;
}

@media only screen and (max-width: 770px) {
  .col2-set .buttons-set .button,
  .col2-set .buttons-set .button2 {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .col2-set .buttons-set .back-link {
    display: none;
  }
  .col2-set .buttons-set .required {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  /*.buttons-set .button {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 7px;
  }*/
  .buttons-set .back-link {
    display: none;
  }
  .buttons-set .required {
    display: none;
  }
}
/* -------------------------------------------- *
 * Paypal Button
 */
.paypal-logo.paypal-after {
  float: left;
}

.paypal-after .paypal-or {
  float: left;
}

.paypal-or {
  line-height: 34px;
  margin: 0 10px 5px;
}

.paypal-after .paypal-button {
  float: left;
}

.paypal-button {
  line-height: 0;
}

.paypal-button img {
  display: inline;
}

@media only screen and (max-width: 740px) {
  .paypal-or {
    line-height: 20px;
  }

  .paypal-logo,
  .paypal-or,
  .paypal-button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}
/* -------------------------------------------- *
 * Button Sets
 */
.buttons-set {
  clear: both;
  padding: 15px 0;
  text-align: center;
}
.buttons-set p.required {
  margin: 0;
  margin-left: 10px;
  line-height: 33px;
  float: right;
}
.buttons-set .back-link {
  margin: 0 5px;
  line-height: 33px;
}
.buttons-set a:not(.button) {
  line-height: 20px;
  display: inline-block;
  padding: 5px;
}
.buttons-set button.button {
  margin: 0;
  min-width: 140px;
}
.buttons-set:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Icons
 */
.icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .view-mode .grid,
.sorter > .view-mode .list, .skip-cart .icon, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
  background-image: url(../images/icon_sprite.png);
  background-repeat: no-repeat;
  text-indent: -9999px;
}
@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 4 / 2), (min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .view-mode .grid,
  .sorter > .view-mode .list, .skip-cart .icon, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
    background-image: url(../images/icon_sprite@2x.png);
    background-size: 100px 1000px;
  }
}

.header-link .icon, .skip-nav .icon, .skip-search .icon, #search_mini_form .search-button:before {
  background-image: url(../images/icon-sprite-generaloptica.png);
  background-repeat: no-repeat;
  text-indent: -9999px;
}


/* -------------------------------------------- *
 * Breadcrumbs
 */
.breadcrumbs {
  overflow: hidden;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.breadcrumbs ul,
.breadcrumbs .ul{
  overflow: hidden;
}

.breadcrumbs li,
.breadcrumbs h1,
.breadcrumbs h2{
  float: left;
	font-weight: 400;
  font-size: 13px;
	margin:0;
	line-height:1.5em;
}

.breadcrumbs a {
  float: left;
  color: #636363;
  cursor: pointer;
}

.breadcrumbs a:hover {
  color: #e3002b;
}

.breadcrumbs strong,
.breadcrumbs h2 {
  color: #636363;
  font-weight: 600;
}

.breadcrumbs span {
  float: left;
  padding: 0 7px;
}

.catalog-category-view .breadcrumbs {
  position: absolute;
  z-index: 1;
  width: 100%;
  max-width: none;
}

@media only screen and (max-width: 770px) {
  .breadcrumbs {
    display: none;
  }
}
/* -------------------------------------------- *
 * Button - Remove / Previous
 */
.btn-remove {
  display: inline-block;
  width: 20px;
  height: 20px;
  text-align: center;
  text-decoration: none !important;
  /* Hide text */
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  position: relative;
}
.btn-remove:after {
  font-family: 'FontAwesome';
  content: '\f00d';
  color: #e3002b;
  height: 20px;
  line-height: 20px;
  width: 100%;
  font-size: 20px;
}

.btn-remove2 {
  background-position: 4px -648px;
  border: none;
  vertical-align: top;
}
.btn-remove2:after {
  display: none;
}
.btn-remove2:hover {
  background-color: transparent;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}

.btn-previous {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #ededed;
  text-align: center;
  /* Hide text */
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  position: relative;
}
.btn-previous:hover {
  background-color: #e3002b;
  border-color: #e3002b;
}
.btn-previous:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #e3002b;
  border-left: none;
  top: 50%;
  left: 50%;
  margin-left: -2px;
  margin-top: -4px;
}
.btn-previous:hover:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid white;
  border-left: none;
}

.block-layered-nav .currently .btn-previous,
.mini-products-list .btn-remove,
.mini-products-list .btn-previous,
#compare-items .btn-remove,
#compare-items .btn-previous {
  float: right;
  margin-left: 6px;
}

/* -------------------------------------------- *
 * Checkout Agreements
 */
.checkout-agreements li {
  margin-bottom: 20px;
}

.checkout-agreements .agreement-content {
  overflow-y: auto;
  max-width: 670px;
  max-height: 125px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #cccccc;
  background: #f4f4f4;
}

/* -------------------------------------------- *
 * CVV Security Code
 */
.cvv-what-is-this {
  margin-left: 10px;
  font-size: 13px;
  line-height: 24px;
}

/* -------------------------------------------- *
 * Containers
 */
.main-container {
  position: relative;
}

.main,
.breadcrumbs,
.catalog-product-view .breadcrumbs,
.catalog-category-view .breadcrumbs ul,
.catalog-category-view .breadcrumbs .ul,
.product-collateral .toggle-tabs,
.max-width-container {
  max-width: 1024px;
  margin: 0 auto;
}
.max-width-container.no-padding {
  padding: 0;
}

.catalog-product-view .main {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.customer-account-forgotpassword .main,
.customer-account-changeforgotten .main,
.customer-account-login .main,
.customer-account-logoutsuccess .main {
  padding-top: 40px;
}

.main:after,
.footer-container:after {
  content: '';
  display: table;
  clear: both;
}

@media only screen and (max-width: 1024px) {
  .main,
  .breadcrumbs,
  .catalog-product-view .breadcrumbs,
  .catalog-category-view .breadcrumbs ul,
	.catalog-category-view .breadcrumbs .ul,
  .product-collateral .toggle-tabs,
  .customer-account-createstart .account-form,
  .max-width-container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .customer-account-createstart .main {
    padding-right: 0;
    padding-left: 0;
  }
  .product-view .banner-privilege {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media only screen and (max-width: 770px) {
  .main {
    padding-top: 10px;
  }
  .cms-index-index .main {
    padding-top: 0;
  }
  .main,
  .catalog-product-view .breadcrumbs,
  .catalog-category-view .breadcrumbs ul,
	.catalog-category-view .breadcrumbs .ul,
  .product-collateral .toggle-tabs,
  .product-collateral > dl,
  .customer-account-createstart .account-form,
  .max-width-container {
    padding-left: 10px;
    padding-right: 10px;
  }
  .product-view .banner-privilege {
    margin-left: 10px;
    margin-right: 10px;
  }
  .catalog-product-compare-index .main {
    padding-right: 0;
    padding-left: 0;
  }
}

.top-main-container {
  position: relative;
  margin-bottom: 22px;
  padding: 30px 0;
  border-bottom: 1px solid #c2c2c2;
  text-align: center;
  background:#fff;
  z-index:10;
}
.top-main-container:before {
  content: "";
  position: absolute;
  bottom: -22px;
  left: calc(50% - 22px);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #c2c2c2;
}
.top-main-container:after {
  content: "";
  position: absolute;
  bottom: -21px;
  left: calc(50% - 22px);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #fff;
}

.top-main-container.no-arrow {
  /*margin-bottom: 0;*/
}
.top-main-container.no-arrow:before,
.top-main-container.no-arrow:after {
  border: none;
}

.top-main-container .page-title {
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0 20px;
}
.top-main-container .page-title h2 {
  font-size: 16px;
  font-weight: 400;
  color: #868686;
  line-height: 1.6;
}
.top-main-container .page-title .text {
  font-size: 13px;
  font-weight: 400;
}

.top-main-container-mobile {
  padding: 25px 10px 15px;
  background: #f4f4f4;
  text-align: center;
}

.top-main-container.step-nav,
.top-main-container.block-account,
.top-main-container.block-promos {
  padding-bottom: 0;
}


/* -------------------------------------------- *
 * Column Layouts
 */
.main:after,
.col-wrapper:after {
  content: '';
  display: table;
  clear: both;
}

.col-left,
.col-right,
.col-main {
  padding: 0 10px;
}

.col-left {
  float: left;
  width: 25%;
  padding-left: 0;
  /* Remove the 15px padding */
  clear: left;
}
.col-left img {
  max-width: 100%;
}

.col-right {
  float: right;
  width: 25%;
  margin-top: 30px;
  padding-right: 0;
  /* Remove the 15px padding */
}
.col-right img {
  width: 100%;
}

.col-main {
  float: left;
  width: 75%;
  -webkit-transition: 300ms linear;
  -moz-transition: 300ms linear;
  -o-transition: 300ms linear;
  transition: 300ms linear;
}

.col1-layout .col-main {
  float: none;
  width: auto;
  padding-left: 0;
  padding-right: 0;
  /* Remove the padding */
}

.col2-left-layout .col-main {
  float: right;
  padding-right: 0;
  /* Remove the 15px padding */
}

.col2-right-layout .col-main {
  padding-left: 0;
  /* Remove the 15px padding */
}

.col3-layout .col-right {
  width: 20.83333%;
}
.col3-layout .col-wrapper {
  float: left;
  width: 79.16667%;
}
.col3-layout .col-wrapper .col-main {
  float: right;
  width: 73.68421%;
}
.col3-layout .col-wrapper .col-left {
  width: 26.31579%;
}

@media only screen and (max-width: 1000px) {
  .col3-layout .col-right {
    float: left;
    clear: left;
    padding-left: 0;
    padding-right: 10px;
    width: 25%;
  }
  .col3-layout .col-wrapper {
    float: right;
    width: 100%;
  }
  .col3-layout .col-wrapper .col-main {
    float: right;
    width: 75%;
  }
  .col3-layout .col-wrapper .col-left {
    width: 25%;
  }
}
@media only screen and (max-width: 770px) {
  .col-left,
  .col-right,
  .col-main,
  .col1-layout .col-left,
  .col1-layout .col-right,
  .col1-layout .col-main,
  .col2-left-layout .col-left,
  .col2-left-layout .col-right,
  .col2-left-layout .col-main,
  .col2-right-layout .col-left,
  .col2-right-layout .col-right,
  .col2-right-layout .col-main,
  .col3-layout .col-wrapper .col-left,
  .col3-layout .col-right,
  .col3-layout .col-wrapper .col-main {
    padding: 0;
    margin-bottom: 10px;
    float: none;
    width: auto;
  }

  .col3-layout .col-wrapper {
    float: none;
    width: auto;
  }

  .col-main {
    float: none;
    width: auto;
  }

  .col-main .col-left {
    padding: 0;
    /* On product listing pages, the left column gets moved inside col-main on small viewports */
  }
}
/* Content Columns */
.col2-set {
  width: 100%;
}
.col2-set .col-1,
.col2-set .col-2 {
  width: 50%;
  padding: 0 50px;
}
@media only screen and (max-width: 950px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    padding: 0 15px;
  }
}
.col2-set .col-1 {
  float: left;
  padding-left: 0;
}
.col2-set .col-2 {
  float: right;
  padding-right: 0;
}
@media only screen and (max-width: 549px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    float: none;
    width: auto !important;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}
.col2-set .narrow {
  width: 33%;
}
.col2-set .wide {
  width: 65%;
}
.col2-set:after {
  content: '';
  display: table;
  clear: both;
}
.col-2-clear{
  clear: both;
}

.col3-set {
  width: 100%;
  overflow: hidden;
}
.col3-set .col-1,
.col3-set .col-2,
.col3-set .col-3 {
  float: left;
  width: 33.33%;
  padding: 0 20px;
}
@media only screen and (max-width: 950px) {
  .col3-set .col-1,
  .col3-set .col-2,
  .col3-set .col-3 {
    padding: 0 10px;
  }
}
.col3-set .col-1 {
  padding-left: 0;
}
.col3-set .col-3 {
  float: right;
  padding-right: 0;
}
.col3-set .col-2.double-col {
  width: 66.66%;
  padding-right: 0;
}
@media only screen and (max-width: 770px) {
  .col3-set .col-1,
  .col3-set .col-2,
  .col3-set .col-3 {
    float: none;
    width: auto !important;
    border: 0;
    padding: 0;
  }
}


/* -------------------------------------------- *
 * Top Container
 */
@media only screen and (min-width: 771px) {
  .top-container {
    padding: 0 30px;
  }
}
/* -------------------------------------------- *
 * Global Site Notice
 */
.global-site-notice {
  background: #676157;
  color: #e6e6e6;
  font-size: 11px;
}
.global-site-notice .notice-inner {
  padding-left: 120px;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  line-height: 11px;
  min-height: 40px;
  padding-top: 14.5px;
  padding-bottom: 14.5px;
  background-image: url("../images/demo-logo.png");
  background-position: left;
  background-repeat: no-repeat;
}
.global-site-notice p {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Promotional Message Banner
 */
.promo-msg {
  color: #e3002b;
  text-align: center;
  margin: 10px;
  text-transform: uppercase;
}

/* -------------------------------------------- *
 * Grid
 */
.grid:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Messages
 */
.success {
  color: #11b400;
}

.error {
  color: #df280a;
  font-weight: 600;
}

.notice {
  color: #e26703;
  font-weight: 600;
}

/* -------------------------------------------- *
 * Messages
 */
.messages {
  margin: 10px 0;
}

.messages li li {
  position: relative;
  margin-bottom: 5px;
  padding: 7px 10px 7px 20px;
  background: #f4f4f4;
  font-size: 15px;
}

.messages li li:before {
  top: 50%;
  left: 0;
  margin-top: -6px;
}

.messages .error-msg li {
  color: black;
  border-left: 5px solid #df280a;
  background-color: #faebe7;
}

.messages .error-msg li:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #df280a;
  border-right: none;
}

.messages .notice-msg li {
  color: black;
  border-left: 5px solid #e26703;
  background-color: #f9ebe6;
}

.messages .notice-msg li:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #e26703;
  border-right: none;
}

.messages .success-msg li {
  color: black;
  border-left: 5px solid #11b400;
  background-color: #eff5ea;
}

.messages .success-msg li:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #11b400;
  border-right: none;
}

@media only screen and (min-width: 915px) {
  .order-list-grid .col-1 {
    width: 30%;
  }

  .order-list-grid .col-2 {
    width: 50%;
    padding-right: 20px;
  }

  .order-list-grid .col-3 {
    clear: none;
    width: 20%;
    padding-top: 0;
  }
}
/* -------------------------------------------- *
 * Page Popup
 */
.page-popup {
  padding: 20px;
  background: #FFFFFF;
  height: auto;
}

.page-popup h1 {
  margin: 0 0 0.5em;
  font-size: 36px;
}

/* -------------------------------------------- *
 * Payment Methods
 */
.payment-methods {
  margin-bottom: 20px;
}

.payment-methods dt {
  padding: 5px 0;
}

.payment-methods dd {
  padding-top: 10px;
}

.payment-methods .form-list {
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin: 5px 15px 15px;
  padding: 15px;
  border: 1px solid #cccccc;
  background: #f4f4f4;
}

.payment-methods .form-list:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #cccccc;
  border-top: none;
  top: -11px;
  left: 30px;
}

.payment-methods .form-list:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #f4f4f4;
  border-top: none;
  top: -10px;
  left: 30px;
}

.payment-methods .form-list li:last-child {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Please Wait (Loading Indicator)
 */
.please-wait {
  display: inline-block;
  margin-left: 10px;
  margin-top: 5px;
  line-height: 24px;
  height: 24px;
  white-space: nowrap;
  /* Prevent the linebreak in the HTML from causing layout issues */
}
.please-wait img {
  float: left;
  margin-right: 5px;
  width: 24px;
}

/* -------------------------------------------- *
 * Price Box - Standard
 */
.price-box, .price-privilege {
  margin: 7px 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  line-height: 20px;
}

.price-box p {
  margin-bottom: 0;
}

.price-notice {
  color: #a0a0a0;
}

.price-box .price {
  letter-spacing: -1px;
}

.price-box .price-label {
  white-space: nowrap;
}

.price-box .minimal-price-link {
  color: #e3002b;
  display: block;
  /* We want this to show on its own line, otherwise the layout looks funky */
}
.price-box .minimal-price-link .label {
  color: #a0a0a0;
}

/* -------------------------------------------- *
 * Price Box - Special
 */
.price-box .old-price,
.price-box .special-price {
  display: inline-block;
}
.price-box .old-price .price-label,
.price-box .special-price .price-label {
  display: none;
}
.price-box .old-price .price,
.price-box .special-price .price {
  display: inline-block;
}

.price-box .old-price {
  margin-bottom: 2px;
  font-size: 14px;
  line-height: 16px;
}
.price-box .old-price .price {
  text-decoration: line-through;
}

.price-box .special-price {
  color: #e3002b;
  font-weight: 600;
}
.price-box .special-price .price-label {
  color: #e3002b;
}

/* -------------------------------------------- *
 * Price Box - Taxes
 */
.price-box .price-excluding-tax,
.price-box .price-including-tax {
  display: block;
}

span.weee {
  display: block;
}

/* -------------------------------------------- *
 * Tier Prices
 */
.product-pricing,
.tier-prices,
.tier-prices-grouped {
  display: inline-block;
  padding: 4px 8px;
  background: #FBF4DE;
  border: 1px solid #E2D4C7;
  margin-top: 7px;
}
.product-pricing li,
.tier-prices li,
.tier-prices-grouped li {
  font-size: 12px;
}
.product-pricing .benefit,
.tier-prices .benefit,
.tier-prices-grouped .benefit {
  font-style: italic;
}
.product-pricing .price,
.tier-prices .price,
.tier-prices-grouped .price {
  font-weight: 600;
}

/* ============================================ *
 * Item Options
 * ============================================ */
.item-options {
  font-size: 14px;
}
.item-options:after {
  content: '';
  display: table;
  clear: both;
}
.item-options dt {
  float: left;
  clear: left;
  font-weight: 600;
  padding-right: 5px;
  font-style: italic;
}
.item-options dt:after {
  content: ': ';
}
.item-options dd {
  float: left;
  padding-left: 10px;
  margin: 0 0 6px;
}

.truncated,
.truncated a.dots {
  cursor: help;
}

.truncated a.details {
  cursor: help;
  height: 16px;
  line-height: 16px;
}
.truncated a.details:hover {
  text-decoration: none;
}

.truncated .truncated_full_value {
  position: relative;
  z-index: 300;
}

.truncated .truncated_full_value .item-options {
  display: none;
  position: absolute;
  z-index: 300;
  width: 200px;
  padding: 8px;
  border: 1px solid #e3002b;
  background-color: #F6F6F6;
  top: 21px;
  left: -100px;
}
.truncated .truncated_full_value .item-options:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #e3002b;
  border-top: none;
  left: 97px;
  top: -7px;
}

.truncated .truncated_full_value .item-options > p {
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.truncated .show .item-options {
  display: block;
}

@media only screen and (max-width: 479px) {
  .truncated {
    cursor: inherit;
  }
  .truncated a.details {
    display: none;
  }
  .truncated .truncated_full_value .item-options {
    display: block;
    position: static;
    z-index: 1;
    width: 100%;
    border: none;
    background-color: transparent;
  }
  .truncated .truncated_full_value .item-options p {
    float: none;
  }
  .truncated .truncated_full_value .item-options:after {
    display: none;
  }
}
/* -------------------------------------------- *
 * Printer Friendly Page
 */
.page-print {
  width: 6.5in;
  margin: 20px;
  background: #FFFFFF;
}

/* -------------------------------------------- *
 * Product Image
 */
.product-image,
.no-touch .product-img-box .product-image:not(.zoom-available):hover {
  position: relative;
  display: block;
}

@media only screen and (max-width: 770px) {
  body .product-img-box .product-image:hover {
    border-color: #ededed;
  }
}
.no-touch .product-image:hover {
  border-color: #e3002b;
}

/* -------------------------------------------- *
 * Ratings
 */
.ratings {
  margin: 7px 0;
}
.ratings .rating-box,
.ratings .rating-links {
  margin: 5px 0;
}
.ratings .rating-box {
  width: 65px;
  height: 13px;
  background-repeat: repeat-x;
  background-position: 0 -615px;
  overflow: hidden;
}
.ratings .rating-box .rating {
  float: left;
  height: 13px;
  background-repeat: repeat-x;
  background-position: 0 -600px;
}
.ratings .amount {
  display: block;
  margin: 5px auto;
}
.ratings .rating-links .separator {
  margin: 0 3px;
}

/* -------------------------------------------- *
 * Standard Formatted Text Block
 */
.std h2, .std .h2 {
  color: #58585A;
}

.std p {
  margin: 0 0 1.5em;
  line-height: 1.6em;
}

.std a {
  color: #e3002b;
}

.std ol {
  list-style: decimal outside;
  margin-bottom: 1.5em;
}

.std ol li {
  margin: .5em 1.5em;
}

.std ul {
  list-style: disc outside;
  margin-bottom: 1.5em;
}

.std ul li {
  margin: .5em 1.5em;
}

.std form ul{
	margin-bottom:0;
}

.std table {
  margin: 0 0 1.5em;
}

.std img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100%;
}
.std img.f-left {
  display: block;
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
.std img.f-right {
  display: block;
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 770px) {
  .std img.f-left,
  .std img.f-right { float: none; margin: 0 auto; }
}

.std .col2-set .col-1 { padding-right: 30px; }
.std .col2-set .col-2 { padding-left: 30px; }
@media only screen and (max-width: 770px) {
  .std .col2-set .col-1,
  .std .col2-set .col-2 { float: none; width: 100%; padding: 0 !important; }
}

.std .cms-columns{
  overflow:hidden;
}
.std .cms-columns ul{
  margin:0;
  list-style:none;
}
.std .cms-columns ul.col-3 li{
	padding:0;
	margin:0;
	margin-right:2%;
	float: left;
  width: 32%;
  margin-right: 2%;
	margin-bottom:1%;
	text-align:center;
}
.std .cms-columns ul.col-4 li{
	padding:0;
	margin:0;
	margin-right:2%;
	float: left;
  width: 23.5%;
  margin-right: 2%;
	text-align:center;
}
.std .cms-columns ul.col-3 li:nth-child(3n),
.std .cms-columns ul.col-4 li:nth-child(4n){
	margin-right: 0;
}
@media only screen and (max-width: 649px) {
  .std .cms-columns ul.col-3 li,
	.std .cms-columns ul.col-4 li {
    float: none;
    width: 100%;
    margin-right: 0 !important;
  }
}

.std .toggle-link, .std .toggle-tab, .std .more-link, .std .less-link { cursor: pointer; color: #e3002b; }
.std .toggle-tab:before { display: block; float: right; font-family: 'FontAwesome'; content: "\f107"; }
.std .toggle-tab.active:before { content: "\f106"; }
.std h2.toggle-tab { font-size: 22px; }
.std .toggle-content { display: none; overflow: hidden; }
.std .toggle-content.opened { display: block; }

.std ul.items-2cols {
  margin: 0 0 1.5em;
  list-style: none;
  overflow: hidden;
}
.std ul.items-2cols > li {
  position: relative;
  width: calc(50% - 30px);
  margin: 0 30px;
}
.std ul.items-2cols > li:nth-child(odd) {
  float: left;
  margin-left: 0;
}
.std ul.items-2cols > li:nth-child(even) {
  float: right;
  margin-right: 0;
}
.std ul.items-2cols > li:nth-child(2n+1){ clear: left; }
@media only screen and (max-width: 770px) {
  .std ul.items-2cols > li { float: none; width: 100%; margin: 0 !important; }
}

.std .text-2cols {
  margin-bottom: 1.5em;
  -webkit-column-count: 2; /* Chrome, Safari, Opera */
  -moz-column-count: 2; /* Firefox */
  column-count: 2;
  -webkit-column-gap: 60px; /* Chrome, Safari, Opera */
  -moz-column-gap: 60px; /* Firefox */
  column-gap: 60px;
}
.std .text-2cols ul,
.std .text-2cols li {
  -webkit-column-break-inside: avoid; /* Chrome, Safari */
  page-break-inside: avoid; /* Theoretically FF 20+ */
  break-inside: avoid-column; /* IE 11 */
}
@media only screen and (max-width: 770px) {
  .std .text-2cols { column-count: 1; }
}

.std ul.no-bullet > li {
  list-style: none;
  margin-left: 0;
  margin-right: 0;
}

.std .title-icon,
.std .item-icon {
  position: relative;
  padding-left: 50px;
}
.std .title-icon img,
.std .item-icon img.icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 35px;
  height: 35px;
}
.std .title-icon-big {
  line-height: 30px;
}
.std .title-icon-big,
.std .item-icon-big {
  position: relative;
  padding-left: 100px;
}
.std .title-icon-big img,
.std .item-icon-big img.icon {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  max-height: 80px;
  max-width: 80px;
}
@media only screen and (max-width: 470px) {
  .std .title-icon, .std .item-icon,
  .std .title-icon-big, .std .item-icon-big { padding-left: 0; }
  .std .title-icon img, .std .item-icon img.icon,
  .std .title-icon-big img, .std .item-icon-big img.icon { display: none; }
}

.std .banners-grid {
  list-style: none;
  overflow: hidden;
}
.std .banners-grid .row {
  margin-left: -5px;
  margin-right: -5px;
}
.std .banners-grid .col-75,
.std .banners-grid .col-50,
.std .banners-grid .col-25 {
  position: relative;
  float: left;
  min-height: 1px;
  padding-left: 5px;
  padding-right: 5px;
}
.std .banners-grid .col-75 { width: 75%; }
.std .banners-grid .col-50 { width: 50%; }
.std .banners-grid .col-25 { width: 25%; }
@media only screen and (max-width: 770px) {
  .std .banners-grid .col-75,
  .std .banners-grid .col-50 { width: 100%; }
  .std .banners-grid .col-25 { width: 50%; }
}

.std ul.banners {
  margin: 0 0 1.5em;
  list-style: none;
  overflow: hidden;
}
.std ul.banners > li {
  position: relative;
  width: 49%;
  margin: 0;
  border: 1px solid #e1e1e1;
}
.std ul.banners > li:nth-child(odd) {
  float: left;
}
.std ul.banners > li:nth-child(even) {
  float: right;
}
.std ul.banners > li:nth-child(2n+1){ clear: left; }
.std ul.banners > li a {
  display: block;
  position: relative;
  color: #787878;
  text-decoration: none !important;
}
.std ul.banners > li img {
  display: block;
  width: 100%;
}
.std ul.banners > li span {
  display: block;
  width: 48%;
  position: absolute;
  right: 6%;
  bottom: 35px;
  text-align: center;
  font-size: 14px;
  line-height: 17px;
}
.std ul.banners > li span strong {
  display: block;
  margin-bottom: 3px;
  font-weight: 700;
}
.std ul.banners > li a.banner-more {
  display: block;
  position: absolute;
  right: 15px;
  bottom: 15px;
}
.std ul.banners > li a.banner-more:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url("../images/icon-sprite-generaloptica.png") no-repeat;
  background-position: -81px -221px;
}
.std ul.banners > li a.banner-more span { display: none; }
@media only screen and (min-width: 771px) and (max-width: 1024px) {
  .std ul.banners > li span {
    width: 100%;
    left: 0; right: 0; bottom: 0;
    padding: 10px 45px 10px 15px;
    background: rgba(255,255,255,0.7);
  }
}
@media only screen and (max-width: 770px) {
  .std ul.banners > li span {
    position: relative;
    width: 100%;
    right: 0;
    margin-top: 15px;
    padding: 10px 12px;
  }
}

.std ul.flex-content,
.std ul.flex-content > li {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 1.5em;
}
.std ul.flex-content > li img {
  align-self: flex-end;
}

/* -------------------------------------------- *
 * Tabs
 */
.tabs {
  margin-bottom: 10px;
  background: #FFFFFF;
}

/* -------------------------------------------- *
 * Toolbar
 */
.toolbar {
  padding: 10px;
}
.toolbar:after {
  content: '';
  display: table;
  clear: both;
}

.toolbar-top .toolbar {
  padding: 0 10px 10px 10px;
}

.pager-no-toolbar {
  margin-bottom: 10px;
}

.pager-no-toolbar ~ .pager-no-toolbar {
  margin-top: 10px;
}

.toolbar,
.pager {
  color: #636363;
  line-height: 32px;
}

.toolbar label,
.pager-no-toolbar label {
  font-weight: 400;
}

.sorter {
  float: right;
}
.sorter label {
  float: left;
}
.sorter select {
  width: auto;
  height: 31px;
  margin: 0;
  background: none;
  border: none;
  color: #e3002b;
}
.sorter label:after {
  content: ':';
}
.sorter > .sort-by .sort-by-switcher {
  font-size: 14px;
  color: #e3002b;
  text-decoration: none !important;
}
.sorter > .sort-by .sort-by-switcher span {
  display: none;
}
.sorter > .sort-by .sort-by-switcher--asc:before {
  font-family: 'FontAwesome';
  content: "\f107";
}
.sorter > .sort-by .sort-by-switcher--desc:before {
  font-family: 'FontAwesome';
  content: "\f106";
}


.sorter > .view-mode {
  float: right;
}
.sorter > .view-mode .grid,
.sorter > .view-mode .list {
  float: left;
  width: 30px;
  height: 30px;
}
.sorter > .view-mode .grid {
  margin-right: 5px;
  background-position: 8px -492px;
}
.sorter > .view-mode strong.grid,
.sorter > .view-mode a.grid:hover {
  background-position: -42px -492px;
}
.sorter > .view-mode .list {
  background-position: 11px -517px;
}
.sorter > .view-mode strong.list,
.sorter > .view-mode a.list:hover {
  background-position: -39px -517px;
}

.pager {
  overflow: hidden;
}

.pages {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.pages strong {
  display: none;
}
.pages li {
  display: inline-block;
  margin: 0 2px;
}
.pages a,
.pages .current {
  display: inline-block;
  width: 30px;
  height: 30px;
  padding: 0;
  text-align: center;
  vertical-align: middle;
  font-size: 14px;
  line-height: 26px;
  white-space: nowrap;
  border: 1px solid #787878;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  -webkit-box-shadow: inset 0px 0px 1px 1px rgba(120,120,120,0.3);
  -moz-box-shadow: inset 0px 0px 1px 1px rgba(120,120,120,0.3);
  box-shadow: inset 0px 0px 1px 1px rgba(120,120,120,0.3);
}

.pages a:hover,
.pages .current {
  border: 1px solid #e3002b;
  background-color: #fff;
  color: #e3002b;
  text-decoration: none;
  cursor: pointer;
  -webkit-box-shadow: inset 0px 0px 1px 1px rgba(227,0,43,0.3);
  -moz-box-shadow: inset 0px 0px 1px 1px rgba(227,0,43,0.3);
  box-shadow: inset 0px 0px 1px 1px rgba(227,0,43,0.3);
}
.pages .current {
  cursor: default;
}
.pages a.next,
.pages a.previous {
  width: auto;
  text-shadow: none;
  background-color: transparent;
  border: none;
  box-shadow: none;
  position: relative;
}
.pages a.next:hover,
.pages a.previous:hover {
  border: none;
}
.pages li.previous {
  position: absolute;
  top: 5px;
  left: 0;
}
.pages a.previous:before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 16px;
  margin-right: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -40px -705px no-repeat;
  border: none;
  vertical-align: middle;
}
.pages a.previous:hover:before {
  background-position: -80px -705px;
  border: none;
}
.pages li.next {
  position: absolute;
  top: 5px;
  right: 0;
}
.pages a.next:after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 16px;
  margin-left: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -40px -730px no-repeat;
  border: none;
  vertical-align: middle;
}
.pages a.next:hover:after {
  background-position: -80px -730px;
  border: none;
}

.pager > .count-container {
  float: left;
}
.pager .amount {
  float: left;
  white-space: nowrap;
  margin: 0 15px 0 0;
}
.pager .amount strong {
  font-weight: 400;
}
.pager .limiter {
  float: left;
  height: 30px;
  line-height: 30px;
}
.pager .limiter > label {
  padding-right: 5px;
}
.pager .limiter > label:after {
  content: ':';
}

.toolbar-top .pager .pages,
.toolbar-top .pager .limiter,
.toolbar-bottom .sorter,
.toolbar-bottom .pager .count-container,
.toolbar-bottom .pager .limiter {
  display: none;
}

@media only screen and (max-width: 770px) {
  .col1-layout .sorter,
  .col1-layout .pager {
    width: 100%;
  }
  .pages ol { min-height: 38px; }
  .pages li, .pages li.current { display: none; }
  .pages li.next, .pages li.previous { display: inline-block; }

}

/* ============================================ *
 * Tax - Full Tax Summary
 * ============================================ */
#checkout-review-table .summary-collapse,
#shopping-cart-totals-table .summary-collapse,
body.customer-account .data-table .summary-collapse {
  position: relative;
  cursor: pointer;
}
#checkout-review-table .summary-collapse:before,
#shopping-cart-totals-table .summary-collapse:before,
body.customer-account .data-table .summary-collapse:before {
  content: '';
  width: 0;
  height: 0;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #e3002b;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .summary-collapse:hover:before,
#shopping-cart-totals-table .summary-collapse:hover:before,
body.customer-account .data-table .summary-collapse:hover:before {
  content: '';
  width: 0;
  height: 0;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #246b8f;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .show-details .summary-collapse:before,
#shopping-cart-totals-table .show-details .summary-collapse:before,
body.customer-account .data-table .show-details .summary-collapse:before {
  content: '';
  width: 0;
  height: 0;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #e3002b;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .show-details .summary-collapse:hover:before,
#shopping-cart-totals-table .show-details .summary-collapse:hover:before,
body.customer-account .data-table .show-details .summary-collapse:hover:before {
  content: '';
  width: 0;
  height: 0;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #246b8f;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#shopping-cart-totals-table tfoot td .summary-collapse:before, #shopping-cart-totals-table tfoot td .summary-collapse:hover:before {
  margin-bottom: 5px;
}

/* ============================================ *
 * Magento Helpers
 * ============================================ */
.a-center {
  text-align: center;
}

.a-right,
.align-right {
  text-align: right;
}

.no-display {
  display: none !important;
}

.nobr,
.nowrap {
  white-space: nowrap;
}

.width-full {
  width: 100% !important;
}

/* ============================================ *
 * Custom Helpers
 * ============================================ */
.hidden {
  display: none;
}

/* ============================================ *
 * Print Styles
 * ============================================ */
.page-print .print-head {
  margin: 0 0 15px;
}

.page-print .print-head .logo {
  float: none;
  max-height: 50px;
  width: auto;
}

/* ============================================ *
 * FORMS - COMMON
 * ============================================ */
/* -------------------------------------------- *
 * Fieldsets
 */
.fieldset p {
  margin-bottom: 7px;
}

.fieldset + .fieldset {
  margin-top: 5px;
}

form .legend {
  margin: 0;
  color: #868686;
  font-size: 22px;
  font-style: normal;
  line-height: 26px;
  text-rendering: optimizeSpeed;
  margin-bottom: 20px;
  border-bottom: 1px solid #787878;
}

/* -------------------------------------------- *
 * Input Box
 */
.input-box:after {
  content: '';
  display: table;
  clear: both;
}

li.centinel-logos div.input-box img {
  display: inline;
  vertical-align: middle;
}

/* For adjacent select inputs. */
/* Example: credit card expiration month and year. */
.input-box .v-fix {
  float: left;
  margin-right: 5px;
  max-width: 100%;
}

.input-box-border {
  min-height: 30px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  border: 1px solid #787878;
  background: #FFFFFF;
  font-size: 15px;
  text-align: center;
}


/* -------------------------------------------- *
 * Labels
 */
label, .label {
  position: relative;
  display: inline-block;
  font-weight: 400;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

label.required:after,
span.required:after {
  content: '*';
  margin-left: 5px;
  color: #df280a;
  font-weight: 400;
  font-size: 22px;
  vertical-align: text-top;
}

label.required em,
span.required em {
  display: none;
}

form label {
  margin: 0 0 8px 12px;
}

.input-box-border label {
  display: none;
}

/* -------------------------------------------- *
 * Hints
 */
.input-hint {
  color: #a0a0a0;
  font-size: 12px;
}

/* -------------------------------------------- *
 * Select
 */
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	-ms-border-radius: 15px;
	-o-border-radius: 15px;
	border-radius: 15px;
	border: 1px solid #787878;
	background: #FFFFFF;
	background-image: linear-gradient(135deg, #787878 50%, transparent 50%), linear-gradient(45deg, transparent 50%, #787878 50%);
	background-position: calc(100% - 10px) 1em, calc(100% - 15px) 1em, calc(100% - 2.5em) 0.5em;
	background-size: 5px 5px, 5px 5px, 1px 1.5em;
	background-repeat: no-repeat;
	outline: 0;
}

select + select {
  margin-left: 5px;
}

select[multiple] {
  width: 270px;
  border: 1px solid #787878;
  font-size: 15px;
  padding: 5px;
}

/* -------------------------------------------- *
 * Textarea
 */
textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding: 5px;
}

/* -------------------------------------------- *
 * Inputs
 */
.input-text {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  border: 1px solid #787878;
  background: #FFFFFF;
  font-size: 15px;
  overflow: hidden;
}
.input-text:focus {
  border: 1px solid #e3002b;
  outline: none;
}
.input-text.validation-failed {
  border-color: #df280a;
}
.input-text.validation-failed:focus {
  outline-color: #ef9384;
}

input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
select {
  height: 30px;
  padding: 0 15px;
}
input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
select {
  width: 100%;
  max-width: 100%;
}

.select select {
  width: 96%;
  height: 28px;
  margin: 0 2%;
  padding: 0 12px;
  border: none;
  background: none;
}

.ie8 .input-text {
  max-width: none;
}

.input-box-border .input-text {
  width: 30%;
  height: 28px;
  padding: 0;
  border: none;
  text-align: center;
}

input[type="button" i], input[type="submit" i], input[type="reset" i], input[type="file" i]::-webkit-file-upload-button, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	-ms-border-radius: 15px;
	-o-border-radius: 15px;
	border-radius: 15px;
	border: 1px solid #787878;
	background: #FFFFFF;
	outline: 0;
	color: #787878;
	padding: 5px 15px;
	font-size: 12px;
	font-weight: 400;
}
/* -------------------------------------------- *
 * Inputs - Quantity
 */
input[type=number].qty,
input[type=text].qty {
  width: 3em;
  text-align: center;
  vertical-align: middle;
}

/* -------------------------------------------- *
 * Placeholder
 */
::-webkit-input-placeholder {
  color: #a0a0a0;
}

input:-moz-placeholder {
  color: #a0a0a0;
}

/* -------------------------------------------- *
 * Checkbox And Radio
 */
.checkbox, .radio {
  display: none;
}
.checkbox + label, .radio + label,
.checkbox + span, .radio + span,
.radio-selector {
  position: relative;
  display: inline-block;
  width: auto;
  margin: 5px 20px 5px 0;
  padding-left: 30px;
  line-height: 22px;
  font-weight: 400;
  vertical-align: top;
}
.checkbox + label:before, .radio + label:before,
.checkbox + span:before, .radio + span:before,
.radio-selector:before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  top: -2px;
  left: 0;
  background: url("../images/icon-sprite-generaloptica.png") -40px -304px no-repeat;
  cursor: pointer;
}
.checkbox:checked + label:before, .radio:checked + label:before,
.checkbox:checked + span:before, .radio:checked + span:before,
.radio-selector.active:before {
  background-position: -40px -337px;
}

.unique-option + label {
  width: calc(100% - 35px);
  margin-right: 0;
}


/* -------------------------------------------- *
 * Validation
 */
.validation-advice {
  margin: 5px 0 0;
  color: #df280a;
  font-size: 11px;
  clear: left;
}

p.required {
  margin: 5px 0 0;
  padding-bottom: 20px;
  font-size: 11px;
  clear: left;
}
p.required:before {
  content: '*';
  margin-right: 5px;
  font-weight: 400;
  font-size: 22px;
  vertical-align: text-top;
}

/* ============================================ *
 * Form List
 * ============================================ */
.form-list {
  list-style: none !important;
}
.form-list .input-range .input-text {
  width: 74px;
}

.form-list .field,
.form-list .wide,
.form-list .control {
  margin: 0 0 20px 0;
  clear: left;
}
.form-list .half {
  width: 50%;
  float: left;
}

.form-list .fields {
  margin: 0 -10px;
  overflow: hidden;
}
.form-list .fields .field {
  width: 50%;
  float: left;
  padding: 0 10px;
  clear: none;
}
.form-list .field .fields .field {
    margin: 0;
}
.form-list .fields .wide {
  width: 100%;
  float: none;
  padding: 0 10px;
}

.form-list .checkbox-field {
  margin-bottom: 0;
}

.form-list .clear-field {
  clear: left;
}

@media only screen and (max-width: 770px) {
  .form-list .half,
  .form-list .field,
  .form-list .fields .field {
    width: 100%;
    float: none;
    padding: 0;
  }
  .form-list .fields {
    margin: 0;
  }
}


/* Turn the label of controls (radio/checkbox) into a button style that wraps the input */
.form-list .control,
.sp-methods dt,
#checkout-shipping-method-load .sp-methods dd,
#co-shipping-method-form .sp-methods dd,
.product-options ul.options-list {
  /* When a label is next to an input that is set to not display, we should style the label in a non-clickable state */
}
.form-list .control div.input-box,
.sp-methods dt div.input-box,
#checkout-shipping-method-load .sp-methods dd div.input-box,
#co-shipping-method-form .sp-methods dd div.input-box,
.product-options ul.options-list div.input-box {
  display: inline;
  float: left;
}
.form-list .control div.input-box:after,
.sp-methods dt div.input-box:after,
#checkout-shipping-method-load .sp-methods dd div.input-box:after,
#co-shipping-method-form .sp-methods dd div.input-box:after,
.product-options ul.options-list div.input-box:after {
  display: none;
}
.form-list .control input.radio,
.form-list .control input.checkbox,
.sp-methods dt input.radio,
.sp-methods dt input.checkbox,
#checkout-shipping-method-load .sp-methods dd input.radio,
#checkout-shipping-method-load .sp-methods dd input.checkbox,
#co-shipping-method-form .sp-methods dd input.radio,
#co-shipping-method-form .sp-methods dd input.checkbox,
.product-options ul.options-list input.radio,
.product-options ul.options-list input.checkbox {
  float: left;
  margin-right: -40px;
  margin-top: 10px;
  margin-left: 15px;
}
.form-list .control label,
.sp-methods dt label,
#checkout-shipping-method-load .sp-methods dd label,
#co-shipping-method-form .sp-methods dd label,
.product-options ul.options-list label {
  color: #636363;
  background-color: #f4f4f4;
  display: inline-block;
  width: auto;
  max-width: none;
  min-width: 250px;
  float: none;
  padding: 6px 10px 6px 40px;
}
.form-list .control label {
  margin: 0;
}
.form-list .control label:hover,
.sp-methods dt label:hover,
#checkout-shipping-method-load .sp-methods dd label:hover,
#co-shipping-method-form .sp-methods dd label:hover,
.product-options ul.options-list label:hover {
  background-color: #ececec;
}
.form-list .control .no-display + label,
.sp-methods dt .no-display + label,
#checkout-shipping-method-load .sp-methods dd .no-display + label,
#co-shipping-method-form .sp-methods dd .no-display + label,
.product-options ul.options-list .no-display + label {
  padding-left: 10px;
  background-color: transparent;
}
.form-list .control .no-display + label:hover,
.sp-methods dt .no-display + label:hover,
#checkout-shipping-method-load .sp-methods dd .no-display + label:hover,
#co-shipping-method-form .sp-methods dd .no-display + label:hover,
.product-options ul.options-list .no-display + label:hover {
  background-color: transparent;
}

.form-list .control.remember-me-box label {
  width: auto;
  max-width: none;
  min-width: inherit;
}

.form-list .control .radio,
.form-list .control .checkbox {
  margin-right: 6px;
}
.form-list .control .input-box {
  clear: none;
  display: inline-block;
  width: auto;
  padding: 0;
}

form .form-instructions {
  margin: 10px 15px 35px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}

@media only screen and (max-width: 770px) {
  form .form-actions {
    text-align: center;
  }
}


/* ============================================ *
 * Table Helpers
 * ============================================ */
.hide-th {
  text-indent: -9999px;
}

/* ============================================ *
 * Data Table
 * ============================================ */
.data-table {
  width: 100%;
}

.data-table td,
.data-table th {
  padding: 10px;
  vertical-align: top;
}

.data-table th {
  background: #f4f4f4;
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
}

.data-table thead th,
.data-table tbody td {
  border-bottom: 1px solid silver;
}

.data-table tbody td,
.data-table tfoot td {
}

.data-table tfoot tr {
  background: #f4f4f4;
}

.data-table tbody td .item-options {
  margin-left: 20px;
  margin-top: 10px;
}
.data-table tbody td .item-options dt:after {
  content: ':';
}

/* ============================================ *
 * Generic Info Table
 * ============================================ */
.info-box {
  border: 1px solid silver;
  padding: 12px 15px;
  margin: 0 0 15px;
}
.info-box h2 {
  font-weight: 600;
  font-size: 13px;
}

.info-table th,
.info-table td {
  vertical-align: top;
}

.info-table th {
  font-weight: 600;
  padding: 4px 20px 4px 0;
}

.info-table td {
  padding: 4px 0;
}

/* ============================================ *
 * Zebra-Stripe Table
 * ============================================ */
.zebra-table tr:first-child,
.zebra-table th:first-child {
  border-top: 1px solid silver;
}
.zebra-table td,
.zebra-table th {
  border-bottom: 1px solid silver;
  padding: 6px;
  background-color: transparent;
}
.zebra-table tr {
  background-color: #eeeded;
}
.zebra-table tr:nth-child(odd) {
  background-color: #f8f7f5;
}

/* ============================================ *
 * Linearize Table
 * ============================================ */
@media only screen and (max-width: 479px) {
  .linearize-table {
    /* Helpers */
  }
  .linearize-table tr,
  .linearize-table th,
  .linearize-table td {
    display: block;
  }
  .linearize-table thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table thead th.lin-hide {
    display: none;
  }
  .linearize-table thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table tbody tr {
    position: relative;
    border-bottom: 1px solid #cccccc;
  }
  .linearize-table tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table tbody td.lin-hide {
    display: none;
  }
  .linearize-table tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table tbody td:first-child,
  .linearize-table tbody td:first-child h3 {
    font-weight: 600;
  }
  .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table tfoot td {
    display: block;
    float: left;
  }
  .linearize-table tfoot td.lin-hide {
    display: none;
  }
  .linearize-table tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table .linearize-hide {
    display: none;
  }
  .linearize-table .linearize-unpad {
    padding: 0;
  }
  .linearize-table .linearize-show {
    display: block;
  }
}
@media only screen and (max-width: 599px) {
  .linearize-table-large {
    /* Helpers */
  }
  .linearize-table-large tr,
  .linearize-table-large th,
  .linearize-table-large td {
    display: block;
  }
  .linearize-table-large thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table-large thead th.lin-hide {
    display: none;
  }
  .linearize-table-large thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table-large tbody tr {
    position: relative;
    border-bottom: 1px solid #cccccc;
  }
  .linearize-table-large tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table-large tbody td.lin-hide {
    display: none;
  }
  .linearize-table-large tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table-large tbody td:first-child,
  .linearize-table-large tbody td:first-child h3 {
    font-weight: 600;
  }
  .linearize-table-large tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table-large tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table-large tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table-large tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table-large tfoot td {
    display: block;
    float: left;
  }
  .linearize-table-large tfoot td.lin-hide {
    display: none;
  }
  .linearize-table-large tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table-large tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table-large .linearize-hide {
    display: none;
  }
  .linearize-table-large .linearize-unpad {
    padding: 0;
  }
  .linearize-table-large .linearize-show {
    display: block;
  }
}
@media only screen and (min-width: 600px) {
  .linearize-table .linearize-collapse {
    display: none;
  }
}
/* ============================================ *
 * Global
 * ============================================ */
html,
body {
  height: 100%;
}
.wrapper {
  min-width: 320px;
  min-height: 100%;
  margin: 0 auto;
  background: #FFFFFF;
}
.wrapper:after {
  content: '';
  display: table;
  clear: both;
}
.page {
  position: relative;
  padding-top: 45px;
}
@media only screen and (min-width: 771px) {
  .page {
    padding-top: 0;
  }
}

/* ============================================ *
 * Header
 * ============================================ */

.page-header {
  position: relative;
  width: 100%;
  z-index: 15;
  border: none;
  background: none;
}
.page-header-container {
  position: relative;
}

@media only screen and (max-width: 770px) {
  .page-header {
    position: fixed;
    top: 0;
    padding: 0;
    background: #fff;
    border-bottom: 1px solid #c2c2c2;
  }
}

/* ============================================ *
 * Top & Bottom Header
 * ============================================ */
.header-top-background {
  position: absolute;
  z-index: 1;
  width: calc(70% - 500px);
  min-height: 60px;
  right: 0;
  background-color: #e1e1e1;
}
.header-top-background:after {
  content: '';
  display: table;
  clear: both;
}

.header-top-container {
  position: absolute;
  z-index: 2;
  width: auto;
  min-height: 60px;
  right: 0;
  padding: 10px 0 0 35px;
  background-color: #e1e1e1;
  -webkit-border-radius: 0 0 0 60px;
  -moz-border-radius: 0 0 0 60px;
  -ms-border-radius: 0 0 0 60px;
  -o-border-radius: 0 0 0 60px;
  border-radius: 0 0 0 60px;
}
.header-top-container .language-links,
.header-top-container .currency-switcher {
  display: none;
}
.header-top-container .skip-language:hover .language-links {
  display: block;
}
.header-top-container .language-links {
  position: absolute;
  left: 0;
  padding-top: 7px;
}
.header-top-container .language-links ul {
  margin: 0;
  padding: 0;
  background-color: #fff;
  border: 1px solid #d6d6d6;
  box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.5);
  -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.5);
}
.header-top-container .language-links ul li {
  text-align: center;
  border-bottom: 1px solid #e1e1e1;
}
.header-top-container .language-links ul li:last-child {
  border: none;
}
.header-top-container .language-links ul li a {
  display: block;
  padding: 5px 20px;
  color: inherit;
}
.header-top-container .language-links ul li.active a,
.header-top-container .language-links ul li a:hover {
  color: #e3002b;
}

.header-bottom-background {
  background-color: #e1e1e1;
  margin-bottom: 45px;
}

.header-bottom-background .header-bottom-container ul {
  text-align: right;
}
.header-bottom-background .header-bottom-container ul li {
  display: inline-block;
}
.header-bottom-background .header-bottom-container ul li a {
  display: inline-block;
  padding: 5px 10px;
  text-transform: uppercase;
  font-size: 12px;
}
.header-bottom-background .header-bottom-container ul li:last-child a {
  padding-right: 0;
}
.header-bottom-background .header-bottom-container ul li a:hover { text-decoration: none; }

@media only screen and (max-width: 770px) {
  .header-top-container,
  .header-top-background,
  .header-bottom-background {
    display: none;
  }
}

/* ============================================ *
 * Logo
 * ============================================ */
.logo {
  display: block;
  float: left;
  min-width: 100px;
  min-height: 44px;
  text-align: center;
  padding: 10px 0;
}
.logo img {
  max-width: 100%;
}
.logo .small {
  display: block;
}
.logo .large {
  display: none;
}

.logo:hover {
  opacity: 0.8;
}

@media only screen and (min-width: 771px) {
  .logo {
    max-width: 300px;
    min-height: 90px;
  }
  .logo .small {
    display: none;
  }
  .logo .large {
    display: block;
  }
}


/* ============================================ *
 * Skip Link
 * ============================================ */
@media only screen and (max-width: 770px) {
  .skip-link.skip-active,
  .skip-link:not(.skip-active):hover {
    color: #e3002b;
  }
}
/* ============================================ *
 * Skip Content
 * ============================================ */
.skip-content {
  display: none;
}
.skip-content.skip-active {
  display: block;
}

/* ============================================ *
 * Header Links
 * ============================================ */
.header-links {
  float: right;
}
@media only screen and (min-width: 771px) {
  .header-links {
    margin-top: 60px;
    padding-top: 20px;
  }
}

/* -------------------------------------------- *
 * Header - Link
 */
.header-link {
  float: left;
  width: auto;
  height: auto;
  padding: 0 12px;
  color: #787878;
  text-align: center;
}
.header-link a{color: #fff; text-decoration:none;}
.header-link a:hover{color:#fff; text-decoration:none;}
a.header-link {
  text-decoration: none;
}
.header-link:hover{
  color: #e3002b;
}
span.header-link {
  position: relative;
  cursor: default;
}

.header-links .header-link {
  font-size: 14px;
}

.header-link.skip-contact { padding-right: 0; }
.header-link.skip-phone:hover { color: inherit; }

.header-link.skip-fuente .label { margin-top: 20px; cursor: pointer; }
.header-link.skip-fuente .label .small { font-size: 12px; }
.header-link.skip-fuente .label .medium { font-size: 15px; }
.header-link.skip-fuente .label .big { font-size: 18px; }

@media only screen and (max-width: 770px) {
  .header-link {
    padding: 10px;
  }
  .header-links .header-link {
    padding: 10px 10px 5px 0;
  }
  .header-link:last-child {
    border-right: 0;
  }
  .header-link.skip-phone,
  .header-link.skip-contact  {
    display: none;
  }
}
/* -------------------------------------------- *
 * Header Link - Icon
 */
.header-link .icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  vertical-align: middle;
}

/* -------------------------------------------- *
 * Icons Links
 */
.skip-nav .icon { background-position: -40px -248px; }
.skip-nav:hover .icon { /*background-position: -80px -248px;*/ }

.skip-account .icon { background-position: 0 -275px; }
.skip-account:hover .icon { background-position: -80px -275px; }

.skip-search .icon { background-position: 0 -140px; }
.skip-search:hover .icon { background-position: -80px -140px; }

.skip-tiendas .icon { background-position: -77px -0px; }
.skip-tiendas:hover .icon { background-position: -77px -0px; }

.skip-fuente .icon { background-position: -40px -57px; width: 34px; margin-top: 20px; }
.skip-fuente:hover .icon { background-position: -80px -57px; }

.skip-language .icon { background-position: -40px -30px; }
.skip-language:hover .icon { background-position: -80px -30px; }

.skip-cita .icon { background-position: -40px -83px; }
.skip-cita:hover .icon { background-position: -80px -83px; }

.skip-ayuda .icon { background-position: -40px -113px; }
.skip-ayuda:hover .icon { background-position: -80px -113px; }

.skip-phone .icon { background-position: -40px -189px; }
/*.skip-phone:hover .icon { background-position: -80px -189px; }*/

.skip-contact .icon { background-position: -40px -165px; }
.skip-contact:hover .icon { background-position: -80px -165px; }

@media only screen and (max-width: 770px) {
  .skip-account .icon { background-position: -80px -275px; }
  .skip-search .icon { background-position: -40px -140px; }
}

/* -------------------------------------------- *
 * Header Link - Label
 */
.header-link .label {
  display: none;
}
.header-link.skip-phone .label {
  font-family: Arial, Helvetica, sans-serif;
}
.header-link.skip-phone .label,
.header-link.skip-contact .label {
  display: inline-block;
}

.skip-language .label {
  position: relative;
}
.skip-language .label:before {
  display: block;
  position: absolute;
  top: 2px;
  left: -12px;
  width: 10px;
  height: 10px;
  font-family: FontAwesome;
  content: '\f0dd';
  font-size: 10px;
  line-height: 1em;
}

@media only screen and (min-width: 500px) {
  .header-link .label {
    display: block;
  }
}

/* -------------------------------------------- *
 * Header Link - Account
 */
.skip-account .label {
  display: none;
}

@media only screen and (min-width: 771px) {
  .skip-account {
    margin: 18px 0 0 20px;
    padding: 0 12px;
    background: #3d3d3d;
    color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    cursor: default;
    text-decoration: none;
  }
  .skip-account:hover {
    background: #e3002b;
    color: #fff !important;
  }
  a.skip-account {
    cursor: pointer !important;
    margin: 2px 0 0 0;
  }
  .skip-account .label {
    display: block;
  }
  .header-links .skip-account {
    display: none;
  }
  a.skip-logout {
    display: block;
    text-align: center;
  }
  a.skip-logout:before {
    font-family: 'FontAwesome';
    display: inline-block;
    margin-right: 5px;
    content: "\f011";
  }
}

/* ============================================ *
 * Global Header Navigation
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-account li a {
    padding: 0 15px 0 25px;
    border-bottom: 1px solid #cccccc;
    text-align: left;
    color: #636363;
    text-transform: uppercase;
    line-height: 30px;
  }
  #header-account li:last-child a {
    border-bottom: 0;
  }
  .no-touch #header-account a:hover {
    background-color: #f4f4f4;
    text-decoration: none;
  }
}
.account-cart-wrapper {
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (max-width: 770px) {
  .account-cart-wrapper {
    position: static;
  }
}

/* ============================================ *
 * Nav - Skip Link
 * ============================================ */
.skip-nav .label {
  display: inline;
}

@media only screen and (max-width: 770px) {
  .skip-nav .label {
    display: none;
  }
}
@media only screen and (min-width: 771px) {
  .skip-nav {
    display: none;
  }
}
/* ============================================ *
 * Nav - Skip Content
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-nav {
    padding: 5px 0;
  }
}

/* ============================================ *
 * Nav - Top Content Container
 * ============================================ */

.link-nav {
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}
.link-nav a {
  display: block;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 400;
}
.link-nav a:hover {
  text-decoration: none;
}
.link-nav a span {
  display: inline-block;
  padding: 10px 0;
  border-bottom: 3px solid #fff;
}
.link-nav a.active span,
.link-nav a.current span {
  color: #e3002b;
  border-bottom: 3px solid #e3002b;
}

.link-nav.no-slider li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.link-nav.no-slider a {
  display: inline-block;
  padding-left: 15px;
  padding-right: 15px;
}

@media only screen and (min-width: 771px){
  .link-nav li,
  .link-nav p {
    display: inline-block;
    margin: 0;
    padding: 0;
  }
  .link-nav a {
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (min-width: 771px) and (max-width: 1024px){
  .link-nav li,
  .link-nav p {
    max-width: 20%;
    margin: 0 -2px;
  }
}
@media only screen and (max-width: 770px) {
  .link-nav a {
    word-break: break-word;
    word-wrap: break-word;
  }
}

.tab-menu {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: calc(100% - 60px);
  margin: 0 30px;
  text-align: center;
}
.tab-menu a {
  display: block;
  padding: 10px 0;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #e1e1e1;
  background: #e1e1e1;
  font-size: 14px;
  color: #787878;
}
.tab-menu a:hover {
  background: #e3002b;
  border-color: #e3002b;
  color: #fff;
  text-decoration: none;
}
.tab-menu a.active {
  background: #fff;
  border-color: #e1e1e1;
  color: #787878;
}
.tab-menu li {
  display: inline-block;
  margin: 0 1px;
}
.tab-menu li a {
  display: inline-block;
  padding: 0 30px;
}
@media only screen and (max-width: 770px) {
  .tab-menu { position: relative; }
}

/* ============================================ *
 * Desktop - Dropdown Menu
 * ============================================ */
@media only screen and (min-width: 771px) {

  /*** General Navigation Styles ***/
  #header-nav {
    display: block;
    width: 100%;
    position: absolute;
    top: 148px; /* Header heights sumatories */
    left: 0;
    z-index: 12;
    background: rgba(225,225,225,1);
    background: -moz-linear-gradient(top, rgba(225,225,225,1) 0%, rgba(255,255,255,0.93) 100%);
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(237,237,237,1)), color-stop(100%, rgba(255,255,255,0.93)));
    background: -webkit-linear-gradient(top, rgba(225,225,225,1) 0%, rgba(255,255,255,0.93) 100%);
    background: -o-linear-gradient(top, rgba(225,225,225,1) 0%, rgba(255,255,255,0.93) 100%);
    background: -ms-linear-gradient(top, rgba(225,225,225,1) 0%, rgba(255,255,255,0.93) 100%);
    background: linear-gradient(to bottom, rgba(225,225,225,1) 0%, rgba(255,255,255,0.93) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e1e1e1', endColorstr='#ffffff', GradientType=0 );
    border-bottom: solid 1px #cccccc;
  }
  .nav-container {
    background: #3d3d3d;
  }
  #nav{
    display: table;
    width: 100%;
    position: relative;
    padding: 0 10px;
  }
  .nav-primary {
    display: table-row;
    width: 100%;
    color: #3d3d3d;
  }

  .nav-primary a {
    cursor: pointer;
  }
  .nav-primary a,
  .nav-primary span {
    display: block;
    font-size: 14px;
    line-height: 1.2em;
    font-weight: 400;
    color: #3d3d3d;
    text-decoration: none;
  }
  .nav-primary a:hover,
  .nav-primary li.active > a,
  .nav-primary li.level0:hover > a {
    color: #e3002b !important;
    text-decoration: none;
  }
  .nav-primary a img,
  .nav-primary span img {
    display: inline-block;
    margin-top: 15px;
  }

  .nav-primary .menu-active {
    z-index: 200;
  }
  .nav-primary li.menu-active > ul {
    display: block;
  }
  .nav-primary .menu-active > ul.level0,
  .nav-primary li.level0 li.sub-menu-active > ul {
    display: block;
  }

  /* LEVEL 0 */
  .nav-primary li.level0 {
    display: table-cell;
    min-width: 90px;
  }
  .nav-primary li.level0 > a {
    position: relative;
    display: block;
    line-height: 45px;
    font-size: 16px;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
  }

  .nav-primary li.nav-6 > a,
  .nav-primary li.nav-6:hover > a {
    color: #ecc42e !important;
    font-weight: 400 !important;
  }

  /* LEVEL 1 */
  .nav-primary li.level0 > ul {
    display: none; /* Hide until displayed. */
    position: absolute;
    top: 45px; /* Height of navigation bar */
    left: 0;
    width: 100%;
    max-width: 1024px;
  }

  .nav-primary li.level0 > ul.bg-img,
  .nav-primary ul.level0 > li > a.bg-img {
    background-position: 20px bottom;
    background-repeat: no-repeat;
  }
  .nav-primary ul.level0 > li > a.bg-img {
    display: block;
    background-position: center bottom;
    background-size: contain;
    text-align: center;
  }
  .nav-primary ul.level0 > li > a.bg-img img {
    display: inline-block;
    margin-top: 10px;
  }
  .nav-primary ul.level0 > li.bg-img,
  .nav-primary ul.level0 > li > a.bg-img {
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
  .nav-primary li.nav-1 ul.level0 > li > a.bg-img {
    min-height: 215px;
  }
  .nav-primary li.nav-2 ul.level0 > li > a.bg-img {
    min-height: 212px;
  }
  .nav-primary li.nav-6 ul.level0 > li > a.bg-img {
    background-size: initial;
  }

  .nav-primary ul.level0 > li {
    display: block;
    float: left;
    width: 12%;
    padding: 20px 10px;
  }
  .nav-primary ul.level0 > li > a,
  .nav-primary ul.level0 > li > span {
    margin-bottom: 7px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
  }
  .nav-primary ul.level0 > li > a span {
    margin-top: 7px;
    padding: 3px 0;
    font-weight: 400;
    text-transform: none;
  }

  /* LEVEL 2 */
  .nav-primary ul.level0 > li li {
    padding: 4px 0;
  }

  .nav-primary .set-2col {
    column-count: 2;
    -webkit-column-count: 2;
    -moz-column-count: 2;
  }
  .nav-primary .set-3col {
    column-count: 3;
    -webkit-column-count: 3;
    -moz-column-count: 3;
  }
  .nav-primary .set-4col {
    column-count: 4;
    -webkit-column-count: 4;
    -moz-column-count: 4;
  }

}

@media only screen and (min-width: 1024px) {
  .nav-primary li.nav-6 > a:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 12px;
    left: 0;
    background-image: url("../images/icono-promociones.svg");
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
  }
}

/* ============================================ *
 * Search - Skip Link
 * ============================================ */
@media only screen and (max-width: 770px) {
  .skip-search .label {
    display: none;
  }
}
@media only screen and (min-width: 771px) {
  .skip-search {
    display: none;
  }
}
/* ============================================ *
 * Search - Skip Content
 * ============================================ */
#header-search {
  padding: 10px 10px 20px;
  clear: both;
}

@media only screen and (min-width: 771px) {
  #header-search {
    display: block;
    position: absolute;
    bottom: 15px;
    right: 255px;
    width: 280px;
    height: 32px;
    padding: 0;
  }
}
/* ============================================ *
 * Search Input
 * ============================================ */
#search_mini_form .input-box {
  position: relative;
}
#search_mini_form label {
  display: none;
}

#search {
  width: 100%;
  height: 30px;
  padding-right: 45px;
  padding-left: 20px;
}

#search_mini_form .search-button {
  text-indent: -9999px;
  position: absolute;
  top: 0;
  right: 15px;
  width: 30px;
  height: 30px;
  min-width: auto;
  padding: 0;
  background: none;
}

#search_mini_form .search-button:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  background-position: -34px -137px;
}

#search_mini_form .search-button:hover:before {
  opacity: 0.8;
}

#search_mini_form .search-button:active:before {
  margin-top: -13px;
  margin-left: -13px;
}

/* ============================================ *
 * Header - Account
 * ============================================ */
@media only screen and (min-width: 771px) {
  #header-account a {
    display: block;
    padding: 5px 10px;
    color: #636363;
    line-height: 2;
  }
  #header-account a:hover {
    color: #e3002b;
  }
}
/* -------------------------------------------- *
 * Account Links
 */
#header-account {
  padding: 5px 0;
}

#header-account a {
  position: relative;
  display: block;
  padding: 5px 10px;
  line-height: 23px;
  text-align: center;
}

#header-account a:hover {
  color: #e3002b;
}

/* ============================================ *
 * Header - Cart
 * ============================================ */
/* -------------------------------------------- *
 * Skip Link - Cart
 */
.skip-cart:hover .icon {
  background-position: -50px -95px;
}
.skip-cart .icon {
  background-position: 0 -95px;
}

@media only screen and (min-width: 771px) {
  .skip-cart {
    width: auto;
    padding: 0 10px;
  }

  #header-cart.skip-active {
    border: solid 1px #cccccc;
    display: block;
    position: absolute;
    z-index: 200;
    top: 40px;
    right: 0;
    width: 320px;
    background: white;
  }
}
/* -------------------------------------------- *
 * Skip Cart Notifier
 */
.skip-cart .count {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  -ms-border-radius: 12px;
  -o-border-radius: 12px;
  border-radius: 12px;
  display: inline-block;
  top: -6px;
  position: relative;
  z-index: 5;
  width: 22px;
  height: 22px;
  background: rgba(51, 153, 204, 0.9);
  color: #FFFFFF;
  font-size: 11px;
  line-height: 22px;
  text-align: center;
}

.skip-cart.skip-active .count {
  color: white;
}

.skip-cart.no-count .count {
  display: none;
}

@media only screen and (max-width: 499px) {
  .skip-cart .count {
    margin-left: -12px;
  }
}
@media only screen and (min-width: 771px) {
  .skip-cart {
    color: #e3002b;
    text-transform: uppercase;
  }
  .skip-cart:hover {
    text-decoration: none;
  }
  .skip-cart .count {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    position: static;
    background: none;
    margin-left: 0;
    font-size: 14px;
    width: auto;
  }
  .skip-cart .count:before {
    content: '(';
  }
  .skip-cart .count:after {
    content: ')';
  }

  .skip-cart .count,
  .skip-link.skip-active .count {
    color: #e3002b;
  }
}
.skip-cart .count.empty {
  display: none;
}

/* -------------------------------------------- *
 * Mini Cart - Empty
 */
.cart-menu .empty {
  padding: 20px;
  text-align: center;
}

/* -------------------------------------------- *
 * Mini Cart - Full
 */
/* Actions */
.cart-menu .actions {
  overflow: hidden;
  padding: 15px;
}

.cart-menu .actions .button {
  float: left;
  width: 48%;
}

.cart-menu .actions .button + .button {
  margin-left: 4%;
}

/* Subtotal */
.cart-menu .subtotal {
  padding: 0 15px 15px;
  font-size: 24px;
  line-height: 1.2;
}

/* List */
.mini-cart-list {
  margin-bottom: 5px;
}

.mini-cart-list li {
  position: relative;
  min-height: 90px;
  padding: 15px 15px 15px 90px;
  border-top: 1px solid #cccccc;
  font-size: 13px;
  line-height: 1.35;
}

.mini-cart-list .product-name {
  display: inline-block;
}

.mini-cart-list .product-image {
  position: absolute;
  left: 15px;
  top: 15px;
}

.mini-cart-list .product-image img {
  width: 60px;
  height: 60px;
}

.mini-cart-list .has-options {
  margin-bottom: 0;
  color: #a0a0a0;
  font-size: 12px;
}

/* Too full - additional items will be shown in cart */
.cart-menu .last-added {
  padding: 10px 15px 15px;
  border-top: 1px solid #cccccc;
  font-size: 13px;
}

/* ============================================ *
 * Footer
 * ============================================ */
/* -------------------------------------------- *
 * Footer
 */
footer {
  clear: both;
  width: 100%;
  padding-top: 30px;
  background: #656565;
  color: #fff;
  font-size: 14px;
}
footer .block-title {
  border-bottom: 0;
  padding: 3px 0;
}
footer .block-title strong {
  font-weight: 600;
}

footer dl {
  float: left;
  width: 25%;
  padding: 0;
  margin-bottom: 25px;
}
footer dl.double {
  width: 50%;
}
footer dl dt {
  font-weight: 600;
  margin-bottom: 2px;
}
footer dl dd ul li {
  padding: 4px 0;
  line-height: 1.2;
}
footer dl dd ul.text-2cols {
  -webkit-column-count: 2; /* Chrome, Safari, Opera */
  -moz-column-count: 2; /* Firefox */
  column-count: 2;
  -webkit-column-gap: 0; /* Chrome, Safari, Opera */
  -moz-column-gap: 0; /* Firefox */
  column-gap: 0;
}
footer dl dd ul li a {
  color: #fff !important;
}

footer .label-award {
  float: left;
  width: 25%;
  padding-left: 15px;
}

.footer-top {
  margin-top: 50px;
  padding-top: 30px;
  border-top: 1px solid #e1e1e1;
}

.footer-top .block-social {
  margin-bottom: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 14px;
}
.footer-top .block-social ul{
  margin: 0 10px;
}
.footer-top .block-social ul, .footer-top .block-social li {
  display: inline-block;
}
.footer-top .block-social li {
  margin: 0 2px;
  text-indent: -9999px;
}
.footer-top .block-social li a {
  display: block;
  width: 31px;
  height: 31px;
  background-image: url("../images/social-generaloptica.png");
  background-repeat: no-repeat;
}
.footer-top .block-social li a.facebook { background-position: 0 0; }
.footer-top .block-social li a.instagram { background-position: -35px 0; }
.footer-top .block-social li a.twitter { background-position: -69px 0; }
.footer-top .block-social li a.blog { background-position: -104px 0; }
.footer-top .block-social li a.youtube { background-position: -138px 0; }
.footer-top .block-social li a.googleplus { background-position: -173px 0; }

.footer-top .block-subscribe {
  margin: 0 0 30px 0;
  padding: 20px 50px;
  background: #c2c2c2;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  -ms-border-radius: 100px;
  -o-border-radius: 100px;
  border-radius: 100px;
}
.footer-top .block-subscribe label {
  width: 320px;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  text-align: left;
}
.footer-top .block-subscribe .input-text {
  width: calc(77% - 320px);
  padding: 0 15px;
  border-color: #fff;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
}
.footer-top .block-subscribe .block-content {
  text-align: center;
}
.footer-top .block-subscribe .button {
  width: 15%;
  height: 30px;
  line-height: 17px;
  margin-left: 2%;
  background-color: #656565;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  text-transform: none;
  font-size: 14px;
}
.footer-top .block-subscribe .button:hover {
  background-color: #e3002b;
}

.footer-bottom {
  background: #3d3d3d;
}
.footer-bottom .footer-container {
  line-height: 45px;
}
.footer-bottom address {
  float: left;
}
.footer-bottom ul {
  float: right;
}
.footer-bottom ul li {
  display: inline-block;
}
.footer-bottom ul li a {
  display: block;
  padding: 0 10px;
  color: #fff;
}

@media only screen and (max-width: 770px) {
  footer {
    padding-top: 0;
  }
  footer > .footer-container {
    margin-bottom: 20px;
  }
  footer dl, footer dl.double {
    float: none;
    width: 100%;
    margin-bottom: 0;
    border-bottom: 1px solid #fff;
  }
  footer dl dt {
    margin-bottom: 0;
    padding: 15px 20px;
    font-size: 17px;
    cursor: pointer;
  }
  footer dl dt:before {
    display: block;
    float: right;
    font-family: 'FontAwesome';
    content: "\f107";
    font-size: 25px;
    font-weight: 300;
  }
  footer dl dt.active:before {
    content: "\f106";
  }
  footer dl dd {
    display: none;
    padding-left: 30px;
    font-size: 16px;
  }
  footer dl dd ul li {
    padding: 0 0 15px 0;
  }

  footer dl dd ul.text-2cols {
    -webkit-column-count: 1; /* Chrome, Safari, Opera */
    -moz-column-count: 1; /* Firefox */
    column-count: 1;
  }
  footer .label-award { display: none; }

  .footer-top .max-width-container {
    padding: 0;
  }
  .footer-top .block-social {
    margin-bottom: 20px;
  }
  .footer-top .block-social .text {
    display: none;
  }
  .footer-top .block-social ul {
    display: block;
    margin-bottom: 5px;
  }
  .footer-top .block-subscribe {
    margin: 0;
    padding: 20px 15px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
    border-radius: 0px;
  }
  .footer-top .block-subscribe label {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
  .footer-top .block-subscribe .input-text {
    width: 100%;
  }
  .footer-top .block-subscribe .button {
    width: 75%;
    margin-top: 15px;
    margin-left: 0;
  }


  .footer-bottom .footer-container {
    display: block;
  }
  .footer-bottom address {
    float: none;
    text-align: center;
  }
  .footer-bottom ul {
    display: none;
  }
}

  /* ================================================= *
   * General Product List Styles (not module-specific)
   * ================================================= */
/* -------------------------------------------- *
 * Product List General
 */
.category-title { display: none; }

.category-title h1,
body.catalogsearch-result-index .page-title h1 {
  border-bottom: none;
}

.category-products {
  padding: 10px 0 0 10px;
  border-left: 1px solid #e1e1e1;
}
.col-main.width-full .category-products {
  border-left: none;
  padding-left: 0;
}

.catalogsearch-result-index .category-products {
  padding: 10px 0 0 0;
  border-left: none;
}

.products-slider .action .button,
.products-list .action .button,
.products-grid .actions .button {
  white-space: normal;
}

@media only screen and (max-width: 770px) {
  .category-products {
    padding: 0;
    border-left: none;
  }
}

/* -------------------------------------------- *
 * Product Name
 */
h2.product-name,
h3.product-name,
h4.product-name,
h5.product-name,
p.product-name {
  margin: 0;
  margin-bottom: 0.5em;
  text-rendering: optimizeLegibility;
  font-size: 14px;
  font-weight: 600;
  font-style: normal;
}
h2.product-name a,
h3.product-name a,
h4.product-name a,
h5.product-name a,
p.product-name a {
}
h2.product-name a:hover,
h3.product-name a:hover,
h4.product-name a:hover,
h5.product-name a:hover,
p.product-name a:hover {
  text-decoration: none;
}

.products-slider .product-name,
.products-grid .product-name,
.products-list .product-name {
  margin-bottom: 0;
  min-height: 32px;
}
.products-slider .product-name a,
.products-grid .product-name a,
.products-list .product-name a {
}

/* ============================================ *
 * Product Grid
 * ============================================ */

.products-slider-box {
  margin: 0 30px;
}

.products-grid,
.products-slider {
  position: relative;
}

.products-grid:after,
.products-slider:after {
  content: '';
  display: table;
  clear: both;
}

.products-grid > li {
  position: relative;
  margin-bottom: 15px;
}
.products-grid > li:after {
  content: '';
  display: table;
  clear: both;
}
.products-grid > li .list-scale,
.products-grid > li .list-no-scale {
  width: 100%;
  padding: 10px 15px;
  background: #fff;
  border: 1px solid #e1e1e1;
}

@media screen  and (max-width: 479px){
  .products-grid > li {
    margin-bottom: 5px;
  }
}
@media screen  and (max-width: 770px){
  .products-grid > li .list-scale,
  .products-grid > li .list-no-scale {
    padding: 6px;
  }
}


/* Config: Two columns (default) */
.products-grid > li {
  float: left;
  width: 49%;
  margin-right: 2%;
}
.products-grid > li:nth-child(odd) {
  clear: left;
}
.products-grid > li:nth-child(even) {
  margin-right: 0;
}
@media screen and (min-width: 650px)  and (max-width: 770px), screen and (min-width: 900px) {
  /* Reset 2 columns line break */
  .products-grid.grid-max-3cols > li:nth-child(odd) { clear: none; }
  .products-grid.grid-max-3cols > li:nth-child(even) { margin-right: 2%; }
  /* Config: Max 3 columns */
  .products-grid.grid-max-3cols > li { width: 32%; }
  .products-grid.grid-max-3cols > li:nth-child(3n+1) { clear: left; }
  .products-grid.grid-max-3cols > li:nth-child(3n) { margin-right: 0; }
}

@media screen and (min-width: 900px) {
  /* Reset 2 columns line break */
  .products-grid.grid-max-4cols > li:nth-child(odd) { clear: none; }
  .products-grid.grid-max-4cols > li:nth-child(even) { margin-right: 2%; }
  /* Config: Max 4 columns */
  .products-grid.grid-max-4cols > li { width: 23.5%; }
  .products-grid.grid-max-4cols > li:nth-child(4n+1) { clear: left; }
  .products-grid.grid-max-4cols > li:nth-child(4n) { margin-right: 0; }
}
@media screen and (min-width: 650px)  and (max-width: 899px) {
  /* Reset 2 columns line break */
  .products-grid.grid-max-4cols > li:nth-child(odd) { clear: none; }
  .products-grid.grid-max-4cols > li:nth-child(even) { margin-right: 2%; }
  /* Config: Max 4 columns to 3 columns */
  .products-grid.grid-max-4cols > li { width: 32%; }
  .products-grid.grid-max-4cols > li:nth-child(3n+1) { clear: left; }
  .products-grid.grid-max-4cols > li:nth-child(3n) { margin-right: 0; }
}

/* COMPARE LIST */
@media screen and (min-width: 650px)  and (max-width: 899px) {
  /* Config: Reset 3 columns line break */
  .products-grid.compare-list.grid-max-4cols > li:nth-child(3n+1) { clear: none; }
  .products-grid.compare-list.grid-max-4cols > li:nth-child(3n) { margin-right: 2%; }
  /* Config: Max 4 columns to 2 columns */
  .products-grid.compare-list.grid-max-4cols > li { width: 49%; }
  .products-grid.compare-list.grid-max-4cols > li:nth-child(2n+1) { clear: left; }
  .products-grid.compare-list.grid-max-4cols > li:nth-child(2n) { margin-right: 0; }
}

.products-slider .item {
  padding: 10px 15px;
  border: 1px solid #e1e1e1;
}

.products-grid .brand-img,
.products-slider .brand-img {
  display: block;
  width: 35%;
  position: absolute;
  top: 0;
  right: 0;
}

.products-grid .label-new,
.products-slider .label-new {
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  border-left: 1px solid #e1e1e1;
}
.products-grid .label-new span,
.products-slider .label-new span {
  display: block;
  margin: 10px 0;
  padding: 0 10px 0 8px;
  background: #e3002b;
  color: #fff;
  line-height: 1.5em;
  text-transform: uppercase;
  -webkit-border-radius: 0 15px 15px 0;
  -moz-border-radius: 0 15px 15px 0;
  -ms-border-radius: 0 15px 15px 0;
  -o-border-radius: 0 15px 15px 0;
  border-radius: 0 15px 15px 0;
}

.products-grid .label-discount,
.products-slider .label-discount,
.product-view .product-shop .label-discount {
  display: block;
  float: right;
  margin-top: 20px;
  padding: 0 10px;
  background: #ecc42e;
  color: #fff;
  font-size: 24px;
  line-height: 32px;
  text-transform: uppercase;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px ;
  -o-border-radius: 20px ;
  border-radius: 20px;
}

.products-grid .product-image,
.products-slider .product-image {
  width: 100%;
  margin-bottom: 5px;
}
.products-grid .product-image img,
.products-slider .product-image img {
  width: 100%;
  height: auto;
}
.products-grid .product-image img:hidden,
.products-slider .product-image img:hidden {
  display: none;
}
.widget-new-products .products-grid .product-image {
  width: 75%;
  margin-bottom: 15px;
  margin-left: 10%;
}

.products-grid .product-info,
.products-slider .product-info {
  position: relative;
  /*padding-bottom: 95px;*/
  overflow: hidden;
}

.products-grid .product-sku,
.products-slider .product-sku {
  min-height: 28px;
  padding-bottom: 5px;
  border-bottom: 1px dotted #c8c8c8;
  color: #787878;
}

.products-grid .short-description,
.products-slider .short-description {
  display: none;
  font-size: 12px;
}
.products-grid .short-description li,
.products-slider .short-description li {
  border-top: 1px dotted #c8c8c8;
  padding: 4px 0;
}

.products-grid .ratings .rating-box,
.products-slider .ratings .rating-box {
  margin: 0 auto;
}
.products-grid .ratings .amount,
.products-slider .ratings .amount {
  display: none;
}

.products-grid .prices-info,
.products-slider .prices-info {
  overflow: hidden;
}

.products-grid .price-privilege,
.products-slider .price-privilege {
  float: right;
  margin: 0;
  padding-top: 8px;
  font-weight: 600;
  color: #e3002b;
  text-align: right;
}
.products-grid .price-privilege span.card,
.products-slider .price-privilege span.card {
  position: relative;
  display: block;
  margin-bottom: 2px;
  padding-left: 35px;
  font-size: 11px;
  font-weight: 500;
  color: #e3002b;
  line-height: 12px;
  vertical-align: top;
  text-align: left;
}
.products-grid .price-privilege span.card:before,
.products-slider .price-privilege span.card:before {
  content: '';
  display: inline-block;
  width: 34px;
  height: 22px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../images/sprite-generaloptica.png");
  background-repeat: no-repeat;
  background-position: 0 -56px;
}
.products-grid .price-box,
.products-slider .price-box {
  float: left;
  margin: 0;
  padding-top: 16px;
}
.products-grid .regular-price:before,
.products-slider .regular-price:before {
  content: "PVP";
  display: block;
  font-size: 14px;
  line-height: 16px;
  margin-bottom: 2px;
}

.products-grid .price-box .old-price, .products-grid .price-box .special-price,
.products-slider .price-box .old-price, .products-slider .price-box .special-price {
  display: block;
}
.products-grid .price-box .old-price .price-label,
.products-slider .price-box .old-price .price-label {
  display: inline-block;
}

.products-grid .actions,
.products-slider .actions {
  display: none;
}
.short-description + .actions { margin-top: 0; }

.products-grid .actions .actions-container,
.products-slider .actions .actions-container {
  padding: 15px 0 5px;
  border-top: 1px dotted #c8c8c8;
  text-align: center;
}

.products-grid .add-to-links,
.products-slider .add-to-links {
  position: absolute;
  top: 20px;
  right: 10px;
}
.products-grid .add-to-links li,
.products-slider .add-to-links li {
  display: inline-block;
  margin-right: 5px;
}
.products-grid .add-to-links .link-wishlist,
.products-slider .add-to-links .link-wishlist {
  display: inline-block;
}
.products-grid .add-to-links .link-wishlist span {
  display: none;
}
.products-grid .add-to-links .link-wishlist:before,
 .products-slider .add-to-links .link-wishlist:before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url("../images/icon-sprite-generaloptica.png") -40px -616px no-repeat;
  vertical-align: middle;
 }
.products-grid .add-to-links .link-wishlist:hover:before,
.products-slider .add-to-links .link-wishlist:hover:before {
  background-position: -80px -616px;
}

.products-grid .product-image {
  margin-bottom: 5px;
}
.products-grid .product-image:before, .products-grid .product-image:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.products-grid .product-image:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}
.products-grid .product-image:after {
  background-image: url("../images/opc-ajax-loader.gif");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
.products-grid .product-image.loading {
  position: relative;
}
.products-grid .product-image.loading:before, .products-grid .product-image.loading:after {
  display: block;
}

@media only screen and (min-width: 771px) {
  .products-grid > li:hover {
    min-height: 350px;
  }
  .products-grid > li:hover .list-scale {
    position: absolute;
    border: none;
    -webkit-box-shadow: 0px 0px 5px 5px rgba(101,101,101,0.3);
    -moz-box-shadow: 0px 0px 5px 5px rgba(101,101,101,0.3);
    box-shadow: 0px 0px 5px 5px rgba(101,101,101,0.3);
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    -webkit-transition: 0.4s;
    transition-duration: 0.4s;
    z-index: 1;
  }
  .products-grid > li:hover .list-scale .brand-img {
    display: none;
  }
  .products-grid > li:hover .list-scale .prices-info {
    margin-bottom: 10px;
  }
  .products-grid > li:hover .list-scale .short-description,
  .products-grid > li:hover .list-scale .actions {
      display: block;
  }
}

@media only screen and (max-width: 770px) {
  .products-grid .price-box, .products-slider .price-box,
  .products-grid .price-privilege, .products-slider .price-privilege {
    font-size: 15px;
  }
  .products-grid .prices-info .old-price, .products-slider .prices-info .old-price,
  .products-grid .regular-price:before, .products-slider .regular-price:before {
    font-size: 12px;
  }
  .products-grid .label-discount, .products-slider .label-discount {
    font-size: 16px;
  }
  .products-grid .price-privilege span.card, .products-slider .price-privilege span.card {
    font-size: 9px;
  }
  .products-grid .actions, .products-slider .actions {
    display: block;
  }
  .products-grid .actions .actions-container, .products-slider .actions .actions-container,
  .products-grid .add-to-links .link-wishlist, .products-slider .add-to-links .link-wishlist,
  .products-grid .add-to-links .link-compare span, .products-slider .add-to-links .link-compare span {
    display: none;
  }
  .products-grid .add-to-links, .products-slider .add-to-links {
    top: 12px;
    right: auto;
    left: 5px;
  }
}

@media only screen and (max-width: 430px) {
  .products-grid .label-new span {
    margin: 5px 0;
  }
}

.view-all-search {
  display: block;
  margin-bottom: 30px;
}

/* ============================================ *
 * Product List
 * ============================================ */
.products-list {
  margin-top: 20px;
  margin-bottom: 20px;
}
.products-list > li {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ededed;
}
.products-list > li:after {
  content: '';
  display: table;
  clear: both;
}
.products-list > li .product-image {
  float: left;
  width: 33.33333%;
}
.products-list > li .product-image img {
  width: 100%;
  max-width: 100%;
}
.products-list > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.products-list .product-shop {
  float: right;
  width: 66.66667%;
  padding-left: 20px;
}
.products-list .product-shop .product-name {
  margin-bottom: 0;
}
.products-list .product-shop .ratings {
  margin: 0;
}
.products-list .product-shop .ratings .rating-box,
.products-list .product-shop .ratings .rating-links {
  float: left;
  margin-right: 7px;
}
.products-list .product-shop .ratings .rating-links {
  margin-top: 4px;
}
.products-list .product-shop .price-box {
  margin-top: 0;
}
.products-list .product-shop .price-box .price {
  font-size: 18px;
}
.products-list .product-shop .action {
  margin: 7px 0;
}
.products-list .product-shop .desc {
  margin-top: 7px;
}
.products-list .product-shop .product-primary,
.products-list .product-shop .desc {
  float: left;
  width: 65%;
  overflow: hidden;
}
.products-list .product-shop .product-secondary {
  float: right;
  width: 35%;
  text-align: right;
  clear: right;
}

@media only screen and (min-width: 480px) {
  .products-list .product-name a {
    font-size: 18px;
  }
}
@media only screen and (max-width: 1279px) {
  .products-list .product-shop .product-primary,
  .products-list .product-shop .desc {
    float: left;
    width: 60%;
    padding-right: 20px;
  }
  .products-list .product-shop .product-secondary {
    float: right;
    width: 40%;
  }
}
@media only screen and (max-width: 600px) {
  .products-list .product-shop .price-box .special-price {
    padding-left: 0;
  }

  .products-list .product-shop .product-primary,
  .products-list .product-shop .product-secondary,
  .products-list .product-shop .desc {
    float: none;
    width: 100%;
    padding-right: 0;
    text-align: left;
  }
}
/* ============================================ *
 * Mini Product List
 * ============================================ */
.mini-products-list .product-image {
  float: left;
  min-width: 50px;
}
.mini-products-list .product-details {
  margin-left: 60px;
}
.mini-products-list .product-details .product-name {
  padding-top: 10px;
}
.mini-products-list li {
  margin-bottom: 10px;
  clear: both;
}
.mini-products-list li:after {
  content: '';
  display: table;
  clear: both;
}

.mini-products-images-list:after {
  content: '';
  display: table;
  clear: both;
}
.mini-products-images-list li.item {
  float: left;
  width: 50%;
  margin: 0;
  padding: 0 5px 10px 0;
}
.mini-products-images-list li.item:nth-child(even) {
  padding-right: 0;
  padding-left: 5px;
}
.mini-products-images-list li.item .product-image {
  display: block;
}
.mini-products-images-list li.item .product-image img {
  width: 100%;
  max-width: 100%;
}

/* ============================================ *
 * Catalog - List
 * ============================================ */
.category-image,
.category-image-mobile {
  position: relative;
  border-bottom: 1px solid #e1e1e1;
  text-align: center;
  margin-bottom: 5px;
}
.category-image img,
.category-image-mobile img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.category-image-container {
  position: relative;
  padding: 0 !important;
}
.category-image-container.with-submenu {
  min-height: 45px;
}
.category-submenu-bg {
  position: absolute;
  z-index: 1;
  width: calc(50% - 500px);
  min-height: 31px;
  bottom: 0;
  left: 0;
  background-color: #c7c7c7;
}
.category-submenu {
  position: absolute;
  z-index: 2;
  width: auto;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.category-submenu li {
  position: relative;
  float: left;
  padding: 0 30px 0 45px;
  margin-left: -25px;
  line-height: 31px;
  -webkit-border-radius: 0 30px 0 0;
  -moz-border-radius: 0 30px 0 0;
  -ms-border-radius: 0 30px 0 0;
  -o-border-radius: 0 30px 0 0;
  border-radius: 0 30px 0 0;
  background-color: #c7c7c7;
  z-index: 3;
}
.category-submenu li:nth-child(2n) {
  background-color: #e1e1e1;
  z-index: 2;
}
.category-submenu li:nth-child(3n) {
  background-color: #f4f4f4;
  z-index: 1;
}
.category-submenu li a {
  font-weight: 600;
  text-decoration: none !important;
}
.category-submenu li.active a {
  color: #e3002b;
}

.catalog-category-view .pac-container {
  z-index: 9999;
}

@media only screen and (max-width: 770px) {
  .category-image-container.with-submenu {
    min-height: auto;
  }
  .category-submenu {
    position: relative;
    margin-top: 15px;
  }
  .category-submenu li {
    padding: 0 20px 0 35px;
  }
}


/* ============================================ *
 * Layered Navigation
 * ============================================ */
.link-filters {
  position: relative;
  padding-left: 30px;
  display: inline-block;
  text-decoration: none !important;
}
.link-filters:before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  margin-right: 5px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../images/icono-filtros-catalogo.svg") 0 0 no-repeat;
  vertical-align: middle;
}
.hide-filters { margin: 15px 0; }
.show-filters { display: none; margin-left: 15px; }

.block-layered-nav .link-filters { margin-left: 5px; cursor: pointer; }
.block-layered-nav .link-filters:hover { color: #e3002b; }

.block-layered-nav .link-filters.active {
  width: 33px;
  height: 33px;
  float: right;
}
.block-layered-nav .link-filters.active:before {
  width: 33px;
  height: 33px;
  margin-right: 0;
  background: url("../images/aspa-cierre.png") 0 0 no-repeat;
}
.block-layered-nav .link-filters.active span { display: none; }

@media only screen and (max-width: 770px) {
  .hide-filters,
  .show-filters { display: none; }
}

.block-layered-nav .block-content .toggle-tabs {
  display: none;
}
.block-layered-nav .block-content dl > dt {
  margin: 0;
  font-size: 18px;
  font-style: normal;
  line-height: 28px;
  text-rendering: optimizeSpeed;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-weight: 600;
  padding: 5px 5px 5px 0;
  margin-bottom: 5px;
  position: relative;
  display: block;
}
.block-layered-nav .block-content dl > dd {
  padding-bottom: 20px;
  margin: 0;
}

.block-layered-nav dl dd {
  margin-bottom: 10px;
  margin-top: 10px;
}
.block-layered-nav dl dd ol > li > span, .block-layered-nav dl dd ol > li > a {
  padding: 4px 5px;
  display: block;
}
.block-layered-nav dl dd ol > li > a:hover {
  text-decoration: none;
}

.block-layered-nav dl dd ol > li > a .count {
  color: #a0a0a0;
}

@media only screen and (min-width: 771px) {
  .block-layered-nav .block-content dl > dt:after {
    display: none;
  }
}
@media only screen and (max-width: 770px) {
  .block-layered-nav .block-content .filters-title {
    margin: 0 5px 20px;
  }
  .block-layered-nav .block-content .toggle-content {
    clear: both;
  }
  .block-layered-nav .block-content dl > dt {
    cursor: pointer;
  }
  .block-layered-nav .block-content dl > dt:hover {
    color: #e3002b;
  }
  .block-layered-nav .block-content dl > dd {
    display: none;
    padding-bottom: 10px;
  }
  .block-layered-nav .block-content .accordion-open dl > dd.current {
    display: block;
  }

  #narrow-by-list,
  #narrow-by-list2 {
    padding: 0 5px;
    border-top: 0;
    clear: both;
  }

  .block-layered-nav dl ol > li > a,
  .block-layered-nav dl ol > li > span {
    padding: 7px;
    margin: 5px;
  }

  .block-layered-nav dl ol > li > a {
    padding: 5px 10px;
  }
  .block-layered-nav dl ol > li > a:hover {
    text-decoration: none;
  }
}
.block-layered-nav .currently .block-subtitle {
  display: block;
  margin: 0;
  margin-bottom: 10px;
  color: #636363;
  font-size: 14px;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}
.block-layered-nav .currently ol li {
  margin-bottom: 5px;
  font-size: 12px;
}
.block-layered-nav .currently ol li .label {
  font-weight: 600;
}
.block-layered-nav .currently ol li:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Catalog - Product
 * ============================================ */


.product-view .product-essential .product-name {
  margin-bottom: 20px;
  text-align: center;
}
.product-view .product-essential .product-name h1,
.product-view .product-essential .product-name .h1 {
  font-size: 30px;
  color: #58585a;
  margin: 0;
}
.product-view .product-essential .product-name .reference {
  display: block;
  margin-top: 10px;
  font-size: 16px;
  color: inherit;
}

.product-view .product-essential .product-top {
  display: none;
}

.product-view .product-essential .label-new {
  display: block;
  position: absolute;
  top: 10px;
  left: 20px;
  border-left: 1px solid #e1e1e1;
}
.product-view .product-essential .label-new span {
  display: block;
  margin: 10px 0;
  padding: 0 10px 0 8px;
  background: #e3002b;
  color: #fff;
  line-height: 1.5em;
  text-transform: uppercase;
  -webkit-border-radius: 0 15px 15px 0;
  -moz-border-radius: 0 15px 15px 0;
  -ms-border-radius: 0 15px 15px 0;
  -o-border-radius: 0 15px 15px 0;
  border-radius: 0 15px 15px 0;
}

.product-view .product-essential .extra-info .ratings .rating-box,
.product-view .product-essential .extra-info .ratings .amount {
  float: left;
}
.product-view .product-essential .extra-info .ratings .rating-box {
  margin-top: 8px;
  margin-right: 10px;
}
.product-view .product-essential .extra-info .ratings:after {
  content: '';
  display: table;
  clear: both;
}
.product-view .product-essential:after {
  content: '';
  display: table;
  clear: both;
}
.product-view .product-shop {
  width: 35%;
  float: right;
}
.product-view .product-shop .extra-info {
  float: left;
  padding-right: 15px;
  clear: left;
  width: 70%;
}

.product-view .product-shop .price-info {
  position: relative;
  margin-bottom: 35px;
}

.product-view .product-shop .price-privilege {
  clear: left;
  margin: 0;
  padding-top: 12px;
  color: #e3002b;
  overflow: hidden;
}
.product-view .product-shop .price-privilege .price {
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 28px;
}
.product-view .product-shop .price-privilege span.card {
  position: relative;
  display: inline-block;
  margin-left: 10px;
  padding-left: 35px;
  font-size: 11px;
  font-weight: 400;
  color: #e3002b;
  line-height: 12px;
  vertical-align: top;
}
.product-view .product-shop .price-privilege span.card:before {
  content: '';
  display: inline-block;
  width: 34px;
  height: 22px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../images/sprite-generaloptica.png");
  background-repeat: no-repeat;
  background-position: 0 -56px;
}

.product-view .product-shop .price-info {
  overflow: hidden;
}
.product-view .product-shop .price-box {
  float: left;
  margin: 0;
}
.product-view .product-shop .regular-price:before {
  content: "PVP";
  display: inline-block;
  margin-right: 5px;
}
.product-view .product-shop .price-box .old-price {
  font-size: 20px;
  line-height: 20px;
}
.product-view .product-shop .price-box .old-price, .product-view .product-shop .price-box .special-price {
  display: block;
}
.product-view .product-shop .price-box .old-price .price-label {
  display: inline-block;
  margin-right: 5px;
}
.product-view .product-shop .price-box .special-price .price {
  font-size: 28px;
  line-height: 28px;
  padding-top: 10px;
}
.product-view .product-shop .label-discount {
  float: left;
  margin: 28px 0 0 30px;
}

.product-view .product-shop .price-box .special-price span.weee {
  color: #636363;
}
.product-view .product-shop .price-box .special-price span.weee span.price {
  font-size: 16px;
}
.product-view .product-shop .price-box .price-excluding-tax,
.product-view .product-shop .price-box .price-including-tax {
  display: block;
  line-height: 1.2;
  color: #636363;
}
.product-view .product-shop .price-box .price-excluding-tax .label,
.product-view .product-shop .price-box .price-including-tax .label {
  font-size: 16px;
  font-weight: 400;
}
.product-view .product-shop .price-box .price-excluding-tax .price,
.product-view .product-shop .price-box .price-including-tax .price {
  font-size: 20px;
}
.product-view .price-box.map-info a {
  display: inherit;
}
.product-view .old-price .price-label {
  display: none;
}
.product-view .add-to-cart-wrapper {
  width: 35%;
  float: right;
  clear: right;
}

@media only screen and (max-width: 850px) {
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 15px;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 18px;
  }
}
@media only screen and (max-width: 770px) {
  .product-view .product-essential .product-name h1,
  .product-view .product-essential .product-name .h1 {
    font-size: 18px;
  }
  .product-view .product-essential .product-name .reference {
    font-size: 12px;
  }
  .product-view .add-to-cart-wrapper {
    float: none;
    width: 100%;
    clear: both;
  }
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 16px;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 20px;
  }
}
@media only screen and (max-width: 420px) {
  .product-view .product-shop .price-box .price-excluding-tax,
  .product-view .product-shop .price-box .price-including-tax {
    margin-bottom: 5px;
  }
  .product-view .product-shop .price-box .price-excluding-tax span,
  .product-view .product-shop .price-box .price-including-tax span {
    display: block;
  }
}

.product-img-box {
  width: 65%;
  float: left;
}
.product-img-box .product-name h1 {
  border: 0;
}
.product-img-box .product-image {
  float: right;
  width: calc(100% - 150px);
}
.product-img-box .more-views {
  position: relative;
  float: left;
  width: 130px;
  margin-right: 20px;
}
.product-img-box .jc-vertical {
  height: 260px;
}
.product-img-box .product-image img,
.product-img-box .more-views img,
.gallery-mobile img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 420px;
  margin: 0 auto;
}
.gallery-mobile { display: none; }

@media only screen and (max-width: 770px) {
  .gallery-mobile {
    display: block;
  }
  .gallery-desktop {
    display: none;
  }
}

.product-image-gallery {
  position: relative;
}
.product-image-gallery .gallery-image {
  display: none;
}
.product-image-gallery .gallery-image.visible {
  display: block;
}
.product-image-gallery .gallery-image.visible.hidden {
  visibility: hidden;
}
.product-image-gallery:before, .product-image-gallery:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.product-image-gallery:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}
.product-image-gallery:after {
  background-image: url("../images/opc-ajax-loader.gif");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
.product-image-gallery.loading {
  position: relative;
}
.product-image-gallery.loading:before, .product-image-gallery.loading:after {
  display: block;
}

.product-image-thumbs li {
  display: block;
}
.product-image-thumbs a {
  display: block;
}

.no-touch .product-image-thumbs a:hover {
  border-color: #c7c7c7;
}

.product-view .product-shop,
.product-view .add-to-cart-wrapper {
  padding-left: 15px;
}

.product-view .product-shop .button {
  font-size: 15px;
  line-height: 24px;
}

.product-img-box {
  padding-right: 15px;
}

.product-view .product-shop,
.product-img-box,
.product-collateral,
.product-view .block-related,
.box-collateral {
  margin-bottom: 20px;
}

.product-view {
  /* Set a min-height so that the floated elements break appropriately */
}
.product-view .add-to-box:after,
.product-view .add-to-cart:after {
  content: '';
  display: table;
  clear: both;
}
.product-view .add-to-cart {
  padding-bottom: 3px;
  margin-bottom: 10px;
  border-bottom: 1px solid #cccccc;
}
.product-view .add-to-cart .qty-wrapper,
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart-buttons {
  min-height: 40px;
}
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart-buttons .button,
.product-view .add-to-cart-buttons .paypal-logo {
  margin-bottom: 10px;
}
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart .qty-wrapper label {
  margin-right: 7px;
  float: left;
}
.product-view .add-to-cart .qty-wrapper label {
  line-height: 40px;
}
.product-view .add-to-cart .qty-wrapper .qty {
  float: left;
  height: 40px;
}
.product-view .add-to-cart-buttons {
  float: left;
  margin-right: 10px;
  max-width: 100%;
}
.product-view .add-to-cart-buttons .paypal-logo {
  clear: left;
  text-align: center;
}
.product-view .add-to-cart-buttons .paypal-logo .paypal-button {
  margin: 0 auto;
  display: block;
  width: 170px;
}
.product-view .add-to-cart-buttons .paypal-logo .bml_button {
  display: block;
  width: 174px;
  margin: 0 auto;
}
.product-view .add-to-cart-buttons .paypal-logo .bml_button a {
  text-align: center;
}
.product-view .add-to-cart-buttons .paypal-logo .paypal-or {
  display: block;
  margin-bottom: 10px;
  margin-left: 0;
  margin-right: 0;
  line-height: 1;
  text-align: center;
}
.product-view .add-to-cart-buttons .button {
  min-height: 40px;
  line-height: 40px;
  font-size: 16px;
  padding: 0 30px;
  float: left;
  min-width: 160px;
  width: 100%;
  white-space: normal;
}
.product-view .alert-price,
.product-view .alert-stock {
  clear: both;
}

@media only screen and (max-width: 479px) {
  .product-view .add-to-cart-buttons .paypal-or {
    line-height: 20px;
  }
  .product-view .add-to-cart-buttons .paypal-logo,
  .product-view .add-to-cart-buttons .paypal-or,
  .product-view .add-to-cart-buttons .paypal-button,
  .product-view .add-to-cart-buttons .button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}
/* This is the "or" that separates the "Add to Cart" and "Add to X" links */
.add-to-box .or {
  display: none;
}

.product-view .add-to-links {
  clear: both;
  margin-bottom: 15px;
}
.product-view .add-to-links:after {
  content: '';
  display: table;
  clear: both;
}
.product-view .add-to-links li {
  float: left;
}
.product-view .add-to-links a {
  padding: 2px 7px 2px 0;
  margin-left: 7px;
  border-right: 1px solid #cccccc;
}
.product-view .add-to-links li:first-child a {
  margin-left: 0;
}
.product-view .add-to-links li:last-child a {
  border-right: 0;
}

.product-view .add-to-links a.link-wishlist {
  text-indent: 0;
}
.product-view .add-to-links a.link-wishlist:before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -40px -613px no-repeat;
  background-size: calc(160px - 3%);
  vertical-align: middle;
}
.product-view .add-to-links a.link-wishlist:hover:before {
  background-position: -80px -613px;
}

.product-view .sharing-links:after {
  content: '';
  display: table;
  clear: both;
}
.product-view .sharing-links li {
  float: left;
  margin-right: 10px;
}
.product-view .sharing-links a {
  display: block;
  width: 25px;
  height: 25px;
  font-size: 20px;
  text-align: center;
}
.product-view .sharing-links a:hover {
  opacity: 0.8;
}

@media only screen and (max-width: 599px) {
  .add-to-box .add-to-links a {
    float: none;
    width: auto;
    text-indent: 0;
  }
}
.product-collateral {
  clear: both;
}
.collateral-tabs dd h2 {
  display: none;
}
.box-collateral {
  clear: both;
}

 /* Original: @media min-width: 771px */
.product-collateral .tabs-fullWidth {
  display: block;
  width: 100%;
  position: relative;
  border-bottom: 1px solid #cccccc;
  text-align: center;
}
.product-collateral #slide-tabs {
  margin: 0 auto;
}

.product-collateral .toggle-tabs {
  display: block;
}
.product-collateral .toggle-tabs li {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  word-break: break-word;
  word-wrap: break-word;
}
.product-collateral .toggle-tabs li span {
  display: inline-block;
  padding: 10px 0;
  border-bottom: 3px solid #fff;
}
.product-collateral .toggle-tabs li.current span {
  border-bottom: 3px solid #e3002b;
}
.product-collateral .toggle-tabs li.current span,
.product-collateral .toggle-tabs li:hover span {
  color: #e3002b;
}
.product-collateral .toggle-tabs li:first-child {
  border-left: none;
}
.product-collateral .toggle-tabs:after {
  content: '';
  display: table;
  clear: both;
}
.product-collateral > dl > dt {
  display: none;
}
.product-collateral > dl > dd {
  width: 100%;
  display: none;
  padding: 15px 0;
  border-top: 0;
}
.product-collateral > dl > dd.current {
  display: block;
}

@media only screen and (min-width: 900px) {
  .product-collateral .toggle-tabs li {
    padding: 0 20px;
  }
}
@media only screen and (min-width: 771px) and (max-width: 899px) {
  .product-collateral .toggle-tabs li {
    padding: 0 5px;
  }
}


/*@media only screen and (max-width: 770px) {
  .product-collateral .toggle-tabs {
    display: none;
  }
  .product-collateral > dl > dt {
    margin: 0;
    color: #636363;
    font-size: 14px;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: 400;
    margin-bottom: 0;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #cccccc;
    position: relative;
    background-color: #f4f4f4;
    display: block;
  }
  .product-collateral > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #e3002b;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .product-collateral > dl > dt:hover {
    background-color: #ececec;
  }
  .product-collateral > dl > dd {
    padding: 10px;
    margin: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #cccccc;
  }
  .product-collateral > dl > dd:last-child {
    border-width: 0 1px 1px 1px;
  }
  .product-collateral > dl > dt {
    cursor: pointer;
    border-bottom-width: 0;
  }
  .product-collateral > dl > dt:hover {
    color: #e3002b;
  }
  .product-collateral > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #e3002b;
    border-right: none;
  }
  .product-collateral > dl > dt.last {
    border-bottom-width: 1px;
  }
  .product-collateral > dl > dd {
    display: none;
  }
  .product-collateral.accordion-open > dl > dt.current {
    border-bottom-width: 1px;
  }
  .product-collateral.accordion-open > dl > dt.current:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #e3002b;
    border-bottom: none;
    left: 6px;
    top: 50%;
    margin-top: -3px;
  }
  .product-collateral.accordion-open > dl > dd.current {
    display: block;
  }
}*/
@media only screen and (max-width: 770px) {
  .product-view .product-shop,
  .product-view .add-to-cart-wrapper,
  .product-img-box,
  .product-img-box .product-image,
  .product-collateral {
    position: relative;
    width: 100%;
    float: none;
    padding-right: 0;
    padding-left: 0;
    overflow: hidden;
  }
  .product-view .product-essential .label-new {
    left: 0;
  }
  .product-view .product-top {
    display: block !important;
  }
  .product-view .product-top .add-to-links {
    float: left;
    margin-bottom: 0;
  }
  .product-view .product-top .sharing-links {
    float: right;
  }
  .product-view .add-to-links li {
    margin-left: 10px;
  }
  .product-view .sharing-links a {
    font-size: 18px;
  }
  .product-view .product-shop .price-info {
    margin-bottom: 20px;
    padding-left: 30px;
    padding-right: 30px;
    text-align: center;
  }
  .product-view .product-shop .price-box,
  .product-view .product-shop .price-privilege,
  .product-view .product-shop .label-discount {
    float: none;
    display: inline-block;
    overflow: auto;
  }
  .product-view .product-shop .price-box {
    margin-right: 10px;
    margin-bottom: 2px;
  }
  .product-view .product-shop .price-box .old-price,
  .product-view .product-shop .price-box .special-price {
    display: inline-block;
  }
  .product-view .product-shop .price-box .old-price {
    margin-right: 10px;
  }
  .product-view .product-shop .label-discount {
    margin: 0;
  }
  .product-view .product-shop a.store-availability {
    width: 100%;
  }
  .product-view .add-to-cart-wrapper .add-to-box {
    display: none;
  }
  .product-view .product-shop .button {
    display: block;
    max-width: 290px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 479px) {
  .product-view .product-shop,
  .product-collateral,
  .product-view .block-related,
  .box-collateral {
    margin-bottom: 0;
  }
}
.product-view .ratings .rating-links {
  clear: left;
  float: left;
  margin-top: 0;
}

#product-attribute-specs-table {
  max-width: 50em;
  border: 1px solid silver;
}
#product-attribute-specs-table th {
  border-right: 1px solid silver;
  border-bottom: 1px solid silver;
}

/* Product view CONTENT */
.product-view .banner-privilege {
  position: relative;
  padding: 20px 30px 5px;
  margin-top: 40px;
  margin-bottom: 40px;
  background: #efefef;
}
.product-view .banner-privilege:before {
  content:"";
  display: block;
  width: 150px;
  height: 105px;
  position: absolute;
  top: -25px;
  right: -25px;
  background: url("../images/sprite-generaloptica.png") 0 -90px no-repeat;
}
body.store-pt .product-view .banner-privilege:before {
  background-position: 0 -205px;
}

.product-view .banner-privilege .title {
  margin-bottom: 20px;
  color: #868686;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
  text-rendering: optimizeLegibility;
}
.product-view .banner-privilege ul {
  overflow: hidden;
}
.product-view .banner-privilege ul.col3-set li {
  float: left;
  width: 33.33%;
  position: relative;
  margin-bottom: 30px;
  padding-left: 45px;
  line-height: 1.3em;
}
.product-view .banner-privilege ul.col4-set li {
  float: left;
  width: 25%;
  position: relative;
  margin-bottom: 30px;
  padding-left: 45px;
  line-height: 1.3em;
}
.product-view .banner-privilege ul li img {
  position: absolute;
  top: 0;
  left: 0;
  width: 35px;
  height: 30px;
}
.product-view .banner-privilege ul li strong {
  display: block;
}
.product-view .banner-privilege a.button {
  position: absolute;
  left: 50%;
  bottom: -15px;
  transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  -moz-transform: translate(-50%,0);
  -o-transform: translate(-50%,0);
  line-height: 24px;
}

@media only screen and (max-width: 770px) {
  .product-view .banner-privilege {
    margin-top: 50px;
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .product-view .banner-privilege:before {
    top: -60px;
    right: calc(50% - 85px);
  }
  .product-view .banner-privilege ul li {
    float: none !important;
    width: 80% !important;
    margin: 0 auto 15px !important;
  }
  .product-view .banner-privilege a.button {
    width: 70%;
  }
}

/* TABS PERSONALIZADOS GENERAL OPTICA */
.tab-GO {
  padding: 10px 0;
}
.tab-GO a {
  color: #e3002b;
}
.tab-GO .title,
.tab-GO .title-medium,
.tab-GO .subtitle,
.tab-GO .title-small,
.tab-GO ul.list,
.tab-GO p  {
  margin: 10px 0;
}
.tab-GO ul.margin-items li,
.tab-GO ul.list-icon,
.tab-GO ul.icons {
  margin: 15px 0;
}
.tab-GO .title {
  font-size: 24px;
  line-height: 1.3em;
}
.tab-GO .title-medium {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5em;
  color: #58585a;
}
.tab-GO .title-small {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
}
.tab-GO .intro {
  font-size: 14px;
  line-height: 1.3em;
  text-align: left;
}
.tab-GO .bloc {
  margin-bottom: 25px;
}
.tab-GO .bloc-icon {
  position: relative;
  padding-left: 45px;
  margin-bottom: 20px;
}
.tab-GO .bloc-icon img.icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 35px;
  height: 35px;
}
.tab-GO ul.list,
.tab-GO label.bullet {
  position: relative;
  margin-left: 16px;
}
.tab-GO ul.list li {
  position: relative;
  padding: 2px 0;
  -webkit-column-break-inside: avoid; /* Chrome, Safari */
  page-break-inside: avoid; /* Theoretically FF 20+ */
  break-inside: avoid-column; /* IE 11 */
}
.tab-GO ul.list li:before,
.tab-GO label.bullet:before {
  position: absolute;
  left: -15px;
  content: "• ";
  font-size: 25px;
  line-height: 20px;
  color: #e3002b;
}
.tab-GO ul.list li img {
  display: inline-block;
  max-height: 15px;
  margin-right: 5px;
  vertical-align: text-top;
}
.tab-GO ul.list li img.feature-image {
  display: block;
  max-width: 35%;
  max-height: initial;
  height: auto;
}
.tab-GO ul.list-icon li {
  position: relative;
  padding-left: 45px;
  margin-bottom: 15px;
}
.tab-GO ul.list-icon li.no-icon {
  padding-left: 0;
}
.tab-GO ul.list-icon li img.icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 35px;
  height: 35px;
}
.tab-GO ul.icons {
  overflow: hidden;
}
.tab-GO ul.icons li {
  float: left;
  margin: 0 5px 10px;
  font-size: 10px;
  text-align: center;
}
.tab-GO ul.icons li img {
  width: auto;
  height: 30px;
  margin: 0 auto 3px;
}
.tab-GO ul.icons.big-images li {
  width: 65px;
  margin: 0 0 10px;
}
.tab-GO ul.icons.big-images li img {
  height: 41px;
}
.tab-GO label {
  font-weight: 600;
}
.tab-GO label:after {
  content: ':';
  display: inline-block;
  margin-right: 5px;
}
.tab-GO .text-2cols {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
}
.tab-GO .no-break {
  -webkit-column-break-inside: avoid; /* Chrome, Safari */
  page-break-inside: avoid; /* Theoretically FF 20+ */
  break-inside: avoid-column; /* IE 11 */
}

.tab-GO .glasses-sizes,
.compare-list .glasses-sizes {
  overflow: hidden;
}
.tab-GO .glasses-sizes .part-1, .tab-GO .glasses-sizes .part-2,
.compare-list .glasses-sizes .part-1, .compare-list .glasses-sizes .part-2 {
  float: left;
}
.compare-list .glasses-sizes .part-1 {
  width: 55%;
}
.compare-list .glasses-sizes .part-2 {
  width: 45%;
}

.tab-GO .glasses-sizes img,
.compare-list .glasses-sizes img {
  width: 100%;
}
.tab-GO .glasses-sizes span,
.compare-list .glasses-sizes span {
  float: left;
  width: 100%;
  line-height: 2em;
  font-size: 12px;
  text-align: center;
}
.tab-GO .glasses-sizes span.cristal,
.compare-list .glasses-sizes span.cristal {
  width: 50%;
}
.tab-GO .glasses-sizes span.puente,
.compare-list .glasses-sizes span.puente {
  width: 50%;
  text-align: left;
}

.tab-GO table.default {
  width: 100%;
  margin: 30px 0;
}
.tab-GO table.default thead tr {
  border-bottom: 5px solid #fff;
}
.tab-GO table.default thead th {
  padding: 10px 20px;
  background: #e3002b;
  color: #fff;
  text-align: center;
}
.tab-GO table.default thead th:first-child {
  padding-left: 20px;
  -webkit-border-radius: 35px 0 0 35px;
  -moz-border-radius: 35px 0 0 35px;
  -ms-border-radius: 35px 0 0 35px;
  -o-border-radius: 35px 0 0 35px;
  border-radius: 35px 0 0 35px;
}
.tab-GO table.default thead th:last-child {
  padding-right: 20px;
  -webkit-border-radius: 0 35px 35px 0;
  -moz-border-radius: 0 35px 35px 0;
  -ms-border-radius: 0 35px 35px 0;
  -o-border-radius: 0 35px 35px 0;
  border-radius: 0 35px 35px 0;
}
.tab-GO table.default tbody tr {
  border-bottom: 3px solid #fff;
}
.tab-GO table.default tbody tr:first-child td:first-child {
  -webkit-border-radius: 35px 0 0 0;
  -moz-border-radius: 35px 0 0 0;
  -ms-border-radius: 35px 0 0 0;
  -o-border-radius: 35px 0 0 0;
  border-radius: 35px 0 0 0;
}
.tab-GO table.default tbody tr:first-child td:last-child {
  -webkit-border-radius: 0 35px 0 0;
  -moz-border-radius: 0 35px 0 0;
  -ms-border-radius: 0 35px 0 0;
  -o-border-radius: 0 35px 0 0;
  border-radius: 0 35px 0 0;
}
.tab-GO table.default tbody tr:last-child td:first-child {
  -webkit-border-radius: 0 0 0 35px;
  -moz-border-radius: 0 0 0 35px;
  -ms-border-radius: 0 0 0 35px;
  -o-border-radius: 0 0 0 35px;
  border-radius: 0 0 0 35px;
}
.tab-GO table.default tbody tr:last-child td:last-child {
  -webkit-border-radius: 0 0 35px 0;
  -moz-border-radius: 0 0 35px 0;
  -ms-border-radius: 0 0 35px 0;
  -o-border-radius: 0 0 35px 0;
  border-radius: 0 0 35px 0;
}
.tab-GO table.default tbody td {
  padding: 10px 20px;
  background: #e1e1e1;
  border-right: 1px solid #efefef;
  text-align: center;
}
.tab-GO table.default tbody td:last-child {
  border-right: none;
}
.tab-GO .tleft { text-align: left !important; }
.tab-GO .tcenter { text-align: center !important; }
.tab-GO .tright { text-align: right !important; }

/* Especific Styles */
.tab-GO.tab-detalles .text-2cols .bloc,
.tab-GO.tab-detalles .text-2cols .list {
  margin-bottom: 0;
}
.tab-GO.tab-cristales td.luminosidad {
    width: 70px;
    padding: 0;
    padding-left: 20px;
    border: none;
}
.tab-GO.tab-cristales td.luminosidad img {
    width: 100%;
    height: auto;
    max-width: 50px;
    max-height: 50px;
}

@media only screen and (max-width: 770px) {
    .tab-GO .text-2cols {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 0px;
    -moz-column-gap: 0px;
    column-gap: 0px;
    }
    .tab-GO table.default { font-size: 10px; }
    .tab-GO table.default thead th:first-child { padding-left: 15px; }
    .tab-GO table.default thead th:last-child { padding-right: 15px; }
    .tab-GO table.default thead th, .tab-GO table.default tbody td { padding: 3px 2px; text-align: center !important; }
    .tab-GO.tab-cristales td.luminosidad { width: 0; padding: 0; }
    .tab-GO.tab-cristales td .luminosidad-img {
        width: 100%;
        height: auto;
        max-width: 40px;
        max-height: 40px;
        margin: 0 auto 5px;
    }
}


/* -------------------------------------------- *
 * Catalog - Grouped Product List
 */
.grouped-items-table-wrapper {
  border: solid 1px silver;
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
}
.grouped-items-table-wrapper tbody tr:last-child td {
  border-bottom: none;
}
@media only screen and (max-width: 479px) {
  .grouped-items-table-wrapper {
    margin-bottom: 15px;
  }
}

.grouped-items-table .name-wrapper {
  color: #e3002b;
}
.grouped-items-table .qty-wrapper {
  padding-top: 7px;
}
.grouped-items-table .qty-label {
  margin-left: 7px;
}
.grouped-items-table td {
  padding: 4px;
}
.grouped-items-table td:last-child {
  width: 30%;
  text-align: left;
}
.grouped-items-table .price-box {
  text-align: right;
}

/* -------------------------------------------- *
 * Catalog - Product Options
 */
.product-options {
  width: 100%;
  margin: 10px 0 0;
  padding: 10px 15px 15px;
  border: 1px solid #cccccc;
  clear: both;
  position: relative;
}

.product-options p.required {
  position: absolute;
  top: 6px;
  right: 15px;
  text-align: right;
}

@media only screen and (max-width: 979px) {
  .product-view .product-options .required {
    position: static;
  }
}
.product-options dt {
  margin: 10px 0 3px;
  font-weight: 400;
}

.product-options dt:first-child {
  margin-top: 0;
}

.product-options dd .qty-holder {
  display: block;
  padding: 10px 0 0 0;
}

.product-options dd .qty-holder .qty {
  width: 3em;
}

.product-options dd .qty-holder label {
  vertical-align: middle;
}

.product-options dd .qty-disabled {
  background: none;
  border: 0;
  padding: 0 2px;
}

.product-options dd {
  padding: 0 0 10px 0;
  margin: 0 0 5px;
  border-bottom: 1px solid #ededed;
}

.product-options dl.last dd.last {
  border-bottom: 0;
  padding-bottom: 5px;
  margin-bottom: 0;
}

.product-options dd .input-text {
  width: 98%;
}

.product-options dd .input-box {
  padding-top: 0;
}

.product-options dd input.datetime-picker {
  width: 150px;
}

.product-options dd .time-picker {
  display: -moz-inline-stack;
  display: inline-block;
  *vertical-align: auto;
  zoom: 1;
  *display: inline;
  padding: 2px 0;
  vertical-align: middle;
}

.product-options dd textarea {
  width: 98%;
  height: 8em;
}

.product-options dd select {
  width: 330px;
  max-width: 100%;
}

.product-options ul.options-list {
  margin-right: 5px;
}

.product-options ul.options-list li {
  line-height: 1.5;
  margin-bottom: 7px;
}

.product-options ul.options-list li:last-child {
  margin-bottom: 0;
}

.product-options ul.options-list .radio,
.product-options ul.options-list .checkbox {
  float: left;
  margin-top: 5px;
}

.product-options ul.options-list .label {
  display: block;
}

.product-options ul.options-list label {
  font-weight: 400;
}

.product-options p.note {
  margin: 0;
  font-size: 11px;
}

.product-options-bottom {
  background-color: #f4f4f4;
  padding: 15px 20px;
  border: 1px solid #cccccc;
  border-top: 0;
  margin-bottom: 10px;
}

.product-options-bottom:after {
  content: '';
  display: table;
  clear: both;
}

.product-options-bottom .product-pricing,
.product-options-bottom .tier-prices {
  float: right;
  margin: 0;
  padding: 0 0 10px;
  border: 0;
  background: 0;
  color: #636363;
}
@media only screen and (max-width: 1199px) {
  .product-options-bottom .product-pricing,
  .product-options-bottom .tier-prices {
    float: none;
    width: 100%;
    text-align: right;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #cccccc;
  }
}

.product-options-bottom .tier-prices li {
  background: 0;
  padding: 2px 0;
}

.product-options-bottom .tier-prices .price,
.product-options-bottom .tier-prices .benefit {
  color: #636363;
}

/* "display: none" should be removed if products on site have a long list of product options and those product options */
/*  affect the price so that the customer can see the updated price close to the "Add to Cart" button */
.product-options-bottom .price-box {
  display: none;
  float: right;
  margin: 0 0 10px;
  padding: 0;
}

@media only screen and (max-width: 479px) {
  .product-options-bottom .price-box .price-as-configured {
    text-align: right;
  }
  .product-options-bottom .price-box .price-as-configured .price-label {
    display: block;
  }
}
.product-options-bottom .price-tax {
  float: left;
}


/* -------------------------------------------- *
 * Promos
 */
/* Block: Promos */
.block-promos .box-carousel {
  margin: 0 30px;
}

.block-promos ul { overflow: hidden; }
.block-promos li {
  float: left;
  width: 49%;
  margin-right: 2%;
  margin-bottom: 25px;
  position: relative;
  border: 1px solid #e1e1e1;
}
.block-promos li:nth-child(2n) { margin-right: 0; }
.block-promos li a { display: block; }
.block-promos li img { width: 100%; }

@media only screen and (max-width: 490px) {
  .block-promos li {
    float: none;
    width: 98%;
    margin: 0 1% 20px;
  }
}


/* -------------------------------------------- *
 * Related Products
 */


/* -------------------------------------------- *
 * Upsell Products
 */
.box-up-sell {
  margin-top: 20px;
}
.box-up-sell .ratings {
  display: none;
}

/* ============================================ *
 * Catalog - MSRP MAP Popup
 * ============================================ */
.cart-msrp-totals {
  color: red;
  font-size: 12px !important;
  font-weight: 600;
  margin: 10px 10px 0;
  padding: 10px;
  text-align: right;
  text-transform: uppercase;
}

.map-cart-sidebar-total {
  color: red;
  display: block;
  font-size: 10px;
  font-weight: 600;
  text-align: left;
  padding: 2px 5px;
}

.map-popup {
  background: #FFFFFF;
  border: 5px solid #cccccc;
  margin: 12px 0 0;
  position: absolute;
  text-align: left;
  width: 450px;
  z-index: 100;
}
@media only screen and (min-width: 771px) {
  .map-popup.map-popup-right {
    left: 10px !important;
  }
  .map-popup.map-popup-left {
    left: auto !important;
    right: 10px !important;
  }
}
@media only screen and (max-width: 770px) {
  .map-popup {
    width: 100%;
    left: 0 !important;
  }
}
.map-popup .map-popup-heading {
  padding: 8px 10px;
  margin-right: 40px;
  width: auto;
}
.map-popup .map-popup-heading h3 {
  font-size: 14px;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  word-wrap: break-word;
  text-align: left;
  text-overflow: ellipsis;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-heading h3 {
    text-align: center;
  }
}
.map-popup .map-popup-close {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  height: 36px;
  width: 36px;
  font-size: 20px;
  line-height: 32px;
  text-align: center;
}
.map-popup .map-popup-content {
  border-top: 1px solid #ededed;
  padding: 10px;
  margin: 0 10px;
  overflow: hidden;
  text-align: left;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-content {
    text-align: center;
  }
}
.map-popup .map-popup-checkout {
  padding: 10px 0;
}
.map-popup .map-popup-checkout form:after {
  content: '';
  display: table;
  clear: both;
}
.map-popup .map-popup-checkout span {
  display: block;
}
.map-popup .map-popup-checkout .button {
  float: left;
  margin: 0 2px;
  clear: left;
}
.map-popup .map-popup-checkout .additional-addtocart-box {
  float: left;
  min-width: 210px;
}
.map-popup .map-popup-checkout .additional-addtocart-box li {
  list-style-type: none;
}
.map-popup .map-popup-checkout .paypal-logo {
  width: auto;
}
.map-popup .map-popup-checkout .paypal-logo a {
  display: inline-block;
  float: left;
  clear: left;
}
.map-popup .map-popup-checkout .paypal-logo .paypal-or {
  float: left;
  text-align: center;
  padding: 5px 15px;
  clear: left;
}
.map-popup .map-popup-checkout .paypal-logo:after {
  content: '';
  display: table;
  clear: both;
}
.map-popup .map-popup-checkout .paypal-logo .bml_button a {
  clear: left;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-checkout {
    text-align: center;
  }
  .map-popup .map-popup-checkout .button,
  .map-popup .map-popup-checkout .additional-addtocart-box,
  .map-popup .map-popup-checkout .paypal-logo a,
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    float: none;
  }
  .map-popup .map-popup-checkout .additional-addtocart-box {
    min-width: 0;
  }
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    margin: 0;
    margin-bottom: 10px;
  }
}
.map-popup .map-popup-checkout:after {
  content: '';
  display: table;
  clear: both;
}
.map-popup .map-popup-price {
  padding: 10px 0;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-price {
    text-align: center;
    padding-top: 0;
  }
}
.map-popup .map-popup-price .price-box,
.map-popup .map-popup-price .price-box .special-price {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.map-popup .map-popup-price .price-box .minimal-price-link {
  display: inline-block;
}
.map-popup .map-popup-text {
  padding: 10px 0;
  margin: 0 10px;
  word-wrap: break-word;
}
.map-popup .map-popup-text,
.map-popup .map-popup-only-text {
  border-top: 1px solid #ededed;
}

/* ============================================ *
 * Catalog - MSRP Product Listing
 * ============================================ */
.price-box .map-link {
  display: block;
  text-align: center;
}

/* ============================================ *
 * Catalog - Compare
 * ============================================ */
.link-compare {
  display: inline-block;
  text-decoration: none !important;
}
.link-compare:before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -40px -755px no-repeat;
  vertical-align: middle;
}
.link-compare:hover:before {
  background-position: -80px -755px;
}
.block-layered-nav .link-compare { float: right; margin-right: 5px; }
.top-extra .link-compare { float: left; }
.top-extra .link-compare:before, .sidebar .link-compare:before { background-position: -80px -755px; }

.block-compare .product-name:after {
  content: '';
  display: table;
  clear: both;
}

.compare-list {
  margin-top: 50px;
}
.compare-list .item {
  padding: 10px 15px;
  border: 1px solid #e1e1e1;
}
.compare-list .actions {
  display: block;
}
.compare-list .actions .actions-container {
  display: block;
  margin-top: 10px;
  padding: 10px 0 10px;
  border-top: none;
}
.compare-list .add-to-links {
  width: calc(100% - 20px);
  left: 10px;
  font-size: 15px;
}
.compare-list .add-to-links li.wishlist {
   float: left;
 }
.compare-list .add-to-links li.remove {
  float: right;
  margin-right: 0;
}
.compare-list .attributes {
  margin-top: 10px;
  padding: 10px 0;
  border-top: 1px dotted #e1e1e1;
}
.compare-list .attributes p {
  margin-bottom: 5px;
}
.compare-list .attributes li {
  padding: 5px 0;
  border-top: 1px dotted #e1e1e1;
}
.compare-list .attributes li:first-child {
  border-top: none;
}
.compare-list .attributes li.bullet {
  position: relative;
  padding: 0 0 0 14px;
  border-top: none;
}
.compare-list .attributes li.bullet:before {
  position: absolute;
  left: 0;
  content: "• ";
  font-size: 25px;
  line-height: 20px;
  color: #e3002b;
}
.compare-list .attributes label {
  font-weight: 600;
}
.compare-list .attributes label:after {
  content: ':';
  display: inline-block;
  margin-right: 5px;
}
.compare-list .brand {
  margin-top: 10px;
  padding-top: 15px;
  border-top: 1px dotted #e1e1e1;
  text-align: center;
}
.compare-list .brand img {
  display: inline-block;
  width: auto;
  max-height: 45px;
  max-width: 100%;
  height: auto;
}
.compare-list .link-more {
  display: block;
  margin-top: 5px;
  text-align: center;
  color: #e3002b;
  font-size: 12px;
}

@media only screen and (max-width: 770px) {
  .compare-list { margin-top: 0; }
  .compare-list .item {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    padding: 0 10px;
    border: none;
    border-bottom: 10px solid #f4f4f4;
  }
  .compare-list .mob-left {
    float: left;
    width: 50%;
    padding-right: 4%;
    border-right: 1px dashed #e1e1e1;
  }
  .compare-list .mob-right {
    float: right;
    width: 50%;
    padding-left: 4%;
  }
  .compare-list .mob-actions {
    clear: both;
    padding: 10px 0 5px;
    margin: 0 25px;
    text-align: center;
    border-top: 1px dashed #e1e1e1;
  }
  .compare-list .mob-actions .button { width: 100%; }
  .compare-list .product-name { min-height: auto; }
  .compare-list .product-sku,
  .compare-list .attributes { border: none; }
  .compare-list .brand { display: none; }
  .compare-list .add-to-links { top: 0; }
  .compare-list .add-to-links li { display: none; }
  .compare-list .add-to-links li:last-child { display: block; }
}

.compare-modal {
  display: none;
  height: 420px;
}
.compare-modal p {
  margin-bottom: 1em;
}
.compare-modal .button {
  margin-top: 20px;
}
#compare-limit-modal {
  padding: 110px 300px 0 40px;
  background: url("../images/go-compare-limit-modal.jpg") bottom right no-repeat;
}
#compare-empty-modal {
  padding: 80px 300px 0 40px;
  background: url("../images/go-compare-empty-modal.jpg") bottom right no-repeat;
}

@media only screen and (max-width: 650px) {
  #compare-limit-modal,
  #compare-empty-modal {
    padding: 40px 300px 0 40px;
  }
}
@media only screen and (max-width: 550px) {
  .compare-modal {
    height: auto;
    padding: 30px !important;
    background: none !important;
  }
}

.banner-ayuda {
  position: relative;
  margin-top: 100px;
  padding: 20px 250px 20px 30px;
  border: 1px solid #e1e1e1;
}
.banner-ayuda h2 {
  color: #e3002b;
}
.banner-ayuda p {
  margin-bottom: 15px;
  font-size: 18px;
  line-height: 24px;
}
.banner-ayuda input[type=text] {
  width: 52%;
  margin-right: 10px;
}
.banner-ayuda .button {
  margin-top: -3px;
}
.banner-ayuda img {
  position: absolute;
  bottom: 0;
  right: 50px;
}
@media only screen and (max-width: 560px) {
  .banner-ayuda {
    margin-top: 0;
    padding: 20px 30px;
  }
  .banner-ayuda img {
    display: none;
  }
}

@media only screen and (max-width: 770px) {
  .banner-ayuda {
    margin: 0 10px;
  }
}

@media only screen and (max-width: 810px) {
  .banner-ayuda input[type=text] {
    width: 100%;
  }
  .banner-ayuda .button {
    margin-top: 15px;
  }
  .banner-ayuda img {
    right: 30px;
  }
}

  /* ============================================ *
   * Checkout - Layout
   * ============================================ */
.cart-table {
  float: left;
  width: 60%;
}

.cart .button {
  white-space: normal;
}

.cart-forms,
.cart-totals-wrapper,
.crosssell {
  float: right;
  clear: right;
  width: 40%;
  padding-left: 20px;
}

.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  padding: 10px;
  background-color: #f4f4f4;
  border: 1px solid #cccccc;
}

.cart-table,
.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  margin-bottom: 20px;
}

.checkout-cart-index #postcode {
  width: 100%;
}

.display-both-prices .cart-table {
  float: none;
  width: 100%;
}
.display-both-prices .cart-forms {
  float: left;
  padding-right: 10px;
  padding-left: 0;
}
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  padding-left: 10px;
}
.display-both-prices .cart-forms,
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  width: 50%;
}
.display-both-prices .crosssell {
  clear: right;
  float: right;
}

@media only screen and (max-width: 979px) {
  .display-single-price .cart-table {
    float: none;
    width: 100%;
  }
  .display-single-price .cart-forms {
    float: left;
    padding-right: 10px;
    padding-left: 0;
  }
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-left: 10px;
  }
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    width: 50%;
  }
  .display-single-price .crosssell {
    clear: right;
    float: right;
  }
}
@media only screen and (max-width: 599px) {
  .product-cart-sku {
    display: none;
  }

  .display-both-prices .cart-forms,
  .display-both-prices .cart-totals-wrapper,
  .display-both-prices .crosssell,
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    float: none;
    width: 100%;
  }
}
.display-single-price:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Checkout - Cart
 * ============================================ */
.cart .page-title {
  margin-bottom: 15px;
  border-bottom: 1px solid #ededed;
}
.cart .page-title:after {
  content: '';
  display: table;
  clear: both;
}
.cart .page-title h1 {
  float: left;
  border-bottom: none;
  margin-bottom: 6px;
  margin-right: 10px;
}

.checkout-types {
  float: right;
  text-align: right;
  max-width: 100%;
  /* We always want this shipping method to display on its own line */
}
.checkout-types li {
  vertical-align: top;
  margin: 0 0 5px 5px;
}
.checkout-types li:after {
  content: '';
  display: table;
  clear: both;
}
.checkout-types li img {
  display: inline;
  vertical-align: top;
}
.checkout-types li:first-child {
  margin-left: 0;
}
.checkout-types .method-checkout-cart-methods-multishipping {
  display: block;
}
.checkout-types.top li {
  display: inline-block;
}
.checkout-types.top .bml_button {
  display: inline-block;
  vertical-align: top;
}
.checkout-types.top .bml_button img {
  display: block;
}
.checkout-types.top .paypal-logo .paypal-or {
  margin-top: 5px;
}
.checkout-types.bottom .paypal-logo a, .checkout-types.minicart .paypal-logo a {
  display: block;
}
.checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
  margin: 0;
  display: block;
  text-align: center;
}

@media only screen and (min-width: 741px) {
  .checkout-types.bottom .paypal-or {
    text-align: right;
    padding-right: 70px;
  }
}
.cart-totals .checkout-types .btn-checkout {
  margin-bottom: 7px;
}

@media only screen and (max-width: 740px) {
  .checkout-types {
    float: none;
    text-align: center;
  }
  .checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
    width: auto;
    float: none;
  }

  .checkout-types li {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 599px) {
  .btn-checkout {
    width: 100%;
  }
}
.cart-table th,
.cart-table td,
.cart-table tbody td {
  border-bottom: none;
  vertical-align: top;
}
.cart-table h2 {
  color: #636363;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 0;
}
.cart-table thead th,
.cart-table tbody td {
  background-color: transparent;
  padding: 10px 5px;
}
.cart-table .product-cart-info,
.cart-table .product-cart-actions {
  padding-left: 15px;
}
.cart-table tr {
  border-bottom: 1px solid silver;
}
.cart-table tfoot tr {
  background: none;
}
.cart-table tfoot tr > td:after {
  content: '';
  display: table;
  clear: both;
}
.cart-table span.or {
  font-size: 9px;
  padding: 0 5px;
  text-transform: uppercase;
}
.cart-table .product-cart-image .cart-links,
.cart-table .product-cart-info .btn-remove,
.cart-table .product-cart-actions .button {
  display: none;
}
.cart-table .product-cart-image {
  padding-left: 0;
  padding-right: 0;
}
.cart-table .product-cart-image .product-image img {
  max-width: 100%;
  width: 100%;
}
.cart-table .product-cart-image a.cart-edit {
  display: none;
}
.cart-table .product-cart-sku {
  font-style: italic;
  font-size: 12px;
  margin: 5px 0 12px;
}
.cart-table .product-cart-sku .label {
  font-weight: 600;
}
.cart-table .btn-empty {
  float: left;
}
.cart-table .product-cart-total,
.cart-table .product-cart-price {
  text-align: center;
}
.cart-table .cart-tax-total {
  position: relative;
  cursor: pointer;
}
.cart-table .cart-tax-total:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid #e3002b;
  border-left: none;
  top: 3px;
  right: -11px;
}
.cart-table .cart-tax-total.cart-tax-total-expanded:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 6px solid #e3002b;
  border-bottom: none;
  right: -15px;
  top: 6px;
}
.cart-table .cart-links > li {
  white-space: nowrap;
  line-height: 1.3;
  margin-bottom: 5px;
  min-width: 65px;
  font-size: 13px;
}
.cart-table .cart-links > li > a {
  display: block;
}
.cart-table .cart-links > li:last-child {
  margin-bottom: 0;
}
.cart-table .product-cart-actions {
  min-width: 60px;
  text-align: center;
}
.cart-table .product-cart-actions .qty {
  height: 30px;
  border-color: silver;
  border-radius: 0;
  margin-bottom: 10px;
  text-align: center;
  width: 3.2em;
}
.cart-table .product-cart-actions .button {
  margin-bottom: 5px;
}
.cart-table .item-options {
  padding-left: 15px;
}

@media only screen and (max-width: 770px) {
  .cart-table th {
    font-size: 12px;
  }
  .cart-table th,
  .cart-table td {
    padding: 7px 6px;
  }
  .cart-table .product-cart-actions > li {
    white-space: inherit;
  }
}
@media only screen and (max-width: 699px) {
  .display-both-prices .cart-table thead th.cart-total-head,
  .display-both-prices .cart-table td.product-cart-total {
    display: none;
  }
}
@media only screen and (max-width: 599px) {
  .cart-table colgroup, .cart-table thead {
    display: none;
  }
  .cart-table tr {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
  }
  .cart-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .cart-table tr:last-child {
    margin-bottom: 0;
  }
  .cart-table tfoot tr {
    padding-bottom: 0;
  }
  .cart-table td {
    border: none;
    display: block;
  }
  .cart-table td[data-rwd-label] {
    padding-left: 15px;
    margin-bottom: 6px;
  }
  .cart-table td[data-rwd-label] .price {
    font-weight: 400;
  }
  .cart-table td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .cart-table td.product-cart-price {
    text-align: left;
  }
  .cart-table h2 {
    font-size: 12px;
  }
  .cart-table .cart-links {
    padding-top: 5px;
    padding-right: 5px;
  }
  .cart-table .cart-links > li {
    white-space: normal;
    text-align: center;
  }
  .cart-table .cart-links > li > a {
    padding: 2px 0;
  }
  .cart-table .cart-tax-info {
    font-style: italic;
    padding-left: 15px;
    font-size: 13px;
  }
  .cart-table .cart-tax-info .price {
    font-size: 13px;
  }
  .cart-table .product-cart-image {
    width: 25%;
    float: left;
    padding-bottom: 0;
  }
  .cart-table .product-cart-image a.cart-edit {
    display: block;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
  }
  .cart-table .product-cart-info,
  .cart-table td[data-rwd-label] {
    float: right;
    width: 75%;
  }
  .cart-table .product-cart-actions,
  .cart-table .product-cart-price {
    padding-bottom: 0;
    padding-top: 0;
    float: right;
  }
  .cart-table .product-cart-remove,
  .cart-table .product-cart-total,
  .cart-table .product-cart-actions .cart-links {
    display: none;
  }
  .cart-table .product-cart-image .cart-links,
  .cart-table .product-cart-info .btn-remove {
    display: block;
  }
  .cart-table .product-cart-actions .button {
    display: none;
  }
  .cart-table .product-cart-info .btn-remove {
    float: right;
    margin: -4px 0 2px 7px;
  }
  .cart-table .product-cart-info .product-cart-sku {
    margin-bottom: 5px;
  }
  .cart-table .product-cart-actions {
    text-align: left;
  }
  .cart-table .product-cart-actions .qty {
    margin-right: 7px;
    margin-bottom: 7px;
  }
  .cart-table .price,
  .cart-table .product-cart-price:before {
    font-weight: 600;
    font-size: 15px;
  }
  .cart-table .cart-footer-actions {
    text-align: center;
    width: 100%;
  }
  .cart-table .cart-footer-actions #empty_cart_button {
    float: right;
  }
  .cart-table .cart-footer-actions .btn-continue {
    float: left;
  }
  .cart-table .cart-footer-actions .btn-update,
  .cart-table .cart-footer-actions span.or {
    display: none;
  }

  .display-both-prices .cart-table td[data-rwd-tax-label]:before {
    content: attr(data-rwd-tax-label) ":";
  }
}
/* ============================================ *
 * Checkout - Estimate Shipping and Tax
 * ============================================ */
.shipping h2 {
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 5px;
}
.shipping select {
  max-width: 100%;
  height: 30px;
  display: block;
  border: 1px solid silver;
}
.shipping select.validation-failed {
  border-color: #df280a;
}
.shipping .shipping-desc {
  display: none;
}
.shipping .buttons-set {
  border: none;
  margin: 0;
  padding: 0;
}
.shipping .form-list:after {
  content: '';
  display: table;
  clear: both;
}
.shipping .form-list li {
  float: left;
  margin: 5px 2% 10px 0;
}
.shipping .form-list .shipping-country {
  width: 37%;
}
.shipping .form-list .shipping-region {
  width: 41%;
}
.shipping .form-list .shipping-postcode {
  margin-right: 0;
  width: 18%;
}
.shipping .form-list .shipping-postcode input {
  margin-top: 4px;
}
.shipping .form-list .input-box {
  padding-top: 0;
}
.shipping .form-list input {
  height: 30px;
  margin-top: 4px;
}
.shipping .form-list label {
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  white-space: nowrap;
}
.shipping .sp-methods {
  padding: 10px 0 0;
  text-align: left;
}
.shipping .sp-methods dd {
  margin-bottom: 10px;
}
.shipping .sp-methods label {
  font-size: 12px;
  font-style: italic;
  min-width: 100px;
}
.shipping .sp-methods label span {
  font-weight: 600;
  font-style: normal;
}
.shipping #co-shipping-method-form .buttons-set .button {
  float: left;
  margin-left: 0;
}
.shipping #co-shipping-method-form .sp-methods dd label {
  border: 1px solid #cccccc;
  background-color: #ececec;
  min-width: 220px;
}
.shipping #co-shipping-method-form .sp-methods dd label:hover {
  background-color: #dbdbdb;
}

@media only screen and (max-width: 770px) {
  .shipping .shipping-form .form-list > li {
    width: 100%;
    float: none;
  }
  .shipping .shipping-form .form-list > li label {
    display: block;
  }
  .shipping .shipping-form .form-list > li input,
  .shipping .shipping-form .form-list > li select {
    width: 100%;
  }
}
.cart .cart-totals {
  text-align: right;
}
.cart .cart-totals:after {
  content: '';
  display: table;
  clear: both;
}
.cart .cart-totals table {
  font-size: 12px;
  margin-bottom: 20px;
  text-transform: uppercase;
  width: 100%;
}
.cart .cart-totals table td {
  padding: 2px 0;
}
.cart .cart-totals table td:first-child {
  padding-right: 10px;
  min-width: 120px;
}
.cart .cart-totals table tbody tr:last-child td,
.cart .cart-totals table tbody tr:last-child th {
  padding-bottom: 10px;
}
.cart .cart-totals table tfoot {
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
}
.cart .cart-totals table tfoot td {
  font-size: 24px;
  padding: 2px 5px;
  vertical-align: top;
}
.cart .cart-totals table tfoot strong span,
.cart .cart-totals table tfoot span.price {
}
.cart .cart-totals table tfoot strong {
  font-weight: 600;
}

@media only screen and (max-width: 600px) {
  .cart-totals {
    text-align: right;
  }
}
@media only screen and (max-width: 770px) {
  .cart .cart-totals table tfoot td {
    font-size: 18px;
  }
}
.discount-form:after,
#giftcard-form:after {
  content: '';
  display: table;
  clear: both;
}

#discount-coupon-form,
.cart .giftcard {
  width: 100%;
}
#discount-coupon-form h2,
.cart .giftcard h2 {
  display: none;
}
#discount-coupon-form label,
.cart .giftcard label {
  font-size: 12px;
  font-weight: 400;
  text-align: left;
  text-transform: uppercase;
  min-width: 105px;
  display: inline-block;
  margin-right: 10px;
}
#discount-coupon-form .field-wrapper,
.cart .giftcard .field-wrapper {
  display: inline-block;
}
#discount-coupon-form .validation-advice,
.cart .giftcard .validation-advice {
  display: inline;
}
#discount-coupon-form .button-wrapper,
.cart .giftcard .button-wrapper {
  display: inline-block;
  vertical-align: bottom;
}
#discount-coupon-form .button-wrapper > button,
.cart .giftcard .button-wrapper > button {
  float: left;
}
#discount-coupon-form .input-text,
.cart .giftcard .input-text {
  border-radius: 0;
  height: 30px;
  margin: 4px 10px 0 0;
  width: 190px;
}

.cart .giftcard p {
  margin-bottom: 7px;
}

.cart .giftcard .check-gc-status {
  float: left;
  padding: 0;
}
.cart .giftcard .check-gc-status > span > span {
  font-size: 14px;
  text-transform: none;
}

/* ============================================ *
 * Checkout - Cart Cross sell
 * ============================================ */
.crosssell h2 {
  color: #e3002b;
}
.crosssell .item a.product-image {
  width: auto;
  float: left;
}

/* Change the layout to 2 columns at a breakpoint that is higher than a 3 columns layout would normally break */
@media only screen and (max-width: 979px) {
  .crosssell {
    /* Undo three-column config */
  }
  .crosssell .products-grid > li:nth-child(even),
  .crosssell .products-grid > li:nth-child(3n),
  .crosssell .products-grid > li {
    width: 47.72727%;
    margin-right: 4.54545%;
  }
  .crosssell .products-grid > li:nth-child(odd) {
    clear: left;
  }
  .crosssell .products-grid > li:nth-child(even) {
    margin-right: 0;
  }
  .crosssell .products-grid > li:nth-child(3n+1) {
    clear: none;
  }
}
@media only screen and (max-width: 599px) {
  .cart-table .cart-tax-total:after {
    right: -9px;
  }
  .cart-table .cart-tax-total.cart-tax-total-expanded:after {
    right: -13px;
  }
}
@media only screen and (max-width: 320px) {
  .crosssell ul .item {
    padding: 0 0 40px;
  }
  .crosssell ul .product-details .crosssell-actions {
    padding: 0 5px;
  }
}
/* ============================================ *
 * Checkout - One Page
 * ============================================ */
.checkout-onepage-index .col-right,
.checkout-onepage-index .col-left {
  display: none;
}

.checkout-onepage-index .col-main {
  width: auto;
  float: none;
}

@media only screen and (min-width: 980px) {
  .checkout-onepage-index .col-main {
    float: left;
    width: 68.75%;
    padding-right: 20px;
  }
  .checkout-onepage-index .col-right,
  .checkout-onepage-index .col-left {
    width: 31.25%;
    display: block;
  }
  .checkout-onepage-index .col-right {
    padding-left: 0;
  }
}
.opc select {
  width: 365px;
}

/* -------------------------------------------- *
 * Section Styling - Default
 */
.opc .section .step-title {
  width: 100%;
  border-top: 1px solid #ececec;
  position: relative;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.opc .section .step-title:after {
  content: '';
  display: table;
  clear: both;
}

.opc .section.allow:not(.active) .step-title {
  cursor: pointer;
}

/* Using .no-touch since touch devices emulate hover, thereby making steps look active that are not */
.no-touch .opc .section.allow:not(.active) .step-title:hover {
  background-color: #f4f4f4;
}

.opc .section.active .step-title {
  border-bottom: 1px solid #ececec;
}

.opc .section .step-title a {
  display: none;
}

.opc .section.allow:not(.active) .step-title a {
  display: block;
  float: right;
  line-height: 40px;
  height: 40px;
  padding: 0 10px;
}

.no-touch .opc .section .step-title a:hover {
  text-decoration: none;
}

.opc .section .step-title .number,
.opc .section.allow.active .step-title .number,
.no-touch .opc .section.allow:hover .step-title .number {
  width: 26px;
  height: 26px;
  text-align: center;
  color: #FFFFFF;
  line-height: 26px;
  background-color: #e3002b;
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -13px;
}

.opc .section.allow .step-title .number {
  background-color: #99cce5;
}

.opc .section.allow .step-title h2 {
  color: #a0a0a0;
}

.opc .section.allow .step-title:hover h2,
.opc .section.active .step-title h2 {
  color: #e3002b;
}

.opc .section .step-title h2 {
  font-size: 16px;
  font-weight: 600;
  line-height: 40px;
  height: 40px;
  float: left;
  margin: 0 4px 0 45px;
}

.opc .section .step {
  padding: 20px;
}
.opc .section .step:after {
  content: '';
  display: table;
  clear: both;
}
@media only screen and (max-width: 979px) {
  .opc .section .step {
    padding: 10px;
  }
}

.opc select {
  max-width: 365px;
  width: 100%;
}

.opc h3 {
  font-weight: 600;
}

.opc .buttons-set {
  text-align: left;
}
.opc .buttons-set button.button {
  float: left;
  margin-left: 0;
  margin-right: 10px;
  margin-bottom: 0;
}
.opc .buttons-set p.required {
  float: right;
  margin-left: 5px;
  margin-bottom: 0;
}
.opc .buttons-set .back-link {
  float: right;
  margin: 0;
}
.opc .buttons-set a {
  line-height: 20px;
  display: inline-block;
  padding: 5px 5px 5px 0;
}

@media only screen and (max-width: 479px) {
  .opc .buttons-set .button + .buttons-set .button,
  .paypal-express-review .buttons-set .button + .buttons-set .button {
    margin-left: 0;
  }
}
.opc #opc-login .step {
  padding: 0;
}
.opc #opc-login .buttons-set {
  border-top: 0;
  padding-top: 5px;
}

@media only screen and (max-width: 770px) {
  .opc #opc-login .description,
  .opc #opc-login p.required {
    display: none;
  }
}
#opc-payment .note {
  padding: 10px;
}

/* -------------------------------------------- *
 * This section hides everything but the "Checkout Method" step of the checkout process and fades in the content
 * once the customer progresses to the next step. The purpose of this is to simplify what the customer has to focus on.
 * It is limited to larger viewports since smaller devices are inherently going to be focused solely on the
 * "Checkout Method" step.
 */
.opc.opc-firststep-login .section:not(#opc-login) .step-title,
.opc-block-progress-step-login {
  -webkit-transition: opacity 300ms linear;
  -webkit-transition-delay: 0;
  -moz-transition: opacity 300ms linear 0;
  -o-transition: opacity 300ms linear 0;
  transition: opacity 300ms linear 0;
}

.opc.opc-firststep-login .section#opc-login .step-title .number {
  -webkit-transition: width 80ms linear;
  -webkit-transition-delay: 0;
  -moz-transition: width 80ms linear 0;
  -o-transition: width 80ms linear 0;
  transition: width 80ms linear 0;
}

.opc.opc-firststep-login .section#opc-login .step-title h2 {
  -webkit-transition: margin-left 80ms linear;
  -webkit-transition-delay: 0;
  -moz-transition: margin-left 80ms linear 0;
  -o-transition: margin-left 80ms linear 0;
  transition: margin-left 80ms linear 0;
}

/* When a user progresses from the "Checkout Method" to "Billing Information" for the first time, the              */
/* "opc-has-progressed-from-login" class gets added to the body. Also, the .opc element will only have the         */
/* "opc-firststep-login" class if the first step of the checkout is the "Checkout Method" (eg, not when logged in) */
body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section:not(#opc-login) .step-title,
body:not(.opc-has-progressed-from-login) .opc-block-progress-step-login {
  opacity: 0;
}

body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section#opc-login .step-title .number {
  width: 0;
  overflow: hidden;
}

body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section#opc-login .step-title h2 {
  margin-left: 0;
}

/* -------------------------------------------- *
 * Shipping and Payment methods
 */
.sp-methods {
  margin: 0 0 8px;
}
.sp-methods dt {
  margin: 13px 0 5px;
  font-weight: 600;
}
.sp-methods dt:first-child {
  margin: 0 0 5px;
}
.sp-methods dd li {
  margin: 5px 0;
}
.sp-methods label img {
  float: left;
}
.sp-methods label a {
  margin-top: 6px;
  float: right;
  margin-left: 10px;
}
.sp-methods .price {
  font-weight: 600;
}
.sp-methods .form-list {
  padding-left: 20px;
}
.sp-methods .form-list li {
  margin: 0 0 8px;
}
.sp-methods select.month {
  width: 120px;
  margin-right: 10px;
}
.sp-methods select.year {
  width: 96px;
}
.sp-methods input.cvv {
  width: 4em !important;
}
.sp-methods #advice-validate-cc-exp-ccsave_expiration {
  max-width: 130px;
}
.sp-methods .checkmo-list li {
  margin: 0 0 5px;
  content: '';
  display: table;
  clear: both;
}
.sp-methods .checkmo-list label {
  width: 165px;
  padding-right: 15px;
  text-align: right;
  float: left;
}
.sp-methods .checkmo-list address {
  float: left;
}
@media only screen and (max-width: 479px) {
  .sp-methods .checkmo-list {
    padding-left: 0;
  }
  .sp-methods .checkmo-list label {
    width: 135px;
  }
}
.sp-methods .release-amounts {
  margin: 0.5em 0;
}
.sp-methods .release-amounts button {
  float: left;
  margin: 5px 10px 0 0;
}

/* One Page Checkout */
.block-progress {
  border: 0;
  margin: 0;
  border-left: 1px solid #cccccc;
  padding-left: 20px;
}
.block-progress .block-content {
  font-size: 13px;
}
.block-progress dt {
  padding-top: 6px;
  margin: 0;
  font-size: 14px;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
  margin-bottom: 6px;
  font-weight: 400;
  color: #a0a0a0;
}
.block-progress dt.complete {
  color: #636363;
}
.block-progress dd {
  padding-left: 15px;
  margin-bottom: 10px;
  font-style: italic;
}
.block-progress dd address {
  font-style: italic;
}
.block-progress #payment-progress-opcheckout .subtitle {
  margin-bottom: 3px;
}
.block-progress .payment-info dt {
  padding: 0;
  margin: 0 0 3px 0;
  color: #636363;
  text-transform: none;
  font-style: italic;
  float: left;
  clear: both;
  font-size: 13px;
}
.block-progress .payment-info dt:after {
  content: ': ';
}
.block-progress .payment-info dd {
  float: left;
  margin-bottom: 3px;
  font-size: 13px;
}
.block-progress .payment-info:after {
  content: '';
  display: table;
  clear: both;
}

/* review step */
#checkout-review-table .btn-remove img {
  display: none;
}

#checkout-review-table-wrapper {
  clear: both;
}

#review-buttons-container {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
}
#review-buttons-container .btn-checkout {
  min-width: 220px;
}
#review-buttons-container .please-wait {
  float: left;
  margin-right: 10px;
}
#review-buttons-container .f-left {
  float: right;
}

@media only screen and (max-width: 599px) {
  .linearize-table-large.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .linearize-table.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}
/* show/hide "change" link for progress step depend on complete status
 * should be placed in .css file */
.opc-block-progress dt.complete a,
.opc-block-progress dt.complete .separator {
  display: inline;
}

.opc-block-progress dt a,
.opc-block-progress dt .separator {
  display: none;
}

/* On small screens, the progress review content will be moved to the review step via JS. Styled via this CSS: */
#checkout-step-review .opc-block-progress {
  border-left: none;
  padding-left: 0;
}
#checkout-step-review .opc-block-progress .block-title {
  display: none;
}
#checkout-step-review .opc-block-progress .block-content {
  display: block !important;
  padding: 0;
}
#checkout-step-review .opc-block-progress .block-content > dl > div {
  float: left;
  width: 50%;
}
@media only screen and (max-width: 479px) {
  #checkout-step-review .opc-block-progress .block-content > dl > div {
    float: none;
    width: auto;
  }
}
#checkout-step-review .opc-block-progress .block-content .changelink {
  display: none;
}

@media only screen and (max-width: 479px) {
  #checkout-review-table thead > tr > th {
    display: none;
  }
  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }

  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }
}
#checkout-step-review .centinel > p {
  margin-bottom: 10px;
}
#checkout-step-review .centinel iframe {
  width: 100%;
  min-height: 400px;
}

/* Gift options */
.gift-messages-form .item {
  content: '';
  display: table;
  clear: both;
  margin-top: 30px;
}
.gift-messages-form .item h5 {
  font-weight: 600;
}
.gift-messages-form .item .product-img-box {
  width: auto;
  float: left;
  padding-right: 15px;
}
.gift-messages-form .item .details {
  float: left;
}

.gift-message-form .inner-box > div {
  content: '';
  clear: both;
  width: 100%;
  margin-top: 15px;
  display: block;
}
.gift-message-form .inner-box > div.extra-options-container p {
  margin-bottom: 15px;
}
.gift-message-form .gift-wrapping-form label {
  margin-right: 10px;
}
.gift-message-form .gift-wrapping-form img {
  float: left;
}
.gift-message-form .gift-wrapping-form .gift-wrapping-design {
  height: 75px;
}
.gift-message-form .gift-wrapping-form .gift-wrapping-design:after {
  content: '';
  display: table;
  clear: both;
}
.gift-message-form .gift-wrapping-form .gift-wrapping-design .image-box {
  margin-right: 5px;
}
.gift-message-form .gift-item {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: solid 1px #ececec;
}
.gift-message-form .gift-item:after {
  content: '';
  display: table;
  clear: both;
}
.gift-message-form .gift-item .product-img-box {
  width: 200px;
}
.gift-message-form .gift-item .product-img-box .product-image {
  width: 75px;
  margin-left: auto;
  margin-right: auto;
}
.gift-message-form .gift-item .product-img-box .product-name {
  display: block;
}
.gift-message-form .gift-item .fieldset {
  margin-left: 200px;
}

@media only screen and (max-width: 770px) {
  .gift-message-form .giftmessage-area {
    max-width: 100%;
  }
  .gift-message-form .gift-item .product-img-box {
    width: 100%;
    float: none;
  }
  .gift-message-form .gift-item .fieldset {
    margin-left: 0;
  }
  .gift-message-form .gift-item .fieldset textarea {
    width: 100%;
  }
}
/* ============================================ *
 * Checkout - Success
 * ============================================ */
.checkout-onepage-success .col-main {
  padding: 0;
  text-align: center;
}
.checkout-onepage-success .buttons-set {
  margin: 10px 0;
  text-align: center;
}
.checkout-onepage-success .buttons-set button {
  float: none;
}

/* ============================================ *
 * Configurable Swatches
 * ============================================ */
/* Clears */
.clearfix:after,
.configurable-swatch-list:after,
.product-view .product-options .swatch-attr:after {
  content: '';
  display: table;
  clear: both;
}

/* General Swatch Styling */
.swatch-link,
.swatch-label {
  display: block;
  border-radius: 3px;
  font-size: 14px;
  text-align: center;
  color: #636363;
  text-decoration: none;
  box-sizing: content-box;
}

.swatch-link {
  border: 1px solid #cccccc;
  margin: 0 0 3px;
}
.swatch-link img {
  border-radius: 2px;
}
.swatch-link:hover {
  cursor: pointer;
  text-decoration: none;
}
.swatch-link .x {
  display: none;
  text-indent: -999em;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../images/bg_x.png) center no-repeat transparent;
  z-index: 10;
}
.swatch-link.has-image .swatch-label {
  position: relative;
}
.swatch-link.has-image img {
  position: absolute;
  top: 0;
  left: 0;
}

.swatch-label {
  border: 1px solid #fff;
  margin: 0;
  white-space: nowrap;
  background: #f4f4f4;
}

.configurable-swatch-list {
  margin-left: -3px;
  zoom: 1;
  clear: both;
  -webkit-transform: translateZ(0px);
}
.configurable-swatch-list li {
  float: left;
  zoom: 1;
  margin: 0 0 0 3px;
}
.products-grid .configurable-swatch-list li {
  display: inline-block;
  float: none;
  margin: 0;
  vertical-align: top;
}
.configurable-swatch-list .not-available .x {
  display: block;
}
.configurable-swatch-list .not-available .swatch-link {
  border-color: #ededed;
  position: relative;
}
.configurable-swatch-list .not-available .swatch-link.has-image img {
  opacity: 0.4;
  filter: alpha(opacity=40);
}
.configurable-swatch-list .not-available .swatch-label {
  color: #aaa;
  background: #fff;
}
.configurable-swatch-list .wide-swatch .swatch-label {
  padding: 0 6px;
}
.configurable-swatch-list .not-available a:focus {
  outline: 0;
}

#narrow-by-list dd .configurable-swatch-list li {
  margin: 0 0 0 3px;
  width: 47%;
}
#narrow-by-list dd .swatch-link {
  border: none;
  line-height: 25px;
  margin-right: 2px;
  text-align: left;
}
#narrow-by-list dd .swatch-link.has-image {
  line-height: inherit;
}
#narrow-by-list dd .swatch-link:hover .swatch-label {
  border-color: #e3002b;
}
#narrow-by-list dd .swatch-label {
  background: #f4f4f4;
  border: 1px solid #cccccc;
  border-radius: 3px;
  display: block;
  float: left;
  line-height: 1.5em;
  margin: 0 5px 0 0;
  padding: 1px 5px;
  white-space: nowrap;
}
#narrow-by-list dd .swatch-label img {
  border: 1px solid #fff;
  border-radius: 3px;
  box-sizing: content-box;
}
#narrow-by-list dd .has-image .swatch-label {
  padding: 0;
}

@media only screen and (max-width: 770px) {
  #narrow-by-list dd .configurable-swatch-list li:nth-child(odd) {
    clear: left;
  }
}
.currently .swatch-current {
  position: relative;
}
.currently .swatch-current .btn-remove {
  margin-top: -10px;
  position: absolute;
  right: 0;
  top: 50%;
}
.currently .swatch-current span {
  display: block;
  float: left;
}
.currently .swatch-link {
  display: inline-block;
  margin: 0 0 0 3px;
}
.currently .swatch-link:hover {
  border-color: #cccccc;
  cursor: default;
}

/* Other Swatch States */
.configurable-swatch-list .hover .swatch-link,
.configurable-swatch-list .selected .swatch-link,
.swatch-link:hover {
  border-color: #e3002b;
}

.configurable-swatch-box {
  background: none !important;
}
.configurable-swatch-box select.swatch-select {
  display: none;
}
.configurable-swatch-box .validation-advice {
  margin: 0 0 5px;
  background: #df280a;
  padding: 2px 5px !important;
  font-weight: 600;
  color: #fff !important;
  float: left;
  display: block;
  border-radius: 3px;
}

/* CUSTOM */
.availability.out-of-stock span {
  color: #a0a0a0;
}

.product-view .product-options .swatch-attr {
  float: none;
  display: block;
  clear: both;
  border: 0;
}
.product-view .product-options .swatch-attr label,
.product-view .product-options .swatch-attr .select-label {
  font-size: 12px;
}
.product-view .product-options .swatch-attr label {
  display: block;
  line-height: 1.3;
}
.product-view .product-options .swatch-attr .select-label {
  display: inline;
  font-weight: 400;
  color: #e3002b;
  padding-left: 5px;
}
.product-view .product-options dd .input-box {
  width: auto;
  height: auto;
}
.product-view .product-options .select-label {
  display: none;
}
.product-view .add-to-cart button.out-of-stock {
  background-position: -80px -362px;
  cursor: default;
}

/* ============================================ *
 * Customer
 * ============================================ */

.welcome-msg {
  margin-bottom: 15px;
}
@media only screen and (min-width: 1024px) {
  .welcome-msg p {
    margin-left: 200px;
    margin-right: 200px;
  }
}

.block-login,
.block-myaccount {
  display: none;
  position: absolute;
  right: 0;
  width: 350px;
  padding-top: 12px;
  cursor: default;
  font-size: 12px;
  color: #787878;
  text-align: left;
}
.block-myaccount { width: 200px; }

.skip-account:hover .block-login,
.skip-account .block-login.active,
.skip-account:hover .block-myaccount,
.skip-account .block-myaccount.active {
  display: block;
}

.block-login .block-content,
.block-myaccount .block-content {
  margin: 0;
  padding: 20px 14px;
  background-color: #fff;
  border: 1px solid #d6d6d6;
  box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.5);
  -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.5);
}
.block-login .block-content:before,
.block-myaccount .block-content:before {
  content: "";
  position: absolute;
  top: 1px;
  right: 30px;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid #fff;
}

.block-login .title {
  margin: 0;
  padding: 0;
  border: none;
  color: #58585a;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}
.block-login label {
  display: none;
}
.block-login .input-text {
  margin-top: 20px;
  font-size: 14px;
}
.block-login a {
  text-decoration: underline;
}
.block-login .actions {
  margin: 20px 0;
  overflow: hidden;
}
.block-login .actions .button {
  float: left;
  min-width: 150px;
  line-height: 20px;
  font-size: 16px;
}
.block-login .actions a {
  float: left;
  display: block;
  margin-left: 20px;
  line-height: 1.4em;
}

.block-login p {
  font-size: 15px;
}
.block-login a,
.block-login a:hover {
  color: #e3002b;
}

.block-myaccount .button {
  display: block;
  width: 100%;
  border: 1px solid #e3002b;
  line-height: 15px;
}
.block-myaccount .button:hover {
  border-color: #3d3d3d;
}
.block-myaccount .button.logout {
  margin-left: 0;
  margin-top: 8px;
  background: #fff;
  border: 1px solid #e3002b;
  color: #e3002b;
}
.block-myaccount .button.logout:hover {
  background: #3d3d3d;
  border-color: #3d3d3d;
  color: #fff;
}
.block-myaccount .button.logout:before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 16px;
  margin-right: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -80px -477px no-repeat transparent;
  vertical-align: bottom;
}
.block-myaccount .button.logout:hover:before {
  background-position: -120px -477px;
}

.customer-account-login .page-title,
.customer-account-forgotpassword .page-title {
  display: none;
}
.customer-account-login .col2-set .col-1 {
  padding-right: 30px;
}
.customer-account-login .col2-set .col-2 {
  padding-left: 30px;
  border-left: 1px solid #ededed;
}
.customer-account-login .col2-set .col-1 p {
  margin-bottom: 20px;
}
.customer-account-login .col2-set .buttons-set {
  text-align: left;
}
.customer-account-login .col2-set .buttons-set .button {
  width: auto;
  min-width: 180px;
  margin: 0;
  line-height: 24px;
}
@media only screen and (max-width: 549px) {
  .customer-account-login .col2-set .col-1 {
    padding-bottom: 20px;
    padding-right: 0;
  }
  .customer-account-login .col2-set .col-2 {
    padding-left: 0;
    padding-top: 20px;
    border-top: 1px solid #ededed;
    border-left: 0;
  }
  .customer-account-login .col2-set .buttons-set {
    text-align: center;
  }
}

.opc #opc-login p:not(.required) {
  font-style: italic;
  font-size: 13px;
  color: #a0a0a0;
}

.remember-me-box a.hide {
  display: none;
}
.remember-me-box .link-tip {
  font-size: 13px;
  padding-left: 10px;
}

.remember-me-popup {
  display: none;
  border: 1px solid #cccccc;
  padding: 10px;
  position: relative;
}
.remember-me-popup.show {
  display: block;
}
.remember-me-popup .remember-me-popup-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px;
  font-size: 12px;
}
.remember-me-popup .remember-me-popup-close-button {
  display: none;
}

.customer-account-createstart .banner-top {
  min-height: 285px;
  padding: 40px 0 0 380px;
  background: url("../images/go-registrate.jpg") bottom left no-repeat;
  text-align: center;
}
.customer-account-createstart .banner-top h2 {
  color: #585858;
  margin-bottom: 35px;
}
.customer-account-createstart .banner-top h2 span {
  display: block;
}
.customer-account-createstart .banner-top h3 {
  margin: 5px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #585858;
}
.customer-account-createstart .banner-top ul {
  overflow: hidden;
}
.customer-account-createstart .banner-top ul li {
  display: block;
  float: left;
  width: 33.33%;
  padding: 0 3%;
}
.customer-account-createstart .banner-top ul li:before {
  content: "";
  display: inline-block;
  width: 55px;
  height: 50px;
  background-image: url("../images/sprite-generaloptica.png");
  background-position: -54px 0;
  background-repeat: no-repeat;
}
.customer-account-createstart .banner-top ul li:first-child:before {
  background-position: -113px 0;
}
.customer-account-createstart .banner-top ul li:last-child:before {
  background-position: 2px 0;
}
.customer-account-createstart .account-type {
  position: relative;
  padding: 35px 20px 30px;
  background-color: #efefef;
  color: #868686;
  text-align: center;
}
.customer-account-createstart .account-type:before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 22px);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #ffffff;
}
.customer-account-createstart .account-type:after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: calc(50% - 22px);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #efefef;
}
.customer-account-createstart .account-type .radio + label {
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
}
.customer-account-createstart .account-type p {
  margin-top: 15px;
  line-height: 16px;
}
.customer-account-createstart .account-form {
  position: relative;
  padding-top: 35px;
}
.customer-account-createstart .account-form .radio + label {
  text-transform: uppercase;
}
.customer-account-createstart .account-form .input-box-border #day_yes,
.customer-account-createstart .account-form .input-box-border #month_yes {
  width: calc(33% - 10px);
}
.customer-account-createstart .account-form .dash-sep {
  display: inline-block;
  width: 8px;
}
.customer-account-edit .col-2 .form-list,
.customer-account-createstart .account-form .col-2 .form-list {
  padding-top: 55px;
}
.customer-account-createstart .account-form .button {
  min-width: 180px;
  line-height: 25px;
  text-transform: uppercase;
}
.customer-account-createstart .additional-fields {
  display: none;
}

.customer-account-createstart p.required.top {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .customer-account-createstart .banner-top {
    margin-bottom: 225px;
  }
  .customer-account-createstart .account-type {
    width: 100%;
    position: absolute;
    top: 285px;
    left: 0;
  }
  .customer-account-createstart .account-type .content {
    max-width: 1024px;
    margin: 0 auto;
  }
  .customer-account-createstart .account-type .col-1,
  .customer-account-createstart .account-type .col-2 {
    padding: 0 70px;
  }
}
@media only screen and (min-width: 550px) {
  .customer-account-createstart .account-type .radio + label {
    margin: 0;
    padding-left: 0;
    padding-top: 30px;
  }
  .customer-account-createstart .account-type .radio + label:before {
    top: 0;
    left: 50%;
    transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    -moz-transform: translate(-50%,0);
    -o-transform: translate(-50%,0);

  }
}

@media only screen and (max-width: 1070px) {
  .customer-account-createstart .banner-top ul li {
    padding: 0 2%;
  }
}
@media only screen and (max-width: 890px) {
  .customer-account-createstart .banner-top {
    min-height: auto;
    padding: 30px 20px;
    background: none;
  }
  .customer-account-createstart .banner-top ul li {
    padding: 0 6%;
  }
}
@media only screen and (max-width: 660px) {
  .customer-account-createstart .banner-top ul li {
    padding: 0 2%;
  }
}
@media only screen and (max-width: 549px) {
  .customer-account-createstart .col-1 {
    margin-bottom: 35px;
  }
  .customer-account-createstart .banner-top h2 span {
    display: inline;
  }
  .customer-account-createstart .account-type {
    padding: 20px 40px;
  }
  .customer-account-createstart .account-type .col2-set {
    text-align: left;
  }
  .customer-account-createstart .account-type:before {
    border: none;
  }
  .customer-account-createstart .account-type label + p {
    margin-top: 0;
    padding-left: 30px;
  }
  .customer-account-edit .col-2 .form-list,
  .customer-account-createstart .account-form .col-2 .form-list {
    padding-top: 0;
  }
  .customer-account-createstart .account-form .col-1 .input-box.radio-button {
    text-align: center;
  }
  .customer-account-createstart p.required.top {
    display: block;
    text-align: center;
  }
  .customer-account-createstart p.required.bottom {
    display: none;
  }
}

.customer-account-create .fieldset .hidden {
  display: none;
}
.customer-account-create #remember-me-popup {
  max-width: 455px;
}

.customer-account-forgotpassword .fieldset,
.customer-account-forgotpassword .buttons-set {
  max-width: 400px;
  margin-top: 15px;
  padding: 0;
}
.customer-account-forgotpassword .fieldset .input-box input.input-text {
  width: 100%;
}

.customer-account-changeforgotten .fieldset,
.customer-account-changeforgotten .buttons-set {
  max-width: 600px;
  margin-top: 15px;
  padding: 0;
}

.steps-content {
  width: 100%;
  max-width: 550px;
  margin: 40px auto 0;
}
.steps-content .button {
  font-size: 14px;
}
.validation-text {
  font-size: 16px;
}



/* ============================================ *
 * My Account Global Styles
 * ============================================ */
body.customer-account .my-account .page-title h1 {
  border: 0;
  text-align: left;
}
body.customer-account .my-account .title-buttons {
  position: relative;
  text-align: right;
}
body.customer-account .my-account .title-buttons h1 {
  text-align: left;
}
body.customer-account .my-account .title-buttons .button {
  position: absolute;
  right: 0;
  top: 0;
}
body.customer-account .my-account .title-buttons a,
body.customer-account .my-account .title-buttons span.separator {
  position: relative;
  top: -42px;
}
body.customer-account .my-account .fieldset h2,
body.customer-account .my-account .addresses-list h2,
body.customer-account .my-account .order-details h2 {
  width: 100%;
  display: inline-block;
}
body.customer-account .my-account .addresses-list h3 {
  font-size: 14px;
  font-weight: 600;
}
body.customer-account .my-account .fieldset {
  margin-top: 15px;
  margin-bottom: 15px;
}
body.customer-account .data-table {
  margin-top: 5px;
}
body.customer-account .data-table td a {
  text-transform: uppercase;
  font-style: normal;
  font-size: 13px;
}
body.customer-account .data-table span.nobr {
  white-space: normal;
}
body.customer-account .data-table span.nobr a {
  white-space: nowrap;
}
body.customer-account .data-table td.view a {
  display: block;
}
body.customer-account .data-table .separator {
  display: none;
}
body.customer-account .sidebar .block ol#compare-items li {
  margin: 10px 0;
}
body.customer-account .sidebar .block .block-content p.block-subtitle {
  margin-bottom: 15px;
}
body.customer-account .sidebar .block .block-content .actions {
  margin-top: 30px;
}
body.customer-account .sidebar ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}
body.customer-account .sidebar ol#cart-sidebar-reorder p.product-name {
  display: inline-block;
  margin-bottom: 0;
}
body.customer-account .sidebar .block-cart .summary {
  margin-bottom: 15px;
}
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder p.product-name {
  display: inline;
  margin-bottom: 0;
}
.form-list .customer-dob .dob-year, .form-list .customer-dob-yes .dob-year, .form-list .customer-dob-not .dob-year,
.form-list .customer-dob .dob-month, .form-list .customer-dob-yes .dob-month, .form-list .customer-dob-not .dob-month,
.form-list .customer-dob .dob-day, .form-list .customer-dob-yes .dob-day, .form-list .customer-dob-not .dob-day {
  width: 25%;
  float: left;
  margin-right: 10px;
}

/* ============================================ *
 * Dashboard
 * ============================================ */
.dashboard .box-head {
  margin-top: 30px;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 7px;
}
.dashboard .box-title {
  margin: 20px 0;
  border-bottom: 1px solid #787878;
  overflow: hidden;
  line-height: 26px;
}
.dashboard .box-title h2 {
  display: inline-block;
  margin: 0;
  color: #868686;
  font-size: 22px;
  font-style: normal;
  text-rendering: optimizeSpeed;
}
.dashboard .box-title a {
  float: right;
}
.dashboard .box-account {
  margin-bottom: 30px;
}
.dashboard .box-account address {
  font-style: italic;
}
.dashboard .col2-set .col-1,
.dashboard .col2-set .col-2 {
  padding: 20px 0;
}
.dashboard .col2-set .col-1 .box-title,
.dashboard .col2-set .col-2 .box-title {
  position: relative;
  padding-bottom: 10px;
}
.dashboard .col2-set .col-1 .box-title h2,
.dashboard .col2-set .col-1 .box-title h3,
.dashboard .col2-set .col-2 .box-title h2,
.dashboard .col2-set .col-2 .box-title h3 {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 0;
}
.dashboard .col2-set .col-1 .box-title a,
.dashboard .col2-set .col-2 .box-title a {
  line-height: 19.6px;
}

.dashboard .link-edit,
.dashboard .link-delete {
  display: inline-block;
  text-decoration: none !important;
  font-size: 16px;
  cursor: pointer;
}
.dashboard .link-edit:before,
.dashboard .link-delete:before {
  font-family: 'FontAwesome';
  display: inline-block;
  margin-right: 5px;
}
.dashboard .link-edit:before {
  content: "\f044";
}
.dashboard .link-edit.active {
  color: #e3002b;
}
.dashboard .link-delete:before {
  content: "\f00d";
}

.dashboard .fieldset-text {
  margin-bottom: 30px;
}
.dashboard .fieldset-text p {
  font-size: 16px;
  margin-bottom: 10px;
}
.dashboard .fieldset-text p .label {
  display: inline-block;
  margin-right: 10px;
}

.block-customer-info {
  padding: 20px 20px 10px;
  background: #f1f1f1;
  font-size: 16px;
  text-align: center;
}
.block-customer-info strong {
  display: block;
  margin: 10px 0 20px;
  font-size: 24px;
}

.dashboard .box-reviews.box-account {
  padding-bottom: 0;
}
.dashboard .box-reviews li {
  padding: 10px 0;
  border-top: 1px solid #ededed;
}
.dashboard .box-reviews li:first-child {
  border-top: 0;
}
.dashboard .box-reviews li .number {
  margin-right: -20px;
  float: left;
  line-height: 1.4;
  font-size: 13px;
}
.dashboard .box-reviews li .details {
  margin-left: 20px;
}
.dashboard .box-reviews li .details .ratings {
  content: '';
  display: table;
  clear: both;
  margin-bottom: 0;
}
.dashboard .box-reviews li .details .ratings strong {
  float: left;
  font-size: 13px;
  margin-right: 5px;
}
.dashboard .box-reviews li .details .ratings .rating-box {
  float: left;
  margin: 3px 0 0 0;
}

.dashboard-store { overflow: hidden; }
.dashboard-store img { float: left; margin: 0 15px 10px 0; }

/* ============================================ *
 * Privilege Card
 * ============================================ */
.privilege-card {
  min-height: 230px;
  padding: 50px 0 0 350px;
  background: url("../images/tarjeta-privilege.jpg") top left no-repeat;
  background-size: 415px;
}
.privilege-card.card-plus {
  background: url("../images/tarjeta-privilege-plus.jpg") top left no-repeat;
  background-size: 415px;
}
body.store-pt .privilege-card,
body.store-pt .privilege-card.card-plus {
  background-image: url("../images/tarjeta-privilege-PT.png");
}

.privilege-card .card-name,
.privilege-card .card-number {
  font-size: 24px;
  line-height: 30px;
}
.privilege-card .card-status {
  margin: 10px 0;
}
.card-beneficiaries {
  margin: 15px 0;
}
.card-beneficiaries li {
  padding: 5px 0;
}
.card-beneficiaries li:before {
  display: inline-block;
  margin-right: 5px;
  font-family: 'FontAwesome';
  font-size: 16px;
  content: "\f007";
}
.card-beneficiaries li span {
  display: inline-block;
  margin-right: 10px;
  font-size: 16px;
}
.card-beneficiaries li a {
  color: #e3002b;
}
#error-beneficiary {
  display: none;
  margin-top: 10px;
  padding: 8px 15px;
  border: 1px solid #e3002b;
  border-left-width: 5px;
  color: #e3002b;
  font-weight: 600;
}
#error-beneficiary:before {
  display: inline-block;
  margin-right: 10px;
  font-family: 'FontAwesome';
  content: '\f12a';
}

.beneficiary-modal {
  display: none;
  font-size: 14px;
  line-height: 20px;
}
.beneficiary-modal .email-beneficiary {
  min-width: 170px;
  line-height: 25px;
  margin-top: 20px;
  padding: 20px 40px;
  border: 1px solid #868686;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  text-align: center;
}
.beneficiary-modal .email-beneficiary p {
  margin-bottom: 10px;
  text-align: left;
}
.beneficiary-modal #link-url {
  word-wrap: break-word;
}
.privilege-modal {
  display: none;
  height: 380px;
}
.privilege-modal p {
  margin-bottom: 1em;
}
.privilege-modal .button {
  margin-top: 20px;
}
#renove-modal {
  padding: 80px 270px 0 40px;
  background: url("../images/go-tarjeta-renove-modal.jpg") bottom right no-repeat;
}
#plus-modal {
  padding: 80px 270px 0 40px;
  background: url("../images/go-tarjeta-plus-modal.jpg") bottom right no-repeat;
}

@media only screen and (max-width: 650px) {
  .privilege-card {
    min-height: 115px;
    margin-top: 30px;
    padding: 0 0 0 175px;
    background-size: 200px;
  }
  #renove-modal,
  #plus-modal {
    padding: 40px 260px 0 40px;
  }
}

@media only screen and (max-width: 550px) {
  .privilege-modal {
    height: auto;
    padding: 30px !important;
    background: none !important;
  }
}

@media only screen and (max-width: 450px) {
  .privilege-card {
    min-height: auto;
    padding-left: 90px;
    background-size: 100px;
  }
}


  /* ============================================ *
   * Address Book
   * ============================================ */
.my-account .addresses-list { }
.my-account .addresses-list .col-1,
.my-account .addresses-list .col-2 {
  padding-bottom: 0;
}
.my-account .addresses-list .item {
  margin: 0 0 30px 0;
}
.my-account .addresses-list .item p {
  margin-top: 10px;
}
@media only screen and (max-width: 770px) {
  .my-account .addresses-list .col-1,
  .my-account .addresses-list .col-2 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .my-account .addresses-list .col-1 li.empty,
  .my-account .addresses-list .col-2 li.empty {
    width: 100%;
  }
}
@media only screen and (max-width: 599px) {
  .my-account .addresses-list .addresses-additional p a {
    white-space: nowrap;
  }
}

/* ============================================ *
 * Order View
 * ============================================ */
.order-info {
  padding-bottom: 10px;
  border-bottom: 1px solid #ededed;
  width: 100%;
  margin-bottom: 30px;
}
.order-info dt,
.order-info dd,
.order-info ul,
.order-info li {
  display: inline;
}
.order-info dt {
  margin-right: 20px;
}
.order-info li {
  margin: 0 0 0 20px;
}
.order-info li.current {
  font-weight: 600;
}
.order-info li:first-child {
  margin-left: 0;
}

.order-date {
  text-transform: uppercase;
}

.order-info-box {
  margin-bottom: 40px;
  margin-top: 20px;
}
.order-info-box + .order-info-box {
  padding-bottom: 40px;
  border-bottom: 1px solid #ededed;
}
.order-info-box .col-1 {
  padding-right: 0;
  width: 48%;
}
.order-info-box .col-2 {
  width: 52%;
}
.order-info-box .col-1,
.order-info-box .col-2 {
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}
.order-info-box .box-title {
  width: 150px;
  padding-right: 10px;
  float: left;
}
.order-info-box .box-title h2 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.order-info-box .box-title h2:after {
  content: ':';
}
.order-info-box .box-content {
  float: left;
}
.order-info-box .box-content td,
.order-info-box .box-content th {
  line-height: 1.3;
}
.order-info-box .box-content th {
  padding-top: 10px;
}
.order-info-box .box-content td {
  padding-left: 15px;
}
.order-info-box .box-content strong {
  font-weight: 400;
  text-transform: uppercase;
}

#my-orders-table .option-label {
  margin-left: 10px;
  font-weight: 600;
  font-style: italic;
}
#my-orders-table .option-value {
  margin-left: 20px;
}
#my-orders-table tr.bundle:not(:last-child) td {
  border-bottom: none;
  border-top: none;
}

ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}
ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}
ol#cart-sidebar-reorder p.product-name {
  display: inline;
}

@media only screen and (max-width: 599px) {
  #my-orders-table .option-label {
    margin-left: 20px;
  }
  #my-orders-table .option-value {
    margin-left: 35px;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr br {
    display: none;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr strong {
    margin-right: 10px;
  }
  #my-orders-table tr.bundle {
    border-color: #ededed;
  }
  #my-orders-table tr.bundle.child td[data-rwd-label] {
    padding-left: 60px;
  }
  #my-orders-table tbody:last-child tr:last-child td {
    padding-bottom: 10px;
    border-bottom: 0;
  }
  #my-orders-table tbody:last-child tr:last-child td:last-child {
    padding-bottom: 15px;
  }
  #my-orders-table tfoot tr.shipping {
    margin-top: 0;
  }
}
.order-additional {
  margin: 40px 0;
}

.order-gift-message dd {
  margin-top: 10px;
}

@media only screen and (max-width: 1199px) {
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    padding-right: 30px;
    padding-bottom: 0;
  }

  body.customer-account .data-table td.view a {
    white-space: normal;
  }
}
@media only screen and (max-width: 979px) {
  body.customer-account .my-account .title-buttons {
    text-align: left;
  }
  body.customer-account .my-account .title-buttons span.separator,
  body.customer-account .my-account .title-buttons a {
    top: -12px;
  }
}
@media only screen and (max-width: 770px) {
  body.customer-account .data-table.orders th.ship,
  body.customer-account .data-table.orders td.ship,
  body.customer-account .data-table.orders td.status,
  body.customer-account .data-table.orders th.status {
    display: none;
  }

  .order-info-box .box-content {
    clear: left;
  }

  .addresses-list .item {
    float: left;
    width: 50%;
    padding-right: 30px;
  }

  .order-info dt {
    display: none;
  }

  .dashboard .page-title {
    margin-top: 20px;
  }
  .dashboard .page-title h1 {
    margin-top: 0;
  }
  .dashboard .box-account {
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 48%;
    padding-right: 0;
    padding-left: 0;
  }
  .dashboard .col2-set .col-1 {
    float: left;
    margin-right: 4%;
  }
  .dashboard .col2-set .col-2 {
    float: right;
  }
}
@media only screen and (max-width: 599px) {
  body.customer-account .my-account .form-list .control {
    padding-left: 0;
  }
}
@media only screen and (max-width: 479px) {
  body.customer-account .my-account .page-title h1 {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons .button {
    width: 100%;
    position: static;
    margin-bottom: 15px;
  }
  body.customer-account .my-account .title-buttons .button + .button {
    margin-left: 0;
  }
  body.customer-account .my-account .fieldset h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .order-details h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .buttons-set {
    border-top: 0;
  }
  body.customer-account .my-account .addresses-list .item {
    margin-bottom: 15px;
    padding-right: 0;
    float: none;
    width: auto;
  }
  body.customer-account .my-account .addresses-list h2 {
    margin-bottom: 15px;
  }

  .order-info {
    margin-top: 15px;
  }

  .data-table.orders .link-reorder,
  .data-table.orders .date {
    display: none;
  }
  .data-table.orders td.view {
    text-align: right;
  }

  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 100%;
    margin-top: 15px;
  }

  .order-info-box {
    margin: 0;
  }
  .order-info-box .col-1,
  .order-info-box .col-2 {
    width: 100%;
    border-bottom: 1px solid #ededed;
    padding: 15px 0;
  }
  .order-info-box + .order-info-box {
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 30px;
  }

  #my-reviews-table .nobr {
    white-space: normal;
  }
}

/* ============================================ *
 * New Account Right Blocks
 * ============================================ */
.block-account-notificaciones,
.block-account-citas {
  margin-bottom: 15px;
  padding: 20px;
  background: #efefef;
}
.block-account-notificaciones h2,
.block-account-citas h2 {
  font-size: 18px;
  margin-bottom: 15px;
}
.block-account-notificaciones h2:before,
.block-account-citas h2:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 22px;
  margin-right: 10px;
  background: url("../images/icon-sprite-generaloptica.png") 0 0 no-repeat;
  vertical-align: middle;
}
.block-account-notificaciones h2:before {
  background-position: -40px -370px;
}
.block-account-citas h2:before {
  background-position: -40px -84px;
}
.block-account-notificaciones ul li {
  margin-top: 15px;
  font-weight: 500;
}

.block-account-citas ul li {
  margin-top: 15px;
  font-weight: 500;
}
.block-account-citas ul li .date,
.appointment-modal .details .date {
  float: left;
  color: #e3002b;
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
}
.block-account-citas ul li .date span,
.appointment-modal .details .date span {
  display: block;
  font-size: 36px;
  line-height: 36px;
}
.block-account-citas ul li .description,
.appointment-modal .details .description {
  margin-left: 55px;
}
.block-account-citas ul li .description strong,
.appointment-modal .details .description strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
  color: #585858;
}
.block-account-notificaciones ul li a,
.block-account-citas ul li a {
  display: block;
}
.block-account-citas ul li a {
  margin-top: 8px;
}

.appointment-modal {
  display: none;
}
.appointment-modal .h2 {
  margin-top: 0;
}
.appointment-modal > p {
  margin: 20px 0;
}
.appointment-modal .details {
  margin-left: 50px;
}
.appointment-modal .actions {
  margin-top: 30px;
  text-align: center;
}

/* ============================================ *
 * New Account Content
 * ============================================ */
.account-title {
  position: relative;
  margin: 20px 0;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
}
.account-title:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 16px;
  display: block;
  width: 100%;
  border-bottom: 1px solid #868686;
}
.account-title span {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin: 0;
  padding: 0 15px;
  background: #fff;
  font-size: 24px;
  color: #787878;
}

.account-subtitle {
  position: relative;
  margin: 10px 0 0;
  font-size: 15px;
  font-weight: 400;
}
.account-subtitle span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 4px 70px 2px 20px;
  background: #e1e1e1;
  -webkit-border-radius: 0 15px 0 0;
  -moz-border-radius: 0 15px 0 0;
  -ms-border-radius: 0 15px 0 0;
  -o-border-radius: 0 15px 0 0;
  border-radius: 0 15px 0 0;
}

.box-account {}
.box-account .actions {
  margin: 10px 0 0;
}

/****** Promos ******/
.promos-list { overflow: hidden; }
.promos-list li { float:left; margin-right: 2%; margin-bottom: 10px; text-align: center; }
.promos-list li.hiddent { display: none; }
.promos-list li img { display: inline-block; width: 100%; }

@media only screen and (min-width: 771px){
  .promos-list li { width: 32%; }
  .promos-list li:nth-child(3n) { margin-right: 0; }
  .promos-list li:nth-child(3n+1) { clear: left; }
}
@media only screen and (max-width: 770px){
  .promos-list li { width: 48%; }
  .promos-list li:nth-child(even) { margin-right: 0; }
  .promos-list li:nth-child(odd) { clear: left; }
}

/****** Orders ******/
.orders-list { border-top: 1px solid #e1e1e1; }
.orders-list li { padding: 10px 20px; border-bottom: 1px solid #e1e1e1; }

.orders-list li .col2-set .col-1 { width: calc(100% - 260px); padding-top: 0; padding-bottom: 0; }
.orders-list li .col2-set .col-2 { width: 260px; padding: 0; }

.orders-list li .fecha,
.order-popup .fecha { margin-bottom: 5px; font-size: 14px; }
.orders-list li .pedido,
.order-popup .pedido { font-size: 18px; font-weight: 600; }
.orders-list li .tienda,
.order-popup .tienda { font-size: 14px; }
.orders-list li .total,
.order-popup .total { margin-top: 25px; font-size: 20px; font-weight: 600; }
.orders-list li .total strong,
.order-popup .total strong { font-size: 20px; font-weight: 600; color: #e3002b; }
.orders-list li .descuento,
.order-popup .descuento { font-size: 13px; font-weight: 600; }
.orders-list li .saldo,
.order-popup .saldo { font-size: 13px; }
.orders-list li .button,
.order-popup .button {
  float: right;
  min-width: 143px;
  margin-top: 10px;
  margin-left: 5px;
  text-transform: none;
}
.orders-list li ul.services {
  float: left;
  margin-top: 8px;
}
.orders-list li ul.services li {
  position: relative;
  display: block;
  float: left;
  width: 30px;
  height: 30px;
  margin-right: 15px;
  padding: 0;
  border: none;
}
.orders-list li ul.services li img {
  width: 100%;
  height: auto;
  max-width: 30px;
  max-height: 30px;
  cursor: pointer;
}

.order-popup {
  display: none;
}
.order-popup > .col2-set .col-2 {
  margin-top: 25px;
}
.order-popup .total {
  margin-top: 0;
}
.order-popup .download:before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -120px -594px no-repeat;
  vertical-align: middle;
}
.order-popup dl { margin-top: 10px; }
.order-popup dl dt {
  position: relative;
  margin-top: 10px;
  line-height: 20px;
  font-size: 18px;
  cursor: pointer;
}
.order-popup dl dt:after {
  display: block;
  width: 20px;
  position: absolute;
  top: 0;
  right: 15px;
  font-family: 'FontAwesome';
  font-size: 30px;
  content: "\f107";
  line-height: 34px;
}
.order-popup dl dt.active {
  background-color: #efefef;
  -webkit-border-radius: 20px 20px 0 0;
  -moz-border-radius: 20px 20px 0 0;
  -ms-border-radius: 20px 20px 0 0;
  -o-border-radius: 20px 20px 0 0;
  border-radius: 20px 20px 0 0;
}
.order-popup dl dt.active:after{
  content: "\f106";
  line-height: 33px;
}
.order-popup dl dt:first-child { margin-top: 0; }
.order-popup dl dt span {
  display: block;
  padding: 7px 40px 7px 15px;
  background-color: #e1e1e1;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
}
.order-popup dl dt a {
  display: inline-block;
  margin-left: 5px;
  color: #e3002b;
  font-size: 14px;
}
.order-popup dl dd {
  display: none;
  padding: 25px;
  background-color: #efefef;
  -webkit-border-radius: 0 0 20px 20px;
  -moz-border-radius: 0 0 20px 20px;
  -ms-border-radius: 0 0 20px 20px;
  -o-border-radius: 0 0 20px 20px;
  border-radius: 0 0 20px 20px;
}
.order-popup dl dd.active {
  display: block;
}
.order-popup dl dd img {
  float: left;
  max-width: 100px;
  height: auto;
  margin-right: 20px;
}
.order-popup dl dd .details {
  float: left;
  width: calc(100% - 120px);
}
.order-popup dl dd .details span { display: block; }
.order-popup dl dd .details span.separate { margin-top: 10px; }
.order-popup dl dd .total strong { font-size: 24px; font-weight: 600; }
.order-popup dl dd .total.desktop { float: right; }
.order-popup dl dd .total.mobile { margin: 10px 0; }
.order-popup dl dd .garantias {
  margin-top: 15px;
  padding-top: 10px;
  clear: both;
}
.order-popup dl dd .garantias {
  border-top: 1px solid #fff;
}
.order-popup dl dd .garantias ul {
  -webkit-column-count: 2; /* Chrome, Safari, Opera */
  -moz-column-count: 2; /* Firefox */
  column-count: 2;
  -webkit-column-gap: 50px; /* Chrome, Safari, Opera */
  -moz-column-gap: 50px; /* Firefox */
  column-gap: 50px;
}
.order-popup dl dd .garantias li {
  position: relative;
  padding: 5px 0 5px 50px;
  -webkit-column-break-inside: avoid; /* Chrome, Safari */
  page-break-inside: avoid; /* Theoretically FF 20+ */
  break-inside: avoid-column; /* IE 11 */
}
.order-popup dl dd .garantias li img {
  position: absolute;
  top: 10px;
  left: 0;
  width: auto;
  height: auto;
  max-height: 30px;
  max-width: 35px;
}
.order-popup dl dd .garantias li strong {
  display: block;
}

@media only screen and (max-width: 770px){
  .order-popup dl dd .garantias ul {
    -webkit-column-count: 1; /* Chrome, Safari, Opera */
    -moz-column-count: 1; /* Firefox */
    column-count: 1;
  }
}
@media only screen and (max-width: 549px){
  .order-popup dl dd {
    padding: 15px;
  }
  .order-popup dl dd img {
    max-width: 75px;
  }
  .order-popup dl dd .details {
    width: calc(100% - 95px);
  }
  .orders-list li .total,
  .order-popup .total {
    margin-top: 5px;
  }
  .orders-list li ul.services,
  .order-popup ul.services,
  .orders-list li .button,
  .order-popup .button {
    width: 100%;
    float: none;
    margin-top: 10px;
    margin-left: 0;
    clear: both;
  }
}

/****** Health ******/
.health-list { margin-bottom: 15px; border-top: 1px solid #e1e1e1; }
.health-list li { position: relative; padding: 10px 20px; border-bottom: 1px solid #e1e1e1; overflow: hidden; }
.health-list li .icon {
  display: block;
  position: absolute;
  top: 25px;
  left: 20px;
  width: 100%;
  height: auto;
  max-width: 35px;
  max-height: 35px;
  border: none;
}
.health-list li .info { float: left; margin-left: 55px; }
.health-list li .fecha { font-size: 1em; }
.health-list li .name { font-size: 1.1em; font-weight: 600; }
.health-list li .fecha-prox { font-size: .9em; }
.health-list li .button {
  float: right;
  margin: 16px 0;
  font-size: .9em;
  text-transform: none;
}
.health-list li .button:before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -120px -594px no-repeat;
  vertical-align: middle;
}

.account-consejos {
  margin-top: 40px;
}
.account-consejos div.item {
  position: relative;
  border: 1px solid #e1e1e1;
  text-align: center;
}
.account-consejos div.item a {
  display: block;
  padding: 15px 20px 45px;
  text-decoration: none !important;
}
.account-consejos div.item img {
  display: inline-block;
  width: auto;
  height: 110px;
  margin-bottom: 10px;
}
.account-consejos div.item h3 {
  min-height: 45px;
  padding-bottom: 5px;
  font-size: 16px;
}
.account-consejos div.item .button {
  position: absolute;
  bottom: 15px;
  left: calc(50% - 60px);
}
@media only screen and (min-width: 1024px) {
  .account-consejos div.item a {
    padding-left: 40px;
    padding-right: 40px;
  }
  .account-consejos div.item img {
    margin-bottom: 0;
  }
  .account-consejos div.item h3 {
    display: table-cell;
    height: 70px;
    vertical-align: middle;
  }
}
@media only screen and (max-width: 1000px) {
  .account-consejos .box-carousel {
    margin: 0 30px;
  }
}
@media only screen and (max-width: 479px){
    .health-list li:before {
        position: relative;
        top: 0;
        left: 0;
    }
    .health-list li .icon {
        position: relative;
        top: 0;
        left: 0;
        margin-bottom: 5px;
    }
    .health-list li .info {
        float: none;
        margin-left: 0;
    }
    .health-list li .button {
        float: none;
        width: 100%;
        margin: 10px 0 0;
    }
}

/****** Step Nav ******/
.step-nav .page-title {
  text-align: center;
}
.step-nav ul.progress-bar {
  margin-top: 25px;
  font-size: 16px;
}
.step-nav ul.progress-bar li {
  position: relative;
  display: inline-block;
  margin: 0 25px;
  padding-bottom: 10px;

}
.step-nav ul.progress-bar li.step1:before { content: '1. '; }
.step-nav ul.progress-bar li.step2:before { content: '2. '; }
.step-nav ul.progress-bar li.step3:before { content: '3. '; }
.step-nav ul.progress-bar li.step4:before { content: '4. '; }
.step-nav ul.progress-bar li:after {
  position: absolute;
  right: -30px;
  font-family: 'FontAwesome';
  content: '\f105';
}
.step-nav ul.progress-bar li:last-child:after {
  content: '';
}
.step-nav ul.progress-bar li.active {
  border-bottom: 3px solid #e3002b;
}
.step-nav ul.progress-bar li.active:before,
.step-nav ul.progress-bar li.active span {
  color: #e3002b;
  font-weight: 600;
}
@media only screen and (max-width: 1000px) {
  .step-nav ul.progress-bar li {
    margin: 0 15px;
  }
  .step-nav ul.progress-bar li:after {
    right: -20px;
  }
}
@media only screen and (max-width: 770px) {
  .step-nav ul.progress-bar {
    font-size: 14px;
    margin-top: 15px;
  }
  .step-nav ul.progress-bar li {
    margin: 0 10px;
  }
  .step-nav ul.progress-bar li:before {
    display: block;
    font-size: 16px;
  }
  .step-nav ul.progress-bar li.step1:before { content: '1'; }
  .step-nav ul.progress-bar li.step2:before { content: '2'; }
  .step-nav ul.progress-bar li.step3:before { content: '3'; }
  .step-nav ul.progress-bar li.step4:before { content: '4'; }
  .step-nav ul.progress-bar li:after { content: ''; }
  .step-nav ul.progress-bar li span span { display: block; }
}
@media only screen and (max-width: 450px) {
  .step-nav ul.progress-bar {
    font-size: 12px;
  }
  .step-nav ul.progress-bar li {
    margin: 0 2px;
  }
  .apointment-nav ul.progress-bar li {
    margin: 0 5px;
  }
}


/****** Appointment proccess: Qué necesitas ******/
.appointment-proccess.std a{
  color:#fff;
}
.appointment-proccess.std p.description{
  line-height:1.2;
  min-height:70px;
}
.appointment-proccess {
  padding:20px 0;
}
.appointment-proccess .cms-columns li{
  border:1px solid #c2c2c2;
  height:380px;
}
.appointment-service{
  padding:40px;
}
.appointment-proccess .cms-columns h2 {
  color: #e3002b;
  margin-top:20px;
}
.appointment-proccess .cms-columns h2::first-letter{
  text-transform:uppercase;
}
.appointment-service .icon {
  width: 70px;
  height: 70px;
  margin: 0 auto;
  transition: linear 0.2s;
  -webkit-transition: linear 0.2s;
  -moz-transition: linear 0.2s;
  -o-transition: linear 0.2s;
}
.appointment-service:hover .icon{
  height: 0;
}
.appointment-service .button{
  display:none;
}
.appointment-service:hover .button{
  display:block;
  margin-top:40px;
}

@media only screen and (max-width: 850px) {
  .appointment-service {
    padding: 30px 20px;
  }
}

/****** Appointment proccess: Elige día y hora ******/
.none {
  display: none;
}
.dropdown {
  color: #444444;
  font-size: 17px;
}
body.appointment-process-date .main-container,
body.appointment-process-customer .main-container {
  background-color: #e1e1e1;
	padding-bottom:40px;
}
#date_content {
  width: 80%;
  margin: 0 auto;
  overflow: hidden;
}

@media only screen and (max-width: 1000px) {
  #date_content {
    width: 100%;
  }
}

/* Calendar */
#calendar_section {
  position: relative;
  float: left;
  width: 280px;
  padding: 10px;
  background: #fff;
  margin-bottom: 30px;
}
#calendar_section ul {
  overflow: hidden;
}
#calendar_section:after {
  content: "";
  position: absolute;
  bottom: -21px;
  left: 50%;
  transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  -moz-transform: translate(-50%,0);
  -o-transform: translate(-50%,0);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #fff;
}
#calendar_section h2 {
  color: #e3002b;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}
#calendar_section h2 a.previous:before { float: left; }
#calendar_section h2 a.next:before { float: right; }
#calendar_section h2 a:before {
  font-family: 'FontAwesome';
  font-size: 18px;
  color: #e3002b;
}
#calendar_section h2 a.previous:before { content: '\f104'; }
#calendar_section h2 a.next:before { content: '\f105'; }
#calendar_section_top ul li {
  float: left;
  width: 14.28%;
  text-align: center;
  font-size: 11px;
  font-weight: 400;
  line-height: 2em;
}
#calendar_section_bot ul li {
  float: left;
  width: 14.28%;
  text-align: center;
  line-height: 2em;
}
#calendar_section_bot .date_cell span {
  display: inline-block;
  width: 27px;
  height: 27px;
  line-height: 24px;
  margin: 3px 5px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
}
#calendar_section_bot .date_cell_enabled span {
  cursor: pointer;
  border: 1px solid #79d351;
  color: #79d351;
}
#calendar_section_bot .date_cell_selected span,
#calendar_section_bot .date_cell_enabled span:hover {
  border: 1px solid #79d351;
  background: #79d351;
  color: #fff;
}
#calendar_section_bot .date_cell_enabled.date_cell_unavailable span,
#calendar_section_bot .date_cell_enabled.date_cell_unavailable span:hover {
  cursor: default;
  border: 1px solid #e3002b;
  background: none;
  color: #e3002b;
}

/* Hover Popup */
.date_popup_wrap {
  position: absolute;
  width: 143px;
  height: 115px;
  z-index: 9999;
  top: -115px;
  left: -55px;
  background: transparent url(add-new-event.png) no-repeat top left;
  color: #666 !important;
}
.events_window {
  overflow: hidden;
  overflow-y: auto;
  width: 133px;
  height: 115px;
  margin-top: 28px;
  margin-left: 25px;
}
.event_wrap {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: solid 1px #E4E4E7;
  font-size: 12px;
  padding: 3px;
}
.date_window {
  margin-top: 20px;
  margin-bottom: 2px;
  padding: 5px;
  font-size: 16px;
  margin-left: 9px;
  margin-right: 14px
}
.popup_event {
  margin-bottom: 2px;
  padding: 2px;
  font-size: 16px;
  width: 100%;
}
.popup_event a {
  color: #000000 !important;
}
.packeg_box a {
  color: #F58220;
  float: right;
}
.packeg_box a:hover {
  color: #181919;
  text-decoration: underline;
}

/* Appointment info block */
#summary_section {
  float: right;
  width: calc(95% - 280px);
  padding: 20px;
  background: #efefef;
  font-size: 14px;
}
#summary_service {
  margin-bottom: 5px;
  font-weight: 600;
}
#summary_store {
  float: left;
  width: calc(60% - 15px);
  margin-right: 15px;
}
#summary_store a {
  display: inline-block;
  margin-top: 10px;
  font-size: .9em;
  color: #e3002b;
}
#summary_data {
  float: left;
  width: 40%;
  font-weight: 400;
}
#summary_data_date_value,
#summary_data_time_value {
  height: 25px;
  line-height: 25px;
  margin: 5px 0;
  padding: 0 20px;
  background: #e0e0e0;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  text-align: center;
  font-weight: 600;
}
#summary_form {
  clear: both;
  padding-top: 15px;
  text-align: center;
}
#summary_form .button {
  padding: 8px 30px;
}

/* Schedule table */
#table_section {
  clear: both;
  position: relative;

}
#table_section:before {
  content: "";
  position: absolute;
  top: -21px;
  left: 50%;
  transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  -moz-transform: translate(-50%,0);
  -o-transform: translate(-50%,0);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-bottom: 22px solid #fff;
}
#table_section table {
  background: #fff;
  border-collapse: separate;
  border-spacing: 5px;
}
#table_section table th,
#table_section table td {
  padding: 0 5px 5px 5px;
  border-bottom: 1px solid #787878;
  text-align: center;
  vertical-align: top;
}
#table_section table th {
  padding-top: 10px;
}
#table_section table tr:last-child td {
  padding-bottom: 10px;
  border-bottom: none;
}
.time_cell_enabled {
  cursor: pointer;
}
.time_cell_enabled span {
  display: inline-block;
  padding: 0 20px;
  color: #79d351;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
}
.time_cell_available span {
  color: #79d351;
}
.time_cell_unavailable span {
  color: #e3002b;
}
.time_cell_ignored span {
  color: #787878;
}
.time_cell_selected span,
.time_cell_enabled:hover span {
  background: #79d351;
  color: #fff;
}

.color-legend {
  padding-top: 15px;
  font-size: .9em;
}
.color-legend.top {
  display: none;
  width: 100%;
  text-align: center;
  margin-bottom: 10px;
}
.color-legend span {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 5px 0 15px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
}
.color-legend .available-dot { background: #79d351; }
.color-legend .unavailable-dot { background: #e3002b; }

@media only screen and (max-width: 770px) {
  .appointment-proccess {
    padding: 0 0 20px 0;
  }
  #date_content {
    display: flex;
    flex-wrap: wrap;
  }
  #calendar_section {
    float: none;
    margin-left: auto;
    margin-right: auto;
    -webkit-order: 1;
    order: 1;
  }
  #summary_section {
    float: none;
    width: 100%;
    margin: 30px auto;
    -webkit-order: 3;
    order: 3;
  }
  #table_section {
    width: 100%;
    -webkit-order: 2;
    order: 2;
  }
  #table_section:before {
    display: none;
  }
  #table_section:after {
    content: "";
    position: absolute;
    bottom: -21px;
    left: 50%;
    transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    -moz-transform: translate(-50%,0);
    -o-transform: translate(-50%,0);
    width: 0;
    height: 0;
    border-left: 22px solid transparent;
    border-right: 22px solid transparent;
    border-top: 22px solid #fff;
  }
  #table_section table th {
    min-width: 90px;
  }
  #table_section .color-legend {
    display: none;
  }
  .color-legend.top {
    display: block;
  }
}

/* Scroll mobile */
@media only screen and (max-width: 770px) {
  #table_section .scroll-x {
    overflow-x: scroll;
  }
}
@media only screen and (max-width: 580px) {
  #table_section { position: relative; background: #fff; }
  #table_section .scroll-actions {

  }
  #table_section #scroll-left,
  #table_section #scroll-right {
    display: block;
    width: 10px;
    height: 18px;
    position: absolute;
    top: 15px;
    color: #e3002b;
    font-size: 18px;
    cursor: pointer;
  }
  #table_section #scroll-left:before,
  #table_section #scroll-right:before {
    display: block;
    font-family: 'FontAwesome';
  }
  #table_section #scroll-left { left: 8px; }
  #table_section #scroll-right { right: 8px; }
  #table_section #scroll-left:before { content: '\f104'; }
  #table_section #scroll-right:before { content: '\f105'; }

  #table_section .scroll-x { margin: 0 20px; }
}

@media only screen and (max-width: 479px) {
  #summary_section {
    text-align: center;
  }
  #summary_store,
  #summary_data {
    float: none;
    width: 100%;
    margin: 0;
  }
  #summary_data {
    margin-top: 15px;
  }
  #summary_store .button,
  #summary_store .button-mobile {
    width: 170px;
  }
}


/****** Appointment proccess: Confirma la cita ******/
.appointment-step4 {
  margin-top: 60px;
  padding: 40px !important;
  background: #fff;
}
.appointment-step4 .page-title p {
  margin: 20px 0 25px;
  font-size: 16px;
}
.appointment-step4 .col-1 {
  border-right: 1px solid #e1e1e1;
}
.appointment-step4 h2 {
  border-bottom: 1px solid #868686;
  margin-bottom: 30px;
}
.appointment-step4 #summary_section {
  float: none;
  width: 100%;
  max-width: 550px;
  margin: 20px auto 40px;
  overflow: hidden;
}
.form-selector {
  position: relative;
  display: none;
  margin: 20px 0 40px;
  padding: 20px 40px;
  background: #e1e1e1;
}
.form-selector:after {
  content: "";
  position: absolute;
  bottom: -21px;
  left: calc(50% - 22px);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #e1e1e1;
}
.form-selector .radio-selector {
  text-transform: uppercase;
  font-weight: 600 !important;
}

.appointment-confirmation {
  padding: 40px;
  background: #efefef;
  font-size: 16px;
}

@media only screen and (max-width: 549px) {
  .appointment-step4 { margin-top: 15px; padding: 20px 0 !important; }
  .appointment-step4 .page-title { padding: 0 20px; }
  .appointment-step4 .col-1 { border: none; }
  .appointment-step4 h2 { display: none; }
  .appointment-step4 #summary_section { width: auto; margin: 0 20px; text-align: center; }
  .appointment-step4 #summary_store, .appointment-step4 #summary_data { float: none; width: 100%; }
  .appointment-step4 #summary_data { padding: 20px; padding-bottom: 0; }
  .appointment-step4 .buttons-set { padding-top: 0; }
  .form-selector { display: block; }
  #form-login { display: none; }
}


/* ============================================ *
 * Newsletter Subscriptions
 * ============================================ */
body.newsletter-manage-index .my-account .fieldset {
  margin-bottom: 20px;
}
body.newsletter-manage-index .my-account .fieldset h2 {
  display: none;
}
body.newsletter-manage-index .my-account .form-list {
  border-top: 1px solid #ededed;
  padding-top: 10px;
}

/* ============================================ *
 * Contacts
 * ============================================ */
.contacts-index-index .buttons-set {
  margin-left: 30px;
  max-width: 435px;
}
.contacts-index-index .buttons-set p.required {
  float: left;
}
@media only screen and (max-width: 599px) {
  .contacts-index-index .buttons-set {
    max-width: 330px;
    margin-left: 0;
  }
  .contacts-index-index .buttons-set button {
    float: left;
    margin-left: 0;
  }
  .contacts-index-index .buttons-set p.required {
    float: right;
  }
}

/* ============================================ *
 * PayPal
 * ============================================ */
@media only screen and (max-width: 870px) and (min-width: 771px) {
  .paypal-review-order .col2-set .col-1,
  .paypal-review-order .col2-set .col-2 {
    padding: 0;
  }
}
.paypal-review-order .info-set {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ededed;
}
.paypal-review-order .buttons-set {
  margin-top: 0;
  padding-top: 0;
  border: 0;
}
.paypal-review-order .buttons-set button {
  margin-bottom: 10px;
}
@media only screen and (max-width: 770px) {
  .paypal-review-order .col-1 {
    padding-bottom: 0;
  }
  .paypal-review-order .field.inactive {
    display: none;
  }
}

.top-container .bml-ad {
  margin-top: 7px;
  margin-bottom: 7px;
  text-align: center;
}
.top-container .bml-ad span {
  display: inline-block;
}
.top-container .bml-ad span a {
  display: block;
}

.bml-ad {
  display: none;
  text-align: center;
  margin-bottom: 5px;
}
.bml-ad span {
  display: block;
  line-height: 0;
}
.bml-ad a {
  display: inline-block;
  max-width: 100%;
}
.bml-ad a:hover {
  opacity: 0.7;
}
.bml-ad img {
  height: auto !important;
  max-width: 100%;
}

.cart-totals-wrapper .bml-ad.large img {
  display: block;
  margin: 0;
}

@media only screen and (max-width: 770px) {
  .bml-ad.small {
    display: block;
  }
}
@media only screen and (min-width: 771px) {
  .bml-ad.large {
    display: block;
  }
}
div.paypal-logo {
  text-align: center;
  margin: 15px 0;
  max-width: 100%;
}
div.paypal-logo span {
  display: block;
  width: 100%;
}
div.paypal-logo span a {
  display: inline-block;
  max-width: 100%;
}
div.paypal-logo span a img {
  max-width: 100%;
}
div.paypal-logo span > img {
  display: none;
}

.checkout-types div.paypal-logo {
  text-align: right;
}

.bml-checkout-type {
  list-style-type: none;
}

.sidebar .paypal-logo {
  text-align: center;
  line-height: 0;
}
.sidebar .paypal-logo > a {
  display: inline-block;
  max-width: 100%;
}
.sidebar .paypal-logo > a:hover {
  opacity: 0.8;
}
.sidebar .paypal-logo > a img {
  display: block;
}
.sidebar .paypal-logo .label {
  margin-top: 4px;
}
.sidebar .paypal-logo .label a {
  font-size: 12px;
  line-height: 1.5;
}

/* ============================================ *
 * Review - Customer
 * ============================================ */
#customer-reviews {
  width: auto;
  float: none;
}
#customer-reviews .review-heading {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 10px 0 5px;
}
#customer-reviews .review-heading:after {
  content: '';
  display: table;
  clear: both;
}
#customer-reviews .review-heading h2 {
  float: left;
  display: block;
}
#customer-reviews .review-heading .pager {
  clear: none;
  float: right;
  width: auto;
}
#customer-reviews .review-heading .pager .count-container .limiter {
  margin-bottom: 0;
}
#customer-reviews .review-heading .pager .count-container .limiter label {
  font-size: 10px;
  text-transform: uppercase;
}
#customer-reviews .review-heading .pager .amount {
  display: none;
}
#customer-reviews h2 {
  color: #e3002b;
  font-size: 12px;
  text-transform: uppercase;
}
#customer-reviews h2 span {
  color: #636363;
}
#customer-reviews h3 {
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
}
#customer-reviews h3 span {
  color: #e3002b;
}
#customer-reviews .fieldset {
  padding-top: 25px;
  width: 470px;
}
#customer-reviews .fieldset h4 {
  border-bottom: 1px solid #cccccc;
  font-size: 12px;
  font-weight: 400;
  padding-bottom: 5px;
  text-transform: uppercase;
}
#customer-reviews .fieldset h4 em {
  display: none;
}
#customer-reviews .fieldset .form-list {
  font-size: 12px;
  font-weight: 400;
  margin: 10px 0;
  text-transform: uppercase;
  width: 470px;
}
#customer-reviews .fieldset .form-list .inline-label:after {
  content: '';
  display: table;
  clear: both;
}
#customer-reviews .fieldset .form-list label {
  font-size: 12px;
  font-weight: 400;
}
#customer-reviews .fieldset .form-list textarea {
  border: 1px solid #cccccc;
  border-radius: 0;
  min-width: 100%;
  -webkit-appearance: none;
}
#customer-reviews .fieldset .form-list input {
  border: 1px solid #cccccc;
  border-radius: 0;
}
#customer-reviews .fieldset .form-list input[type="text"] {
  width: 100%;
}
#customer-reviews .buttons-set {
  border: none;
  margin: 0;
  width: 470px;
}
#customer-reviews dl {
  font-size: 12px;
  font-weight: 400;
  margin-bottom: 10px;
}
#customer-reviews dl dt {
  margin: 10px 0;
  text-transform: uppercase;
}
#customer-reviews dl dd {
  font-size: 14px;
  margin: 10px 0;
}
#customer-reviews dl dd .ratings-table {
  font-size: 12px;
  width: 100%;
}
#customer-reviews dl dd .ratings-table tr {
  margin-right: 15px;
}
#customer-reviews dl dd .ratings-table .review-label {
  width: 300px;
  max-width: 70%;
}
#customer-reviews dl dd table {
  margin: 15px 0;
}
#customer-reviews dl dd .review-meta {
  color: #e3002b;
  font-size: 10px;
  font-weight: 400;
  text-transform: uppercase;
}

.review-summary-table {
  border-bottom: 1px solid #cccccc;
  margin: 0 0 10px;
}
.review-summary-table thead {
  background: transparent;
}
.review-summary-table thead th {
  background: transparent;
  border: none;
  padding: 15px 7px 10px 8px;
}
.review-summary-table tbody th {
  background: #FFFFFF;
  font-size: 12px;
}
.review-summary-table tbody td {
  border: none;
  text-align: center;
  padding: 0;
}
.review-summary-table tbody td label {
  width: 100%;
  display: block;
  padding: 11px 0;
}
.review-summary-table .rating-box .rating-number {
  display: none;
}
.review-summary-table .rating-box .rating-number:after {
  content: "";
  display: inline-block;
  background-position: 0 -599px;
  width: 13px;
  height: 14px;
  margin-left: 5px;
  position: relative;
  top: 2px;
}

/* ============================================ *
 * Ratings - Global
 * ============================================ */
.ratings-table {
  font-size: 12px;
  text-transform: uppercase;
}
.ratings-table th {
  padding-right: 10px;
}
.ratings-table .rating-box {
  background-position: 0 -615px;
  background-repeat: repeat-x;
  height: 13px;
  overflow: hidden;
  text-indent: -9999px;
  width: 65px;
}
.ratings-table .rating-box .rating {
  background-position: 0 -600px;
  background-repeat: repeat-x;
  float: left;
  height: 13px;
  text-indent: -9999px;
}

@media only screen and (max-width: 770px) {
  body.review-product-list .product-view .product-shop .price-info {
    padding-left: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info {
    padding: 0;
    min-width: 84%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table {
    margin: 10px 0;
    width: 100%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    margin-right: 15px;
  }
}
@media only screen and (max-width: 535px) {
  body.review-product-list .product-view .product-shop .extra-info {
    min-width: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    float: none;
    margin-right: 0;
  }
}
@media only screen and (max-width: 520px) {
  #customer-reviews .fieldset {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list .inline-label label,
  #customer-reviews .fieldset .form-list .inline-label .input-box {
    float: none;
  }
  #customer-reviews .buttons-set {
    width: 100%;
  }
  #customer-reviews .review-summary-table thead th {
    padding-left: 0;
    padding-right: 0;
  }
  #customer-reviews .review-summary-table tbody th {
    padding-left: 0;
    padding-right: 0;
  }
  #customer-reviews .review-summary-table tbody td {
    width: 20%;
    padding: 0;
  }
  #customer-reviews .review-summary-table .rating-box {
    text-indent: 0;
    text-align: center;
    background: none;
    height: 19.6px;
    width: 100%;
  }
  #customer-reviews .review-summary-table .rating-box .rating {
    display: none;
  }
  #customer-reviews .review-summary-table .rating-box .rating-number {
    display: inline-block;
  }
}
@media only screen and (max-width: 450px) {
  #customer-reviews dl dd .ratings-table tr {
    float: none;
  }
}
/* ============================================ *
 * Review View Page
 * ============================================ */
.review-product-view .product-review .product-details h2 {
  border-bottom: none;
}
.review-product-view .product-review .product-img-box {
  width: auto;
  max-width: 50%;
}
.review-product-view .product-review .product-img-box > a {
  width: 100%;
}
.review-product-view .product-review .product-img-box .product-image {
  width: 100%;
}

@media only screen and (max-width: 770px) {
  .review-product-view .product-review .product-img-box {
    max-width: 100%;
  }
}
/* ============================================ *
 * Slideshow
 * ============================================ */
.slideshow-container {
  position: relative;
  display: block;
  width: 100%;
  margin: 10px 0;
  border: 1px solid #ededed;
}
.slideshow-container .slideshow {
  width: 100%;
  padding: 0;
  position: relative;
  margin: 0;
  border: 10px solid #FFFFFF;
}
.slideshow-container .slideshow > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0;
  display: block;
  margin: 0;
}
.slideshow-container .slideshow > li:first-child {
  position: static;
  z-index: 100;
}
.slideshow-container .slideshow > li img {
  max-width: 100%;
  width: 100%;
}

.slideshow-pager {
  text-align: center;
  width: 100%;
  z-index: 115;
  position: absolute;
  bottom: 0;
  top: auto;
  overflow: hidden;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.slideshow-pager span {
  width: 44px;
  height: 44px;
  display: inline-block;
  color: #DDDDDD;
  cursor: pointer;
}
.slideshow-pager span:before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  left: 50%;
  top: 50%;
  margin-left: -8px;
  margin-top: -8px;
  border-radius: 1px;
  background-color: #FFFFFF;
  position: relative;
}
.slideshow-pager span:hover:before {
  background-color: #3d3d3d;
}
.slideshow-pager span.cycle-pager-active:before {
  background-color: #297aa3;
}
.slideshow-pager > * {
  cursor: pointer;
}

.slideshow-prev,
.slideshow-next {
  position: absolute;
  top: 0;
  width: 15%;
  max-width: 80px;
  height: 100%;
  opacity: 0.6;
  z-index: 110;
  cursor: pointer;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.slideshow-prev:before,
.slideshow-next:before {
  content: '';
  width: 0;
  height: 0;
  font-size: 0;
  position: absolute;
  border-style: solid;
  display: block;
  top: 50%;
  margin-top: -15px;
}
.slideshow-prev:hover,
.slideshow-next:hover {
  opacity: 1;
}
.slideshow-prev.disabled,
.slideshow-next.disabled {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5;
  cursor: default;
}

.slideshow-prev {
  left: 8px;
}
.slideshow-prev:before {
  border-width: 15px 15px 15px 0;
  border-color: transparent #FFFFFF transparent transparent;
  top: 50%;
  left: 10px;
}
.slideshow-prev:hover:before {
  border-color: transparent #3d3d3d transparent transparent;
}

.slideshow-next {
  right: 8px;
}
.slideshow-next:before {
  border-width: 15px 0 15px 15px;
  border-color: transparent transparent transparent #FFFFFF;
  top: 50%;
  right: 10px;
}
.slideshow-next:hover:before {
  border-color: transparent transparent transparent #3d3d3d;
}

.cycle-caption {
  position: absolute;
  color: white;
  bottom: 15px;
  right: 15px;
  z-index: 110;
}

.cycle-overlay {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 120;
  background: black;
  color: white;
  padding: 15px;
  opacity: .5;
}

/* ============================================ *
 * Wishlist
 * ============================================ */
.my-wishlist { padding-top: 1px; }
.my-wishlist .btn-remove {
  position: absolute;
  top: 10px;
  left: 10px;
}

#wishlist-table th {
  text-align: center;
}
#wishlist-table.clean-table {
  font-size: 12px;
  text-transform: uppercase;
  width: 100%;
}
#wishlist-table.clean-table th {
  border-bottom: 1px solid silver;
}
#wishlist-table.clean-table td {
  padding: 15px;
  vertical-align: top;
}
#wishlist-table.clean-table thead th {
  font-size: 12px;
  text-transform: uppercase;
}
#wishlist-table .product-name {
  font-size: 16px;
  margin-bottom: 0;
  text-transform: uppercase;
}
#wishlist-table .product-name a {
  color: #e3002b;
}
#wishlist-table .wishlist-sku {
  font-size: 11px;
  margin: 5px 0;
}
#wishlist-table textarea {
  border: 1px solid silver;
  width: 100%;
  height: 45px;
  font-size: 11px;
}
#wishlist-table textarea::-webkit-input-placeholder {
  text-transform: uppercase;
}
#wishlist-table textarea:-moz-placeholder {
  text-transform: uppercase;
}
#wishlist-table textarea::-moz-placeholder {
  text-transform: uppercase;
}
#wishlist-table textarea:-ms-input-placeholder {
  text-transform: uppercase;
}
#wishlist-table textarea:focus {
  border: 1px solid #e3002b;
}
#wishlist-table .item-manage {
  text-align: right;
  max-width: 450px;
  padding-top: 5px;
}
#wishlist-table .item-manage .button {
  font-size: 11px;
  padding: 3px 5px;
}
#wishlist-table .cart-cell {
  text-align: center;
}
#wishlist-table td.customer-wishlist-item-image {
  width: 113px;
}
#wishlist-table td.customer-wishlist-item-quantity {
  width: 3em;
}
#wishlist-table td.customer-wishlist-item-price {
  width: 120px;
  text-align: center;
}
#wishlist-table td.customer-wishlist-item-cart {
  width: 150px;
}
#wishlist-table td.customer-wishlist-item-cart .button {
  font-size: 12px;
  margin-bottom: 10px;
  padding: 3px 5px;
  width: 100%;
}
#wishlist-table td.customer-wishlist-item-cart .truncated {
  margin-bottom: 10px;
}
#wishlist-table td.customer-wishlist-item-cart > p {
  margin-bottom: 0;
}
#wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
  text-align: center;
}
#wishlist-table td.customer-wishlist-item-cart .btn-remove {
  vertical-align: top;
}
#wishlist-table td.customer-wishlist-item-remove {
  width: 20px;
}
#wishlist-table td .button,
#wishlist-table td button {
  white-space: normal;
}
#wishlist-table .price-box {
  font-size: 12px;
}
#wishlist-table .price-box .price {
  color: #636363;
}
#wishlist-table .giftregisty-add {
  margin-top: 5px;
}
#wishlist-table .giftregisty-add .change {
  display: none;
}
#wishlist-table .giftregisty-add li {
  cursor: pointer;
  color: #e3002b;
  margin-bottom: 3px;
}
#wishlist-table .truncated .details {
  background: none;
  color: #e3002b;
}
#wishlist-table td[data-rwd-label]:before {
  font-weight: 600;
}

@media only screen and (max-width: 1199px) {
  #wishlist-table.clean-table td {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 979px) {
  #wishlist-table.clean-table td {
    padding-left: 5px;
    padding-right: 5px;
  }
  #wishlist-table.clean-table td textarea {
    height: 100px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 110px;
  }
  #wishlist-table .product-name {
    font-size: 13px;
  }
}
@media only screen and (max-width: 770px) {
  #wishlist-table:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table .product-name {
    font-size: 16px;
  }
  #wishlist-table textarea {
    height: 68px;
    max-width: 100%;
  }
  #wishlist-table .item-manage {
    max-width: 100%;
  }
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table td.customer-wishlist-item-image {
    width: 70px;
  }
  #wishlist-table td.customer-wishlist-item-image img {
    width: 70px;
    height: 70px;
  }
  #wishlist-table td.customer-wishlist-item-cart p {
    margin-bottom: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
    margin-right: 0;
    padding-top: 4px;
  }
  #wishlist-table td.customer-wishlist-item-cart {
    padding-right: 15px;
  }
}
@media only screen and (max-width: 599px) {
  #wishlist-table td.customer-wishlist-item-quantity {
    padding-left: 0;
  }
  #wishlist-table td.customer-wishlist-item-image,
  #wishlist-table th.customer-wishlist-item-image {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table th.customer-wishlist-item-image {
    display: block;
  }
  #wishlist-table td.customer-wishlist-item-image, #wishlist-table td.customer-wishlist-item-info, #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price, #wishlist-table td.customer-wishlist-item-cart {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    empty-cells: hide;
  }
  #wishlist-table td.customer-wishlist-item-image {
    display: block;
    overflow: hidden;
  }
  #wishlist-table td.customer-wishlist-item-image a {
    float: left;
  }
  #wishlist-table td.customer-wishlist-item-image a img {
    width: 113px;
    height: 113px;
  }
  #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity:before, #wishlist-table td.customer-wishlist-item-price:before {
    float: left;
    margin-right: 15px;
  }
  #wishlist-table td.customer-wishlist-item-quantity .cart-cell, #wishlist-table td.customer-wishlist-item-price .cart-cell {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity .price-box, #wishlist-table td.customer-wishlist-item-price .price-box {
    margin-top: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .cart-cell {
    float: left;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-cart > p {
    float: right;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-remove {
    position: absolute;
    top: 15px;
    right: 0;
    display: block;
    padding: 0;
    height: 20px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 100%;
  }
}
/* ============================================ *
 * Wishlist Sidebar
 * ============================================ */
.box-wishlist .account-title span:before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 5px;
  background: url("../images/icon-sprite-generaloptica.png") -40px -617px no-repeat;
  vertical-align: middle;
}

@media only screen and (max-width: 1000px) {
  .box-wishlist .box-carousel {
    margin: 0 30px;
  }
}

/* ============================================ *
 * Checkout - Mini cart
 * ============================================ */
.header-minicart {
  display: inline-block;
}
@media only screen and (max-width: 770px) {
  .header-minicart {
    display: block;
  }
}
.header-minicart .minicart-message {
  display: block;
  padding: 10px;
}
.header-minicart .empty {
  padding: 10px;
  text-align: center;
}
.header-minicart .minicart-wrapper {
  clear: both;
  position: relative;
}
.header-minicart .minicart-wrapper:before, .header-minicart .minicart-wrapper:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.header-minicart .minicart-wrapper:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}
.header-minicart .minicart-wrapper:after {
  background-image: url("../images/opc-ajax-loader.gif");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
.header-minicart .minicart-wrapper.loading {
  position: relative;
}
.header-minicart .minicart-wrapper.loading:before, .header-minicart .minicart-wrapper.loading:after {
  display: block;
}
.header-minicart .block-cart {
  display: none;
}
.header-minicart .block-subtitle {
  color: #50A4CF;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  padding: 5px;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 0;
}
.header-minicart .block-subtitle .close {
  width: 40px;
  float: right;
  display: block;
  color: #636363;
  text-decoration: none;
  font-weight: 400;
  font-size: 30px;
  position: absolute;
  top: -8px;
  right: -3px;
}
.header-minicart .mini-products-list {
  padding: 10px;
  padding-top: 0;
}
.header-minicart .mini-products-list li {
  padding: 8px 5px 8px 11px;
  border-bottom: 1px solid #DDDDDD;
  position: relative;
}
.header-minicart .mini-products-list li.last {
  border: none;
}
.header-minicart .mini-products-list li .product-details {
  position: relative;
}
.header-minicart .product-details .product-name {
  padding-top: 0;
  font-weight: 600;
}
.header-minicart .product-details .product-name a {
  color: #e3002b;
}
.header-minicart .info-wrapper {
  margin-bottom: 0.5em;
}
.header-minicart .info-wrapper th {
  text-transform: uppercase;
  padding-right: 10px;
}
.header-minicart .info-wrapper td {
  color: #e3002b;
  clear: right;
}
.header-minicart .info-wrapper .qty-wrapper td {
  height: 33px;
  line-height: 33px;
}
.header-minicart .info-wrapper .qty {
  padding-left: 4px;
  padding-right: 4px;
  margin-right: 2px;
  width: 3.2em;
  text-align: center;
  height: 30px;
}
.header-minicart .info-wrapper .quantity-button {
  opacity: 0;
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 100ms;
  -moz-transition-duration: 100ms;
  -o-transition-duration: 100ms;
  transition-duration: 100ms;
}
.header-minicart .info-wrapper .quantity-button[disabled] {
  cursor: default;
}
.header-minicart .info-wrapper .quantity-button.visible {
  opacity: 1;
}
.header-minicart .subtotal {
  background-color: #DDDDDD;
  text-align: center;
  line-height: 2em;
}
.header-minicart .subtotal .label {
  color: white;
  text-transform: uppercase;
}
.header-minicart .subtotal .price {
  color: #e3002b;
}
.header-minicart .minicart-actions {
  padding: 10px;
  margin-top: 0;
  overflow: hidden;
  position: relative;
  text-align: center;
}
.header-minicart .minicart-actions .checkout-button {
  min-width: 145px;
}
.header-minicart .minicart-actions .cart-link {
  height: 33px;
  line-height: 39px;
  text-transform: uppercase;
  font-size: 13px;
}
.header-minicart .minicart-actions .paypal-logo .paypal-or {
  line-height: 1.6;
}
.header-minicart #minicart-error-message {
  text-align: center;
  color: red;
  display: none;
}
.header-minicart #minicart-success-message {
  text-align: center;
  color: green;
  display: none;
}
.header-minicart .jcarousel-control-prev,
.header-minicart .jcarousel-control-next {
  display: none;
}

.header-minicart.skip-active .block-cart,
.block-cart.skip-active {
  display: block;
}

@media only screen and (min-width: 771px) {
  .checkout-types.minicart {
    float: none;
    text-align: center;
  }
}
@media only screen and (max-width: 479px) {
  .header-minicart a.skip-cart {
    z-index: 1;
  }
}
@media only screen and (max-width: 770px) {
  .header-minicart .subtotal .label {
    color: #636363;
  }
  .header-minicart .minicart-wrapper:before {
    background-color: #EDEDED;
  }
  .header-minicart .quantity-button {
    float: none;
  }
  .header-minicart .header-minicart .block-cart {
    padding: 15px;
  }
  .header-minicart .header-minicart .block-subtitle {
    padding-top: 59px;
  }
  .header-minicart .minicart-actions {
    padding-bottom: 33px;
  }
  .header-minicart .minicart-actions .cart-link {
    bottom: 0;
    right: 10px;
    position: absolute;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li {
    display: inline-block;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo > a {
    display: inline;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .bml_button {
    display: inline-block;
    vertical-align: top;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
    width: auto;
    float: none;
    display: inline;
    margin: 0 10px 5px 10px;
    line-height: 40px;
  }
}
@media only screen and (max-width: 740px) {
  .header-minicart .minicart-actions .cart-link {
    right: auto;
    left: 0;
    text-align: center;
    width: 100%;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or,
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-button {
    width: 100%;
    display: block;
    margin-left: 0;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
    line-height: 1.6;
  }
}
@media only screen and (max-width: 599px) {
  .header-minicart .minicart-actions .checkout-button {
    width: 100%;
  }
}
/* ============================================ *
 * Search - Auto Suggest
 * ============================================ */

.ref-search {
  width: 150px;
  float: right;
}
.ref-search button {
  display: block;
  float: left;
  padding: 0;
  background: none;
  border: none;
  line-height: 30px;
}
.ref-search button span {
  display: none;
}
.ref-search button:before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url("../images/icon-sprite-generaloptica.png") -78px -141px no-repeat;
  vertical-align: middle;
}
.ref-search input {
  display: block;
  float: right;
  width: calc(100% - 30px);
  padding: 0;
  background: none;
  border: none;
  text-align: right;
}

.search-autocomplete {
  left: 0 !important;
  overflow: visible !important;
  position: relative !important;
  top: 15px !important;
  width: 100% !important;
  z-index: 200;
}
.search-autocomplete ul {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
  background-color: #FFFFFF;
  border: 1px solid #e3002b;
  left: 0;
  padding-left: 0;
  position: absolute;
  top: 0;
  width: 100%;
	padding:0;
}
.search-autocomplete ul li {
  border-bottom: 1px solid #f4f4f4;
  color: #e3002b;
  cursor: pointer;
  font-size: 12px;
  padding: 4px 6px;
  text-align: left;
}
.search-autocomplete ul li:hover {
  color: #3d3d3d;
}
.search-autocomplete ul li.selected {
  background-color: #e3002b;
  color: white;
}
.search-autocomplete ul li .amount {
  float: right;
  font-weight: 600;
}
.search-autocomplete ul li:last-child {
  border-bottom: none;
}
.search-autocomplete:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #e3002b;
  border-top: none;
  left: 50%;
  top: -7px;
}

/* ============================================ *
 * Search - Advanced
 * ============================================ */
.advanced-search {
  background: #f4f4f4;
  border: 1px solid #ededed;
  padding: 30px;
}
.advanced-search select.multiselect option {
  border-bottom: 1px solid #ededed;
  padding: 2px 5px;
}

@media only screen and (max-width: 479px) {
  .advanced-search {
    padding: 15px;
  }
}
/* ============================================ *
 * Account - Reviews
 * ============================================ */
.product-review .product-img-box p.label {
  border-bottom: 1px solid #cccccc;
  font-size: 16px;
  margin-top: 20px;
  padding-bottom: 10px;
  text-transform: uppercase;
}
.product-review .product-img-box .rating-box {
  margin: 15px 0;
}
.product-review .product-details h2 {
  border-bottom: 1px solid #cccccc;
  color: #3399CC;
  font-size: 16px;
  font-weight: 600;
  padding-bottom: 10px;
}
.product-review .ratings-table th {
  padding-right: 10px;
}
.product-review .ratings-table tr {
  float: left;
  font-size: 12px;
  margin-right: 10px;
  text-transform: uppercase;
}
.product-review .ratings-description dt {
  border-bottom: 1px solid #cccccc;
  font-size: 16px;
  font-weight: 400;
  margin-top: 20px;
  padding: 10px 0;
  text-transform: uppercase;
}
.product-review .ratings-description dd {
  color: #737373;
  font-size: 13px;
}

@media only screen and (min-width: 771px) {
  .product-review .ratings-table tr {
    float: none;
  }
}
@media only screen and (min-width: 1126px) {
  .product-review .ratings-table tr {
    float: left;
    margin-right: 15px;
  }
}
@media only screen and (max-width: 320px) {
  .product-review .ratings-table tr {
    float: none;
  }
}
/* ============================================ *
 * CMS Pages
 * ============================================ */
.cms-page-view .page-title h1,
.cms-page-view .page-title h3,
.cms-page-view .page-head h1,
.cms-page-view .page-head h3,
.cms-no-route .page-title h1,
.cms-no-route .page-title h3,
.cms-no-route .page-head h1,
.cms-no-route .page-head h3 {
  border: none;
}

.cms-no-route .footer-top {
  margin-top: 0;
}

.cms-page-view .col-left:after,
.cms-no-route .col-left:after {
  content: '';
  display: table;
  clear: both;
}

.cms-no-route .main {
  min-height: 400px;
  background: url("../images/not-found.png") bottom right no-repeat;
}

.cms-no-route .cms-body {
  padding-top:40px;
  margin: 0;
}
.cms-no-route .std h2 {
    font-family: 'BeauSansBold';
	font-size: 56px;
    color: #e3002b;
    margin-top: 30px;
}
.cms-no-route .std h2 span {
	display: block;
	font-size: 36px;
}
.cms-no-route .std dl {
	margin-top: 30px;
    font-size: 16px;
}
.catalogsearch-result-index .std ul {
  margin-top: 15px;
}
.cms-no-route .std ul li,
.catalogsearch-result-index .std ul li {
	list-style:none;
	padding-left:0;
	margin-left:0;
}
@media only screen and (max-width: 770px) {
  .cms-no-route .main {
    min-height: auto;
    background: none;
  }
  .cms-no-route .cms-body {
    margin: 0 2%;
  }
  .cms-no-route .std h2 {
    margin-top: 0;
  }
}


.cms-page-view .std .messages,
.cms-home .std .messages,
.cms-no-route .std .messages {
  margin-bottom: 10px;
}
.cms-page-view .std .messages ul,
.cms-home .std .messages ul,
.cms-no-route .std .messages ul {
  margin-bottom: 0;
}
.cms-page-view .std .messages li,
.cms-home .std .messages li,
.cms-no-route .std .messages li {
  list-style: none;
  margin-left: 0;
  font-style: normal;
}

#accordion .toggle-tabs {
  display: none;
}
#accordion > dl > dt {
  margin: 0;
  color: #636363;
  font-size: 14px;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-weight: 400;
  margin-bottom: 0;
  padding: 7px 10px 7px 24px;
  border-width: 1px;
  border-style: solid;
  border-color: #cccccc;
  position: relative;
  background-color: #f4f4f4;
  display: block;
}
#accordion > dl > dt:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 4px solid #e3002b;
  border-bottom: none;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}
#accordion > dl > dt:hover {
  background-color: #ececec;
}
#accordion > dl > dd {
  padding: 10px;
  margin: 0;
  border-width: 0 1px;
  border-style: solid;
  border-color: #cccccc;
}
#accordion > dl > dd:last-child {
  border-width: 0 1px 1px 1px;
}
#accordion li {
  position: relative;
  overflow: hidden;
}
#accordion li .plusimage h2 {
  margin-right: 10px;
}

.page-sitemap .links {
  display: block;
  text-align: right;
  margin: 0 20px 0 0;
}
.page-sitemap .links a {
  position: relative;
}
.page-sitemap .sitemap {
  padding: 0 20px;
  margin: 15px 0;
  font-size: 12px;
}
.page-sitemap .sitemap li {
  margin: 3px 0;
}

.contacts-index-index h1 {
  border: none;
}

#contactForm {
  margin-bottom: 40px;
}
#contactForm h2 {
  display: none;
}
#contactForm:after {
  content: '';
  display: table;
  clear: both;
}
#contactForm .fieldset .legend + .required {
  margin: 0;
}
#contactForm .button {
  line-height: 25px;
}
.contact-banners {
  margin-top: 15px;
  text-align: center;
}
.contact-banners li {
  display: inline-block;
  text-align: center;
}
.contact-banners li img {
  display: inline-block;
}
@media only screen and (max-width: 770px) {
  #contactForm {
    padding-left: 0;
  }
  #contactForm .button {
    width: 100%;
  }
  .contact-banners li {
    display: block;
  }
}

.cms-header {
  position: relative;
  margin-bottom: 30px;
  border-bottom: 1px solid #e1e1e1;
}
.cms-header .max-width-container {
  position: relative;
}
.cms-header .page-title {
    margin-top: 50px;
    margin-bottom: 50px;
	padding: 0 20px;
}
.cms-header .page-title.tab {
	margin-bottom:40px;
	padding-bottom:10px;
}
.cms-header img {
  display: block;
  width: 100%;
  height: auto;
}

.cms-header.header-privilege .page-title img {
  position: absolute;
  top: -70px;
  right: 0;
  width: 25%;
}

.cms-body { margin: 30px 8% 0; }
.cms-body h1 { display: none; }

.cms-franquicias-form { width: auto; margin: 0 8%; }
.cms-franquicias-form img { max-width: 100%; }
.cms-franquicias-form .col-1 { width: 61%; }
.cms-franquicias-form .col-2 { width: 39%; }

.cms-body.cms-ayuda { width: auto; }
.cms-body.cms-ayuda .col-1 { width: calc(100% - 254px); }
.cms-body.cms-ayuda .col-2 { width: 254px; }

@media only screen and (max-width: 770px) {
  .cms-header .page-title .h1 { margin-bottom: 0; }
  .cms-header.header-privilege .page-title img { display: none; }
  .cms-body, .cms-franquicias-form { margin: 0 2%; }
}

  /* ============================================ *
   * Pricing Conditions
   * ============================================ */
.price-box .minimal-price-link .label {
  color: #cf5050;
  font-size: 12px;
  text-transform: uppercase;
}

.map-info {
  white-space: nowrap;
}

.catalog-product-view .map-info {
  white-space: normal;
}
.catalog-product-view .map-info > span {
  float: right;
  margin-bottom: 5px;
}
.catalog-product-view .map-info .price-box.map-info > a {
  float: right;
  width: 100%;
}

/* ============================================ *
 * Cookies
 * ============================================ */
.notice-cookie .notice-inner {
  padding-bottom: 0;
}
.notice-cookie .notice-inner:after {
  content: '';
  display: table;
  clear: both;
}
.notice-cookie .notice-text {
  float: left;
  max-width: 90%;
  padding-top: 4px;
  text-align: left;
}
.notice-cookie .notice-text p {
  padding-bottom: 14.5px;
  line-height: 1.3;
}
.notice-cookie .actions {
  float: left;
  text-align: right;
  padding-bottom: 14.5px;
}

@media only screen and (max-width: 979px) {
  .notice-cookie .notice-text {
    max-width: 86%;
  }
}
@media only screen and (max-width: 770px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-text {
    max-width: 82%;
    padding-top: 0;
  }
}
@media only screen and (max-width: 620px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-inner {
    background-position: left 10px;
  }
  .notice-cookie .notice-inner:after {
    content: '';
    display: table;
    clear: both;
  }
  .notice-cookie .notice-text {
    float: none;
    max-width: 100%;
    padding-top: 0;
  }
  .notice-cookie .actions {
    text-align: left;
  }
}
/* ============================================ *
 * Tags
 * ============================================ */
#addTagForm button {
  margin-top: 5px;
  margin-bottom: 10px;
}

#addTagForm .form-add {
  margin-top: 10px;
}

.product-tags {
  background-color: #f4f4f4;
  border: 1px solid #cccccc;
  float: left;
  margin-bottom: 10px;
  padding: 5px 1% 10px;
  width: 98%;
}

.product-tags li {
  float: left;
  margin-right: 15px;
}

.product-tags li.last {
  margin-right: 0;
}

.tags-list {
  float: left;
  width: 100%;
  margin-bottom: 10px;
}

.tags-list > li {
  float: left;
  margin-right: 10px;
}

.block-tags .actions > a {
  font-size: 12px;
}

.my-tag-edit .button.btn-remove {
  padding: 0;
}
.my-tag-edit .button.btn-remove:after {
  color: white;
}

@media only screen and (max-width: 770px) {
  .tags-list > li,
  .tags-list {
    float: none;
  }
}
/* ============================================ *
 * Captcha
 * ============================================ */
.captcha-note {
  clear: left;
  padding-top: 5px;
}

.captcha-image {
  float: left;
  display: inline;
  max-width: 100%;
  position: relative;
  width: 258px;
  margin-bottom: 10px;
}

.captcha-image .captcha-img {
  border: 1px solid #b6b6b6;
  vertical-align: bottom;
  width: 100%;
}

.registered-users .captcha-image {
  margin: 0;
}

.captcha-reload {
  cursor: pointer;
  position: absolute;
  top: 2px;
  right: 2px;
}

.captcha-reload.refreshing {
  animation: rotate 1.5s infinite linear;
  -webkit-animation: rotate 1.5s infinite linear;
  -moz-animation: rotate 1.5s infinite linear;
}

.customer-account-create .scaffold-form .captcha-input-container label:first-child {
  width: 100%;
}

.captcha-reload {
  position: absolute;
  right: 4px;
  top: 4px;
}

.captcha-img {
  border: 20px solid #bbbbbb;
}

.captcha-input-container {
  margin-bottom: 10px;
}

.control.newsletter-box, .captcha-input-container, .captcha-img-container {
  float: none;
  clear: both;
}
.control.newsletter-box:after, .captcha-input-container:after, .captcha-img-container:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Checkout Billing Fix to place the Captcha properly
 * ============================================ */
#co-billing-form ul.form-list > .control {
  float: left;
  margin: 0 0 5px;
  width: 100%;
}

/* ============================================ *
 * Account - Orders, Invoices, Credit Memos.
 * ============================================ */
@media only screen and (max-width: 479px) {
  .sales-order-invoice .sub-title,
  .sales-order-creditmemo .sub-title,
  .sales-order-shipment .sub-title {
    float: left;
    font-size: 15px;
    text-align: center;
    width: 100%;
  }
  .sales-order-invoice .order-links,
  .sales-order-creditmemo .order-links,
  .sales-order-shipment .order-links {
    text-align: center;
    width: 100%;
  }
}
/* ============================================ *
 * Recurring Profiles
 * ============================================ */
#recurring_profile_list_view th {
  white-space: normal;
}
#recurring_profile_list_view th span {
  white-space: inherit;
}
@media only screen and (max-width: 479px) {
  #recurring_profile_list_view {
    font-size: 12px;
  }
  #recurring_profile_list_view a {
    font-size: inherit;
  }
  #recurring_profile_list_view th,
  #recurring_profile_list_view td {
    padding: 2px;
  }
}

.recurring-profiles-title {
  float: left;
}
.recurring-profiles-title h1 {
  margin-bottom: 7px;
}

body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
  float: right;
  text-align: right;
  margin-bottom: 30px;
}
@media only screen and (max-width: 479px) {
  body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
    text-align: center;
    float: none;
  }
}
body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons .button {
  position: static;
}

.recurring-profiles-messages:after {
  content: '';
  display: table;
  clear: both;
}

#recurring_start_date_trig {
  display: inline;
}

/* ============================================ *
 * Billing Agreements
 * ============================================ */
.billing-agreements .info-box {
  margin-bottom: 30px;
}
.billing-agreements .info-box:after {
  content: '';
  display: table;
  clear: both;
}
.billing-agreements .info-box .form-list {
  max-width: 400px;
  width: 100%;
}
.billing-agreements .info-box .box-title {
  margin-top: 20px;
  margin-bottom: 7px;
}
.billing-agreements .info-box .button {
  float: right;
  margin-top: 7px;
}
@media only screen and (max-width: 479px) {
  .billing-agreements .info-box .button {
    width: 100%;
    float: none;
  }
}
.billing-agreements #payment_method {
  width: 100%;
  margin-top: 7px;
  margin-bottom: 7px;
}

.billing-agreement-view-header-wrapper .heading {
  max-width: 80%;
}
@media only screen and (max-width: 479px) {
  .billing-agreement-view-header-wrapper .heading {
    max-width: 100%;
  }
}

.billing-agreement-details td, .billing-agreement-details th {
  padding: 3.5px;
}

@media only screen and (max-width: 979px) {
  .billing-agreements .data-table .created-at,
  .billing-agreements .data-table .updated-at {
    display: none;
  }
}
/* ============================================ *
 * Popular Search Terms Cloud
 * ============================================ */
.catalogsearch-term-popular .tags-list {
  float: left;
  width: 100%;
}

.catalogsearch-term-popular .tags-list > li {
  float: left;
  height: 40px;
  margin-right: 25px;
}

/* ============================================ *
 * Widgets
 * ============================================ */
/* -------------------------------------------- *
 * Add to cart by SKU
 */
.sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
  width: 100%;
}
@media only screen and (min-width: 771px) {
  .sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
    max-width: 100px;
  }
}

.widget {
  clear: both;
}

.widget .pager {
  float: none;
  width: 100%;
}

/* ============================================ *
 * Checkout - Multiple Addresses
 * ============================================ */
body[class*="checkout-multishipping-"] .checkout-progress {
  width: 100%;
  float: left;
  margin-bottom: 25px;
}
body[class*="checkout-multishipping-"] .checkout-progress > li {
  float: left;
  width: 20%;
  text-align: center;
  padding: 8px 1% 6px;
  background: #f4f4f4;
  text-transform: uppercase;
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  margin-bottom: 10px;
}
body[class*="checkout-multishipping-"] .checkout-progress > li.active {
  background-color: #dddddd;
}
body[class*="checkout-multishipping-"] .checkout-progress > li.last {
  border-right: 0;
}
body[class*="checkout-multishipping-"] .page-title {
  float: left;
  width: 100%;
  margin-bottom: 15px;
}
body[class*="checkout-multishipping-"] .page-title h1 {
  border: 0 none;
  float: left;
  margin-top: 2px;
  margin-right: 2%;
}
body[class*="checkout-multishipping-"] .page-title .button {
  float: right;
}
body[class*="checkout-multishipping-"] .multiple-checkout > h2 {
  text-transform: none;
  font-size: 17px;
  margin-bottom: 15px;
}
body[class*="checkout-multishipping-"] .messages {
  float: left;
  width: 100%;
}
body[class*="checkout-multishipping-"] .col-2.col-wide {
  width: 66%;
}
body[class*="checkout-multishipping-"] .col-1.col-narrow {
  width: 30%;
}
body[class*="checkout-multishipping-"] .actions {
  margin-bottom: 10px;
}
body[class*="checkout-multishipping-"] .grand-total {
  text-align: right;
  font-size: 16px;
  font-weight: 600;
}
body[class*="checkout-multishipping-"] #checkout-review-submit {
  float: right;
}
body[class*="checkout-multishipping-"] #review-buttons-container {
  float: right;
  text-align: right;
}

.checkout-multishipping-addresses .btn-remove2 {
  text-indent: -5555px;
  display: block;
  width: 22px;
  height: 22px;
}

.checkout-multishipping-shipping .gift-messages {
  margin-top: 20px;
}
.checkout-multishipping-shipping .gift-messages-form {
  margin-top: 15px;
}
.checkout-multishipping-shipping .gift-messages-form h4 {
  margin-top: 15px;
  margin-bottom: 5px;
}
.checkout-multishipping-shipping .gift-messages-form .form-list {
  margin-top: 10px;
  margin-bottom: 25px;
}
.checkout-multishipping-shipping .gift-messages-form .item {
  margin-top: 15px;
}

.checkout-multishipping-shipping .col-1 .box-title h2, .checkout-multishipping-shipping .col-1 .box-title h3, .checkout-multishipping-shipping .col-1 .box-title h4, .checkout-multishipping-shipping .col-2 .box-title h2, .checkout-multishipping-shipping .col-2 .box-title h3, .checkout-multishipping-shipping .col-2 .box-title h4,
.checkout-multishipping-billing .col-1 .box-title h2,
.checkout-multishipping-billing .col-1 .box-title h3,
.checkout-multishipping-billing .col-1 .box-title h4,
.checkout-multishipping-billing .col-2 .box-title h2,
.checkout-multishipping-billing .col-2 .box-title h3,
.checkout-multishipping-billing .col-2 .box-title h4,
.checkout-multishipping-overview .col-1 .box-title h2,
.checkout-multishipping-overview .col-1 .box-title h3,
.checkout-multishipping-overview .col-1 .box-title h4,
.checkout-multishipping-overview .col-2 .box-title h2,
.checkout-multishipping-overview .col-2 .box-title h3,
.checkout-multishipping-overview .col-2 .box-title h4 {
  font-weight: 400;
  width: 100%;
  background: #f4f4f4;
  border-bottom: 1px solid #cccccc;
  padding: 10px;
  font-size: 14px;
}
.checkout-multishipping-shipping .col-1 > h4, .checkout-multishipping-shipping .col-2 > h4,
.checkout-multishipping-billing .col-1 > h4,
.checkout-multishipping-billing .col-2 > h4,
.checkout-multishipping-overview .col-1 > h4,
.checkout-multishipping-overview .col-2 > h4 {
  font-weight: 400;
  width: 100%;
  background: #f4f4f4;
  border-bottom: 1px solid #cccccc;
  padding: 10px;
  font-size: 14px;
}
.checkout-multishipping-shipping .col-1 .box-content, .checkout-multishipping-shipping .col-2 .box-content,
.checkout-multishipping-billing .col-1 .box-content,
.checkout-multishipping-billing .col-2 .box-content,
.checkout-multishipping-overview .col-1 .box-content,
.checkout-multishipping-overview .col-2 .box-content {
  margin-bottom: 25px;
  padding-left: 10px;
  margin-top: 10px;
}

.checkout-multishipping-billing .sp-methods dt {
  float: left;
  width: 100%;
}

.checkout-multishipping-payment-customerbalance input.checkbox {
  margin-left: 15px;
}

#multiship-addresses-table > tbody > tr > td.a-center.last > a {
  background-image: none;
}

#review-order-form > div:nth-child(3) > div.divider {
  width: 100%;
  clear: both;
}

@media only screen and (max-width: 979px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 300px;
  }

  #review-order-form .col-1,
  #review-order-form .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (max-width: 770px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress li {
    width: 100%;
    margin: 0;
    text-align: left;
    padding-left: 3%;
    border-right: 0;
  }
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 1px;
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .box-title {
    float: left;
    width: 100%;
  }
  body[class*="checkout-multishipping-"] .page-title .button {
    float: left;
    margin-bottom: 10px;
  }
  body[class*="checkout-multishipping-"] .linearize-table tfoot td {
    text-align: right;
  }
  body[class*="checkout-multishipping-"] .linearize-table select {
    width: 100%;
    min-width: 200px;
  }
  body[class*="checkout-multishipping-"] .col-1.col-narrow, body[class*="checkout-multishipping-"] .col-2.col-wide {
    width: 100%;
    padding: 0;
  }
}
@media only screen and (max-width: 599px) {
  .checkout-multishipping-addresses .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 10px;
    margin-top: 12px;
  }
}
@media only screen and (max-width: 479px) {
  body[class*="checkout-multishipping-"] .buttons-set .back-link {
    display: block;
  }
}
/* ============================================ *
 * Calendar styles (restore styles from /js/calendar)
 * ============================================ */
div.calendar table {
  border-collapse: separate;
}
div.calendar table td.button {
  display: table-cell;
  background: inherit;
  color: inherit;
  text-transform: none;
}


/* ============================================ *
 * Storelocator styles from 'plugincompany_storelocator'
 * ============================================ */
.pc-clear{
  clear: both;
}
.storelocation-list-item {
  position: relative;
  padding: 20px;
  border-top:1px solid #ccc;
}
.storelocation-list-item h3 {
  margin-bottom: 0;
}
.storelocation-list-item .address {
  margin-bottom: 15px;
}
.storelocation-list-item .contact-info {
  margin-bottom: 10px;
}
.storelocation-list-item .parking,
.storelocation-view .parking {
  position: relative;
  display: inline-block;
  padding: 0 2px;
  border: 1px solid #e3002b;
  border-radius: 3px;
  color: #e3002b;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  text-align: center;
  line-height: 15px;
}
.storelocation-list-item .links {
  position: absolute;
  top: 20px;
  right: 20px;
  text-align: right;
}
.storelocation-list-item .links a {
  display: inline-block;
  margin-left: 10px;
}
.storelocation-list-item .links .icon-links,
.storelocation-view .links .icon-links {
  margin-top: 5px;
}
.storelocation-list-item .icon,
.storelocation-view .icon {
  display: inline-block;
  margin-right: 5px;
}

.storelocation-list-item .location-arrow.icon,
.storelocation-view .location-arrow.icon {
  width: 15px;
  height: 14px;
  background: url("../images/icon-sprite-generaloptica.png") 0 -452px no-repeat;
  vertical-align: text-top;
}
.storelocation-list-item a:hover .location-arrow.icon,
.storelocation-view a:hover .location-arrow.icon {
  background-position: -80px -452px;
}

.storelocation-list-item .services {
  margin-top: 5px;
}
.storelocation-list-item .services li,
.storelocation-list-item .services .item {
  float: left;
  width: 65px;
  margin-bottom: 10px;
  margin-right: 5px;
  text-align: center;
  position: relative;
}
.storelocation-list-item .services li img,
.storelocation-list-item .services .item img {
  display: block;
  width: auto;
  height: 25px;
  max-width: 30px;
  max-height: 30px;
  margin: 0 auto;
}
.storelocation-list-item .services li span,
.storelocation-list-item .services .item span {
  display: block;
  min-height: 25px;
  margin-top: 10px;
  font-size: 10px;
  line-height: 1.1em;
  word-break: break-word;
  word-wrap: break-word;
  white-space: pre-wrap; /* css-3 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
}
.storelocation-list-item .button {
  position: absolute;
  right: 20px;
  bottom: 20px;
  min-width: 143px;
}
.storelocation-list-item .sep,
.storelocation-view .sep {
  display: inline-block;
  margin: 0 5px;
}
.storelocation-list-item .storelocation-list-map {
  width: 80%;
  display: inline-block;
}

@media only screen and (max-width: 770px) {
  .storelocation-list-item .links { position: relative; top: 0; right: 0; margin-bottom: 10px; text-align: left; overflow: hidden; }
  .storelocation-list-item .links a { margin-left: 0; }
  .storelocation-list-item .links .link-mapa { float: right; }
  .storelocation-list-item .links .icon-links { display: none; }
  .storelocation-list-item .button {
    display: block;
    max-width: 180px;
    margin: 20px auto 0;
    position: relative;
    right: 0;
    bottom: 0;
    clear: both;
  }
  .storelocation-view .como-llegar,
  .storelocation-view .parking-label { font-size: 12px; }
  .storelocation-view .button {
    min-width: 290px;
    font-size: 14px;
    line-height: 23px;
  }
}

/* Tooltip general */
.tooltip {
  font-size: 1.3em;
  margin-left: 5px;
  cursor: help;
}
img.tooltip {
  display: inline-block;
  width: 16px;
  height: auto;
  margin-bottom: -1px;
  margin-left: 5px;
  cursor: help;
}

/* GRID MARQUES -- BASAT EN BOOTSTRAP */
.row {
  margin-left: -5px;
  margin-right: -5px;
}
.row:before,
.row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row.first{
	padding-top:40px;
}
.col-xs-12, .col-md-6 {
  position: relative;
  min-height: 1px;
  padding-left: 5px;
  padding-right: 5px;
}
.col-xs-6{
	width:50%;
	float:left;
}
.col-xs-12 {
  width: 100%;
	float:left;
}
@media (min-width: 771px) {
  .col-md-6 {
    width: 50%;
		float: left;
  }
}
.row img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom:10px;
}

.all-brands a {
  display: block;
  background: #fff;
}
.all-brands a img {
  opacity: 1
}
.all-brands a:hover img {
  opacity: 0.2;
  transition: opacity .5s;
  -webkit-transition: opacity .5s;
  -moz-transition: opacity .5s;
  -o-transition: opacity .5s;
}
.all-brands span {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  font-size: 22px;
  font-weight: 600;
  color: #787878;
  text-align: center;
}
.all-brands a:hover span {
  display: block;
}

.contact-phone {
  font-family: Arial, Helvetica, sans-serif;
}
.contact-phone .icon{
	background-position: -40px -189px;
	background-image: url(../images/icon-sprite-generaloptica.png);
	background-repeat: no-repeat;
	text-indent: -9999px;
	display: inline-block;
    width: 22px;
    height: 22px;
    vertical-align: middle;
}

/* ---- Masonry columns ---- */
.grid {
  width:100%;
  margin: 0 auto;
	right: -.5%;
}
.grid-sizer { width:24%; }
.gutter-sizer { width: 1%; }
.grid-item { margin-bottom:1%; }
.grid-item img{ width:100%; max-width:none; }

/* clear fix */
.grid:after {
  content: '';
  display: block;
  clear: both;
}

.privacy-summary{
  margin: 30px 0;
}
.privacy-summary td{
  padding: 10px 20px;
  background: #efefef;
  border-bottom: 3px solid #fff;
  font-size: 11px;
}
.privacy-summary tr:first-child td:first-child{
  -webkit-border-radius: 35px 35px 0 0;
  -moz-border-radius: 35px 35px 0 0;
  -ms-border-radius: 35px 35px 0 0;
  -o-border-radius: 35px 35px 0 0;
  border-radius: 35px 35px 0 0;
}
.privacy-summary tr:last-child td:last-child {
  -webkit-border-radius: 0 0 35px 35px;
  -moz-border-radius: 0 0 35px 35px;
  -ms-border-radius: 0 0 35px 35px;
  -o-border-radius: 0 0 35px 35px;
  border-radius: 0 0 35px 35px;
}
.appointment-proccess .buttons-set{
  padding: 0 0 15px;
}
.appointment-proccess .privacy-flag .field{
  margin-bottom: 0;
}
.appointment-proccess .privacy-comment{
  margin-bottom: 25px;
}
#contactForm p.required{

}
#contactForm .privacy-flag .field{
  margin-bottom: 0;
}
label#consent_popup_label,
#popup-consent-alert .form-actions{
  margin-top: 20px;
}
#popup-consent-alert .form-actions{
  text-align: center;
}
