﻿/*!
 ***** CypherClean Common StyleSheet
 * Copyright © 2025 nopCypher. Reproduction in whole or in parts is prohibited.
 * 
 */

/*********** VARIABLES **********/

:root {
  --primary-bg: #F0EEEC;
  --secondary-bg: #516B6C;
  --tertiary-bg: #312F2F;
  --section-primary-bg: #DCD8D2;
  --primary-color: #595C59;
  --secondary-color: #ffffff;
  --tertiary-color: #312f2f;
  --sample-colour: #516B6C;
  --primary-link-color: #516B6C;
  --primary-highlight-color: #BEA378;
  --font-family-base: "europa", sans-serif;
  --font-weight-bold: font-weight: 700;
  --font-style-normal: font-style: normal;
  --border-light2: #D9D6D2;
  --border-light: #DCD8D2;
  --border-mid: #DEDEDE;
  --border-dark: #595C59;
  --btn-outline-dark: #312F2F;
  --btn-outline-dark2: #3E6162;
  --font-family-san-weight-light: 300;
  --font-family-san-weight-normal: 500;
  --font-family-serif: "the-seasons", sans-serif;
  --font-family-serif-weight-normal: 400;
  --swiper-pagination-bullet-size: 10px;
  --btn-solid-dark2: #8d9184;
  --color-highlight: #8D2F0A;
  --color-review-star: #BEA378;
  --select-chevron-url: url('../images/chevron-down.png')
}

.container {

  --bs-gutter-x: 3rem;
}


img {
  display: inline-block;
}

@media all and (min-width: 992px) {
  .container {
    --bs-gutter-x: 1.5rem;
  }
}

  /*********** CSS RESET **********/
  * {
    margin: 0;
    outline: none;
    padding: 0;
    text-decoration: none;
  }

    *, *:before, *:after {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }

  html {
    margin: 0;
    -webkit-text-size-adjust: none;
    font-size: 100%;
  }

  ol, ul {
    list-style: none;
    padding-left: 0;
  }

  a img {
    border: none;
  }

  a {
    text-decoration: none;
    transition: all 0.3s ease-in-out 0s;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
  }

    a:focus, a:hover {
      text-decoration: underline;
    }

    a:active {
      outline: none;
    }

  input[type="button"]::-moz-focus-inner,
  input[type="submit"]::-moz-focus-inner,
  input[type="reset"]::-moz-focus-inner,
  input[type="file"] > input[type="button"]::-moz-focus-inner {
    margin: 0;
    border: 0;
    padding: 0;
  }

  input[type="button"],
  input[type="submit"],
  input[type="reset"] {
    -webkit-appearance: none;
  }

  input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px #fff;
  }

  script {
    display: none !important;
  }


/*********** BUTTONS **********/

.btn-aminimate {
  position: relative;
  transition: all 0.3s ease-out;
}

  .btn-aminimate:hover {
    color: transparent;
    text-decoration: none;
  }

.btn-aminimate:before {

  position: absolute;
  opacity: 0;
  top: 45%;
  transform: translateY(-50%);
  left: 10%;
  transition: left 0.3s ease-out;
  font-size: 1.5rem;
  font-weight: 500;
}

.btn-aminimate:hover:before {
  opacity: 1;
}


.btn-aminimate-arrow:before {
  content: '→';
}
  .btn-aminimate-arrow:hover:before {
    left: 42%;
  }

.btn-aminimate-cart:before {
  content: url('../images/icon-cart-white.svg');
}

  .btn-aminimate-cart:hover:before {
    left: 47%;
  }

.btn-aminimate-sample:before {
  content: url('../images/icon-sample-white.svg');
}

.btn-aminimate-sample:hover:before {
  left: 47%;
}


.btn-outline, .btn-solid {
  border: solid 1.5px transparent;
  border-radius: 1.688rem;
  padding: 0.8rem 1.5rem 0.8rem 1.5rem;
  text-align: center;
  font-weight: 300;
  display: inline-block;
  font-size: 1rem;
  text-decoration: none;
  white-space: nowrap;
}

  .btn-outline:hover, 
  .btn-solid:hover {
    text-decoration: none;
  }

.btn-outline {
  border: solid 1.5px var(--btn-outline-dark);
}

  .btn-outline.btn-slim, .btn-solid.btn-slim {
    padding: 0.5rem 1.5rem 0.5rem 1.5rem;
    font-size: 0.875rem;
  }

.btn-full-width {
  width: 100% !important;
  padding: 0.8rem;
}

  .btn-full-width.btn-slim {
    padding: 0.5rem;
  }


  .btn-outline-dark,
  .btn-outline-dark:hover:before {
    color: var(--btn-outline-dark);
    border-color: var(--btn-outline-dark);
  }

    .btn-outline-dark2,
    .btn-outline-dark2:hover:before {
      color: var(--btn-outline-dark2);
      border-color: var(--btn-outline-dark2);
    }

.btn-solid-sample {
  background-color: var(--sample-colour);
  color: #fff;
}

.btn-solid-dark2 {
  background-color: var(--btn-solid-dark2);
  color: #fff;
}

.btn-solid-dark2,
.btn-solid-dark2:hover:before {
  color: #fff;
}

.btn-solid-secondary {
  background-color: var(--secondary-bg);
  color: #fff;
}

  .btn-solid-secondary:hover,
  .btn-solid-secondary:hover:before {
    color: #fff;
  }



.btn-outline-light,
.btn-outline-light:hover:before {
  color: #fff;
  border-color: #fff;
}

.btn-outline-highlight,
.btn-outline-highlight:hover:before {
  color: var(--color-highlight);
  border-color: var(--color-highlight);
}

.btn-outline-dark,
.btn-outline-dark:hover:before {
  color: var(--tertiary-color);
  border-color: var(--tertiary-color);
  background-color: transparent;
  transition: all 0.3s ease-out;

}

  .btn-outline-dark:hover:not(.btn-aminimate-arrow) {
    color: #fff;
    border-color: #fff;
    background-color: var(--secondary-bg);
  }

  .btn-bold {
      border-width: 2px;
      font-weight: 600;
  }


  /*********** GLOBAL STYLES **********/
  html, body {
    height: 100%;
  }

html, body, p, h1, h2, h3, h4, h5, h6, button, input, optgroup, select, textarea {
  font-family: "europa", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: var(--primary-color);
}


body {
  max-width: 100%;
  overflow-x: hidden;
  background-color: #fff;
  position: relative;
}


.img-responsive {
  max-width: 100%;
  height: auto;
}


  .newsletter .alert-danger, .payment-info .alert-danger, .shipping-address-page .alert-danger {
    color: #a94442;
    background-color: transparent;
    border: none;
  }

  .btn, .form-control {
    font-size: 0.875rem;
  }

  a {
    cursor: pointer;
  }

    a img {
      opacity: 0.99; /*firefox scale bug fix*/
    }

  table {
    width: 100%;
    border-collapse: collapse;
  }

  textarea {
    min-height: 150px !important;
  }

  select {
    min-width: 50px;
  }


select {
  -webkit-appearance: none;
  padding-right: 20px;
}

select::-ms-expand {
  display: none;
}

select {
  box-sizing: border-box;
  /*height: 40px;*/
  padding: 0 1.25rem 0 0;
  background-image: var(--select-chevron-url);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 10%;
}


@media all and (min-width:0\0) and (min-resolution:.001dpcm) {
  select{
    background-image: none;
  }
}

  input[type="button"], input[type="submit"],
  button, .button-1, .button-2 {
    cursor: pointer;
  }

