
.pull-left {
  float: left !important;
}
.pull-right {
  float: right !important;
}
.ha-text-left {
    text-align: left;
}
.ha-text-right {
    text-align: right;
}
.ha-text-center {
    text-align: center;
}
.ha-shop-clear {
    clear: both;
}
.ha-shop-grid-clear {
    clear: both;
}
.ha-shop-hidden {
    display: none;
}
.ha-shop-full-width {
    width: 100%;
}
.ha-unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.ha-shop-table-blank-cell {
    border: none;
    background-color: transparent;
}

/* --- notifier --- */
.ha-shop-notifier {
    opacity: 0.0;
    position: fixed;
    z-index: 1000;
    top: 10%;
    right: 10%;
    max-width: 250px;
    padding: 20px;
    border-left: 10px solid #e81c25;
    border-radius: 5px;
    background-color: rgba(255,255,255,0.75);
    box-shadow: 0px 5px 15px rgba(0,0,0,0.4);
    color: #000;
    font-size: 1.3em;
    transition: opacity 0.3s;
}

/* --- important --- */
.ha-shop-important-link {
    display: block;
    font-size: 2em;
    padding: 20px;
    margin: 10px 0px 20px 0px;
    box-shadow: 0px 2px 10px rgba(0,0,0,0.1);
    text-align: center;
}
.ha-shop-important-link2 {
    display: block;
    font-size: 1.1em;
    padding: 20px 20px 20px 100px;
    margin: 10px 0px 20px 0px;
    box-shadow: 0px 2px 10px rgba(0,0,0,0.1);
    text-align: left;
}
.ha-shop-important-link2:before {
    content: '\26a0';
    font-family: "fontello";
    font-size: 2.5em;
    color: #e81c25;
    display: block;
    position: relative;
    height: 1px;
    top: 15px;
    left: -70px;
    text-shadow: 0px 1px 1px rgba(0,0,0,0.4);
}
.ha-shop-important-link-regular {
    padding: 20px;
    margin: 10px 0px 20px 0px;
    box-shadow: 0px 2px 10px rgba(0,0,0,0.1);   
}
.ha-shop-important-link-regular h2 {
    margin-bottom: 10px;    
    border-bottom: 2px solid #e81c25;
    font-size: 2em;
    text-align: center;
}
/* --- pagination --- */
.ha-shop-pagination {
    text-align: center;
    line-height: 4em;
}
.ha-shop-pagination a {
    display: inline !important;
}

/* --- language switcher --- */
.ha-shop-currency-selector {
    display: inline-block;
    margin: 0px auto 10px auto;
    border: 2px solid #e81c25;
    border-radius: 9px;
    padding: 0px 0px 0px 10px;
    float: right;
    background: #f8f8f8;
}
.ha-shop-currency-selector:after {
    clear: both;
    content: " ";
}
.ha-shop-currency-selector select {
    border: none;
    background: #e81c25;
    color: #fff;
    padding: 5px 10px;
    border-radius: 0px 5px 5px 0px;
    margin-left: 10px;
}

/* --- cart short */
.ha-shop-cart-short > div {
    margin: 0px 0px 10px 0px;
    padding: 10px 15px;
    border-bottom: 10px solid #e81c25;
    background: #fcfcfc;
    box-shadow: inset 0px 0px 10px rgba(0,0,0,0.1);
    text-align: center;
    border-radius: 5px;
}
.ha-shop-cart-short p {
    padding: 0px;
}
.ha-shop-cart-short h2 {
    font-size: 1.5em;
}

/* --- cart --- */
.ha-shop-cart-table {
    width: 100%;
}
.ha-shop-cart-table tbody > tr > td:nth-child(2) {
    width: 100px;
}
.ha-shop-cart-table input {
    float: none !important;
    max-width: 50px;
}
.ha-shop-cart-table ul li {
    margin-bottom: 0px;
}
.ha-shop-cart-table .ha-shop-total {
    font-size: 1.5em;
}

/* --- checkout --- */
.ha-shop-cart-checkout-table {
    width: 100%;
}
.ha-shop-cart-checkout-table ul li {
    margin-bottom: 0px;
}
.ha-shop-cart-checkout-table .ha-shop-total {
    font-size: 1.5em;
}
.ha-shop-self-pickup-wrapper {
    display: none;
    margin: 20px 0px 0px 50px;
}
.ha-shop-self-pickup-wrapper iframe {
    margin-top: 10px;
}
.ha-shop-payment-logo {
    margin: 10px 0px 0px 15px;
}

