/* base styles
================================================== */
* {
    margin: 0;
    padding: 0;
    outline: 0;
}

body,
html {
    height: 100%;
}

body {
    font-family: 'FedraSansPro', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #6A6665;
}

@font-face {
    font-family: 'FedraSansPro';
    src: url("../fonts/FedraSansPro-Book.otf") format("opentype");
}

@font-face {
    font-family: 'FSerProB';
    font-weight: bold;
    src: url("../fonts/FSerProB-Medium.otf") format("opentype");
}

:focus {
    outline: 0
}

img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
    border: none;
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px white inset;
}

.space {padding: 100px 0;}
.space-bot {padding-bottom: 100px;}

/* typography
================================================== */
h1, h2, h3, h4, h5, h6 {font-family: 'FSerProB', sans-serif; color: #000;}

h1 {font-size: 26px; line-height: 32px;}
h2 {font-size: 22px; line-height: 28px;}
h3 {font-size: 18px; line-height: 28px;}
h4 {font-size: 18px; line-height: 28px;}
h5 {font-size: 18px; line-height: 28px;}
h6 {font-size: 18px; line-height: 28px;}

strong {font-weight: 700;}

a {
    color: #6A6665;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

a:hover,
a:active,
a:focus {
    color: #e30613;
    outline: 0;
    text-decoration: none;
}

p {
    color: #6A6665;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.5;
}

.heading {
    margin: 0 0 60px 0;
    font-size: 28px;
    line-height: 34px;
    color: #000;
    font-family: 'FSerProB', sans-serif;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
}

.btn {
    height: 44px;
    line-height: 42px;
    padding: 0 30px;
    border-radius: 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.btn.focus, 
.btn:focus {
    outline: 0;
    box-shadow: none;
}

.btn-primary {
    background-color: #e30613;
    border-color: #e30613;
    color: #fff;
}

.btn-primary:hover {
    background-color: transparent;
    border-color: #e30613;
    color: #e30613;
}

.btn-primary.focus,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus, 
.btn-primary:not(:disabled):not(.disabled):active:focus, 
.show>.btn-primary.dropdown-toggle:focus,
.btn-primary:not(:disabled):not(.disabled).active, 
.btn-primary:not(:disabled):not(.disabled):active, 
.show>.btn-primary.dropdown-toggle {
    background-color: transparent;
    border-color: #e30613;
    color: #e30613;
    box-shadow: none;
}

.btn-secondary {
    background-color: #461754;
    border-color: #461754;
    color: #fff;
}

.btn-secondary-outline {
    background-color: transparent;
    border-color: #461754;
    color: #461754;
}

.btn-secondary-outline:hover {
    border-color: #461754;
    background-color: #461754;
    color: #fff;
}

label {
    margin-bottom: 3px;
}

textarea.form-control {
    padding: 10px 15px;
}

.form-control {
    height: 38px;
    padding: 0 15px;
    background-color: #fff;
    border-radius: 0;
    border: 1px solid #e3e2e2;
    font-size: 14px;
}

.form-control:focus {
    box-shadow: none;
    border-color: #e30613;
}

.form-icon {
    position: relative;
}

.form-icon img {
    position: absolute;
    right: 15px;
    max-height: 20px;
    max-width: 18px;
}

.container {
    max-width: 1300px;
}


/*top*/
.top {
    background-color: #461754;
    padding: 10px 0;
}

.top .top-item {
    display: inline-block;
    position: relative;
    margin-right: 30px;
}

.top .top-item:last-of-type:after {
    display: none;
}

.top .top-item:after {
    content: "";
    height: 15px;
    width: 1px;
    background-color: #753e86;
    display: block;
    position: absolute;
    top: 3px;
    right: -16px;
}


/*langs*/
.langs ul .lang-item {
    display: inline-block;
    position: relative;
}

.langs .lang-icon {
    margin-right: 10px;
}

.langs ul .lang-item .lang-item-link .nav-arrow {
    margin-left: 2px;
}

.langs ul .lang-item .lang-item-link {
    color: #fff;
    display: block;
    position: relative;
}

.langs ul > .lang-item:hover > .sub-lang {
    display: block;
}

.langs ul .sub-lang:before {
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #e30613;
}

.langs ul.sub-lang {
    background-color: #fff;
    position: absolute;
    left: 0;
    right: auto;
    margin-top: 10px;
    padding: 8px 0;
    display: block;
    display: none;

    -webkit-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    -moz-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
}

.langs ul.sub-lang:after {
    content: "";
    height: 16px;
    width: 100%;
    position: absolute;
    top: -16px;
    left: 0;
}

.langs ul.sub-lang li:hover > ul.sub-lang {
    display: block;
}

.langs ul.sub-lang li > ul.sub-lang {
    top: 0;
    left: 0;
    display: none;
}

.langs ul .sub-lang .sub-lang-item {
    display: block;
    position: relative;
}

.langs ul .sub-lang .sub-lang-item-link {
    display: block;
    position: relative;
    padding: 5px 20px;
}

.langs ul .sub-lang .sub-lang-item-link:hover {
    color: #e30613;
}


/*social*/
.social ul li {
    display: inline-block;
    margin: 0 5px;
}

.social ul li a {
    color: #fff;
}

.social ul li a:hover {
    opacity: .8;
}

/*vouchers*/
.vouchers a {
    color: #fff;
    opacity: .7;
}

.vouchers a:hover {
    text-decoration: underline;
    opacity: 1;
}

/*phone*/
.phone {
    color: #fff;
}

.phone span {
    opacity: .7;
}

.phone a {
    color: #fff;
    margin-left: 10px;
}

.phone a:hover {
    text-decoration: underline;
}


/*delivery hint*/
.delivery-hint {
    background-color: #6a6665;
    padding: 8px 0;
    text-align: center;
    color: #eaeaea;
}

.delivery-hint span {
    margin: 0 10px;
    opacity: .7;
}


/*user widgets*/
.user-widgets {
    text-align: right;
}

.user-widgets.user-widgets-left {
    text-align: left;
}

.user-widgets.user-widgets-left .widget-item:first-of-type {
    padding-left: 0;
}

.user-widgets .widget-item {
    display: inline-block;
    padding: 0 6px;
    position: relative;
}

.user-widgets .widget-item .fav-num {
    position: absolute;
    left: 25px;
    top: -2px;
    background-color: #E30613;
    color: #e2e2e2;
    width: 13px;
    height: 13px;
    line-height: 13px;
    font-size: 10px;
    text-align: center;
    border-radius: 100%;
}

.user-widgets .widget-item .cart-num {
    position: absolute;
    left: 16px;
    top: -2px;
    background-color: #E30613;
    color: #e2e2e2;
    width: 13px;
    height: 13px;
    line-height: 13px;
    font-size: 10px;
    text-align: center;
    border-radius: 100%;
}

.user-widgets .widget-item .cart-sum {
    display: inline-block;
    font-size: 12px;
    margin-left: 5px;
    position: relative;
    top: 5px;
}

.user-widgets .widget-item .icn {
    height: 22px;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.user-widgets .widget-item:hover .icn {
    opacity: .4;
}


/*user nav*/
.user-widget .user-nav {
    position: absolute;
    top: 43px;
    left: 0;
    z-index: 3;
    background-color: #fff;
    padding: 10px 0 10px;
    text-align: left;
    display: none;
    border-top: 2px solid #d9d9d9;

    -webkit-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    -moz-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
}

.user-widget .user-nav:before {
    content: "";
    width: 100%;
    height: 25px;
    position: absolute;
    left: 0;
    top: -26px;
}

.user-widget .user-nav:after {
    content: "";
    height: 2px;
    width: 33px;
    position: absolute;
    top: -2px;
    left: 0;
    background-color: #e30613;
    z-index: 3;
}

.user-widget .user-nav ul li a {
    display: block;
    position: relative;
    padding: 5px 20px;
}

.user-widget:hover .user-nav {
    display: block;
}


/*header*/
header {
    padding: 25px 0 0 0;
    background-color: #fff;
    z-index: 105;
    border-bottom: 1px solid #d7d7d7;

    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}

header.fixed + .page {
    padding-top: 128px !important;
}

header.fixed {
    position: fixed;
    top:0; 
    left:0;
    width: 100%; 
    padding: 5px 0 0 0;
    border-color: transparent;
    box-shadow: 0 7px 10px 0 rgba(162, 162, 162, 0.12), 
        0 0 1px 0 rgba(144, 144, 144, 0.25);
}

header.fixed .logo img {
    height: 30px;
}

header.fixed nav {
    margin: 0 auto 0;
}

header.fixed .mega-menu {
    top: 58px;
}

header .logo {
    margin: 0 auto;
    display: table;
}

header .logo img {
    height: 44px;

    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}


/*search*/
.search {
    position: relative;
    max-width: 300px;
}

.search.open {
    display: block;
}

.search input[type=text] {
    border: 0;
    padding: 10px 0;
    width: 100%;
    padding-right: 38px;
    border-bottom: 2px solid #d9d9d9;
}

.search button {
    border: 0;
    background-color: transparent;
    position: absolute;
    right: 3px;
    top: 10px;
    color: #d9d9d9;
    outline: none;
}

.search button img {
    height: 22px;
}

.search .search-results {
    overflow: auto;
    position: relative;
    padding: 10px 0;
}

.search .search-container {
    display: none;
    position: absolute;
    top: 43px;
    padding: 0 15px;
    z-index: 3;
    background-color: #fff;

    -webkit-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    -moz-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
}

.search .search-results .found {
    font-size: 12px;
}

.search .search-results .result-row {
    padding: 15px 15px;
    background-color: #fff;
    border-top: 0;
    text-align: left;
    border-bottom: 1px solid #d9d9d9;
}

.search .search-results .result-row:last-of-type {
    border-bottom: 0;
}

.search .search-results .result-row .product-title {
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
    display: inline-block;
    font-family: 'FSerProB', sans-serif;
}

.search .search-results .result-row .product-title:hover {
    color: #e30613;
}

.search .all-results {
    text-align: center;
    display: block;
    padding: 10px 0;
    border-top: 1px solid #d9d9d9;
    color: #ababab;
}

.search .all-results:hover {
    color: #e30613;
}

.search .no-results {
    text-align: center;
    padding: 10px 0;
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
    color: #ababab;
}


/*cart*/
.cart-container {
    position: absolute;
    top: 43px;
    right: 0;
    width: 315px;
    z-index: 6;
    background-color: #fff;
    display: table;
    padding: 10px 15px 20px;
    text-align: left;
    display: none;
    border-top: 2px solid #d9d9d9;

    -webkit-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    -moz-box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
    box-shadow: 0 15px 25px 0 rgba(0,0,0,.25);
}

.cart-container:before {
    content: "";
    width: 100%;
    height: 25px;
    position: absolute;
    left: 0;
    top: -26px;
}

.cart-widget:after {
    content: "";
    height: 2px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -22px;
    background-color: #e30613;
    display: none;
    z-index: 6;
}

.cart-widget:hover:after {
    display: block;
}

.cart-widget:hover .cart-container {
    display: block;
}

.cart-container .cart-result {
    border-bottom: 1px solid #ddd;

    max-height: 340px;
    overflow: hidden;
    overflow-y: auto;
    position: relative;
}

.cart-container .cart-result .result-row {
    padding: 15px 0;
    border-bottom: 1px solid #d9d9d9;
}

.cart-container .cart-result .result-row:last-of-type {
    border: 0;
}

.cart-container .cart-result .product-title {
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    font-weight: bold;
    position: relative;
    display: block;
    margin: 0 0 10px 0;
}

.cart-container .cart-result .product-remove {
    position: relative;
    top: -4px;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    font-weight: normal;
    color: #dcdcdc;
}

.cart-container .cart-result .product-mill {
    color: #cecece;
}

.cart-container .cart-total {
    font-size: 16px;
    padding: 10px 0;
    color: #cecece;
}

.cart-container .cart-result .product-amount {
    color: #cecece;
}

.cart-container .cart-result .product-amount span {
    font-size: 14px;
    line-height: 18px;
    color: #6A6665;
}

.cart-container .cart-result .product-amount small {
    font-size: 14px;
    line-height: 18px;
    color: #6A6665;
}

.cart-container .cart-total span {
    float: right;
    color: #6A6665;
}

.cart-container .btn {
    width: 100%;
    display: block;
    margin: 5px 0 0 0;
}


/*menu*/
nav {
    margin: 20px auto 0;
    display: table;
}

nav .menu .menu-item {
    display: inline-block;
    margin: 0 20px;
}

nav .menu .menu-item:hover .menu-link:before {
    display: block;
}

nav .menu .menu-item .menu-link:before {
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    top: 57px;
    left: 0;
    background-color: #e30613;
    display: none;
    z-index: 160;
}

nav .menu .menu-item.rel {
    position: relative;
}

nav .menu .menu-item .menu-link {
    font-size: 16px;
    text-transform: uppercase;
    color: #333;
    position: relative;
    padding: 17px 0;
    display: block;
}

nav .menu .menu-item .menu-link i {
    margin-left: 5px;
}

nav .menu .menu-item:hover .menu-link,
nav .menu .menu-item.active .menu-link {
    color: #e30613;
}

nav .menu .menu-item .menu-link:hover:after,
nav .menu .menu-item.active .menu-link:after {
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);

    -moz-opacity: 100;
    -khtml-opacity: 100;
    opacity: 100;
    opacity: 1;
}

nav .menu .sub-menu {
    background-color: #fff;
    left: -20px;
    right: auto;
    position: absolute;
    top: 58px;
    padding: 8px 0;
    border-top: 1px solid #d7d7d7;
    z-index: 102;
    display: none;

    -webkit-box-shadow: 15px 20px 15px rgba(0,0,0,.10);
    -moz-box-shadow: 15px 20px 15px rgba(0,0,0,.10);
    box-shadow: 15px 20px 15px rgba(0,0,0,.10);
}

nav .menu .sub-menu li:hover > ul.sub-menu {
    display: block;
}

nav .menu .sub-menu li > ul.sub-menu:before {
    display: none;
}

nav .menu .sub-menu li > ul.sub-menu {
    top: 0;
    left: 100%;
    right: auto;
    display: none;
}

nav .menu .sub-menu .sub-menu-item {
    display: block;
    position: relative;
}

nav .menu .sub-menu-arrow {
    position: absolute;
    right: 16px;
    top: 10px;
}

nav .menu .sub-menu .sub-menu-link {
    display: block;
    position: relative;
    font-size: 14px;
    line-height: 18px;
    text-align: left;
    width: 230px;
    margin: 0;
    padding: 10px 20px;
}

.mega-menu {
    position: absolute;
    display: none;
    top: 78px;
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 155;
    padding: 40px 20px 40px;
    border-top: 1px solid #d7d7d7;
    box-shadow: 0 4px 3px 0 rgba(162, 162, 162, 0.12), 
        0 0 1px 0 rgba(144, 144, 144, 0.25);
}

.mega-menu h5 {
    margin: 0 0 20px 0;
    color: #ababab;
    font-family: 'FedraSansPro', sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 12px;
    line-height: 18px;
}

.mega-menu .mega-menu-container {
    margin: 0 auto;
    display: table;
}

.mega-menu .menu-simp li,
.mega-menu .menu-cat li {
    margin: 8px 0;
}

.mega-menu .menu-simp li a,
.mega-menu .menu-cat li a {
    font-size: 13px;
}

.mega-menu .menu-cat > li {
    position: relative;
    padding: 0 0 0 15px;
}

.mega-menu .menu-cat > li:before {
    content: "";
    background-color: #e30613;
    position: absolute;
    top: 6px;
    left: 0;
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 100%;
}

.mega-menu .menu-simp,
.mega-menu .menu-cat > li > ul {
    margin: 0 0 20px 0;
}

.mega-menu .menu-cat > li > a {
    color: #461754;
    font-family: 'FSerProB', sans-serif;
    font-weight: bold;
}

.mega-menu .menu-cat > li > a:hover {
    color: #e30613;
}

/*intro*/
.intro h2 {
    color: #4e1e50;
    font-size: 44px;
    line-height: 50px;
    font-weight: bold;
    margin: 0 0 30px 0;
}

.intro .btn {
    text-transform: uppercase;
    letter-spacing: 3px;
    padding: 0 45px;
}

.intro .carousel-caption {
    bottom: 15%;
}

.intro .carousel-indicators {
    bottom: 30px;
    z-index: 5;
}


/*benefits*/
.home .benefits {
    border-bottom: 2px solid #efe1d4;
    padding: 60px 0 40px;
}

.home .benefits .benefit {
    position: relative;
}

.home .benefits .benefit p {
    text-align: center;
    font-size: 10px;
    color: #fff;
    position: absolute;
    top: 42%;
    width: 100%;
    padding: 0 10px;
    height: 38px;
    line-height: 38px;
    background-color: #461754;
    border-color: #461754;
    box-shadow: 8px 10px 10px #ddd;
    opacity: 0;
}

.home .benefits .benefit:hover p {
    opacity: 1;
}

.home .benefits .benefit .benefit-img {
    height: 100px;
    margin: 0 0 15px 0;
}

.home .benefits .benefit .benefit-img img {
    height: 100px;
    margin: 0 auto;
    display: block;
}

.home .benefits .benefit h5 {
    color: #461754;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    padding: 0 20px;
    height: 44px;
    font-family: 'FedraSansPro';
}

.home .benefits .benefit .btn {
    padding: 0 10px;
    font-size: 13px;
    text-transform: initial;
    display: block;
    letter-spacing: 0;
    opacity: 0;
    position: absolute;
    top: 42%;
    width: 100%;
    box-shadow: 8px 10px 10px #ddd;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.home .benefits .benefit:hover .btn {
    opacity: 1;
}


/*benefits*/
.mystery-box .benefits {
    border-bottom: 2px solid #efe1d4;
    padding: 100px 0 50px;
}

.mystery-box .benefits .benefit {
    position: relative;
    text-align: center;
    margin: 0 0 50px 0;
}

.mystery-box .benefits .benefit .benefit-img {
    height: 100px;
    margin: 0 0 20px 0;
}

.mystery-box .benefits .benefit .benefit-img img {
    height: 100px;
    margin: 0 auto;
    display: block;
}

.mystery-box .benefits .benefit h5 {
    color: #4e1e50;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    padding: 0 20px;
    font-family: 'FedraSansPro';
    margin: 0 0 15px 0;
}

.mystery-box .benefits .benefit p {
    padding: 0 30px;
}

.mystery-box .package .heading {
    text-transform: inherit;
    color: #4e1e50;
}

.mystery-box .package .package-price {
    background-color: #FAD2D3;
    color: #000;
    height: 250px;
    width: 250px;
    border-radius: 100%;
    font-size: 26px;
    line-height: 38px;
    padding: 70px 0;
    text-align: center;
    text-transform: uppercase;
    font-family: 'FSerProB';
}

.mystery-box .package .package-price span {
    font-family: 'FedraSansPro';
    display: block;
    color: #e30613;
    font-size: 36px;
}

.mystery-box .package .package-info {
    padding: 0 50px;
}

.mystery-box .package .package-info li {
    position: relative;
    font-weight: bold;
    font-size: 18px;
    line-height: 24px;
    padding-left: 60px;
    margin: 0 0 30px 0;
    color: #000;
    font-family: 'FSerProB', sans-serif;
}

.mystery-box .package .package-info li .item-icon {
    position: absolute;
    left: 0;
    width: 40px;
}

.mystery-box .package .package-info li .item-icon img {
    margin: 0 auto;
    display: block;
    max-width: 40px;
    max-height: 40px;
}

.mystery-box .package .package-info li:last-of-type {
    margin: 0;
}

.mystery-box .package .package-info li span {
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
    display: block;
    font-family: 'FedraSansPro';
    color: #929292;
}

.mystery-box .package .btn {
    margin: 50px 0 0;
    display: block;
    width: 100%;
}


.mystery-box-order {
    padding: 0 0 100px 0;
}

.gift-package {
    padding: 20px;
    border: 1px solid #e3e2e2;
    background-color: #fff;
}

.gift-card,
.gift {
    padding: 15px 25px;
    border: 1px solid #e3e2e2;
    margin: 0 0 30px 0;
}

.gift-card .switch,
.gift .switch {
    float: right;
}    

.gift-card h3,
.gift h3 {
    color: #461754;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    padding: 0 0 5px 0;
}

.gift-card p,
.gift p {
    margin: 0;
}

.gift-card-action h3 .switch,
.gift-action h3 .switch {
    float: right;
}

.gift-action h3 {
    border-bottom: 1px solid #E3E2E2;
    padding: 0 0 15px 0;
    margin: 0 0 25px 0;
    color: #461754;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
}

.gift-action .choose-period {
    margin: 20px 0 30px 0;
}

.gift-action .choose-period h4 {
    margin: 0 0 5px 0;
}

.gift-action .choose-period p {
    margin: 0 0 20px 0;
}

.gift-card-action .card-text {
    margin: 20px 0 0 0;
}

.gift-card-action .card-text .card-lab {
    padding: 15px 20px;
    border-top: 1px solid #e3e2e2;
    border-left: 1px solid #e3e2e2;
    border-right: 1px solid #e3e2e2;
}

.gift-card-action .card-text .card-lab img {
    margin-right: 15px;
}

.gift-card-action .card-text .card-lab h5 {
    font-size: 16px;
    line-height: 22px;
    font-family: 'FedraSansPro', sans-serif;
}

.gift-card-action .card-text .card-lab p {
    font-size: 14px;
    margin: 0;
}

.gift-card-action .card-text .form-control {
    width: 100%;
}

.gift-card-action h3 {
    color: #461754;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    padding: 0 0 15px 0;
}


.mystery-box-order .config {
    padding: 25px;
    background-color: #FBFAF9;
    margin: 0 0 30px 0;
}

.mystery-box-order .config h3 {
    border-bottom: 1px solid #E3E2E2;
    padding: 0 0 15px 0;
    margin: 0 0 25px 0;
    color: #461754;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
}

.mystery-box-order .choose-date h4,
.mystery-box-order .choose-period h4 {
    font-size: 16px;
    line-height: 22px;
    color: #000;
    font-weight: bold;
    margin: 0 0 15px 0;
}

.mystery-box-order .choose-period ul {
    border: 1px solid #461754;
    font-size: 0;
    display: table;
}

.mystery-box-order .choose-period ul li {
    width: 2%;
    font-size: 14px;
    display: table-cell;
    border-right: 1px solid #461754;
    text-align: center;
    height: 42px;
    line-height: 42px;
    cursor: pointer;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.mystery-box-order .choose-period ul li:hover {
    background-color: #f3ecf5;
}

.mystery-box-order .choose-period ul li.selected {
    background-color: #461754;
    color: #fff;
}

.mystery-box-order .choose-date,
.mystery-box-order .choose-period {
    background-color: #fff;
    padding: 25px;

    box-shadow: 0px 0px 10px 7px rgba(103,103,103,.05);
}

.mystery-box-order .choose-date .btn {
    width: 100%;
}


.cart {
    padding: 45px 0 100px;
}

.cart h1 {
    margin: 0 0 8px 0;
    font-size: 28px;
    line-height: 34px;
    color: #4e1e50;
    font-family: 'FSerProB', sans-serif;
    font-weight: bold;
}

.back-to-shop {
    font-size: 12px;
}

.cart-benefits {
    padding: 30px 0 0;
}

.guarante-cart {
    text-align: center;
    margin: 20px 0 0 0;
}

.guarante-cart img {
    margin-right: 5px;
}

.cart-list {
    background-color: #FBFAF9;
    padding: 10px 25px;
}

.cart-list .product-name {
    font-family: 'FSerProB', sans-serif;
    text-transform: uppercase;
    margin: 0 0 5px 0;
    display: inline-block;
    font-weight: bold;
    color: #000;
    font-size: 14px;
    line-height: 20px;
}

.cart-list .product-name:hover {
    color: #e30613;
}

.remove-product:focus {
    outline: none;
}

.remove-product {
    outline: none;
    border: 0;
    background-color: transparent;
    margin-left: 10px;
    opacity: .5;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.remove-product:hover {
    opacity: 1;
}

.cart-list .product-desc {
    font-size: 12px;
    line-height: 18px;
    color: #afafaf;
}

.cart-list .product-desc div {
    margin-bottom: 2px;
}

.cart-delivery-hint {
    background-color: #EDDDCD;
    padding: 11px 15px;
    margin: 25px 0 20px 0;
}

.cart-headings {
    padding: 10px 25px;
}

.cart-list .cart-row {
    padding: 25px 0;
    border-bottom: 1px solid #E3E2E2;
}

.cart-list .cart-row:last-of-type {
    border: 0;
}


.promo-code {
    padding: 25px;
    border: 1px solid #e3e2e2;
    margin: 0 0 30px 0;
}

.promo-code .btn {
    display: block;
}


.checkout {
    padding: 0 0 100px 0;
}

.checkout .payment-method {
    margin: 0 0 15px 0;
}


.total {
    padding: 25px 0;
    border: 1px solid #e3e2e2;
}

.total h3 {
    border-bottom: 1px solid #E3E2E2;
    padding: 0 0 15px 0;
    margin: 0 25px 25px 25px;
    color: #461754;
    font-size: 20px;
    line-height: 26px;
    font-weight: bold;
}

.total .product-row {
    margin: 0 25px;
    border-bottom: 1px solid #e3e2e2;
    padding: 20px 0;
}

.total .product-row:first-of-type {
    padding-top: 0;
}

.total .product-row .product-img {
    margin-right: 15px;
}

.total .product-row .product-name {
    font-family: 'FSerProB', sans-serif;
    font-weight: bold;
    margin: 0 0 3px 0;
    color: #000;
}

.total .product-row .product-desc {
    color: #6A6665;
    font-size: 12px;
    line-height: 16px;
}

.total .product-row .product-price {
    color: #414141;
    text-align: right;
}

.cart .total .sum {
    padding-top: 0;
}

.total .sum {
    padding: 10px 0 0 0;
    margin: 0 25px 25px;
}

.total .sum ul li {
    margin: 7px 0;
}

.total .sum ul li span {
    float: right;
}

.total .sum ul li:last-of-type {
    font-size: 16px;
    font-weight: bold;
    color: #000;
    margin-top: 12px;
}

.total .checkbox {
    margin: 0 25px 20px;
}

.total .total-hint {
    padding: 20px 25px 20px 60px;
    position: relative;
    border-top: 1px solid #e3e2e2;
    border-bottom: 1px solid #e3e2e2;
    background-color: #FBFAF9;
    margin: 0 0 25px 0;
}

.total .total-hint p {
    color: #6A6665;
}

.total .total-hint p:last-of-type {
    margin: 0;
}

.total .total-hint img {
    position: absolute;
    top: 25px;
    left: 20px;
}

.total .btn {
    display: block;
    margin: 0 25px;
    width: calc(100% - 50px);
}

.order-payment {
    background-color: #FBFAF9;
    padding: 25px;
}

.order-payment h3 {
    border-bottom: 1px solid #E3E2E2;
    padding: 0 0 15px 0;
    margin: 0 0 25px 0;
    color: #461754;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
}

.order-payment .payment-method {
    position: relative;
}

.order-payment .payment-method input[type=radio] {
    position: absolute;
    top: 40px;
    left: 18px;
}

.order-payment .payment-method input[type=radio]:checked ~ label {
    background-color: #fff;
    border-color: #461754;
}

.order-payment .payment-method label {
    border: 1px solid #E3E2E2;
    padding: 20px 60px 20px 45px;
    width: 100%;
}

.order-payment .payment-method label .payment-icon {
    position: absolute;
    top: 28px;
    right: 20px;
}

.order-payment .payment-method label .payment-icon img {
    max-height: 40px;    
    display: block;
}

.order-payment .payment-method label .payment-name {
    font-family: 'FSerProB', sans-serif;
    color: #000;
    font-size: 13px;
    line-height: 16px;
    margin: 0 0 3px 0;
}

.order-payment .payment-method label .payment-desc {
    color: #6A6665;
    font-size: 12px;
    line-height: 16px;
}



.order-delivery {
    background-color: #FBFAF9;
    padding: 25px;
    margin: 0 0 30px 0;
}

.order-delivery h3 {
    border-bottom: 1px solid #E3E2E2;
    padding: 0 0 15px 0;
    margin: 0 0 25px 0;
    color: #461754;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
}

.order-delivery .delivery-method {
    position: relative;
    margin: 0 0 20px 0;
}

.order-delivery .delivery-method input[type=radio] {
    position: absolute;
    top: 50%;
    left: 18px;
    margin-top: -6.5px;
}

.order-delivery .delivery-method input[type=radio]:checked ~ label {
    background-color: #fff;
    border-color: #461754;
}

.order-delivery .delivery-method label {
    border: 1px solid #E3E2E2;
    padding: 20px 20px 20px 45px;
    width: 100%;
}

.order-delivery .delivery-method label .delivery-name {
    font-family: 'FSerProB', sans-serif;
    color: #000;
    font-size: 13px;
    line-height: 16px;
    margin: 0 0 3px 0;
}

.order-delivery .delivery-method label .delivery-desc {
    color: #6A6665;
    font-size: 12px;
    line-height: 16px;
}



.order-delivery h4 {
    margin: 0 0 15px 0;
    color: #461754;
    font-size: 16px;
    line-height: 22px;
    font-weight: bold;
}

.order-delivery .delivery-types {
    margin: 15px 0 0 0;
}

.order-delivery .delivery-type {
    position: relative;
    margin: 0 0 20px 0;
}

.order-delivery .delivery-type input[type=radio] {
    position: absolute;
    top: 50%;
    left: 18px;
    margin-top: -6.5px;
}

.order-delivery .delivery-type input[type=radio]:checked ~ label {
    background-color: #fff;
    border-color: #461754;
}

.order-delivery .delivery-type label {
    border: 1px solid #E3E2E2;
    padding: 20px 60px 20px 45px;
    width: 100%;
}

.order-delivery .delivery-type label .delivery-type-icon {
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -20px;
}

.order-delivery .delivery-type label .delivery-type-icon img {
    max-height: 40px;    
    display: block;
}

.order-delivery .delivery-type label .delivery-type-name {
    font-family: 'FSerProB', sans-serif;
    color: #000;
    font-size: 13px;
    line-height: 16px;
    margin: 0 0 3px 0;
}

.order-delivery .delivery-type label .delivery-type-desc {
    color: #6A6665;
    font-size: 12px;
    line-height: 16px;
}


.order-info {
    background-color: #FBFAF9;
    padding: 25px;
    margin: 0 0 30px 0;
}

.order-info h3 {
    border-bottom: 1px solid #E3E2E2;
    padding: 0 0 15px 0;
    margin: 0 0 25px 0;
    color: #461754;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
}

.order-info label {
    margin: 0 0 4px 0;
}

.order-info .form-msg {
    color: #e30613;
    font-size: 12px;
    margin: 5px 0 0 0;
}


.products {
    padding-bottom: 100px;
}

.products .hero-area {
    padding: 50px 0;
}

.products .hero-area h1 {
    font-size: 50px;
    line-height: 60px;
    margin: 0 0 15px 0;
    color: #fff;
}

.products .hero-area p {
    color: #fff;
}

.products .hero-area a {
    color: #fff;
    text-decoration: underline;
}


.sort h3 {    
    font-family: 'FedraSansPro', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 20px 0;
    position: relative;
}

.sort.active h3:after {
    content: "\f106";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.sort h3:after {
    content: "\f107";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.sort.active .sort-result {
    display: block;
}

.sort .sort-result {
    margin: 0 0 30px 0;
    display: none;
}


.countries h3 {    
    font-family: 'FedraSansPro', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    margin: 8px 0 20px 0;
    position: relative;
}

.countries.active h3:after {
    content: "\f106";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.countries h3:after {
    content: "\f107";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.countries.active .countries-result {
    display: block;
}

.countries .countries-result {
    display: none;
}

.countries {
    margin: 0 0 30px 0;
}

.countries .view-all {
    float: right;
    padding: 11px 0;
}

.countries .view-all a {
    color: #afafaf;
    font-size: 12px;
    text-decoration: underline;
}

.countries .view-all a:hover {
    color: #e30613;
}

.countries h3 {
    font-family: 'FedraSansPro', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 20px 0;
}

.countries .country {
    padding: 10px;
    border: 1px solid #e3e2e2;
    margin: 0 0 20px 0;
    text-align: center;
    color: #461754;
    cursor: pointer;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.countries .country.active {
    background-color: #461754;
    color: #fff;
    border-color: #461754;
}

.countries .country:hover {
    border-color: #461754;
}


/* product */
.product .product-img {
    position: relative;
    margin: 0 0 50px 0;
}

.product .product-add-fav {
    background-color: transparent;
    border: 0;
    padding: 10px 0;
}

.product .assortment {
    padding-bottom: 100px;
}

.product .product-info {
    padding: 40px 0;
}

.product h1 {
    font-size: 24px;
    line-height: 32px;
    font-weight: bold;
    color: #000;
    text-transform: uppercase;
}

.product .product-src {
    margin: 15px 0;
}

.product .product-stock.in-stock {
    color: #179767;
    margin: 0 0 15px 0;
}

.product .product-stock.in-stock i {
    margin-right: 5px;
}

.product .product-rate {
    position: relative;
    display: table;
}

.product .product-rate .rate-tooltip {
    position: absolute;
    top: 40px;
    background-color: #fff;
    padding: 20px;
    border: 1px solid #343a40;
    z-index: 3;
    display: none;
    width: 320px;

    box-shadow: 0 7px 10px 0 rgba(162, 162, 162, 0.12), 
        0 0 1px 0 rgba(144, 144, 144, 0.25);
}

.product .product-rate .rate-tooltip:after {
    content: "";
    position: absolute;
    top: -23px;
    left: 0;
    height: 23px;
    width: 100%;
}

.product .product-rate .rate-tooltip:before {
    content: "";
    transform: rotate(45deg);
    width: 20px;
    height: 20px;
    position: absolute;
    top: -11px;
    left: 93px;
    background-color: #fff;
    border-left: 1px solid #343a40;
    border-top: 1px solid #343a40;
}

.product .product-rate:hover .rate-tooltip {
    display: block;
}

.product .product-rate .rate-tooltip .btn {
    margin: 15px auto 0;
    display: table;
    text-decoration: none;
}

.product .product-rate .rate-tooltip .rate-list ul {
    padding: 0 30px;
}

.product .product-rate .rate-list ul li {
    margin-bottom: 10px;
}

.product .product-rate .rate-list ul li i {
    color: #461754;
    font-size: 16px;
}

.product .product-rate .rate-list ul li .val {
    font-family: 'FedraSansPro', sans-serif;
    display: inline-block;
}

.product .product-rate .rate-list ul li .rate-progress-bar {
    display: inline-block;
    background-color: #3c4046;
    height: 5px;
    position: absolute;
}

.product .product-rate .rate-list ul li .rate-progress {
    position: relative;
    background-color: #CAC7C6;
    width: 100%;
    height: 5px;
}

.product .product-rate > ul {
    display: inline-block;
}

.product .product-rate > ul li {
    display: inline-block;
}

.product .product-rate > ul li i {
    color: #4E1E50;
}

.product .product-rate .rate {
    display: inline-block;
    margin: 0 5px 0 10px;
}

.product .product-rate a {
    display: inline-block;
    font-size: 12px;
    text-decoration: underline;
}

.product .product-desc {
    margin: 20px 0 35px;
}

.product .product-variants {
    background-color: #FBFAF9;
    padding: 15px;
    margin: 20px 0;
}

.product .product-variants .lab {
    margin: 0 0 10px 0;
}

.product .product-variants .product-variant {
    display: inline-block;
    margin-right: 10px;
    padding: 5px 20px;
    background-color: #fff;
    color: #4E1E50;
    border: 1px solid #e3e2e2;
    cursor: pointer;
    position: relative;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.product .product-variants .product-variant:hover {
    border-color: #4E1E50;
    background-color: #FBFAF9;
}

.product .product-variants .product-variant img {
    height: 22px;
    margin-right: 10px;
}

.product .product-variants .product-variant .variant-discount {
    position: absolute;
    top: -14px;
    right: -18px;
    background-color: #E81E25;
    width: 35px;
    height: 35px;
    text-align: center;
    line-height: 35px;
    color: #fff;
    border-radius: 100%;
    font-size: 10px;
}

.product .product-prices {
    margin: 0 0 15px 0;
}

.product .product-prices .new-price {
    font-size: 24px;
    line-height: 24px;
    font-weight: bold;
    color: #000;
    display: inline-block;
    margin-right: 10px;
}

.product .product-prices .old-price {
    display: inline-block;
    text-decoration: line-through;
    color: #bbb;
}

.product .product-delivery-hint {
    margin: 20px 0;
}

.product .product-delivery-hint h5 {
    font-size: 14px;
    line-height: 20px;
}

.product-quantity {
    position: relative;
    border: 1px solid #e3e2e2;
}

.product .product-features {
    padding: 70px 0;
}

.product .product-features.gray {
    background-color: #FBFAF9;
}

.product .product-features h4 {
    font-size: 18px;
    line-height: 24px;
    color: #4E1E50;
    margin: 0 0 15px 0;
}

.product .temperature img {
    margin: 0 0 8px 0;
}

.product .temperature span {
    display: block;
}

.product .region-info span {
    display: block;
    color: #c1c1c1;
}

.product .region-info .flag {
    display: block;
    margin: 5px 0 0 0;
}

.product .product-sort {
    padding: 0 0 6px 0;
    margin-bottom: 50px;
    border-bottom: 1px solid #e3e2e2;
}

.product .product-aromas ul li {
    display: inline-block;
    text-align: center;
    line-height: 16px;
}

.product .product-aromas ul li img {
    display: block;
    margin: 0 auto 10px;
}

.product .suitable-foods ul li {
    display: inline-block;
    text-align: center;
    line-height: 18px;
}

.product .suitable-foods ul li img {
    display: block;
    margin: 0 auto 10px;
}

.product .product-profile ul li {
    padding: 12px 30px 12px 0;
    border-bottom: 1px solid #e3e2e2;
}

.product .product-profile ul li .ingredient {
    display: inline-block;
    width: 95px;
}

.product .product-profile ul li .dot.empty {
    background-color: #DBD8DB;
}

.product .product-profile ul li .dot {
    background-color: #E81E25;
    width: 18px;
    height: 18px;
    border-radius: 100%;
    margin: 0 6px;
    display: inline-block;
}


.add-review .modal-body {
    padding: 0;
}

.add-review .review-info {
    background-color: #FBFAF9;
    border-left: 1px solid #DCDBDA;
    padding: 30px 40px;
}

.add-review .product-rate {    
    padding: 30px 0;
    font-size: 20px;
    font-weight: bold;
    color: #222;
}

.add-review .product-rate > ul {
    display: inline-block;
    margin-left: 15px;
    position: relative;
    top: 5px;
}

.add-review .product-rate > ul li {
    display: inline-block;
    margin-right: 7px;
}

.add-review .product-rate > ul li i {
    color: #4E1E50;
    font-size: 34px;
}

.add-review .form-hint {
    color: #b9b9b9;
    font-size: 14px;
}

.add-review .form-group {
    margin-bottom: 30px;
}

.add-review label {
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: bold;
    color: #222;
}

.add-review button {
    margin: 60px auto 0;
    display: table;
}

.add-review .review-img {
    margin: 30px auto 0;
    display: block;
    padding-left: 30px;
}

.add-review .lab-no {
    float: left;
}

.add-review .lab-yes {
    float: right;
}

.add-review .eval {
    margin: 0 0 5px 0;
    display: table;
    width: 100%;
}

.add-review .eval li {
    float: left;
    width: 10%;
}

.add-review .eval li label {
    text-align: center;
    padding: 10px 0;
    background-color: #F2F2F2;
    border-top: 1px solid #C9C9C9;
    border-bottom: 1px solid #C9C9C9;
    border-left: 1px solid #C9C9C9;
    cursor: pointer;
    display: block;
    font-size: 14px;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.add-review .eval li label:hover {
    opacity: .7;
    color: #461754;
}

.add-review .eval li input {
    display: none;
}

.add-review .eval li input:checked + label {
    background-color: #461754;
    border-top-color: #461754;
    border-bottom-color: #461754;
    color: #fff;
}

.add-review .eval li input:checked + label:hover {
    opacity: 1;
}

.add-review .eval li:last-of-type label {
    border-right: 1px solid #C9C9C9;
}


.add-review .rec-fr  {
    display: table;
    width: 100%;
}

.add-review .rec-fr li {
    float: left;
}

.add-review .rec-fr li label {
    text-align: center;
    padding: 10px 25px;
    background-color: #F2F2F2;
    border-top: 1px solid #C9C9C9;
    border-bottom: 1px solid #C9C9C9;
    border-left: 1px solid #C9C9C9;
    cursor: pointer;
    display: block;
    font-size: 14px;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.add-review .rec-fr li label:hover {
    opacity: .7;
    color: #461754;
}

.add-review .rec-fr li input {
    display: none;
}

.add-review .rec-fr li input:checked + label {
    background-color: #461754;
    border-top-color: #461754;
    border-bottom-color: #461754;
    color: #fff;
}

.add-review .rec-fr li input:checked + label:hover {
    opacity: 1;
}

.add-review .rec-fr li:last-of-type label {
    border-right: 1px solid #C9C9C9;
}



.modal-content {
    border: 0;
    border-radius: 0;
}

.modal-header {
    border-radius: 0;
}

.add-review .modal-header {
    background-color: #461754;
}

.add-review .modal-header h5 {
    color: #fff;
    text-align: center;
    display: block;
    width: 100%;
}


.comments {
    background-color: #FBFAF9;
}

.comments .rating .lab {
    margin: 16px 0 25px;
}

.comments .rating .rate {
    font-size: 40px;
    font-weight: bold;
    color: #461754;
}

.comments .rating .count {
    font-size: 12px;
    color: #bbb;
}

.comments .rate-list {
    margin: 0 0 50px 0;
}

.comments .rate-list .btn {
    margin: 0 0 29px auto;
    display: table;
}

.comments .rate-list ul li {
    margin-bottom: 10px;
}

.comments .rate-list ul li i {
    color: #461754;
    font-size: 16px;
}

.comments .rate-list ul li .val {
    font-family: 'FedraSansPro', sans-serif;
    display: inline-block;
}

.comments .rate-list ul li .rate-progress-bar {
    display: inline-block;
    background-color: #3c4046;
    height: 5px;
    position: absolute;
}

.comments .rate-list ul li .rate-progress {
    position: relative;
    background-color: #CAC7C6;
    width: 100%;
    height: 5px;
}

.comments .comment-row {
    padding: 35px 0;
    border-bottom: 1px solid #e3e2e2;
} 

.comments .comment-row .wine-recommended {
    margin: 20px 0 0 0;
}

.comments .comment-row .wine-recommended.yes {
    color: #179767;
}

.comments .comment-row .wine-recommended.no {
    color: #B70F14;
}

.comments .comment-row .wine-recommended i {
    margin-right: 2px;
}

.comments .comment-row .reviews-count {
    color: #c5c5c5;
    font-size: 12px;
}

.comments .comment-row .comment-author {
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    font-weight: bold;
    color: #414141;
}

.comments .comment-row .comment-heading {
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    margin: 0 0 10px 0;
    font-weight: bold;
    color: #414141;
}

.comments .comment-row .comment-rate {
    margin: 0 0 25px 0;
}

.comments .comment-row .comment-rate ul {
    display: inline-block;
}

.comments .comment-row .comment-rate ul li {
    display: inline-block;
}

.comments .comment-row .comment-rate ul li i {
    color: #4E1E50;
}

.comments .comment-row .comment-rate span {
    color: #c5c5c5;
    margin-left: 15px;
    font-size: 12px;
}

.comments .more {
    color: #6A6665;
    padding: 35px 0 0;
    margin: 0 auto;
    display: table;
    text-decoration: underline;
}

.comments .more:hover {
    color: #e30613;
}


/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.product-quantity input[type=number] {
    width: 100%;
    text-align: center;
    border: 0;
    height: 42px;

    -webkit-appearance: none;
}

.product-quantity button {
    background-color: transparent;
    border: 0;
    position: absolute;
    top: 0;
    height: 42px;
    width: 35px;
    outline: none;
}

.product-quantity .minus {
    left: 0;
}

.product-quantity .plus {
    right: 0;
}


/*product list*/
.products-list .product-item {
    text-align: center;
    position: relative;
}

.products-list .product-item .product-prices {
    margin: 10px 0 15px;
}

.products-list .product-item .product-name {
    font-size: 16px;
    line-height: 22px;
    font-weight: bold;
    margin: 0 0 30px 0;
    text-transform: uppercase;
    position: relative;
    font-family: 'FSerProB', sans-serif;
    color: #000;
}

.products-list .product-item .product-name:after {
    content: "";
    width: 30px;
    height: 1px;
    background-color: #bbb;
    position: absolute;
    bottom: -18px;
    left: 50%;
    margin-left: -15px;
}

.products-list .product-item .product-desc {
    color: #6A6665;
}

.products-list .product-item .product-prices .old-price {
    color: #bdbdbd;
    text-decoration: line-through;
}

.products-list .product-item .product-prices .price,
.products-list .product-item .product-prices .old-price {
    display: inline-block;
    margin: 0 5px;
    font-size: 16px;
}

.products-list .product-item .product-prices .price {
    font-weight: bold;
    color: #000;
}

.products-list .product-item {
    overflow: hidden;
    position: relative;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.products-list .product-item .product-img {
    overflow: hidden;
    position: relative;
    margin: 0 0 20px 0;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

/*.products-list .product-item .product-img:after {
    content: "";
    width: 100px;
    height: 100px;
    position: absolute;
    top: 130px;
    left: 60%;
    margin-left: -40px;
    border-radius: 100%;
    background-color: rgba(255,192,194,0.7);
    display: block;
    z-index: 3;
    opacity: 0;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.products-list .product-item:hover .product-img:after {
    top: 45px;
    margin-left: -60px;
    opacity: 1;
}

.products-list .product-item:hover .product-img {
    transform: scale(1.2);
}*/

.products-list .product-item .product-info {
    position: relative;
    background-color: #fff;
    padding: 10px 0 0 0;
    z-index: 3;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.products-list .product-item:hover .product-info {
    margin: -80px 0 0 0;
}

.products-list .product-item .product-action {
    opacity: 0;
}

.products-list .product-item:hover .product-action {
    opacity: 1;
}

.products-list .product-item .product-action .btn {
    width: 100%;
    display: block;
    margin: 0 0 10px 0;
    padding: 0 20px;
}

.products-list .product-item .product-action .btn:last-of-type {
    margin: 0;
}

.products-list.product-recently  .product-item .product-name {
    font-size: 14px;
    line-height: 20px;
}

.products-list.product-recently  .signature img {
    height: 20px;
}

.products-list .product-item:hover .add-fav {
    opacity: 1;
}

.add-fav {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
    opacity: 0;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.add-fav img {
    height: 15px;
}

.product-labels {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

.product-labels .product-label {
    width: 40px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    background-color: #000;
    border-radius: 100%;
    font-size: 10px;
    text-transform: uppercase;
    text-align: center;
}

.product-labels .product-label.label-new {
    background-color: #461754;
}

.product-labels .product-label.label-discount {
    background-color: #e81e25;
}

.product-labels .product-label.label-score {
    border: 2px solid #ddd;
    background-color: #fff;
    color: #333;
    font-size: 13px;
    line-height: 36px;
}

.product-labels li {
    margin-bottom: 5px;
}

.signature {
    margin: 10px 0 0 0;
}

.signature img {
    height: 28px;
}


/*product recently*/
.similar-products {
    padding-left: 70px;
    padding-right: 70px;
    padding-top: 50px;
    padding-bottom: 50px;
}


/*product recently*/
.product-recently {
    padding-left: 70px;
    padding-right: 70px;
    padding-top: 100px;
    padding-bottom: 25px;
}


/*new offers*/
.new-offers {
    padding-left: 70px;
    padding-right: 70px;
    padding-top: 100px;
    padding-bottom: 25px;
}

.new-offers.btn {
    padding: 0 10px;
}


/*special offers*/
.special-offers {
    background-color: #FBFAF9;
}

.special-offers.products-list .product-item .product-info {
    background-color: #FBFAF9;
}


/*assortment*/
.assortment .assortment-item {
    text-align: center;
}

.assortment .assortment-item .assortment-info {
    background-color: #FBFAF9;
    padding: 20px 30px 30px;
}

.assortment .assortment-item h3 {
    position: relative;
    font-size: 20px;
    line-height: 26px;
    font-weight: bold;
    margin: 0 0 30px 0;
    color: #461754;
    height: 52px;
}

.assortment .assortment-item h3:after {
    content: "";
    width: 30px;
    height: 1px;
    background-color: #bbb;
    position: absolute;
    bottom: -18px;
    left: 50%;
    margin-left: -15px;
}


/*offers*/
.offers {
    padding: 0 0 40px 0;
}

.offers .main-offer {
    margin: 0 0 30px 0;
    position: relative;
    overflow: hidden;
}

.offers .main-offer:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 0;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 40%));

    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.offers .main-offer:hover:before {
    height: 100%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 70%));
}

.offers .main-offer-text {
    position: absolute;
    left: 0;
    bottom: 18%;
    background-color: rgba(105,29,94,.8);
    height: auto;
    padding: 20px 0;
    width: 100%;
    padding-left: 15%;
    z-index: 3;

    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.offers .main-offer-text h3 {
    font-family: 'FedraSansPro', sans-serif;
    color: #fff;
    font-size: 28px;
    letter-spacing: 13px;
    text-transform: uppercase;
}

.offers .small-offer {
    position: relative;
}

.offers .small-offer .btn {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -23px;
    margin-left: -80px;
    width: 160px;
    text-align: center;
    opacity: 0;
}

.offers .small-offer:hover .btn {
    opacity: 1;
}

.offers .small-offer:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 0;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 40%));

    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.offers .small-offer:hover:before {
    height: 100%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 70%));
}


/*newsletter*/
.newsletter {
    background: url('../imgs/newsletter-bgr.jpg') top center no-repeat;
    background-size: cover;
    position: relative;
}

.newsletter:after {
    content: "";
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.newsletter .container {
    position: relative;
    z-index: 3;
}

.newsletter .heading {
    color: #fff;
    margin-bottom: 20px;
}

.newsletter .form-control {
    margin: 0 0 10px 0;
}

.newsletter label {
    color: #fff;
}

.newsletter .btn {
    height: 38px;
    line-height: 36px;
}

.newsletter .hint {
    text-align: center;
    color: #fff;
    margin: 0 0 30px 0;
    padding: 0 250px;
    opacity: .8;
    font-size: 16px;
}


/* EVENT */
.event .event-content {
    background-color: #fff;
    margin-top: -250px;
    margin-bottom: 50px;
}

.event .event-short {
    background-color: #FBFAF9;
    height: 100%;
}

.event .event-desc {
    padding: 40px 20px 20px 20px;
    border-left: 1px solid #bbb;
    border-right: 1px solid #bbb;
}

.event .event-desc .event-meta p {
    margin: 0;
}

.event .event-desc .event-meta .event-price small {
    font-size: 16px;
    line-height: 22px;
}

.event .event-desc .event-meta .event-price {
    font-size: 40px;
    line-height: 40px;
    font-weight: bold;
    color: #222;
    font-family: 'FSerProB', sans-serif;
}

.event .event-desc .event-meta {
    padding: 15px;
    background-color: #FBFAF9;
    margin: 0 0 20px 0;
}

.event .event-desc .event-meta span {
    font-size: 12px;
    line-height: 18px;
    margin: 0 0 5px 0;
    text-transform: uppercase;
    font-weight: bold;
    color: #222;
    display: block;
    margin: 0 0 5px 0;
}

.event .event-desc ul li {
    margin: 0 0 10px 0;
}

.event .event-desc h3 {
    color: #461754;
    margin: 0 0 10px 0;
}

.event .event-desc h1 {
    font-size: 50px;
    line-height: 60px;
    margin: 0 0 30px 0;
}

.event .event-info {
    padding: 5px 30px;
    font-size: 16px;
    line-height: 22px;
    font-weight: bold;
}

.event .event-date {
    padding: 30px 30px 25px 30px;
    margin: 0 0 20px 0;
    position: relative;
    color: #333;
    border-bottom: 1px solid #bbb;
}

.event .event-date span {
    font-size: 70px;
    line-height: 70px;
    font-weight: bold;
    display: inline-block;
    margin-right: 15px;
}

.event .event-date small {
    display: inline-block;
}

.event .event-action {
    padding: 60px 20px 0 20px;
}

.event .event-action {
    text-align: center;
}

.event .event-action .btn {
    display: block;
    width: 100%;
    margin: 0 0 15px 0;
}


/*events*/
.events {
    background-color: #FBFAF9;
    background-image: url('../imgs/events-bgr.png');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
}

.events .event-block:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 90%));

    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.events .event-block:hover:before {
    height: 100%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 100%));
}

.events .event-block .event-info {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    padding: 25px 30px 0;
}

.events .event-block .event-info h3 {
    position: relative;
    font-size: 24px;
    line-height: 26px;
    font-weight: bold;
    margin: 0 0 10px 0;
    color: #fff;
}

.events .event-block .event-info .event-meta .date {
    display: inline-block;
    color: #fff;
}

.events .event-block .event-info .event-meta .slots.slots-end {
    color: #E81E25;    
    text-transform: uppercase;
}

.events .event-block .event-info .event-meta .slots {
    display: inline-block;
    margin-left: 10px;
    color: #fff;
}


.events .event-block:hover .event-info .btn {
    max-height: 46px;
    border-width: 1px;
    margin-bottom: 30px;
    opacity: 1;
}

.events .event-block .event-info .btn {
    max-height: 0;
    overflow: hidden;
    position: relative;
    border-width: 0;
    opacity: 0;
    margin-top: 10px;

    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

.events .event-block {
    position: relative;
}

.events .event-space {
    margin-bottom: 30px;
}

.events .view-all {
    margin: 50px auto 0;
    display: table;
}


/* blog view */
.blog-view h1 {
    font-size: 48px;
    line-height: 58px;
    text-align: center;
    margin: 0 0 30px 0;
    color: #000;
    font-weight: bold;
}

.blog-view .blog-main-img {
    float: left;
    margin: 0 20px 20px 0;
}

.blog-view .meta {
    text-align: center;
    margin: 0 0 50px 0;
}

.blog-view .meta .date {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 5px 0;
}

.blog-view .meta .author {
    font-size: 16px;
    line-height: 22px;
    color: #000;
}

.blog-similar.blog-list.space {
    padding: 100px 0;
}

.blog-similar.blog-list .blog-item {
    margin: 0;
}

.blog-similar.blog-list .blog-item h3 a {
    font-size: 20px;
    line-height: 26px;
}


/*blog*/
.blog-list {
    padding-bottom: 0;
}

.home .blog-list .blog-item {
    margin: 0 0 0 0;
}

.blog-list .blog-item {
    text-align: center;
    margin: 0 0 50px 0;
}

.blog-list .blog-item-img {
    display: block;
    position: relative;
}

.blog-list .blog-item-img:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 0%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 10%));

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.blog-list .blog-item-img:hover:before {
    height: 100%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 40%));
}

.blog-list .blog-item h3 {
    margin: 20px 15px;
}

.blog-list .blog-item h3 a {
    font-size: 24px;
    line-height: 30px;
    font-weight: bold;
    color: #461754;
    display: inline-block;
}

.blog-list .blog-item h3 a:hover {
    color: #e30613;
}

.blog-list .view-all {
    margin: 50px auto 0;
    display: table;
}

.blog-list .hero-area {
    padding: 110px 0;
}

.blog-list .hero-area h1 {
    font-size: 50px;
    line-height: 60px;
    margin: 0 0 15px 0;
    color: #fff;
    text-align: center;
}

.blog-list .blog-filter {
    margin: 0 0 50px 0;
}    

.blog-list .blog-filter li {
    display: inline-block;
    margin: 0 5px;
}

.blog-list .blog-filter li a {
    padding: 10px;
    border: 1px solid #e3e2e2;
    margin: 0 0 20px 0;
    text-align: center;
    color: #461754;
    cursor: pointer;
    display: block;

    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
}

.blog-list .blog-filter li.active a {
    background-color: #461754;
    color: #fff;
    border-color: #461754;
}

.blog-list .blog-filter li a:hover {
    border-color: #461754;
}

.blog-list .blog-filter li:first-of-type {
    margin-left: 0;
}

.blog-list .blog-filter li:last-of-type {
    margin-right: 0;
}


.event .page-info {
    margin-bottom: 0;
}


.events-list {
    padding-bottom: 100px;
}

.events-list .heading {
    text-align: left;
    margin-bottom: 25px;
}

.events-list .cstm-pagination {
    margin-top: 50px;
}

.event-row {
    position: relative;
    margin: 0 0 30px 0;
    overflow: hidden;
    display: block;
}

.event-row:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 90%));
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.event-row:hover:before {
    height: 100%;
    background-image: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 100%));
}

.event-row .event-label {
    background-color: #E81E25;
    color: #fff;
    width: 90px;
    height: 90px;
    text-align: center;
    line-height: 88px;
    border-radius: 100%;
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 3;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 12px;
}

.event-row .event-info {
    position: absolute;
    bottom: 0;
    padding: 15px 10px;
}

.event-row .event-info .event-date {
    padding: 0 20px;
    margin: 20px 30px 20px 0;
    color: #fff;
    position: relative;
}

.event-row .event-info .event-desc:before {
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    left: -32px;
    background-color: #ffffff7a;
    width: 1px;
}

.event-row .event-info .event-date span {
    font-size: 70px;
    line-height: 40px;
    font-weight: bold;
    color: #fff;
    display: inline-block;
    margin-right: 15px;
}

.event-row .event-info .event-date small {
    display: inline-block;
}

.event-row .event-info .event-desc {
    padding: 0 20px;
    margin: 20px 0;
    position: relative;
}

.event-row .event-info .event-desc h3 {
    color: #fff;
    margin: 0 0 10px 0;
    font-size: 24px;
    line-height: 30px;
    font-weight: bold;
}

.event-row .event-info .event-desc p {
    color: #fff;
}

.events-list .hero-area {
    padding: 110px 0;
}

.events-list .hero-area h1 {
    font-size: 50px;
    line-height: 60px;
    margin: 0 0 15px 0;
    color: #fff;
    text-align: center;
}

.events-filter h4 {
    text-transform: uppercase;
    font-family: 'FedraSansPro', sans-serif;
    margin: 0 0 25px 0;
}

.event-checkout .cart-delivery-hint img {    
    height: 18px;
    margin-right: 4px;
    position: relative;
    top: -2px;
}

.event-checkout .cart-delivery-hint {
    margin-top: 0;
    background-color: #f1e5f1;
}

.event-checkout .sum {
    padding: 10px 0 10px 0;
    border-bottom: 1px solid #e3e2e2;
}


.mystery-box .hero {
    position: relative;
    overflow: hidden;
}

.mystery-box .hero-text {
    position: absolute;
    left: 0;
    bottom: 18%;
    background-color: rgba(105,29,94,.8);
    height: auto;
    padding: 20px 0;
    width: 100%;
    padding-left: 15%;
    z-index: 3;

    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.mystery-box .hero h3 {
    font-family: 'FedraSansPro', sans-serif;
    color: #fff;
    font-size: 28px;
    letter-spacing: 13px;
    text-transform: uppercase;
}

.mystery-box .video .heading {
    text-align: left;
    text-transform: inherit;
    margin-bottom: 30px;
    color: #4e1e50;
}

.mystery-box .video p {
    margin-bottom: 30px;
}

.mystery-box .video iframe {
    width: 100%;
    height: 450px
}

.back {
    margin: 10px 0 0 0;
    display: inline-block;
}

.back i {
    margin-right: 5px;
}


.login {
    background-image: url(../imgs/login-sharps.svg);
    background-repeat: repeat-y;
    background-position: bottom left;
}

.login .forgot-password {
    float: right;
}

.login .icon-mail {
    top: 13px;
}

.login .icon-password {
    top: 10px;
}

.login button {
    display: block;
    width: 100%;
}

.login .new-reg {
    text-align: center;
    margin: 40px 0 0 0;
}

.login .new-reg span {
    display: block;
}

.login .new-reg a {
    display: inline-block;
    text-decoration: underline;
    color: #969595;
    margin: 2px 0 0 0;
}

.login .new-reg a:hover {
    text-decoration: none;
    color: #e30613;
}


.page-info {
    padding: 15px 0;
    margin: 0 0 30px 0;
}

.page-info ol li {
    display: inline-block;
    margin: 0 10px;
    position: relative;
    color: #afafaf;
}

.page-info ol li:first-of-type {
    margin-left: 0;
}

.page-info ol li a {
    text-decoration: none;
    color: #3d3b6c;
}

.page-info ol li::after {
    content: "›";
    position: absolute;
    top: 0px;
    right: -14px;
}

.page-info ol li:last-of-type:after {
    display: none;
}


.sidebar h3 {    
    font-family: 'FedraSansPro', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 20px 0;
    position: relative;
}

.sidebar.active h3:after {
    content: "\f106";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.sidebar h3:after {
    content: "\f107";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.sidebar.active .widgets {
    display: block;
}

.sidebar .widget:first-of-type {
    padding-top: 0;
}

.sidebar .widget {
    border-bottom: 1px solid #e3e2e2;
    padding: 20px 0;
}

.sidebar .widget .widget-box {
    margin: 10px 0 0 0;
    display: none;
}

.sidebar .widget.widget-active .widget-box {
    display: block;
}

.sidebar .widget h4 {
    font-size: 14px;
    line-height: 20px;
    padding-right: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #222;
    font-family: 'FedraSansPro', sans-serif;
    position: relative;
    cursor: pointer;
}

.sidebar .widget.widget-active h4:after {
    content: "\f106";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.sidebar .widget h4:after {
    content: "\f107";
    font-family: "FontAwesome";
    top: 0;
    right: 0;
    position: absolute;
    font-size: 16px;
}

.sidebar .widget .aside-dropdown > li  {
    position: relative;
    padding: 0 0 0 15px;
}

.sidebar .widget .aside-dropdown > li.dd-menu > a {

}

.sidebar .widget .aside-dropdown > li.dd-menu ul {
    display: none;
}

.sidebar .widget .aside-dropdown > li.dd-menu:after {
    content: "\f105";
    font-family: "FontAwesome";
    top: 0;
    left: 0;
    position: absolute;
    font-size: 16px;
}

.sidebar .widget .aside-dropdown > li.dd-menu-active ul {
    display: block;
}

.sidebar .widget .aside-dropdown > li.dd-menu-active:after {
    content: "\f107";
    font-family: "FontAwesome";
    top: 0;
    left: 0;
    position: absolute;
}

.sidebar .widget .aside-dropdown > li:last-of-type {
    border: 0;
}

.sidebar .widget .aside-dropdown > li > a {
    padding: 3px 0;
    display: block;
    font-size: 14px;
    line-height: 20px;
}

.sidebar .widget .aside-dropdown > li > a:hover {
    color: #e30613;
}

.sidebar .widget .aside-dropdown > li > ul {
    padding: 0 0 15px 0;
}

.sidebar .widget .aside-dropdown > li > ul > li > a {
    padding: 4px 15px 4px 10px;
    display: block;
    line-height: 18px;
    color: #afafaf;
}

.sidebar .widget .aside-dropdown > li > ul > li > a:hover {
    color: #e30613;
}


.sidebar .widget .sort-search {
    position: relative;
    margin: 0 0 20px 0;
}

.sidebar .widget .sort-search img {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 18px;
}

.sidebar .widget .sort-search .form-control {
    font-size: 12px;
    padding-left: 35px;
}


.sidebar .widget .filter-list {
    max-height: 200px;
    overflow-x: auto;
    position: relative;
}

.sidebar .widget .filter-list .filter-item {
    padding: 0 0 0 28px;
    position: relative;
    margin: 10px 0;
}

.sidebar .widget .filter-list .filter-item a {
    color: #afafaf;
}

.sidebar .widget .filter-list .filter-item a:hover {
    color: #e30613;
}

.sidebar .widget .filter-list .filter-item.selected a {
    color: #e30613;
}

.sidebar .widget .filter-list .filter-item.selected:after {
    content: "";
    background: url(../imgs/icons/check.svg) center center no-repeat;
    background-size: 24px;
    position: absolute;
    top: 0px;
    left: 0;
    width: 19px;
    height: 20px;
}

.sidebar .widget .filter-list .filter-item:before {
    content: "";
    width: 18px;
    height: 18px;
    border: 1px solid #e3e2e2;
    display: block;
    position: absolute;
    top: 1px;
    left: 0;
}

.sidebar .widget .filter-list .filter-item.selected:before {
    border-color: #e30613;
}


aside .clear-all {
    margin: 20px 0;
}

aside .clear-all a {
    color: #afafaf;
    font-size: 12px;
    text-decoration: underline;
}

aside .clear-all a:hover {
    color: #e30613;
}


/*footer*/
footer {
    background-image: url(../imgs/footer-sharps.svg);
    background-repeat: repeat-y;
    background-position: bottom left;
    background-color: #3C4046;
    padding: 85px 0 50px;
}

footer h3 {
    color: #fff;
    font-size: 16px;
    line-height: 22px;
    margin: 0 0 20px 0;
}

footer ul li {
    margin-bottom: 10px;
    display: block;
}

footer ul li a {
    color: #b3b3b3;
}

footer ul li a:hover {
    text-decoration: underline;
    color: #cecece;
}

footer .footer-contacts.visit-us a {
    color: #b3b3b3;
}

footer .footer-contacts.visit-us a:hover {
    text-decoration: underline;
    color: #cecece;
}

footer .footer-contacts.visit-us span {
    font-size: 18px;
    display: block;
}

footer .footer-contacts.visit-us span img {
    position: absolute;
    left: 0;
}

footer .footer-contacts li {
    color: #b3b3b3;
    margin-bottom: 30px;
    padding-left: 28px;
    position: relative;
}

footer .footer-contacts li a {
    color: #e30613;
    display: block;
    font-size: 18px;
    line-height: 24px;
}

footer .footer-logo {
    margin: 60px auto 0;
    display: table;
}

footer .footer-logo img {
    height: 40px;
}


/*form components*/
.radio,
.checkbox {
    padding: 0 0 0 26px;
    position: relative;
}

.radio input[type="radio"],
.checkbox input[type="checkbox"] {
    opacity: 0;
    z-index: 1;
    cursor: pointer;
    position: absolute;
}

.checkbox label::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 17px;
    left: 0;
    border: 1px solid #cccccc;
    background-color: #fff;
}

.checkbox label::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 0;
    font-size: 12px;
    color: #555555;
}

.checkbox input[type="checkbox"]:checked+label::after {
    font-family: "FontAwesome";
    content: "\f00c";
}

.radio label::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 17px;
    left: 0;

    border: 1px solid #cccccc;
    border-radius: 50%;
    background-color: #fff;

    -webkit-transition: border 0.15s ease-in-out;
    -o-transition: border 0.15s ease-in-out;
    transition: border 0.15s ease-in-out;
}

.radio label::after {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background-color: #555555;

    -webkit-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    -o-transform: scale(0, 0);
    transform: scale(0, 0);

    -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
    -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
    -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
    transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
}

.radio input[type="radio"] {
    opacity: 0;
    z-index: 1;
    cursor: pointer;
}

.radio input[type="radio"]:checked+label::after {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
}


/*owl*/
.owl-carousel .owl-nav {
    width: 100%;
}

.owl-carousel .owl-nav button .fa {
    font-size: 60px;
    line-height: 60px;
    height: 63px;
    display: block;
}

.owl-carousel .owl-nav button.owl-prev {
    position: absolute;
    top: 50%;
    left: -60px;
    margin-top: -32px;
}

.owl-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    right: -60px;
    margin-top: -32px;
}

.owl-theme .owl-nav [class*=owl-]:hover {
    background: none;
    color: #869791;
}

.owl-theme .owl-nav [class*=owl-] {
    outline: none;
}

.carousel-indicators li {
    border: 3px solid #d5d1cf;
    background-color: #d5d1cf;
    border-radius: 100%;
    height: 7px;
    width: 7px;
    margin: 0 6px;
}

.carousel-indicators li.active {
    border: 2px solid #461754;
    background-color: transparent;
}

.user-widget .user-nav,
.sub-lang {
    z-index: 125;
}

.fix-phone span {
    width: 0;
    font-size: 0;
}

.fix-phone i {
    display: block;
    font-size: 32px;
    line-height: 60px;
}

.fix-phone {
    width: 60px;
    height: 60px;
    display: block;
    background-color: #461754;
    border-radius: 100%;
    color: #fff;
    text-align: center;
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 105;
}

.fix-phone:hover,
.fix-phone:active,
.fix-phone:focus {
    color: #fff;
}


.switch label {
    cursor: pointer;
}

.switch label input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch label input[type="checkbox"]:not(:checked), 
.switch label input[type="checkbox"]:checked {
    position: absolute;
    pointer-events: none;
    opacity: 0;
}

.switch label .lever {
    position: relative;
    display: inline-block;
    margin: 0 1rem;
    margin-right: .625rem;
    vertical-align: middle;
    content: "";
    background-color: #E2E1E1;
    border-radius: .9375rem;
    width: 2.5rem;
    height: .9375rem;
    -webkit-transition: background .3s ease;
    transition: background .3s ease;
}

.switch label .lever:after {
    position: absolute;
    top: -.1875rem;
    left: -.3125rem;
    display: inline-block;
    content: "";
    background-color: #8C8B8B;
    border-radius: 1.3125rem;
    width: 1.3125rem;
    height: 1.3125rem;
    -webkit-transition: left .3s ease,background .3s ease,-webkit-box-shadow 1s ease;
    transition: left .3s ease,background .3s ease,-webkit-box-shadow 1s ease;
    transition: left .3s ease,background .3s ease,box-shadow 1s ease;
    transition: left .3s ease,background .3s ease,box-shadow 1s ease,-webkit-box-shadow 1s ease;
}

.switch label input[type="checkbox"]:checked+.lever {
    background-color: #A479B2;
}

.switch label input[type="checkbox"]:checked+.lever:after {
    left: 1.5rem;
    background-color: #4E1E50;
}



.cstm-pagination {
    margin: 0 auto;
    display: table;
}

.cstm-pagination ul {
    font-size: 0;
}

.cstm-pagination ul li {
    display: inline-block;
    font-size: 12px;
}

.cstm-pagination ul li .page-numbers {
    font-size: 14px;
    line-height: 36px;
    display: block;
    width: 38px;
    height: 38px;
    text-align: center;
    border: 2px solid transparent;
    margin: 0 6px;
    border: 1px solid #e3e2e2;
    border-radius: 100%;
}

.cstm-pagination ul li .page-numbers:hover {
    border: 1px solid #461754;
    color: #461754;
}

.cstm-pagination ul li.active .page-numbers {
    border: 1px solid #461754;
    background-color: #461754;
    color: #fff;
}


.ps__thumb-y {
    border-radius: 0;
}

.ps .ps__rail-y, 
.ps .ps__rail-y {
    background-color: #eee;
    opacity: 0.6;
    width: 8px;
}

.ps .ps__rail-y:hover, 
.ps .ps__rail-y:focus, 
.ps .ps__rail-y.ps--clicking {
    background-color: #eee;
    opacity: 0.9;
    width: 15px;
}


.owl-stage{padding-left:0px !important;}



/* ============================================= */
.thankyou h1 {
    font-size: 34px;
    line-height: 40px;
    margin: 0 150px 30px 150px;
    text-align: center;
    color: #461754;
}

.thankyou .total {
    margin-top: 50px;
}


.register h1,
.login h1 {
    color: #461754;
}

.register {
    background-image: url(../imgs/login-sharps.svg);
    background-repeat: repeat-y;
    background-position: bottom left;
}

.register .icon-name {
    top: 13px;
}

.register .icon-mail {
    top: 13px;
}

.register .icon-password {
    top: 10px;
}

.register button {
    display: block;
    width: 100%;
}

.register .exist-reg {
    text-align: center;
    margin: 40px 0 0 0;
}

.register .exist-reg span {
    display: block;
}

.register .exist-reg a {
    display: inline-block;
    text-decoration: underline;
    color: #969595;
    margin: 2px 0 0 0;
}

.register .exist-reg a:hover {
    text-decoration: none;
    color: #e30613;
}


.faq h1 {
    color: #461754;
}

.faq .faq-category {
    margin: 0 0 30px 0;
}

.faq .faq-category:last-of-type {
    margin: 0 0 0 0;
}

.faq .faq-category h3 {
    margin: 0 0 15px 0;
    text-transform: uppercase;
    font-weight: bold;
    font-family: 'FedraSansPro', sans-serif;
}

.faq .question {
    background-color: #fff;
    padding: 13px 55px 13px 0;
    cursor: pointer;
    position: relative;
    font-family: 'A1Serif', Arial, serif;
    font-weight: bold;
}

.faq .question.collapsed {
    box-shadow: none;
    background-color: #fff;
}

.faq .question.active {
    background: #fafafa;
}

.faq .accordion {
    margin: 0 0 50px 0;
}

.faq .accordion .accordion-item {
    border-bottom: 1px solid #eaeaea;
}

.faq .accordion:last-of-type {
    margin: 0;
}

.faq .accordion .question:after {
    content: "-";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -15px;
    font-size: 20px;
}

.faq .accordion .question.collapsed:after {
    content: "+";
    margin-top: -13px;
}

.faq .answer .answer-content {
    padding: 10px 0 30px;
    opacity: .6;
}

.faq .faq-heading {
    font-size: 16px;
    line-height: 22px;
    font-weight: bold;
    margin: 0 0 10px 0;
    text-transform: uppercase;
}


.forgot-password h1 {
    color: #461754;
}

.forgot-password h3 {
    font-family: 'FedraSansPro', sans-serif;
    font-size: 16px;
    line-height: 22px;
    font-weight: bold;
    margin: 0 0 10px 0;
}

.forgot-password {
    background-image: url(../imgs/login-sharps.svg);
    background-repeat: repeat-y;
    background-position: bottom left;
}

.forgot-password .icon-mail {
    top: 13px;
}

.forgot-password .back {
    margin: 30px auto 0;
    display: table;
}

.forgot-password button {
    display: block;
    width: 100%;
}


.card-payment  h1 {
    color: #461754;
}

.card-payment button {
    display: block;
    width: 100%;
}

.card-payment .back {
    margin: 0;
}


.textpage  h1 {
    color: #461754;
}

.textpage h3 {
    text-transform: uppercase;
    font-size: 16px;
    line-height: 22px;
    margin: 0 0 10px 0;
    font-family: 'FedraSansPro', sans-serif;
    font-weight: bold;
}


.contacts {
    background-color: #FBFAF9;
    position: relative;
}

.contacts .map {
    position: relative;
    z-index: 2;
}

.contacts:after {
    content: "";
    min-height: 100%;
    width: 30%;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
}

.contacts h1 {
    color: #461754;
    margin: 0 0 20px 0;
}

.contacts h4 {
    font-size: 14px;
    line-height: 22px;
    margin: 0 0 10px 0;
    font-weight: bold;
    font-family: 'FedraSansPro', sans-serif;
}

.contacts .contact-form .form-group {
    margin-bottom: 30px;
}

.contacts .contact-form {
    background-color: #fff;
    padding: 45px 55px 80px 55px;
    border-left: 1px solid #DCDAD9;
    z-index: 2;
    position: relative;
}

.contacts .contact-form p {
    margin: 0 0 40px 0;
}

.contacts .contact-info {
    padding: 45px 0 0 0;
}

.contacts .contact-info ul li {
    border-bottom: 1px solid #DCDAD9;
    padding: 25px 0 25px 30px;
}

.contacts .contact-info ul li a {
    color: #e30613;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    margin: 5px 0;
    display: block;
}

.contacts .contact-info ul li p {
    margin: 0;
}

.contacts .contact-info ul li span {
    font-weight: bold;
    color: #000;
    display: block;
}


.favorites.products {
    padding-bottom: 0;
}

.favorites h1 {
    color: #461754;
}


.about-us .page-info {
    background-color: #FBFAF9;
    margin: 0;
}

.about-us .about-text {
    padding: 50px 0;
    text-align: center;
}

.about-us .about-text p {
    font-size: 16px;
    line-height: 24px;
}

.about-us .hero-area {
    padding: 120px 0;
}

.about-us .hero-area h1 {
    font-size: 50px;
    line-height: 60px;
    margin: 0 0 15px 0;
    color: #fff;
    text-align: center;
}


.team {
    padding-bottom: 30px;
}

.team .person {
    margin: 0 0 70px 0;
}

.team .person-name {
    font-size: 24px;
    line-height: 28px;
    text-align: center;
    color: #461754;
    font-family: 'FSerProB', sans-serif;
    margin: 20px 0 8px 0;
}

.team .person-pos {
    text-align: center;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
    color: #000;
    margin: 0 0 20px 0;
}

.team a {
    margin: 0 auto;
    display: table;
    text-transform: uppercase;
    opacity: .6;
    text-decoration: underline;
}

.team a:hover {
    color: #e30613;
}

.team .person-text {
    text-align: center;
    margin: 0 0 25px 0;
}

.team .person-text p:last-of-type {
    margin: 0;
}


.testimonials {
    background-color: #FBFAF9;
}

.testimonials .testimonial {
    text-align: center;
}

.testimonials .testimonial .testimonial-img {
    border-radius: 100%;
    margin: 25px auto 10px;
    width: 60px;
    height: 60px;
    display: block;
}

.testimonials .testimonial .testimonial-author {
    margin: 0 0 10px 0;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
    color: #000;
}

.testimonials .btn {
    margin: 15px auto 0;
    display: table;
}


.payment-bank {
    padding: 25px;
    border: 1px solid #e3e2e2;
    margin-top: 50px;
}

.payment-bank h3 {
    border-bottom: 1px solid #E3E2E2;
    padding: 0 0 15px 0;
    margin: 0 0 25px 0;
    color: #461754;
    font-size: 20px;
    line-height: 26px;
    font-weight: bold;
}

.payment-bank ul li {
    clear: both;
    border-top: 1px solid #e3e2e2;
    padding: 10px 0;
    display: table;
    width: 100%;
}

.payment-bank ul li:last-of-type {
    padding-bottom: 0;
}

.payment-bank ul li:first-of-type {
    border: 0;
    padding-top: 0;
}

.payment-bank ul li .lab {
    float: left;
}

.payment-bank ul li .val {
    float: right;
    font-weight: bold;
    color: #000;
}



/*newsletter*/
.events-action {
    background: url('../imgs/newsletter-bgr.jpg') top center no-repeat;
    background-size: cover;
    position: relative;
}

.events-action:after {
    content: "";
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.events-action .container {
    position: relative;
    z-index: 3;
}

.events-action .heading {
    color: #fff;
    margin-bottom: 20px;
}


.events-action {
    text-align: center;
}

.events-action p {
    color: #fff;
    font-size: 16px;
    margin: 0 0 35px 0;
}


.where-are-we {
    background: url('../imgs/where-are-we.jpg') center center no-repeat;
    background-size: cover;
}

.where-are-we .heading {
    color: #fff;
    margin: 0;
}


.gallery-text {
    background-color: #FBFAF9;
}

.gallery-text .sup-heading {
    margin: 0 0 10px 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 12px;
}

.gallery-text .heading {
    margin-bottom: 30px;
}

.gallery-text .sub-heading {
    text-align: center;
    margin: 0 0 50px 0;
    text-transform: uppercase;
    font-size: 12px;
    line-height: 22px;
}

.gallery-text .text-block {
    margin: 20px 0;
}


.gallery .hero-area {
    padding: 120px 0;
}

.gallery .hero-area h1 {
    font-size: 50px;
    line-height: 60px;
    margin: 0 0 15px 0;
    color: #fff;
    text-align: center;
}


.short-contacts {
    text-align: center;
}

.short-contacts img {
    margin: 0 0 20px 0;
}

.short-contacts a {
    font-weight: bold;
}

.short-contacts .lab {
    font-weight: bold;
    color: #000;
    margin: 0 0 7px 0;
}

.short-contacts .val {
    padding: 0 50px;
}


.consultants  {
    padding-bottom: 30px;
}

.consultants .consultant {
    margin: 0 0 70px 0;
}

.consultants .consultant .consultant-content {
    padding: 0 30px;
}

.consultants .consultant .consultant-content.md-cl-pl {
    padding-left: 0;
}

.consultants .consultant .consultant-name {
    font-family: 'FSerProB', sans-serif;
    font-size: 24px;
    line-height: 28px;
    color: #461754;
    margin: 0 0 7px 0;
}

.consultants .consultant .consultant-pos {
    text-transform: uppercase;
    color: #000;
    font-size: 12px;
}

.consultants .consultant .consultant-desc {
    margin: 20px 0 0 0;
}