/*  .master-wrapper-content, .master-column-wrapper {
    position: relative;
    z-index: 0;
  }
*/
    .master-column-wrapper:after {
      content: "";
      display: block;
      clear: both;
    }

  .full-wrapper {
    margin: 0 0 50px;
  }

  .right-side-wrapper, .left-side-wrapper {
    margin: 0;
  }

    .left-side-wrapper:after {
      content: "";
      display: block;
      clear: both;
    }

  .page {
    min-height: 200px;
  }

  .page-title {
    min-height: 50px;
    margin: 0 0 25px;
    border-bottom: 1px solid #ccc;
    padding: 6px 0px;
  }

    .page-title h1 {
      font-size: 30px;
      font-weight: normal;
    }

    .page:after,
    .page-title:after,
    .page-body:after {
      content: "";
      display: block;
      clear: both;
    }

  .full-wrapper .page-title,
  .full-wrapper .title {
    text-align: center;
  }

  .buttons {
    margin: 0 0 30px;
  }

  .link-rss {
    display: none;
    width: 24px;
    height: 24px;
    background: url('../images/rss.png') center no-repeat;
    font-size: 0 !important;
  }

  .category-description ul,
  .manufacturer-description ul,
  .full-description ul,
  .topic-block ul,
  .topic-page ul,
  .post-body ul {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: disc;
  }

  .category-description ol,
  .manufacturer-description ol,
  .full-description ol,
  .topic-block ol,
  .topic-page ol,
  .post-body ol {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: decimal;
  }

  .category-description p,
  .manufacturer-description p,
  .full-description p,
  .topic-block p,
  .topic-page p,
  .post-body p,
  .news-body p {
    margin: 10px 0;
    text-align: justify;
  }

  /*********** GLOBAL FORMS ***********/

  .fieldset, .section {
    position: relative;
    margin: 0 0 40px;
  }

  .fieldset {
    margin: 0px;
  }

    .fieldset .title,
    .section .title {
      margin: 0 0 15px;
      padding: 0 10px;
      font-size: 20px;
    }

      .fieldset .title strong,
      .section .title strong {
        font-weight: normal;
      }

  .form-fields {
    position: relative;
    border-top: 1px solid #ccc;
    padding: 30px 0px;
  }

  .required {
    margin: 0 0px 0 3px; /*siblings offset*/
    vertical-align: top;
    font-size: 20px;
    font-weight: normal;
    color: #a94442;
  }

  .message-error,
  .field-validation-error,
  .username-not-available-status,
  .poll-vote-error, .password-error, .field-validation-valid {
    display: block;
    margin-top: 5px;
  }

  .field-validation-error {
    border: 1px solid transparent;
    background-color: #f2dede;
    border-color: #ebcccc;
    color: #a94442;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    padding: 0.25rem 1.25rem;
    display: inline;
    float: left;
    margin-top: 0px;
  }

  .validation-summary-errors ul {
    margin-bottom: 0;
  }

  .field-validation-valid,
  .username-available-status {
    display: block;
    text-align: center;
    font-size: 13px;
    color: #4cb17c;
  }

  .captcha-box {
    text-align: center;
    line-height: 0; /*firefox line-height bug fix*/
  }

    .captcha-box > div {
      display: inline-block;
      max-width: 100%;
    }

    .captcha-box input {
      height: auto;
    }

  /*********** GLOBAL TABLES ***********/

  .table-wrapper {
    overflow-x: auto;
  }

  .forum-table th.replies,
  .forum-table th.views,
  .forum-table th.votes,
  .forum-table th.latest-post,
  .forum-table th.topics,
  .forum-table th.posts,
  .forum-table td.replies,
  .forum-table td.views,
  .forum-table td.votes,
  .forum-table td.latest-post,
  .forum-table td.topics,
  .forum-table td.posts {
    display: none;
  }

  .forum-table td.image {
    min-width: 0;
  }

  .forum-table td {
    min-width: 90px;
  }

  .cart a,
  .data-table a,
  .forum-table a {
    font-weight: normal;
  }

    .cart a:hover,
    .data-table a:hover,
    .forum-table a:hover {
      text-decoration: underline;
    }

  .cart .product,
  .data-table .product,
  .data-table .message,
  .data-table .info,
  .data-table .name {
    min-width: 225px;
    text-align: left;
  }

  .forum-table .forum-details,
  .forum-table .topic-details {
    text-align: left;
  }

  .cart .product a {
    font-weight: bold;
  }

    .cart .product a:hover,
    .data-table .product a:hover,
    .data-table .info a:hover {
      text-decoration: none;
    }

  .cart .product .edit-item {
    margin: 10px 0 0;
  }

    .cart .product .edit-item a {
      font-weight: normal;
    }

      .cart .product .edit-item a:hover {
        text-decoration: underline;
      }

  .cart .remove-from-cart,
  .cart .add-to-cart,
  .data-table .select-boxes,
  .data-table .order {
    text-align: center;
  }

  .cart td.unit-price,
  .data-table td.unit-price {
    white-space: nowrap;
  }

  .cart td.quantity input {
    width: 50px;
    text-align: center;
  }

  .cart td.subtotal,
  .data-table td.total {
    white-space: nowrap;
  }

    .cart td.subtotal .discount, .cart td.subtotal .discount-additional-info {
      font-style: italic;
    }

  .data-table em a {
    font-weight: bold;
  }

  .data-table div.download {
    margin: 10px 0 0;
  }

  .tier-prices table {
    margin-bottom: 0;
  }


  /*********** NOTIFICATIONS & POPUPS  ***********/

  .bar-notification {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    padding: 15px 25px 15px 10px;
    line-height: 16px;
    color: #fff;
    opacity: 0.95;
  }

    .bar-notification.success {
      background-color: #4bb07a;
    }

    .bar-notification.error {
      background-color: #e4444c;
    }

      .bar-notification.error .content {
        color: #fff;
      }

    .bar-notification.warning {
      background-color: #f39c12;
    }


    .bar-notification .content {
      margin: 0 0px 10px 0;
      text-align: center;
    }

      .bar-notification .content a {
        color: #fff;
        text-decoration: underline;
      }

    .bar-notification .close {
      position: absolute;
      top: 0;
      right: 0;
      width: 32px;
      height: 32px;
      margin: 7px;
      background: #fff url('../images/close.png') center no-repeat;
      cursor: pointer;
    }

  .noscript {
    border-bottom: 1px solid #333;
    background-color: #ff9;
    padding: 30px 15px;
    text-align: center;
    line-height: 22px;
  }

  .ajax-loading-block-window {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 999;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    background: url('../images/loading.gif') center no-repeat;
  }

  .please-wait {
    background: url('../images/ajax-loader-small.gif') no-repeat;
    padding-left: 20px;
    font-size: 14px;
  }

  .ui-dialog {
    max-width: 90%;
    border: 1px solid #ddd;
    box-shadow: 0 0 2px rgba(0,0,0,0.15);
    overflow: hidden;
    background-color: #fff;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-radius: 0;
    padding: 0;
  }

    .ui-dialog:before {
      content: "";
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.5);
    }

  .ui-dialog-titlebar {
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    background-color: #eee;
    padding: 10px 15px;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-width: 0 0 1px;
    border-radius: 0;
    background-image: none;
    padding: 10px 15px !important;
    font-weight: normal;
    cursor: auto !important;
  }

    .ui-dialog-titlebar > span {
      float: left;
      font-size: 18px;
      /*override jQuery UI styles, do not delete doubled properties*/
      margin: 0 !important;
    }

    .ui-dialog-titlebar button {
      position: absolute;
      top: 0;
      right: 0;
      width: 42px;
      height: 42px;
      border: none;
      overflow: hidden;
      background: url('../images/close.png') center no-repeat;
      font-size: 0;
      /*override jQuery UI styles, do not delete doubled properties*/
      top: 0 !important;
      right: 0 !important;
      width: 42px !important;
      height: 42px !important;
      margin: 0 !important;
      border: none !important;
      border-radius: 0;
      background: url('../images/close.png') center no-repeat !important;
      padding: 0 !important;
      outline: none !important;
    }

      .ui-dialog-titlebar button span {
        display: none !important;
      }

  .ui-dialog-content {
    padding: 15px;
    line-height: 20px;
    /*override jQuery UI styles, do not delete doubled properties*/
    background-color: #fff !important;
    padding: 15px 15px 20px 15px !important;
  }

    .ui-dialog-content .page {
      min-height: 0;
    }

    .ui-dialog-content .page-title {
      min-height: 0;
      margin: 0 0 15px;
      padding: 0px 10px 10px 10px;
      text-align: center;
    }

      .ui-dialog-content .page-title h1 {
        font-size: 24px;
        line-height: 30px;
      }

    .ui-dialog-content .back-in-stock-subscription-page {
      text-align: center;
    }

      .ui-dialog-content .back-in-stock-subscription-page .backinstocktooltip {
        margin-bottom: 10px;
      }

      .ui-dialog-content .back-in-stock-subscription-page .button-1 {
        border: none;
        padding: 10px 15px;
        font-size: 15px;
        color: #fff;
        text-transform: uppercase;
      }

      .ui-dialog-content .back-in-stock-subscription-page .tooltip {
        margin-bottom: 10px;
      }

  .tooltip {
    position: initial;
    display: inline-block;
    color: #212529;
    opacity: 1;
  }

  .eu-cookie-bar-notification {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1050;
    width: 320px;
    margin: -90px 0 0 -160px;
    border: 1px solid #ccc;
    box-shadow: 0 0 2px rgba(0,0,0,0.15);
    background-color: #fff;
    padding: 20px;
    text-align: center;
  }

    .eu-cookie-bar-notification .text {
      margin-bottom: 20px;
      line-height: 20px;
    }

    .eu-cookie-bar-notification button {
      min-width: 60px;
      margin: 5px 0 10px;
      border: none;
      padding: 8px 12px;
      font-size: 14px;
      color: #fff;
    }

    .eu-cookie-bar-notification a {
      display: block;
    }

      .eu-cookie-bar-notification a:hover {
        text-decoration: underline;
      }

  .estimate-shipping-popup-zoom-in.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1);
  }

  .estimate-shipping-popup-zoom-in .mfp-with-anim {
    opacity: 0;
    transition: all 0.2s ease-in-out;
    transform: scale(0.8);
  }

  .estimate-shipping-popup {
    position: relative;
    background: #FFF;
    padding: 25px 10px;
    width: auto;
    max-width: 800px;
    margin: 0 auto;
  }

  .ship-to-title {
    margin-bottom: 10px;
  }

  .estimate-shipping-row {
    display: flex;
    display: -webkit-flex;
    align-items: center;
  }

  .estimate-shipping-row-item {
    flex: 0 1 100%;
  }

  .estimate-shipping-row {
    display: flex;
    display: -webkit-flex;
    align-items: center;
  }

  .estimate-shipping-address-control {
    width: 100%;
    height: 41px;
  }

  .estimate-shipping-row-item.address-item select, .estimate-shipping-row-item.address-item input {
    height: 41px;
    border: 1px solid #ddd;
    padding: 8px;
    vertical-align: middle;
  }

  .choose-shipping-title {
    margin-top: 20px;
  }

  .shipping-options {
    position: relative;
    z-index: 1;
    overflow: hidden;
    overflow-y: auto;
    max-height: 200px;
    background: #FFF no-repeat;
    background-image: -webkit-radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), -webkit-radial-gradient(50% 100%, farthest-side, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0));
    background-image: -moz-radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), -moz-radial-gradient(50% 100%, farthest-side, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0));
    background-image: radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0));
    background-position: 0 0, 0 100%;
    background-size: 100% 7px;
  }

  .apply-shipping-button-container {
    margin-top: 15px;
    text-align: center;
  }

  .apply-shipping-button {
    border: none;
    padding: 8px 25px;
    background-color: #007bff;
    color: #fff;
  }

  .estimate-shipping-popup .message-failure {
    margin: 5px 0 -5px;
    font-size: 12px;
    color: #e4434b;
  }

  .shipping-options-header {
    top: 0;
    z-index: 1;
    position: sticky;
    background-color: #fff;
  }

  .estimate-shipping-row-item-radio {
    flex: 0 0 35px;
  }

  .estimate-shipping-row-item.shipping-header-item {
    padding: 12px 0;
    border-bottom: 1px solid #f2f2f2;
    align-self: flex-end;
  }

  .estimate-shipping-row-item.shipping-item {
    padding: 8px 0;
    overflow: hidden;
    overflow-wrap: break-word;
  }

  .estimate-shipping-row-item + .estimate-shipping-row-item {
    padding-left: 10px;
  }

  .estimate-shipping-row.shipping-option.active {
    font-weight: 700;
  }

  .estimate-shipping-row.shipping-option {
    cursor: pointer;
  }

  @media (min-width: 481px) {
    .estimate-shipping-popup {
      padding: 25px;
    }
  }

  .product-estimate-shipping .shipping-title {
    font-size: 16px;
    font-weight: bold;
    color: #212529;
    margin-bottom: 5px;
    justify-content: center;
  }

  .product-estimate-shipping .shipping-address {
    font-size: 14px;
    font-weight: normal;
    color: #212529;
    margin-bottom: 15px;
  }

  .open-estimate-shipping-popup:hover {
    text-decoration: none;
    color: #212529;
  }

  .open-estimate-shipping-popup {
    color: #212529;
    margin-bottom: 15px;
    display: block;
  }

  .product-estimate-shipping .open-estimate-shipping-popup .arrow-down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin: 0 0 3px 6px;
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
  }

  .product-estimate-shipping .shipping-title .shipping-price {
    margin-left: 5px;
    vertical-align: middle;
  }




  /*********** SIDE COLUMN ***********/

  .block {
    max-width: 100%; /*width limit in mobile*/
    min-height: 50px;
    margin: auto;
    text-align: left;
  }

    .block .title strong {
      font-weight: normal;
    }

    .block .card-header h4 {
      margin-bottom: 0;
      font-size: 1.4rem;
    }

    .block .listbox {
      display: none;
      border-bottom: 1px solid #ddd;
      padding: 0px;
    }

      .block .listbox .list-group-item.active {
        background-color: transparent;
        border-color: #ddd;
      }

    .block > .listbox > .list-group-item:first-child {
      margin-top: -1px;
    }

    .block .list li {
      padding: 5px 0 5px 15px;
    }

    .block .list a {
      display: inline-block;
      position: relative;
      padding: 5px 0;
      width: 30%;
      font-size: 16px;
      -webkit-transition: all 0.1s ease;
      transition: all 0.1s ease;
    }

      .block .list a:before {
        content: "";
        position: absolute;
        top: 12px;
        left: -15px;
        width: 5px;
        height: 5px;
        background-color: #ddd;
      }

    .block a.product-picture:before {
      display: none;
    }

    .block .sublist {
      margin: 0;
      float: left;
      width: 100%;
    }

      .block .sublist a {
        font-size: 14px;
        float: left;
        width: 100%;
      }

    .block .listbox .list-group-item {
      padding: 0;
    }

      .block .listbox .list-group-item a {
        padding: 0.75rem 1.25rem;
        width: 100%;
      }

    .block .listbox .sublist .list-group-item a {
      padding: 0.75rem 1rem 0.75rem 2.5rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item a {
      padding: 0.75rem 1rem 0.75rem 3rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item a {
      padding: 0.75rem 1rem 0.75rem 3.5rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item a {
      padding: 0.75rem 1rem 0.75rem 4rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item a {
      padding: 0.75rem 1rem 0.75rem 4.5rem;
    }

    .block .listbox .list-group-item.active > a, .block .listbox .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item.active > a {
      font-weight: 700;
      background: #f5f5f5;
    }

    .block .view-all {
      margin: 1rem 0 0;
    }

      .block .view-all a {
        display: inline-block;
        margin-left: 1.25rem;
        margin-bottom: 1rem;
      }

    .block .tags {
      margin: 5px 0 10px;
    }

      .block .tags ul {
        font-size: 0;
      }

      .block .tags li,
      .product-tags-all-page li {
        display: inline-block;
        position: relative;
        margin: 0px 10px 0px 20px;
        overflow: hidden;
        font-size: 17px !important; /*setting base size*/
      }

        .block .tags li a,
        .product-tags-all-page li a {
          float: left;
          line-height: 30px;
        }

  .poll strong {
    display: block;
    margin: 10px 0;
    background-color: #f6f6f6;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: normal;
    text-transform: uppercase;
  }

  .poll-options,
  .poll-results {
    margin: 10px 0 15px;
    overflow: hidden;
    font-size: 15px;
  }

    .poll-options li,
    .poll-results li {
      margin: 10px 0;
    }

      .poll-options li > input {
        margin: -5px 5px 0 0;
        cursor: pointer;
      }

      .poll-options li > label {
        display: inline-block;
        font-size: 16px;
        cursor: pointer;
      }

  .poll-total-votes {
    display: block;
    margin: 10px 0 0;
    font-weight: bold;
    font-style: italic;
  }

  .block.block-poll.card .listbox {
    padding: 0px 20px 20px;
  }

    .block.block-poll.card .listbox .poll strong {
      padding: 10px 5px;
      font-size: 14px;
    }

    .block.block-poll.card .listbox .buttons {
      margin: 0px;
    }

  .home-page-polls {
    text-align: center;
  }

    .home-page-polls .title {
      border-bottom: 1px solid #ddd;
      font-size: 30px;
      font-weight: normal;
      margin: 0 0 30px;
      padding: 0 0 15px;
    }

      .home-page-polls .title strong {
        font-weight: normal;
      }

    .home-page-polls li {
      display: inline-block;
      margin: 10px;
    }

  .product-grid.home-page-product-grid, .product-grid.bestsellers, .home-page .news-list-homepage {
    margin-bottom: 40px;
  }

  .theme-custom {
    max-width: 100% !important;
    margin-top: 0px !important;
  }

  .left-side-wrapper .poll-options li > label {
    margin-left: 0.3rem;
  }

  .left-side-wrapper .poll-options li {
    margin: 0;
  }


  /********** CATEGORY PAGE **********/



  .category-description,
  .manufacturer-description,
  .vendor-description {
    margin: 0 0 25px;
    line-height: 22px;
  }

  .contact-vendor {
    margin: 0 0 30px;
  }

    .contact-vendor .button-2 {
      border: none;
      padding: 10px 15px;
      font-size: 14px;
      color: #fff;
      text-transform: uppercase;
    }


  .product-grid,
  .product-list {
    margin: 0 0 30px;
  }

    .product-grid .title {
      margin: 0 0 30px;
      border-bottom: 1px solid #ddd;
      padding: 0 0 15px;
      font-size: 30px;
      font-weight: normal;
    }

      .product-grid .title strong {
        font-weight: normal;
      }



  .pagination ul li {
    float: left;
    margin-bottom: 5px;
  }

    .pagination ul li a, .pagination ul li span {
      background-color: #fff;
      border: 1px solid #ddd;
      color: #007bff;
      display: block;
      line-height: 1.25;
      margin-left: -1px;
      padding: 0.5rem 0.75rem;
      position: relative;
    }

    .pagination ul li.current-page span {
      background-color: #007bff;
      border-color: #007bff;
      color: #fff;
      z-index: 2;
    }

    .pagination ul li a:focus, .pagination ul li a:hover {
      background-color: #eceeef;
      border-color: #ddd;
      color: #014c8c;
      text-decoration: none;
    }

  .sr-only {
    border: 0 none;
    clip: rect(0px, 0px, 0px, 0px);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  .pagination .previous-page a, .pagination .first-page a {
    border-bottom-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem;
    margin-left: 0;
  }

  .pagination .next-page a, .pagination .last-page a {
    border-bottom-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    margin-left: 0;
  }

  .previous-page, .last-page, .next-page {
    margin-left: -1px;
  }

  .search-products, .manufacturer-products, .vender-products, .producttags-products {
    clear: both;
  }

  .alert {
    padding: 0.25rem 1.25rem;
    font-size: 0.85rem;
  }





  /********** PRODUCT REVIEWS **********/


  .product-reviews-page h1 a:before,
  .product-reviews-page h1 a:after {
    content: "''";
  }

  .product-reviews-page .title {
    margin: 0 0 20px;
    font-size: 20px;
  }

    .product-reviews-page .title strong {
      font-weight: normal;
    }

  .write-review .fieldset {
    margin: 0px;
  }

  .write-review .review-rating label {
    margin: 0 0 5px;
    font-size: 14px;
  }

  .write-review .review-rating ul {
    font-size: 0;
    vertical-align: middle;
  }

  .write-review .review-rating li {
    display: inline-block;
    margin: 0 10px 0px 0px;
    cursor: default;
    vertical-align: middle;
    font-size: 14px;
    /*height: 17px;*/
    line-height: 2px;
  }

  .write-review .review-main {
    line-height: 38px;
  }

  .write-review .review-rating li.first {
    color: #a94442;
  }

  .write-review .review-rating li.rating-options input {
    vertical-align: baseline;
  }

  .write-review .review-rating li.last {
    color: #3c763d;
  }

  .captcha-box {
    margin: 15px 0px 0px -5px;
    text-align: left;
  }

  .write-review .button-1 {
    border: none;
    padding: 10px 25px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
  }

  .product-reviews-page .result,
  .product-reviews-page .message-error {
    margin: 0 0 20px;
  }

  .product-review-list {
    overflow: hidden;
  }

  .product-review-item {
    margin: 0 0 40px;
    border: 1px solid #ddd;
  }

    .product-review-item .review-item-head {
      border-bottom: 1px solid #ddd;
      overflow: hidden;
      background-color: #f6f6f6;
      padding: 10px;
    }

    .product-review-item .review-title {
      line-height: 20px;
      font-size: 15px;
    }

    .product-review-item .product-review-box {
      margin: 3px 0 0;
    }

    .product-review-item .review-content {
      padding: 20px 10px;
    }

    .product-review-item .review-text {
      margin: 0 0 15px;
    }

    .product-review-item .reply {
      margin: 15px 0;
      border-top: 1px solid #ddd;
    }

    .product-review-item .reply-header {
      margin: 15px 0;
      font-weight: bold;
    }

    .product-review-item .reply-text {
      line-height: 22px;
    }

    .product-review-item .review-info {
      margin: 0 0 5px;
    }

      .product-review-item .review-info label {
        font-weight: 700;
        margin-bottom: 0;
      }

      .product-review-item .review-info a,
      .product-review-helpfulness .vote {
        display: inline-block;
        padding: 0 5px;
        cursor: pointer;
      }

  .product-review-helpfulness .question {
    margin: 0 5px 0 0;
    font-style: italic;
  }

  .product-review-helpfulness .result {
    margin: 0 0 0 10px;
  }

    .product-review-helpfulness .result.alert-danger {
      color: #a94442;
      background-color: transparent;
    }

  .product-reviews-overview .separator, .product-review-item .separator {
    vertical-align: top;
  }

  .separator {
    vertical-align: middle;
  }

  .review-rating {
    margin-top: 4px;
  }

  .contact-page .form-fields, .apply-vendor-page .form-fields, .vendorinfo-page .form-fields {
    border-top: none;
  }



  /*********** TOPICS ***********/

  .topic-block {
    margin: 0 0 25px;
  }

  .topic-block-title {
    min-height: 50px;
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 0 15px;
  }

    .topic-block-title h2 {
      font-size: 30px;
      font-weight: normal;
    }

  .topic-block-body {
    text-align: justify;
    line-height: 24px;
    font-size: 16px;
  }

  .topic-page .page-body {
    text-align: justify;
    line-height: 22px;
  }

  .topic-block a,
  .topic-page a {
    text-decoration: underline;
  }

  .home-page .topic-block {
    margin: 0 0 50px;
  }

  .popup-window .topic-page {
    padding: 15px;
  }

  .not-found-page p {
    margin: 30px 15px;
  }

  .topic-password {
    text-align: center;
  }

  .enter-password-title {
    margin: 0 0 20px;
  }

  .enter-password-form {
    display: inline-block;
    overflow: hidden;
  }

    .enter-password-form input[type="password"] {
      float: left;
      width: 200px;
      height: 40px;
      margin: 0 -1px 0 0;
    }

    .enter-password-form input[type="submit"] {
      float: left;
      width: auto;
      min-width: 86px;
      height: 40px;
      border: none;
      padding: 0 15px;
      color: #fff;
      text-transform: uppercase;
    }


  /*********** CONTACT & EMAIL A FRIEND & APPLY FOR VENDOR ACCOUNT ***********/

  .contact-page .page-title,
  .email-a-friend-page .page-title,
  .apply-vendor-page .page-title {
    margin: 0 0 -1px;
  }

  .contact-page .result,
  .contact-page .message-error,
  .email-a-friend-page .result,
  .email-a-friend-page .message-error,
  .apply-vendor-page .result,
  .apply-vendor-page .message-error {
    margin: 20px 0;
  }

  .contact-page .button-1,
  .email-a-friend-page .button-1,
  .apply-vendor-page .button-1 {
    min-width: 140px;
    border: none;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
  }

  .contact-page .topic-block,
  .email-a-friend-page .title,
  .apply-vendor-page .title, .apply-vendor-page .topic-block {
    margin: 25px 0;
  }

    .email-a-friend-page .title h2 {
      font-weight: normal;
    }


  /********** REGISTRATION, LOGIN, ACCOUNT PAGES  **********/

  .date-of-birth select {
    width: 31%; /*always single line*/
    max-width: 126px;
  }

    .date-of-birth select + select {
      margin: 0 0 0 10px;
    }

  #check-availability-button {
    margin: 10px 0 0;
    padding: 10px 15px;
    font-size: 12px;
    text-transform: uppercase;
  }

  .accept-privacy-policy {
    margin: 0 0 20px;
    text-align: left;
  }

    .accept-privacy-policy > * {
      display: inline-block;
    }

  .username-not-available-status {
    clear: both;
    color: #a94442;
  }

  .accept-privacy-policy span {
    cursor: pointer;
  }

  .registration-page .button-1,
  .registration-result-page .button-1,
  .login-page .button-1,
  .password-recovery-page .button-1,
  .account-page .button-1,
  .return-request-page .button-1 {
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    text-transform: uppercase;
  }

  .return-request-page .return-request-file {
    font-size: 14px;
  }

    .return-request-page .return-request-file .uploadedfileinput {
      display: inline-block;
    }

  .registration-page .message-error,
  .login-page .message-error,
  .account-page .message-error {
    margin: 0 0 10px;
  }

  .customer-info-page .email-to-revalidate,
  .customer-info-page .readonly-username,
  .customer-info-page .vat-status {
    margin: 0 5px;
    font-size: 14px;
  }

  .customer-info-page .vat-status {
    display: block;
  }

  .registration-page .vat-note,
  .customer-info-page .vat-note,
  .customer-info-page .email-to-revalidate-note {
    display: block;
    font-size: 14px;
    margin-top: 7px;
    white-space: normal;
  }

  .login-page .customer-blocks {
    margin: 0 0 30px;
  }

  .login-page .title {
    margin: 0 0 25px;
    font-size: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    padding-bottom: 10px;
  }

    .login-page .title strong {
      font-weight: normal;
    }

  .login-page .new-wrapper {
    margin: 0 0 50px;
  }

    .login-page .new-wrapper .text, .login-page .returning-wrapper .text {
      margin: 0 0 30px;
      border-top: 1px solid #ccc;
      padding-top: 0px;
      line-height: 22px;
      -moz-box-direction: normal;
      -moz-box-orient: vertical;
      background-color: #fff;
      border: 1px solid rgba(0, 0, 0, 0.125);
      border-radius: 0.25rem;
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .login-page .new-wrapper .topic-block {
      margin: 0;
    }

    .login-page .new-wrapper .button-1 {
      margin: 0 0 5px;
    }

      .login-page .new-wrapper .button-1.checkout-as-guest-button {
        margin: 0px 5px 5px 0px;
      }

  .login-page .returning-wrapper {
    margin: 0;
  }

    .login-page .returning-wrapper .form-fields {
      padding: 30px 15px 0;
    }

    .login-page .returning-wrapper .inputs.reversed {
      white-space: normal;
    }

      .login-page .returning-wrapper .inputs.reversed * {
        display: inline-block;
        width: auto;
        margin: 5px;
        font-size: 14px; /*reset zeroing*/
      }

    .login-page .returning-wrapper .form-fields {
      border-top: 0px;
      padding-top: 0;
    }

    .login-page .new-wrapper .card, .login-page .returning-wrapper .card {
      border: none;
    }

  .login-page .field-validation-error {
    margin-bottom: 0px;
    margin-top: 5px;
  }

  .login-page .returning-wrapper .custom-control.custom-checkbox, .login-page .returning-wrapper .login-button {
    margin-left: 15px;
  }

  .external-authentication {
    margin: 0 0 50px;
    overflow: hidden;
    text-align: center;
  }

    .external-authentication .title {
      margin: 0 0 15px;
      font-size: 20px;
    }

    .external-authentication .buttons {
      margin: 0 0 30px;
      text-align: center;
      display: inline-block;
    }

  .external-auth-errors {
    color: #e4444c;
  }

  .external-auth-association a:hover {
    text-decoration: underline;
  }

  .facebook-login-block {
    display: inline-block;
    margin-right: 10px;
  }

  .password-recovery-page .result {
    margin: 0 0 5px;
    font-weight: normal;
  }

  .password-recovery-page .tooltip {
    margin: 0 0 25px;
    clear: both;
    width: 100%;
  }

  .add-more-external-records, .registration-result-page .buttons {
    text-align: center;
  }

    .add-more-external-records a:hover {
      text-decoration: underline;
    }

  .news-item-page .col-form-label, .blogpost-page .col-form-label, .account-page .col-form-label, .registration-page .col-form-label, .password-recovery-page .col-form-label {
    text-align: right;
  }

  .registration-page .buttons .button-1, .password-recovery-page .buttons .button-1, .registration-result-page .buttons .button-1 {
    margin-left: 0px;
  }

  .password-recovery-page .form-fields {
    padding-bottom: 0px;
    border-top: none;
  }

  .date-birth select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3E%3Cpath fill=\'%23333\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3E%3C/svg%3E") no-repeat scroll right 0.75rem center / 8px 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
    color: #464a4c;
    display: inline-block;
    height: calc(2.25rem + 2px);
    line-height: 1.25;
    max-width: 100%;
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    vertical-align: middle;
    margin-right: 10px;
  }

    .date-birth select:focus {
      border-color: #5cb3fd;
      outline: 0 none;
    }

  .account-page .fieldset .title {
    text-align: center;
  }

  .customer-info-page .fieldset .title {
    text-align: center;
  }

  .registration-page .account-option div, .account-page .account-option div {
    text-align: left;
  }

  .account-page .description {
    margin: 0 0 25px;
  }

  .account-page .table-wrapper {
    margin: 0 0 30px
  }

  .back-in-stock-subscription-list-page .buttons, .home-page-polls .buttons, .forum-subscriptions-page .buttons {
    text-align: center;
  }

  .address-list-page .section .title {
    margin-bottom: 0px;
    padding: 0.75rem 1.25rem;
    float: left;
    width: 100%;
  }

    .address-list-page .section .title h4 {
      margin-bottom: 0px;
      float: left;
      font-size: 1.25rem;
      line-height: 1.75rem;
      width: 60%;
      word-wrap: normal;
    }

  .address-list-page .buttons {
    float: right;
    width: auto;
    margin-bottom: 0;
  }

  .address-list > div:nth-child(2n+1) {
    clear: both;
  }

  .order-list-page .section .title, .return-request-list-page .section .title {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    float: left;
    width: 100%;
  }

    .order-list-page .section .title h4 {
      margin-bottom: 0;
      float: left;
      width: 60%;
      line-height: 35px;
      font-size: 1em;
    }

  .order-list-page .buttons {
    text-align: right;
    float: right;
    margin-bottom: 0;
    width: auto;
  }

    .order-list-page .buttons .btn-secondary, .order-list-page .buttons .btn-primary {
      text-transform: uppercase;
    }

  .address-list-page .info,
  .order-list-page .info {
    margin: 0 0 10px;
    padding: 20px;
    line-height: 26px;
  }

  .order-list-page .info {
    margin-bottom: 0;
  }

    .address-list-page .info .name,
    .order-list-page .info .name {
      font-size: 16px;
      font-weight: bold;
    }

  .address-list-page .button-2 {
    display: inline-block;
    margin: 0 0 0 10px;
    border: none;
    padding: 0 0 0 22px;
    font-size: 14px;
  }

  .address-list-page .address-item label {
    margin-bottom: 0;
  }

  .edit-address-button {
    background: url('../images/edit.png') left center no-repeat;
  }

  .delete-address-button {
    background: url('../images/remove.png') left center no-repeat;
  }

  .address-list-page .add-button {
    margin: 0 0 20px;
    text-align: center;
  }

  .address-edit-page .page-title {
    margin: 0 0 -1px;
  }

  .address-edit-page .message-error {
    margin: 20px 0;
  }

  .address-edit-page .edit-address {
    margin: 0 0 30px;
    padding: 30px 0px 0px;
  }

  .recurring-payments table td {
    white-space: nowrap;
  }

    .recurring-payments table td:first-child {
      min-width: 120px;
      white-space: normal;
    }

  .recurring-payments .button-2 {
    font-size: 14px;
  }

  .return-request-list-page .details {
    padding: 20px;
  }

  .return-request-list-page .section .title h4 {
    margin-bottom: 0;
    font-size: 1em;
  }

  .return-request-list-page label {
    margin: 0 5px 0 0;
  }

  .return-request-list-page a:hover {
    text-decoration: underline;
  }

  .return-request-list-page .comments div {
    margin: 10px 0 0;
    font-size: 15px;
    font-style: italic;
  }

  .reward-points-overview {
    margin: 0 0 25px;
  }

  .reward-points-history table td:first-child {
    min-width: 120px;
  }

  .change-password-page .result,
  .change-password-page .message-error {
    margin: 20px 0;
  }

  .avatar-page .page-title {
    margin: 0;
  }

  .avatar-page .page-body {
    margin: 0 0 30px;
    overflow: hidden;
    padding: 30px 0px;
  }

  .avatar-page .message-error {
    margin: 0 0 10px;
  }

  .avatar-page .image {
    margin: 0 0 10px;
  }

    .avatar-page .image img {
      border: 1px solid #ccc;
    }

  .avatar-page .button-1 {
    font-size: 14px;
    margin-right: 10px;
    margin-bottom: 10px;
  }

  .avatar-page .button-2 {
    padding: 10px 15px;
    font-size: 14px;
    text-transform: uppercase;
    margin-bottom: 10px;
  }

  .vendorinfo-page .button-2 {
    padding: 10px 15px;
    font-size: 14px;
    text-transform: uppercase;
  }

  .vendorinfo-page .vendor-picture {
    width: 400px;
    margin: 0 auto;
  }

    .vendorinfo-page .vendor-picture * {
      display: block;
      margin-top: 15px;
    }

  .forum-page .pagination, .active-discussions-page .pagination, .forums-main-page .pagination, .forum-search-page .pagination, .back-in-stock-subscription-list-page .pagination, .reward-points-page .pagination, .my-product-reviews-list-page .pagination, .forum-subscriptions-page .pagination {
    text-align: center;
    display: inline;
  }

    .forum-page .pagination ul, .active-discussions-page .pagination ul, .forums-main-page .pagination ul, .forum-search-page .pagination ul, .back-in-stock-subscription-list-page .pagination ul, .forum-subscriptions-page .pagination ul {
      margin-bottom: 25px;
    }

      .forum-page .pagination ul li, .active-discussions-page .pagination ul li, .forums-main-page .pagination ul li, .forum-search-page .pagination ul li, .back-in-stock-subscription-list-page .pagination ul li, .reward-points-page .pagination ul li, .my-product-reviews-list-page .pagination ul li, .forum-subscriptions-page .pagination ul li {
        display: inline-block;
        float: none;
      }

  .reward-points-page .section .title {
    padding: 0;
  }

  .reward-points-page .pagination ul li:first-child {
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
  }

  .my-product-reviews-list-page .separator {
    vertical-align: top;
  }


  /****** ORDER DETAILS & SHIPPING DETAILS ******/


  .order-details-page .page-title {
    border-bottom: none;
  }

    .order-details-page .page-title h1 {
      margin: 0 0 30px;
      border-bottom: 1px solid #ddd;
      padding: 0 0 10px;
    }

    .order-details-page .page-title a {
      display: inline-block;
      margin: 5px 0;
      padding: 10px 20px;
      font-size: 15px;
    }

  .order-details-page .order-overview {
    margin: 0 0 50px;
    line-height: 26px;
    text-align: center;
    font-size: 16px;
  }

    .order-details-page .order-overview .order-number {
      margin: 0 0 10px;
      text-transform: uppercase;
    }

    .order-details-page .order-overview .order-total strong {
      font-weight: normal;
    }

  .order-details-page .repost .button-2 {
    display: inline-block;
    margin: 10px 0;
    border: none;
    padding: 10px 15px;
    font-size: 12px;
    color: #fff;
    text-transform: uppercase;
  }

  .order-details-page .download a {
    font-weight: normal;
  }

    .order-details-page .download a:hover {
      text-decoration: underline;
    }

  .user-agreement-page .terms-of-agreement {
    margin: 0 0 20px;
    text-align: left;
  }

    .user-agreement-page .terms-of-agreement label {
      cursor: pointer;
    }

  .user-agreement-page .button-1 {
    min-width: 140px;
    border: none;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
  }

  .order-details-page .tax-shipping-info {
    margin: 30px 0;
  }

    .order-details-page .tax-shipping-info a:hover {
      text-decoration: underline;
    }

  .order-details-page .actions {
    margin: 30px 0 0;
    font-size: 0;
  }

    .order-details-page .actions input {
      display: inline-block;
      min-width: 165px;
      margin: 5px;
      padding: 10px 20px;
      font-size: 15px;
      text-transform: uppercase;
    }

  .order-details-page .totals.section {
    max-width: 100%;
    margin: 0 auto 50px;
  }

  .order-details-page .section .title strong, .shipment-details-page .section .title strong {
    font-weight: 700;
  }

  .order-details-page .section label {
    margin-bottom: 0;
  }

  .order-details-area, .shipment-details-area {
    margin-bottom: 25px;
  }

  .return-request-page .table thead th, .return-request-page .table tbody td {
    vertical-align: middle;
  }



  /****** SEARCH & SITEMAP ******/


  .search-page .page-title {
    margin: 0 0 -1px;
  }

  .search-input .fieldset {
    margin: 0px;
  }

  .search-input .form-fields {
    padding: 30px 15px 10px;
  }

  .search-input input + label {
    display: inline;
    margin: 0 0 0 5px;
    vertical-align: top;
  }

  .advanced-search .price-range, .advanced-search .price-range span {
    display: inline-block;
  }

    .advanced-search .price-range input {
      width: 80px;
      display: inline-block;
    }

  .search-input .button-1 {
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    text-transform: uppercase;
  }

  .search-results {
    margin: 30px 0 0;
  }

  .sitemap-page .description {
    margin: 0 0 30px;
    text-align: center;
  }

  .sitemap-page .entity {
    margin: 0 0 30px;
  }

  .sitemap-page .entity-title {
    margin: 0 0 15px;
    padding: 0 10px;
    text-align: center;
  }

    .sitemap-page .entity-title h2 {
      font-size: 20px;
      font-weight: normal;
    }

  .sitemap-page .entity-body {
    border-top: 1px solid #e6e6e6;
    padding: 30px 15px;
    text-align: center;
  }

  .sitemap-page ul {
    font-size: 0;
  }

  .sitemap-page li {
    display: inline-block;
    position: relative;
    margin: 0 8px;
    padding: 0 12px;
    line-height: 50px;
    font-size: 14px; /*reset zeroing*/
  }

    .sitemap-page li:before {
      content: "";
      position: absolute;
      top: 23px;
      left: 0;
      width: 5px;
      height: 5px;
      background-color: #ddd;
    }

  .sitemap-page a:empty {
    display: none;
  }



  /********** SHOPPING CART **********/

  .order-progress {
    margin: 0 0 50px;
    text-align: center;
  }

    .order-progress ul {
      font-size: 0;
    }

    .order-progress li {
      display: inline-block;
      margin: 10px;
    }

    .order-progress a {
      display: block;
      font-size: 16px; /*reset zeroing*/
      font-weight: bold;
    }

      .order-progress a i {
        display: block;
        font-size: 36px;
        color: #000;
        margin-bottom: 10px;
      }

      .order-progress a:hover, .order-progress a:focus {
        text-decoration: none;
      }

    .order-progress li.active-step a {
      cursor: pointer;
    }

    .order-progress li.inactive-step a {
      opacity: 0.2;
      cursor: default;
    }

  .shopping-cart-page .page-title {
    margin: 0 0 -1px;
    padding: 10px 0px;
  }

  .shopping-cart-page .message-error {
    margin: 20px 0;
  }

  .shopping-cart-page td .message-error {
    margin: 10px 0 0;
    text-align: left;
  }

  .shopping-cart-page .checkout-attributes a {
    color: #007bff;
  }

    .shopping-cart-page .checkout-attributes a:hover {
      text-decoration: underline;
    }

  .shopping-cart-page .tax-shipping-info {
    margin: 20px 0;
    text-align: center;
  }

    .shopping-cart-page .tax-shipping-info a {
      color: #007bff;
    }

      .shopping-cart-page .tax-shipping-info a:hover {
        text-decoration: underline;
      }

  .shopping-cart-page .common-buttons {
    margin: 0 0 30px;
    font-size: 0;
  }

    .shopping-cart-page .common-buttons button {
      display: inline-block;
      min-width: 180px;
      margin: 5px 5px 5px 0px;
      padding: 10px 20px;
      font-size: 15px;
      text-transform: uppercase;
    }

  .checkout-attributes {
    margin: -30px 0 30px;
  }

    .checkout-attributes dd {
      margin: 0 0 20px;
    }

    .checkout-attributes input[type="text"],
    .checkout-attributes select {
      min-width: 170px;
    }

    .checkout-attributes ul {
      font-size: 0;
    }

    .checkout-attributes li {
      display: inline-block;
      margin: 5px;
      border: 1px solid #ddd;
      background-color: #fff;
      padding: 8px 10px;
      font-size: 14px; /*reset zeroing*/
    }

    .checkout-attributes .attribute-squares li {
      border: none;
      padding: 0;
      line-height: 0;
    }

    .checkout-attributes li label {
      display: inline-block;
      margin: 0 0 0 5px;
    }

  .selected-checkout-attributes {
    margin: 30px 0;
  }

    .selected-checkout-attributes br {
      content: "";
      display: block;
      margin: 3px;
    }

  .cart-footer {
    margin: 0 0 50px;
    border-top: 1px solid #ddd;
  }

    .cart-footer:after {
      content: "";
      display: block;
      clear: both;
    }

    .cart-footer .totals {
      margin: 25px auto 50px;
    }

      .cart-footer .totals label {
        margin: 0px;
      }

    .cart-footer .total-info {
      margin: 0 0 20px;
      border-bottom: 1px solid #ddd;
    }

  .cart-total td {
    width: 50%;
    text-align: right;
  }

    .cart-total td:first-child {
      text-align: left;
    }

  .cart-total .giftcard-remaining {
    display: block;
    font-style: italic;
  }

  .cart-total .order-total {
    font-size: 20px;
  }

  .cart-total .earn-reward-points {
    font-style: italic;
  }

  .min-amount-warning {
    margin: 0 0 20px;
    padding: 0 30px;
    color: #e4434b;
  }

  .terms-of-service {
    margin: 0 0 20px;
  }

    .terms-of-service label {
      cursor: pointer;
    }

    .terms-of-service a {
      margin: 0 0 0 3px;
    }

  .cart-footer .checkout-button {
    display: inline-block;
    min-width: 160px;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    text-transform: uppercase;
  }

  .cart-footer .addon-buttons {
    margin: 20px 0 0;
    padding: 0 10px;
  }

  .cart-collaterals {
    max-width: 100%;
    margin: 0px;
    padding: 25px 0 0;
  }

    .cart-collaterals > div {
      margin: 0 0 20px;
    }

      .cart-collaterals > div h4 {
        font-size: 1.25rem;
      }

    .cart-collaterals .button-2 {
      display: inline-block;
      padding: 10px 15px;
      text-transform: uppercase;
    }

    .cart-collaterals .title {
      margin: 0 0 5px;
      font-size: 18px;
    }

      .cart-collaterals .title strong {
        font-weight: normal;
      }

    .cart-collaterals .hint {
      margin: 0 0 10px;
    }

    .cart-collaterals .deals > div {
      margin: 0 0 20px;
    }

    .cart-collaterals .coupon-code button[type="submit"] {
      margin: 15px 0 0;
    }

    .cart-collaterals .message-failure {
      margin: 10px 0 0;
      font-size: 12px;
    }

    .cart-collaterals .message-success {
      margin: 10px 0 0;
      font-size: 12px;
    }

    .cart-collaterals .current-code {
      margin: 5px 0 0;
      color: #3c763d;
    }

  .remove-discount-button,
  .remove-gift-card-button {
    width: 16px;
    height: 16px;
    border: none;
    background: #fff url('../images/close.png') center 4px no-repeat;
    cursor: pointer;
  }

  .cart-collaterals .shipping-results {
    margin: 30px 0 0;
  }

    .cart-collaterals .shipping-results li {
      margin: 20px 0;
    }

      .cart-collaterals .shipping-results li strong {
        display: block;
        margin: 0 0 5px;
      }

  .shopping-cart-page .no-data {
    margin: 25px 0 0;
  }

  .shipping .buttons {
    margin-bottom: 0;
  }

  .billing-address-page .checkout-data .ship-to-same-address {
    padding: 0px;
  }

  .select-billing-address .address-box label, .select-shipping-address .address-box label {
    margin-bottom: 0;
  }

  .select-billing-address .address-item, .select-shipping-address .address-item {
    padding: 20px;
    background: #f5f5f5;
  }


  /********** CHECKOUT **********/

  .checkout-page .section {
    margin: 0 0 30px;
  }

    .checkout-page .section.order-summary {
      margin: 50px 0 30px;
    }

  .checkout-page .cart-options {
    min-height: 60px;
    overflow: hidden;
  }

  .checkout-page .cart-footer {
    border-top: none;
  }

  .checkout-page .total-info {
    margin: 0;
  }

  .checkout-page .button-1 {
    display: inline-block;
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
  }

  .checkout-page .address-item {
    max-width: 100%;
    margin: 0 auto 40px;
  }

    .checkout-page .address-item ul {
      margin: 0 0 15px;
    }

    .checkout-page .address-item li {
      padding: 5px 0;
    }

      .checkout-page .address-item li.name {
        font-size: 16px;
        font-weight: bold;
      }

  .enter-address .message-error {
    margin: 20px 0;
  }

  .enter-address .edit-address {
    border-top: 1px solid #ddd;
    margin: 0 0 30px;
    padding: 30px 0px;
  }

  .checkout-page .ship-to-same-address {
    padding: 30px 0;
    text-align: center;
  }

    .checkout-page .ship-to-same-address .selector, .checkout-page .pickup-in-store .selector {
      margin: 0px;
      font-weight: bold;
    }

  .checkout-page .pickup-in-store, .select-pickup-point {
    text-align: center;
  }

  .select-pickup-point {
    display: inline-block;
  }

  .checkout-page .pickup-points-map {
    min-width: 400px;
    min-height: 350px;
    vertical-align: middle;
    margin-top: 5px;
    margin-bottom: 5px;
  }

  .shipping-method .method-list,
  .payment-method .method-list {
    margin: 0 auto 30px;
    overflow: hidden;
    text-align: center;
    font-size: 0;
  }

    .shipping-method .method-list li,
    .payment-method .method-list li {
      margin: 20px 0;
      font-size: 14px; /*reset zeroing*/
    }

      .shipping-method .method-list li label,
      .payment-method .method-list li label {
        font-weight: bold;
      }

  .shipping-method .method-description {
    margin: 5px 0 0;
  }

  .payment-method .use-reward-points {
    margin: 0px;
    text-align: center;
    font-weight: bold;
  }

  .payment-method .payment-logo {
    display: inline-block;
    vertical-align: middle;
  }

    .payment-method .payment-logo label {
      display: block;
      font-size: 0 !important;
    }

  .payment-method .payment-details {
    min-width: 180px;
    display: inline-block;
    margin: 0 0 0 10px;
    text-align: left;
    vertical-align: middle;
  }

  .section.payment-info select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3E%3Cpath fill=\'%23333\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3E%3C/svg%3E") no-repeat scroll right 0.75rem center / 8px 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
    color: #464a4c;
    display: inline-block;
    height: calc(2.25rem + 2px);
    line-height: 1.25;
    max-width: 100%;
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    vertical-align: middle;
  }

  .section.payment-info .info input {
    background-clip: padding-box;
    background-color: #fff;
    background-image: none;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
    color: #464a4c;
    display: block;
    font-size: 1rem;
    line-height: 1.25;
    padding: 0.5rem 0.75rem;
    transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s, -webkit-box-shadow 0.15s ease-in-out 0s;
    width: 100%;
  }

    .section.payment-info .info input:focus, .section.payment-info select:focus {
      background-color: #fff;
      border-color: #5cb3fd;
      color: #464a4c;
      outline: 0 none;
    }

  .payment-info .info tr {
    display: block;
    margin: 0 0 15px;
    font-size: 0;
  }

  .payment-info .info td {
    display: inline-block;
    width: 100% !important;
    max-width: 400px !important;
    font-size: 14px; /*reset zeroing*/
  }

    .payment-info .info td:only-child {
      width: 100% !important;
      max-width: 100% !important;
    }

    .payment-info .info td input[type="text"] {
      width: 100% !important;
    }

    .payment-info .info td input[name="CardCode"] {
      width: 65px !important;
    }

    .payment-info .info td select {
      min-width: 70px;
    }

    .payment-info .info td:first-child {
      margin: 0 0 10px;
    }

    .payment-info .info td label {
      margin-bottom: 0;
    }

  .payment-info .info p {
    text-align: center;
  }

  .confirm-order .buttons {
    padding: 10px 0;
  }

  .confirm-order .button-1 {
    font-size: 16px;
  }

  .order-review-data li,
  .order-details-area li,
  .shipment-details-area li {
    padding: 3px 0;
  }

  .order-review-data .title,
  .order-details-area .title,
  .shipment-details-area .title {
    margin: 0 0 5px;
    font-size: 16px;
    font-weight: bold;
    background: #eeeeee;
    padding: 10px;
  }

    .order-review-data .title strong,
    .order-details-area .title strong,
    .shipment-details-area .title strong {
      font-weight: 700;
    }

  .opc .order-review-data ul {
    margin-bottom: 25px;
  }

  .order-completed .details {
    margin: 0 0 30px;
    padding: 0px 15px;
    text-align: center;
  }

    .order-completed .details div {
      margin: 5px 0;
    }

    .order-completed .details strong {
      font-weight: bold;
    }

    .order-completed .details a:hover {
      text-decoration: underline;
    }

  .opc .step-title {
    margin: 0 0 3px;
    overflow: hidden;
    background-color: #f6f6f6;
  }

  .opc .allow .step-title {
    cursor: pointer;
  }

  .opc .step-title .number,
  .opc .step-title .title {
    float: left;
    min-height: 40px;
    padding: 10px 15px;
    line-height: 20px;
    font-size: 16px;
    font-weight: normal;
    color: #fff;
    margin-bottom: 0;
  }

  .opc .allow .step-title .number,
  .opc .allow .step-title .title {
    color: #fff;
    cursor: pointer;
  }

  .opc .allow.active .step-title .title,
  .opc .step-title .title {
    color: #000;
  }

  .opc .step-title .number,
  .opc .allow.active .step-title .number {
    width: 42px;
    border-right: 1px solid #fff;
    text-align: center;
    background: #007bff;
  }

  .opc .allow .step-title .number {
    background: #666;
  }

  .opc .allow .step-title .title {
    color: #666;
  }

  .opc .step {
    margin: 0;
    padding: 30px 15px;
  }

  .opc .section {
    margin: 0 0 30px;
  }

  .opc .step .edit-address .col-form-label, .billing-address-page .edit-address .col-form-label, .shipping-address-page .edit-address .col-form-label {
    padding-left: 15px !important;
  }

  .opc .section > label {
    display: block;
    margin: 0 0 10px;
    text-align: center;
  }

  .opc input[type="text"],
  .opc select {
    max-width: 100%;
  }

  .opc .buttons {
    margin-bottom: 0;
  }

  .opc .back-link {
    margin: 0 0 10px;
    display: inline-block;
  }

    .opc .back-link small {
      display: none;
    }

    .opc .back-link a {
      display: inline-block;
      font-size: 15px;
      min-width: 100px;
      padding: 10px 30px;
      text-align: center;
      text-transform: uppercase;
      margin-right: 5px;
    }

  .opc .buttons .please-wait {
    display: block;
    margin: 10px 0 0;
    background: none;
  }

  .opc .section.ship-to-same-address {
    margin: 0px;
    padding: 0;
  }

  .opc .section.pickup-in-store {
    margin: 0 0 30px;
    padding: 0;
  }

  .opc .payment-info .info tr {
    text-align: left;
  }

  .opc .section.order-summary {
    margin: 0;
  }

  .checkout-data .buttons, .section.pickup-points {
    text-align: center;
  }

  .checkout-data .opc .edit-address .field-validation-valid, .checkout-data .opc .edit-address .required {
    text-align: left !important;
  }

  .new-billing-address .edit-address, .new-shipping-address .edit-address {
    padding-bottom: 0;
  }



  /*** FORUM & PROFILE ***/


  .forums-main-page .topic-block {
    margin: 0 0 35px;
    text-align: center;
  }

    .forums-main-page .topic-block p {
      text-align: center;
    }

  .forums-header {
    margin: 0 0 50px;
    overflow: hidden;
  }

    .forums-header:after {
      content: "";
      display: block;
      clear: both;
    }

    .forums-header .current-time {
      margin: 0 0 15px;
    }

  .forum-search-box .basic {
    overflow: hidden;
    margin: 0 0 10px;
  }

  .forum-search-box .advanced a {
    line-height: 22px;
    text-decoration: underline;
  }

  .forum-search-page .page-title {
    margin: 0 0 -1px;
  }

  .forum-search-page .search-error,
  .forum-search-page .no-result {
    margin: 0 0 15px;
    text-align: center;
    color: #a94442;
  }

  /* forum group */

  .forums-table-section {
    margin: 0 0 30px;
  }

  .forums-table-section-title {
    margin: 0 0 15px;
  }

    .forums-table-section-title a,
    .forums-table-section-title strong {
      font-size: 22px;
      font-weight: normal;
    }

  .forums-table-section .image div {
    width: 38px;
    height: 32px;
    margin: auto;
    background: url('../images/topic-type1.png') center no-repeat;
  }

    .forums-table-section .image div.sticky {
      background: url('../images/topic-type2.png') center no-repeat;
    }

    .forums-table-section .image div.announcement {
      background: url('../images/topic-type3.png') center no-repeat;
    }

  .forums-table-section .forum-title,
  .forums-table-section .topic-title {
    margin: 5px 0;
  }

    .forums-table-section .forum-title a,
    .forums-table-section .topic-title a {
      font-size: 16px;
      font-weight: bold;
    }

      .forums-table-section .forum-title a:hover,
      .forums-table-section .topic-title a:hover {
        text-decoration: none;
      }

    .forums-table-section .topic-title span {
      display: block;
    }

  .forums-table-section .forum-description,
  .forums-table-section .topic-starter {
    margin: 5px 0;
  }

  .forums-table-section .latest-post {
    white-space: nowrap;
  }

    .forums-table-section .latest-post div {
      margin: 5px 0;
    }

  .forums-table-section .view-all {
    margin: 30px 0 0;
  }

    .forums-table-section .view-all a {
      padding: 10px 15px;
      text-transform: uppercase;
    }

  .forums-table-section .forum-table td {
    vertical-align: middle;
  }

  .news-list-page .link-rss, .blog-page .link-rss, .forums-table-section .link-rss, .forum-page .link-rss {
    font-size: 24px !important;
    background: none !important;
  }

  .forum-search-page .col-form-label, .forum-edit-page .col-form-label, .move-topic-page .col-form-label, .private-message-send-page .col-form-label {
    text-align: right;
  }


  /* forum-page, topic page */

  .forum-page .forum-info {
    margin: 0 0 30px;
  }

  .forum-page .forum-name,
  .forum-topic-page .topic-name {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
  }

    .forum-page .forum-name h1,
    .forum-topic-page .topic-name h1 {
      font-size: 30px;
      font-weight: normal;
    }

  .forum-actions,
  .topic-actions {
    margin: 0 0 30px;
    font-size: 0;
  }

    .forum-actions .actions a,
    .topic-actions .actions a {
      display: inline-block;
      margin: 1px;
      padding: 10px 10px 10px 33px;
      font-size: 14px;
    }

    .forum-actions .actions .new-topic {
      background: url('../images/new.png') 10px 13px no-repeat;
      background-color: #6c757d;
      margin-right: 5px;
    }

    .forum-actions .actions .watch-forum,
    .topic-actions .actions .watch-forum {
      background: url('../images/watch.png') 10px 14px no-repeat;
      background-color: #6c757d;
    }

      .forum-actions .actions .watch-forum:hover,
      .topic-actions .actions .watch-forum:hover,
      .forum-actions .actions .new-topic:hover {
        background-color: #5c656d;
      }

    .topic-actions .reply-topic-button {
      background: #eee url('../images/reply.png') left center no-repeat;
    }

    .topic-actions .watch-topic-button {
      background: #eee url('../images/watch.png') left center no-repeat;
    }

    .topic-actions .move-topic-button {
      background: #eee url('../images/move.png') left center no-repeat;
    }

    .topic-actions .edit-topic-button {
      background: #eee url('../images/edit_.png') left center no-repeat;
    }

    .topic-actions .delete-topic-button {
      background: #eee url('../images/remove_.png') left center no-repeat;
    }

    .topic-actions .watch-topic-button {
      background: #eee url('../images/watch.png') 12px center no-repeat;
    }

    .topic-actions.lower .actions {
      display: none;
    }

  .active-discussions-page .forums-table-section-title {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
  }

    .active-discussions-page .forums-table-section-title strong {
      font-size: 30px;
      font-weight: normal;
    }

  .active-discussions-page .forums-table-section-body {
    margin: 0 0 20px;
  }

  .forum-page .forum-actions {
    font-size: 1rem;
  }

  .forum-page .pagination.upper {
    clear: both;
    margin-top: 20px;
    display: inline-block;
    width: 100%;
  }


  /* topic post */

  .topic-post {
    margin: 0 0 30px;
    border-top: 1px solid #ddd;
  }

    .topic-post:last-child {
      border-bottom: 1px solid #ddd;
    }

    .topic-post:after {
      content: "";
      display: block;
      clear: both;
    }

    .topic-post .post-info {
      margin: 30px 0;
    }

    .topic-post .user-info {
      width: 150px;
      margin: 0 auto 15px
    }

    .topic-post .username {
      display: block;
      margin: 0 0 -1px;
      border: 1px solid #ddd;
      background-color: #f6f6f6;
      padding: 11px 0;
      font-weight: bold;
    }

    .topic-post .avatar,
    .profile-info-box .avatar {
      position: relative;
      width: 150px;
      height: 150px;
      border: 1px solid #ddd;
      overflow: hidden;
    }

      .topic-post .avatar img,
      .profile-info-box .avatar img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        max-width: 100%;
        max-height: 100%;
        margin: auto;
      }

      .topic-post .avatar img {
        border: solid 2px #CEDBE1 !important;
      }

    .topic-post .user-stats {
      margin: 0 0 15px;
    }

      .topic-post .user-stats li {
        display: inline-block;
        margin: 0 10px;
      }

      .topic-post .user-stats span,
      .profile-info-box .profile-stats span {
        margin: 0 0 0 3px;
        font-weight: bold;
      }

    .topic-post .pm-button,
    .profile-info-box .pm-button {
      display: inline-block;
      padding: 10px 20px;
      text-transform: uppercase;
    }

    .topic-post .post-time {
      margin: 0 0 15px;
      background-color: #f6f6f6;
      padding: 10px 15px;
      font-size: 13px;
      font-weight: bold;
    }

    .topic-post .post-actions {
      margin: 0 0 15px;
      font-size: 0;
    }

      .topic-post .post-actions > div {
        display: inline-block;
      }

      .topic-post .post-actions a {
        display: inline-block;
        margin: 1px 5px;
        font-size: 14px;
      }

      .topic-post .post-actions .edit-post-button,
      .topic-post .post-actions .delete-post-button {
        padding: 10px 10px 10px 33px;
      }

      .topic-post .post-actions .edit-post-button {
        background: url('../images/edit_.png') left center no-repeat;
      }

      .topic-post .post-actions .delete-post-button {
        background: url('../images/remove_.png') left center no-repeat;
      }

      .topic-post .post-actions .post-link-button {
        padding: 10px;
        font-weight: bold;
      }

        .topic-post .post-actions .post-link-button:hover {
          text-decoration: underline;
        }

      .topic-post .post-actions .quote-post-button {
        background-color: #007bff;
        padding: 10px 20px;
        color: #fff;
      }

        .topic-post .post-actions .quote-post-button:hover {
          background-color: #025aa5;
          color: #fff;
        }

    .topic-post .post-text {
      /*topic post-text also gets style from blog post-body*/
      padding: 0 10px 20px;
      line-height: 22px;
      margin-bottom: 0;
    }

    .topic-post .post-vote {
      text-align: center;
      display: table;
      margin: 0 auto 20px;
    }

    .topic-post .user-posted-image,
    .latest-posts .user-posted-image {
      max-width: 100%;
      height: auto;
    }

    .topic-post .quote,
    .latest-posts .quote {
      margin: 10px 0;
      border: 1px dashed #ccc;
      background-color: #f9f9f9;
      padding: 10px;
    }

    .topic-post .signature {
      border-top: 1px solid #ddd;
      padding: 20px;
      font-size: 13px;
      font-style: italic;
      clear: both;
    }

    .topic-post .post-vote span.vote {
      cursor: pointer;
      display: block;
      width: 40px;
      height: 24px;
    }

    .topic-post .post-vote span.up {
      background: url('../images/vote-up.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.up.selected {
      background: url('../images/vote-up-selected.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.down {
      background: url('../images/vote-down.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.down.selected {
      background: url('../images/vote-down-selected.png') no-repeat 50% 50%;
    }

    .topic-post .vote-count-post {
      display: block;
      font-size: 160%;
    }

    .topic-post .post-time label {
      margin-bottom: 0;
    }


  /* forum edit & send message */

  .forum-edit-page .page-title,
  .move-topic-page .page-title,
  .private-message-send-page .page-title {
    margin: 0 0 -1px;
  }

  .move-topic-page label {
    white-space: normal;
  }

  .forum-edit-page .message-error,
  .private-message-send-page .message-error {
    margin: 20px 0;
  }

  .forum-edit-page .toolbar,
  .private-message-send-page .toolbar {
    margin: 5px 0px 20px;
    background-color: #ddd;
    padding: 10px;
  }

    .forum-edit-page .toolbar .button,
    .private-message-send-page .toolbar .button {
      margin: 0 2px 0 0;
      border: #cec6b5 1px solid;
      padding: 2px;
    }

      .forum-edit-page .toolbar .button:hover,
      .private-message-send-page .toolbar .button:hover {
        border: #333 1px solid;
      }

  .forum-edit-page textarea,
  .private-message-send-page textarea {
    display: block;
    margin: auto;
  }

  .forum-edit-page .buttons input,
  .move-topic-page .buttons input,
  .private-messages .buttons input {
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    text-transform: uppercase;
    margin-right: 5px;
  }

  .private-message-send-page a, .private-message-send-page span {
    font-size: 14px;
  }

  .private-messages-page .select, .topic-actions {
    text-align: center;
  }

    .topic-actions .pagination {
      clear: both;
      margin-top: 25px;
      display: inline-block;
      font-size: 14px;
    }



  /****** BLOG & NEWS ******/

  .block-blog-archive .number {
    display: block;
    cursor: auto;
    margin-top: 10px;
    margin-left: 20px;
    width: 100%;
  }

  .blog-page .post,
  .news-list-page .news-items .news-item {
    margin: 0px;
    padding-bottom: 30px;
  }

  .blog-page .blog-posts, .news-list-page .news-items {
    margin-bottom: 30px;
  }

  .news-list-homepage .news-item {
    float: left;
  }

  .blog-page .post:after {
    content: "";
    display: block;
    clear: both;
  }

  .post-title,
  .news-title {
    display: inline-block;
    padding: 20px 10px;
    line-height: 20px;
    font-size: 16px;
    font-weight: bold;
  }

  .post-date,
  .news-date {
    display: block;
    margin: 0 0 15px;
    background-color: #f6f6f6;
    padding: 10px;
    font-style: italic;
  }

  .post-body,
  .news-body {
    margin: 0 0 20px;
    padding: 0 10px;
  }

  .blog-page .tags,
  .blogpost-page .tags {
    margin: 0 0 15px;
    overflow: hidden;
    padding: 0 10px;
  }

    .blog-page .tags label,
    .blogpost-page .tags label {
      display: inline-block;
      margin: 0 3px 3px 0;
      font-weight: bold;
    }

    .blog-page .tags ul,
    .blogpost-page .tags ul {
      display: inline-block;
      margin: 0 0 3px 3px;
      font-size: 0;
    }

    .blog-page .tags li,
    .blogpost-page .tags li {
      display: inline-block;
      font-size: 14px; /*reset zeroing*/
    }

      .blog-page .tags li.separator,
      .blogpost-page .tags li.separator {
        margin: 0 8px 0 0;
      }

    .blog-page .tags a,
    .blogpost-page .tags a {
      display: block;
    }

      .blog-page .tags a:hover,
      .blogpost-page .tags a:hover {
        text-decoration: underline;
      }

  .blog-posts .buttons,
  .news-items .buttons {
    margin: 0;
    padding: 0 10px;
  }

    .blog-posts .buttons .read-comments {
      display: block;
      margin: 0 0 15px;
      font-weight: bold;
    }

    .blog-posts .buttons .read-more,
    .news-items .buttons .read-more {
      display: inline-block;
      border: none;
      padding: 10px 20px;
      font-size: 12px;
      color: #fff;
      text-transform: uppercase;
    }

  .new-comment {
    margin: 50px 0 60px;
  }

    .new-comment .notifications {
      margin: 0 0 10px;
    }

    .new-comment .button-1 {
      border: none;
      padding: 10px 30px;
      text-align: center;
      font-size: 15px;
      color: #fff;
      text-transform: uppercase;
    }

  .comment-list {
    margin: 0 0 30px;
  }

    .comment-list .title {
      margin: 0 0 15px;
      padding: 0 10px;
      font-size: 20px;
    }

      .comment-list .title strong {
        font-weight: normal;
      }

    .comment-list .comment {
      margin: 0 0 40px;
      border-top: 1px solid #ddd;
    }

      .comment-list .comment:after {
        content: "";
        display: block;
        clear: both;
      }

  .comment-info {
    width: 150px;
    margin: 20px auto;
  }

    .comment-info .username {
      display: block;
      margin: 0 0 -1px;
      border: 1px solid #ddd;
      background-color: #f6f6f6;
      padding: 11px 0;
      font-weight: bold;
    }

    .comment-info .avatar {
      position: relative;
      width: 150px;
      height: 150px;
      border: 1px solid #ddd;
      overflow: hidden;
    }

      .comment-info .avatar img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        max-width: 100%;
        max-height: 100%;
        margin: auto;
        border: solid 2px #CEDBE1 !important;
      }

  .comment-time {
    margin: 0 0 15px;
    font-size: 13px;
    font-weight: bold;
  }

  .comment-title {
    margin: 0 0 15px;
    font-size: 16px;
  }

  .news-list-homepage {
    margin: 0 0 75px;
  }

    .news-list-homepage .title {
      margin: 0 0 30px;
      border-bottom: 1px solid #ddd;
      padding: 0 0 15px;
      font-size: 30px;
      font-weight: normal;
    }

      .news-list-homepage .title strong {
        font-weight: normal;
      }

    .news-list-homepage .view-all {
      text-align: center;
    }

    .news-list-homepage .news-item {
      margin-bottom: 20px;
    }

    .news-list-homepage .news-title {
      padding-top: 0;
    }


  /* jQuery tabs */

  .ui-tabs {
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    background: none;
    padding: 0;
  }

  .ui-tabs-nav {
    margin: 0 0 30px;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    font-size: 0;
    /*override jQuery UI styles, do not delete doubled properties*/
    margin: 0 0 30px !important;
    border-width: 0 0 1px;
    border-radius: 0;
    background: none;
    padding: 0 !important;
    line-height: normal;
    font-weight: normal;
  }

    .ui-tabs-nav li {
      margin: 0 0 -1px;
      /*override jQuery UI styles, do not delete doubled properties*/
      float: none !important;
      margin: 0 0 -1px !important;
      border: none !important;
      border-radius: 0;
      background: none !important;
      padding: 0 !important;
    }

      .ui-tabs-nav li a {
        display: block;
        border: 1px solid #ddd;
        padding: 12px 24px;
        text-align: center;
        font-size: 18px;
        /*override jQuery UI styles, do not delete doubled properties*/
        float: none !important;
        padding: 12px 24px !important;
      }

      .ui-tabs-nav li.ui-state-active a {
        background-color: #eee;
      }

  .ui-tabs-panel {
    /*override jQuery UI styles, do not delete doubled properties*/
    padding: 0 !important;
  }

  .ui-menu .ui-menu-item, .ui-menu .ui-menu-item a {
    float: left;
    width: 100%
  }

  .ui-autocomplete img {
    float: left;
  }

  .ui-autocomplete span {
    float: left;
    width: 85%;
  }

  /* inbox & view message */

  .private-messages-page .table-wrapper,
  .private-message-view-page .view-message {
    margin: 0 0 30px;
  }

  .private-messages-page th.select {
    text-align: center;
  }

  .private-messages-page td.from,
  .private-messages-page td.to,
  .private-messages-page td.subject {
    min-width: 150px;
  }

  .private-messages-page td.date {
    white-space: nowrap;
  }

  .private-messages-page .buttons,
  .private-message-view-page .buttons {
    font-size: 0;
  }

    .private-messages-page .buttons .button-1,
    .private-messages-page .buttons .button-2,
    .private-message-view-page .buttons .button-1,
    .private-message-view-page .buttons .button-2 {
      display: block;
      margin: 0 auto 10px;
      font-size: 15px; /*reset zeroing*/
    }

  .private-message-view-page .view-message {
    margin: 0px;
  }

  .private-message-view-page .message-head span {
    font-weight: bold;
  }

  .private-message-view-page .message-body {
    border-top: 1px solid #ddd;
    background-color: #f9f9f9;
    padding: 30px 0px;
    line-height: 22px;
    text-align: justify;
  }

  .private-messages-page .data-table .pm-unread {
    font-weight: bold;
  }

  .private-messages-page .select label {
    margin-right: 0;
  }

  .private-messages-box .buttons {
    text-align: center;
  }

  /* profile page  */

  .profile-info-box {
    overflow: hidden;
    line-height: normal;
    font-size: 14px;
  }

    .profile-info-box .user-details {
      margin: 0 0 30px;
    }

    .profile-info-box .avatar {
      margin: 0 auto 15px;
    }

    .profile-info-box .title {
      margin: 0 0 10px;
      font-size: 18px;
    }

    .profile-info-box .stats {
      margin: 0 0 15px;
    }

  .latest-posts {
    font-size: 14px;
  }

    .latest-posts .topic {
      margin: 0 0 20px;
      border-bottom: 1px solid #ddd;
      padding-bottom: 10px;
    }

      .latest-posts .topic:last-child {
        border-bottom: none;
      }

    .latest-posts .topic-title {
      font-size: 16px;
    }

      .latest-posts .topic-title a {
        font-weight: bold;
      }

    .latest-posts .topic-body {
      margin: 0 0 15px;
      line-height: 24px;
    }

  /* BB codes */

  pre {
    white-space: pre-wrap;
    white-space: normal;
    word-wrap: break-word;
  }

  .csharpcode {
    margin: 10px 0;
    border: 1px dashed #ccc;
    background-color: #fff;
    padding: 10px;
    font-family: "Courier New", Courier, monospace;
    color: #000;
  }

    .csharpcode .rem {
      color: green;
    }

    .csharpcode .kwrd {
      color: #00f;
    }

    .csharpcode .str {
      color: #006080;
    }

    .csharpcode .op {
      color: #00c;
    }

    .csharpcode .preproc {
      color: #c63;
    }

    .csharpcode .asp {
      background-color: #ff0;
    }

    .csharpcode .html {
      color: maroon;
    }

    .csharpcode .attr {
      color: red;
    }

    .csharpcode .alt {
      width: 100%;
      margin: 0;
      background-color: #f6f6f6;
    }



  /* Custom style after upgrade from 3.9.0 to 4.0.0 */

  .custom-file-control::after {
    content: "Choose file...";
  }

  .custom-file-control::before {
    content: "Browse";
  }

  .top-menu.navbar-nav {
    -webkit-box-orient: horizontal;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .block .listbox .list-group-item a {
    display: inline-block;
    width: 100%;
  }

  .block > .listbox > .list-group-item:first-child {
    margin-top: 0px;
  }

  .list-group-flush:last-child .list-group-item:last-child {
    border-bottom: 0;
  }

  .listbox.list-group.list-group-flush > .list-group-item:last-child, .listbox > .list.list-group.list-group-flush > .list-group-item:last-child {
    border-bottom: none;
  }

  .custom-control-label {
    margin-bottom: 0.5rem;
  }

  .newsletter-email .newsletter-subscribe-button {
    width: 100% !important;
    margin-top: 10px;
  }

  .contact-page, .page.email-a-friend-page, .page.product-reviews-page .button, .news-items .buttons {
    text-align: center !important;
  }

  .block .listbox .list-group-item.active > a > i, .block .listbox .listitem .list-group-item.active > a > i {
    transform: rotate(90deg);
  }

  .product-grid.featured-product-grid {
    margin-bottom: 10px;
  }

  .product-review-item .review-content {
    text-align: left;
  }

  .rating-options .custom-control, .checkout-page .custom-control {
    display: inline-block;
  }

  .review-rating, .contact-page .required-error {
    text-align: left;
  }

  .news-list-page .buttons {
    text-align: left !important;
  }

  .write-review .review-rating ul {
    margin-bottom: 0;
  }

  .male.custom-control.custom-radio,
  .female.custom-control.custom-radio,
  .Neutral.custom-control.custom-radio {
    display: inline-block;
    margin-right: 10px;
  }

  .forum-subscriptions-page .custom-control, .private-messages .custom-control, .shopping-cart-page .table-wrapper .custom-control, .wishlist-page .custom-control {
    display: inline-block;
  }

  .breadcrumb ol, .breadcrumb ul, .alert p {
    margin-bottom: 0;
  }

  .private-messages-page .nav-tabs .nav-item {
    margin-bottom: 0px;
  }

  .private-message-view-page .message-body {
    padding: 30px 15px;
    margin-bottom: 20px;
  }

  .topic-post .username {
    padding: 9px 0;
  }

  .shopping-cart-page .checkout-attributes {
    margin: 0px 0 15px;
    display: inline-block;
  }

  .mini-shopping-cart .item {
    border-bottom: 1px dashed #ddd;
  }

    .mini-shopping-cart .item:last-child {
      border-bottom: none;
    }

  .payment-info-page .alert.alert-danger {
    text-align: center;
  }

  .news-list-page .news-items .news-section, .blog-section {
    border: 1px solid #ddd;
    padding: 0px 15px 15px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    text-align: center;
  }

  .blog-section {
    text-align: left;
  }

  .news-list-page .news-items .news-section .buttons {
    text-align: center !important;
  }

  .news-item-page .comment-info .username {
    padding: 13px 0px;
  }

  .product-filters .filter-content ul li label {
    margin-bottom: 0;
  }

  .footer-powered-by p svg {
    width: 18px;
    margin: 0 5px;
  }

  .product-details-page iframe {
    width: 100%;
    height: 400px;
  }

  .news-item-page .new-comment .form-fields .required {
    position: absolute;
    right: 0;
    top: 0;
  }

  .header .header-links table {
    width: auto;
  }

  .breadcrumb-item + .breadcrumb-item::before {
    display: none;
  }

  .product-reviews-page .rating-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

    .product-reviews-page .rating-wrapper .first {
      margin-right: 10px;
      line-height: normal;
    }

    .product-reviews-page .rating-wrapper .last {
      margin-left: 10px;
      line-height: normal;
    }

  .product-reviews-page .write-review .review-rating .first {
    color: #a94442;
  }

  .product-reviews-page .write-review .review-rating .last {
    color: #3c763d;
  }

  .cart .product-quantity div.up,
  .cart .product-quantity div.down {
    cursor: pointer;
    width: 20px;
    height: 20px;
    background: #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, .25);
    display: flex;
    align-items: center;
    justify-content: center;
  }


  a.skip {
    position: absolute;
    top: -1000px;
    left: -1000px;
    height: 1px;
    width: 1px;
    text-align: left;
    overflow: hidden;
  }

    a.skip:active,
    a.skip:focus,
    a.skip:hover {
      position: initial;
      top: 0;
      left: 0;
      display: block;
      height: auto;
      margin: 3px 0;
      overflow: visible;
      padding: 2px;
      color: #444444;
      background: #ffffff;
      text-decoration: underline;
      text-align: center;
      width: 100%;
      font-size: 16px;
    }

  .product-reviews {
    margin-top: 20px;
    display: inline-block;
    width: 100%;
  }

    .product-reviews .title,
    .vendor-product-reviews-title {
      margin: 0 0 30px;
      border-bottom: 1px solid #ddd;
      padding: 0 0 15px;
      font-size: 30px;
      font-weight: normal;
      text-align: center !important;
    }

      .product-reviews .title strong,
      .vendor-product-reviews-title strong {
        font-weight: normal;
      }

  .write-review .form-fields {
    border-top: 0;
    padding-top: 0;
  }

  .shopping-cart-page .order-summary-content .table td {
    vertical-align: middle;
  }

  .opc-billing-address-btns {
    width: 100%;
    display: inline-block;
    text-align: center;
    margin-top: 15px;
  }

  .follow-us .social ul {
    display: flex;
    flex-wrap: wrap;
  }

    .follow-us .social ul li svg {
      width: 21px;
    }

      .follow-us .social ul li svg path {
        fill: #444;
      }

  .block ul li a {
    position: relative;
  }

    .block ul li a > i {
      position: absolute;
      top: 50%;
      transform: translateY(-50%) !important;
      right: 10px;
    }

  .block ul li.active a > i {
    transform: translateY(-50%) rotate(90deg) !important;
  }

  .block-account-navigation ul li a i {
    display: none;
  }

  .product-quantity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-width: 150px;
  }

    .product-quantity input {
      width: calc(100% - 56px) !important;
    }

    .product-quantity .quantity.up {
      margin-left: 8px;
    }

    .product-quantity .quantity.down {
      margin-right: 8px;
    }

  .form-check {
    display: inline-block;
  }

  .product-reviews-overview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

    .product-reviews-overview > div {
      margin: 0 6px 0 0;
    }

      .product-reviews-overview > div:last-child {
        margin: 0;
      }

  .custom-select {
    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
  }

  .return-items-button {
    margin-left: 5px;
  }

  .theme-selector select {
    margin: 0 auto
  }

  .message-error ul {
    margin: 0;
  }

  .overview .attributes .option-list {
    margin-bottom: 0px !important;
  }

  .overview .attributes .col-form-label {
    padding-bottom: 0px !important;
  }

    .overview .attributes .col-form-label label {
      font-weight: 600;
    }

  .header-lower .search-box select {
    width: auto;
    display: inline-block;
    float: left;
    border-radius: 0;
    border-right: 0;
    height: 36px;
  }

  .order-details-page .totals.section .return-items-button {
    margin-left: 5px;
  }

  .login-page .login-password {
    position: relative;
    width: 100%;
    max-width: 100%;
    display: inline-block;
  }

  .login-page .password-eye {
    content: "";
    display: block;
    height: 24px;
    width: 24px;
    background-image: url('../images/eye-closed.png');
    position: absolute;
    top: calc(50% - 12px);
    right: 10px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 2;
    cursor: pointer;
    opacity: .75
  }

  .login-page .password-eye-open {
    background-image: url('../images/eye.png');
  }

  .nop-slider {
    margin-bottom: 30px;
  }


/* ANIMATIONS */

a.animated-underline {
  position: relative;
  color: var(--primary-color);
  text-decoration: none;
}

  a.animated-underline::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #000;
    transform: scaleX(0);
    transform-origin: top left;
    transition: transform 0.3s ease;
  }

  a.animated-underline:hover::before {
    transform: scaleX(1);
  }

.zoom-in {
  transition: transform ease-out .3s;
}

.zoom-wrap:hover .zoom-in {
  transform: scale(1.1);
  transition: transform ease-out .3s;
}

/* END ANIMATIONS */