/* --- checkout - navigation --- */
.ha-shop-checkout-bottom-nav {
    margin: 40px 0px;
    border-top: 1px solid #f0f0f0;
    padding-top: 20px;
}
.ha-shop-checkout-back-button {
    float: left;
}
.ha-shop-checkout-next-button {
    float: right;
}
.ha-shop-checkout-start-over-button {
    line-height: 44px;
    margin-right: 20px;
    display: inline-block;
    float: left;
}


#HAShopSortBy {

}
#HSShopOrderSteps {
	padding-bottom: 0px;
	margin-bottom: 15px;
	border-bottom: 1px solid #F5F5F5;
}
#HSShopOrderSteps li {
	width: 22%;
}

#HAShopForm {
	position: relative;
}
#HAShopForm th {
	height: 41px;
}

#HAShopCateogryListType {
    float: right;
}

.ha-shop-pagination .button_[class^="icon-"]:before, 
.ha-shop-pagination .button_[class*=" icon-"]:before,
#HAShopCateogryListType.button_[class^="icon-"]:before, 
#HAShopCateogryListType.button_[class*=" icon-"]:before {
    padding-right: 0px;
}

.ha-shop-category-products-grid {
    margin: 0px -20px;    
}
.ha-shop-category-products-list {
    margin: 0px -20px;    
}

.ha-shop-category-products-grid .ha-shop-category-products-list-item-wrapper {
    width: 33%;
    float: left;
}

.ha-shop-category-products-list .ha-shop-category-products-list-item {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}
.ha-shop-category-products-grid .ha-shop-category-products-list-item {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s;
    text-align: center;
}
.ha-shop-category-products-grid:hover .ha-shop-category-products-list-item:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,0.15);
}

.ha-shop-category-products-grid .ha-shop-category-products-list-item > a {
    display: inline-block;
    vertical-align: middle;
    width: 150px;
    height: 150px;
    margin: 0px auto 10px auto;
}

.ha-shop-category-products-grid .ha-shop-category-products-list-item img {
    width: 100%;
    height: auto;
    max-width: 150px !important;
    margin: 10px auto;
    display: block;
    max-height: 150px !important;
    width: auto;
}
.ha-shop-category-products-list .ha-shop-category-products-list-item img {
    width: 100%;
    height: auto;
    max-width: 150px !important;
    margin: 10px auto;
    display: inline-block;
    float: left;
}
.ha-shop-category-products-grid .ha-shop-category-products-list-item-description {
    
}
.ha-shop-category-products-list .ha-shop-category-products-list-item-description {
    margin: 0px 25% 0px 180px;
    display: block;
    position: absolute;
    max-height: 175px;
    overflow: hidden;
}

.ha-shop-category-products-grid .ha-shop-category-products-list-item-price-wrapper {
    text-align: center;
}
.ha-shop-category-products-list .ha-shop-category-products-list-item-price-wrapper {
    display: inline-block;
    float: right;
    width: 19%;
    text-align: right;
}

.ha-shop-category-products-grid .ha-shop-category-products-list-item-price,
.ha-shop-category-products-list .ha-shop-category-products-list-item-price {
    margin: 10px auto;
    font-size: 1.5em;
    font-weight: bold;
}

.ha-shop-product-category {
    text-align: right
}
.ha-shop-product-basket-box {
    padding: 10px !important;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04);
    border: 1px solid #EDEDED !important;
}
.ha-shop-product-basket-box h3 {
    padding: 10px 20px;
    font-size: 17px;
    font-family: 'PT Sans Narrow', sans-serif;
    font-weight: normal !important;
    border-left: 2px solid #e81c25 !important;
    margin-left: -11px;
}

.ha-shop-product-price {
    margin: 20px 0px;
    font-size: 2em;
    text-align: center;
}
.ha-shop-product-quantity {
    margin: 20px 0px !important;
}
.ha-shop-product-quantity input {
    height: 20px;
    width: 100% !important;
    max-width: 60px;
}
.ha-shop-product-quantity div {
    line-height: 2.5em;
    display: inline-block;
    width: 45% !important;
    margin: 0% 1%;
}
.ha-shop-product-quantity div:first-of-type {
    text-align: right;
}
.ha-shop-product-add-to-basket {
    text-align: center;
}

.ha-shop-product-photos {
    margin: 30px -1% 30px -1%;
}
.ha-shop-related-products h2,
.ha-shop-product-photos h2 {
    margin: 10px 1%;
    border-bottom: 1px solid #eee;
}
.ha-shop-product-photos img {
    float: none;
    width: 100%;
    max-width: 150px !important;
    display: inline-block !important;
    margin: 10px 1%;
    padding: 0.5%;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}

.ha-shop-related-products-item {
    border-top: 1px solid #eee;
    padding: 20px 0px 20px 0px;
}
.ha-shop-related-products .ha-shop-related-products-item:first-of-type {
    border-top: none;
}

/* --- base --- */
.ha-shop-base-item-selected {
    background-color: #f5f5f5;
}

/* --- base ordering - navigation --- */
.ha-shop-base-bottom-nav {
    margin: 80px 0px;
    border-top: 1px solid #f0f0f0;
    padding-top: 20px;
}
.ha-shop-base-back-button {
    float: left;
}
.ha-shop-base-next-button {
    float: right;
}
.ha-shop-base-start-over-button {
    line-height: 44px;
    margin: 0px 20px;
    display: inline-block;
    float: left;
}

/* --- base type - selection --- */
#ha-shop-order-preselection-info {
    display: none;
}
.ha-shop-base-type-grid {
    margin: 0px -20px;    
}

.ha-shop-base-type-grid .ha-shop-base-type-wrapper {
    width: 20%;
    float: left;
}

.ha-shop-base-type-grid .ha-shop-base-type {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}
.ha-shop-base-type-grid .ha-shop-base-type:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,0.15);
}
.ha-shop-base-type-grid .ha-shop-base-type h2 {
    text-align: center;
}
.ha-shop-base-type-grid .ha-shop-base-type img {
    /*width: 100%;
    height: auto;*/
    max-width: 250px !important;
    margin: 10px auto;
    display: block;
    height: 100px !important;
    width: auto;
}
.ha-shop-base-type-grid .ha-shop-base-item-selected img { 
    margin: -5px auto -5px auto;
    box-shadow: inset 0px 0px 15px #f5f5f5;
    padding: 10px;
    background: #FFF;
    border-radius: 5px;
}
.ha-shop-base-type-grid .ha-shop-base-type-info-wrapper {
    text-align: center;
    margin: 10px auto 10px auto;
}
.ha-shop-base-type-grid .ha-shop-base-type-price {
    margin: 10px auto;
    font-size: 1.5em;
    font-weight: bold;
}

/* --- base - selection --- */
.ha-shop-base-grid {
    margin: 0px -20px;    
}

.ha-shop-base-grid .ha-shop-base-wrapper {
    width: 33%;
    float: left;
}

.ha-shop-base-grid .ha-shop-base {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}
.ha-shop-base-grid .ha-shop-base:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,0.15);
}

.ha-shop-base-grid .ha-shop-base h2 {
    text-align: center;
}
.ha-shop-base-grid .ha-shop-base img {
    width: 100%;
    height: auto;
    max-width: 250px !important;
    margin: 10px auto;
    display: block;
    border-radius: 200px;
    border: 10px solid #FFF;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

.ha-shop-base-grid .ha-shop-base-price-wrapper {
    text-align: center;
    margin: 10px auto 30px auto;
}

.ha-shop-base-grid .ha-shop-base-price {
    margin: 10px auto;
    font-size: 1.5em;
    font-weight: bold;
}

/* --- base features - selection --- */
.ha-shop-base-spec-grid {
    margin: 0px -20px;    
}

.ha-shop-base-spec-grid .ha-shop-base-spec-wrapper {
    width: 25%;
    float: left;
}

.ha-shop-base-spec-grid .ha-shop-base-spec {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}
.ha-shop-base-spec-grid .ha-shop-base-spec:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,0.15);
}
.ha-shop-base-spec-grid .ha-shop-base-spec h2 {
    text-align: center;
}
.ha-shop-base-spec-grid .ha-shop-base-spec img {
    width: 100%;
    height: auto;
    max-width: 250px !important;
    margin: 10px auto;
    display: block;
}

.ha-shop-base-spec-grid .ha-shop-base-spec-info-wrapper {
    text-align: center;
    margin: 10px auto 30px auto;
}

.ha-shop-base-spec-grid .ha-shop-base-spec-info {
    margin: 10px auto;
    font-size: 1.5em;
    font-weight: bold;
}

/* --- base - hair style --- */
.ha-shop-base-hair-style-grid {
    margin: 0px -20px;    
}

.ha-shop-base-hair-style-grid .ha-shop-base-hair-style-wrapper {
    width: 20%;
    float: left;
}

.ha-shop-base-hair-style-grid .ha-shop-base-hair-style {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}
.ha-shop-base-hair-style-grid .ha-shop-base-hair-style:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,0.15);
}
.ha-shop-base-hair-style-grid .ha-shop-base-hair-style h2 {
    text-align: center;
}
.ha-shop-base-hair-style-grid .ha-shop-base-hair-style img {
    width: 100%;
    height: auto;
    max-width: 65px !important;
    margin: 20px auto;
    display: block;
}

.ha-shop-base-hair-style-grid .ha-shop-base-hair-style-info-wrapper {
    text-align: center;
    margin: 10px auto 30px auto;
}

.ha-shop-base-hair-style-grid .ha-shop-base-hair-style-info {
    margin: 10px auto;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
}

/* --- base - quantity --- */
.ha-shop-base-quantity-wrapper {
    margin-top: 30px;
    text-align: center;
}
.ha-shop-base-quantity-wrapper #ha-shop-base-quantity {
    display: inline-block;
}
.ha-shop-base-quantity-wrapper .ha-shop-base-quantity-button {
    display: inline-block;
}

/* --- base - calculation --- */
.ha-shop-base-calculation {    
    margin: 10px auto 30px auto;
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
}
.ha-shop-base-calculation > div {
    width: 400px;
    margin: 0px auto;
}
.ha-shop-base-calculation input {
    width: 100px !important;
    text-align: right;
}
#ha-shop-calculation-result {
    font-size: 1.5em;
    font-weight: bold;
}


/* --- base discounts --- */
.ha-shop-base-discount-grid {
    margin: 0px -20px;    
}

.ha-shop-base-discount-grid .ha-shop-base-discount-wrapper {
    width: 100%;
    /*float: left;*/
}

.ha-shop-base-discount-grid .ha-shop-base-discount {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}
.ha-shop-base-discount-grid .ha-shop-base-discount:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,0.15);
}
.ha-shop-base-discount-grid .ha-shop-base-discount h2 {
    text-align: center;
}

.ha-shop-base-discount-grid .ha-shop-base-discount-info-wrapper {
    margin: 10px auto 0px auto;
}
.ha-shop-base-discount-grid .ha-shop-base-discount-info-wrapper ul {
    margin-bottom: 0px;
}
.ha-shop-base-discount-grid .ha-shop-base-discount-info {
    margin: 10px auto;
    font-size: 1.5em;
    font-weight: bold;
}

/* --- base other parameters --- */
.ha-shop-base-other-params-grid {
    margin: 0px -20px;    
}

.ha-shop-base-other-params-grid .ha-shop-base-other-params-wrapper {
    width: 33%;
    float: left;
}
.ha-shop-base-other-params-grid-full-width .ha-shop-base-other-params-wrapper {
    width: 100%;
}

.ha-shop-base-other-params-grid .ha-shop-base-other-params {
    margin: 20px;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.05);
}
.ha-shop-base-other-params-grid .ha-shop-base-other-params h2 {
    text-align: center;
}
.ha-shop-base-other-params-grid .ha-shop-base-other-params img {
    width: 100%;
    height: auto;
    max-width: 250px !important;
    margin: 10px auto;
    display: block;
}

.ha-shop-base-other-params-grid .ha-shop-base-other-params-info-wrapper {
    text-align: center;
    margin: 10px auto 30px auto;
}

.ha-shop-base-other-params-grid .ha-shop-base-other-params-info {
    margin: 10px auto;
    font-size: 1.5em;
    font-weight: bold;
}

/* --- base selection widget --- */
.ha-shop-selected-base-box {
    margin: 0px 0px 30px 0px;
    padding: 10px !important;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04);
    border: 1px solid #EDEDED !important;
}
.ha-shop-selected-base-box h3 {
    padding: 10px 20px;
    font-size: 17px;
    font-family: 'PT Sans Narrow', sans-serif;
    font-weight: normal !important;
    border-left: 2px solid #e81c25 !important;
    margin-left: -11px;
}
.ha-shop-selected-base-box img {
    max-width: 150px !important;
    margin: 0px auto;
}
.ha-shop-selected-base-box .not-yet-selected {
    margin-top: 20px;
    font-size: 1.5em; 
    line-height: 1.2em; 
    text-align: center;
}
.ha-shop-selected-base-box .five {
    width: 18%;
}
.ha-shop-selected-base-box ul {
    list-style-type: none;
    paddding: 0px;
    margin: 0px;
}
.ha-shop-selected-base-box ul li {
    margin-bottom: 5px;
    font-size: 1.1em;
}
.ha-shop-selected-base-feature-price {
    font-size: 0.75em;
    color: #bbb;
}

/* --- number control --- */
.ha-shop-number-control {
    display: inline;
    height: 26px;
}
.ha-shop-number-control:after {
    /*clear: both;
    display: block;
    content: " ";*/
}
.ha-shop-number-control input {
    display: block;
    float: left;
    width: 80px;
    height: 44px;
    line-height: 44px;
    border: 3px solid #e81c25;
    text-align: center;
    font-size: 2em;
    box-shadow: 0 -3px 0 rgba(0, 0, 0, 0.1) inset; 
}
.ha-shop-number-control input:focus {
    outline: none;
}
.ha-shop-number-control-pre, .ha-shop-number-control-post {
    display: block;
    float: left;
    width: 44px;
    height: 44px;
    line-height: 44px;
    background-color: #e81c25;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 3em;
    color: #FFF;
    cursor: pointer;
    box-shadow: 0 -3px 0 rgba(0, 0, 0, 0.1) inset;    
}
.ha-shop-number-control-pre {
    border-radius: 5px 0px 0px 5px;
}
.ha-shop-number-control-post {
    border-radius: 0px 5px 5px 0px;
}

/* --- basket --- */
.ha-shop-discount-box {
    margin: 0px 0px 30px 0px;
    padding: 10px !important;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04);
    border: 1px solid #EDEDED !important;
}
.ha-shop-discount-box h2 {
    padding: 10px 20px;
    font-size: 17px;
    font-family: 'PT Sans Narrow', sans-serif;
    font-weight: normal !important;
    border-left: 2px solid #e81c25 !important;
    margin-left: -11px;
}

/* --- order id --- */
.ha-shop-order-id-box {
    padding: 10px !important;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04);
    border: 1px solid #EDEDED !important;
}
.ha-shop-order-id-box h3 {
    padding: 10px 20px;
    font-size: 17px;
    font-family: 'PT Sans Narrow', sans-serif;
    font-weight: normal !important;
    border-left: 2px solid #e81c25 !important;
    margin-left: -11px;
}

@media only screen and (max-width: 767px){
    #HAShopCateogryListType {
        display: none;
    }
    .ha-shop-grid-clear {
        clear: none;
    }
    .ha-shop-base-type-grid .ha-shop-base-type-wrapper {
        width: 100%;
    }
    .ha-shop-base-grid .ha-shop-base-wrapper {
        width: 100%;
    }
    .ha-shop-base-spec-grid .ha-shop-base-spec-wrapper {
        width: 100%;
    }
    .ha-shop-base-hair-style-grid .ha-shop-base-hair-style-wrapper {
        width: 100%;
    }
    .ha-shop-base-discount-grid .ha-shop-base-discount-wrapper {
        width: 100%;
    }
    .ha-shop-base-other-params-grid .ha-shop-base-other-params-wrapper {
        width: 100%;
    }
    .ha-shop-category-products-grid .ha-shop-category-products-list-item-wrapper {
        width: 100%;
    }
    .ha-shop-category-products-list .ha-shop-category-products-list-item img {
        display: block;
        float: none;
    }
    .ha-shop-category-products-list .ha-shop-category-products-list-item-description {
        margin: auto;
        display: block;
        max-height: none;
        position: static;
        overflow: visible;
    }
    .ha-shop-category-products-list .ha-shop-category-products-list-item-price-wrapper {
        display: block;
        float: none;
        width: 100%;
        text-align: center;
    }
   
}

#HAShopLoaderWrapper {
	display: none;
	text-align: center;
	text-align: center;
	position: absolute;
	top: 240px;
	width: 100%;
}
#HAShopLoaderWrapper div {
	width: 75%;
	margin: 0px auto;
	padding: 20px;
	border: 1px solid rgba(0,0,0,0.05);
	background-color: rgba(255,255,255,0.75);
	box-shadow: 0px 0px 58px rgba(0,0,0,0.1);
	border-radius: 5px;
}
#HAShopLoaderWrapper img{
	display: inline-block;
	width: 200px;
	height: 30px;
	margin: 10px auto;
}


.rt_form input[type="password"] {
    font-family: Arial, Helvetica, Verdana, sans-serif;
    font-size: 12px;
    position: relative;
    outline: none;
    padding: 14px 8px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    color: #8C8C8C;
    border: 1px solid #eee;
    background: #fff;
    -moz-box-box-shadow: inset 0 0 0 1px #fff, 1px 2px 0px #eee;
    -webkit-box-shadow: inset 0 0 0 1px #fff, 1px 2px 0px #eee;
    box-shadow: inset 0 0 0 1px #fff, 1px 2px 0px #eee;
    width: 100%;
}