html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

a {
    background-color: transparent
}

a:active,
a:hover {
    outline: 0;
    text-decoration: none
}

b,
strong {
    font-weight: 700
}

h1 {
    margin: .67em 0;
    font-size: 2em
}

img {
    border: 0
}

button {
    margin: 0;
    font: inherit;
    color: inherit
}

button {
    overflow: visible
}

button {
    text-transform: none
}

button {
    -webkit-appearance: button;
    cursor: pointer
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

:after,
:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

html {
    font-size: 10px;
    -webkit-tap-highlight-color: transparent
}

body {
    font-family: 'Quicksand', sans-serif;
    font-size: 15px;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff;
}

button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

a {
    color: #337ab7;
    text-decoration: none
}

a:focus,
a:hover {
    color: #23527c
}

a:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px
}

img {
    vertical-align: middle
}

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto
}

h1,
h2,
h3,
h4 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit
}

h1,
h2,
h3 {
    margin-top: 20px;
    margin-bottom: 10px
}

h4 {
    margin-top: 10px;
    margin-bottom: 10px
}

h1 {
    font-size: 36px
}

h2 {
    font-size: 25px
}

h3 {
    font-size: 24px
}

h4 {
    font-size: 18px
}

p {
    margin: 0 0 10px
}

ol,
ul {
    margin-top: 0;
    margin-bottom: 10px
}

ol ol {
    margin-bottom: 0
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:768px) {
    .container {
        width: 750px
    }
}

@media (min-width:992px) {
    .container {
        width: 970px
    }
    .container-full {
        padding-left: 0;
        padding-right: 0
    }
}

@media (min-width:1200px) {
    .container {
        width: 1170px
    }
}

.row {
    margin-right: -15px;
    margin-left: -15px
}

.col-lg-3,
.col-lg-9,
.col-md-3,
.col-md-9,
.col-sm-10,
.col-sm-12,
.col-sm-2 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px
}

@media (min-width:768px) {
    .col-sm-10,
    .col-sm-12,
    .col-sm-2 {
        float: left
    }
    .col-sm-12 {
        width: 100%
    }
    .col-sm-10 {
        width: 83.33333333%
    }
    .col-sm-2 {
        width: 16.66666667%
    }
}

@media (min-width:992px) {
    .col-md-3,
    .col-md-9 {
        float: left
    }
    .col-md-9 {
        width: 75%
    }
    .col-md-3 {
        width: 25%
    }
}

@media (min-width:1200px) {
    .col-lg-3,
    .col-lg-9 {
        float: left
    }
    .col-lg-9 {
        width: 75%
    }
    .col-lg-3 {
        width: 25%
    }
}


.breadcrumb {
    padding: 8px 15px;
    margin-bottom: 0;
    margin-top: 0;
    list-style: none;
    font-size: 12px
}

.breadcrumb>li {
    display: inline-block
}

.breadcrumb>li+li:before {
    padding: 0 5px;
    color: #ccc;
    content: "/\00a0"
}

.breadcrumb>.active {
    color: #777
}

.clearfix:after,
.clearfix:before,
.container-full:after,
.container-full:before,
.container:after,
.container:before,
.row:after,
.row:before {
    display: table;
    content: " "
}

.clearfix:after,
.container-full:after,
.container:after,
.row:after {
    clear: both
}

@-ms-viewport {
    width: device-width
}

@media (max-width:767px) {
    .hidden-xs {
        display: none!important
    }
}

@font-face {
    font-family: "San Francisco";
    font-weight: 400;
    src: url(/frontend/fonts/sanfrancisco/sanfranciscodisplay-regular-webfont.woff)
}

.mb-content {
    background-color: #fff;
    padding: 0;
    margin-bottom: 15px
}

.js-click-coupon {
    cursor: pointer
}

.clear {
    clear: both
}

.vertical {
    margin: auto;
    display: block;
    vertical-align: middle;
    overflow: hidden
}

.vertical img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 11px;
    color: #555
}

a,
button {
    transition: all .2s ease-out;
    -webkit-transition: all .2s ease-out;
    -ms-transition: all .2s ease-out
}

.card-store-logo {
    background-color: #fff;
    border: 1px solid #d3d3d3;
    border-radius: 0;
    box-sizing: content-box;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 90px;
    overflow: hidden;
    padding: 8px;
    text-align: center;
    width: 100%;
    transition: all 250ms ease;
    border-radius: 3px
}

[data-role=breadcrumb] {
    border-bottom: 1px solid #d1d1d1
}

.store-name-box {
    color: #532b54;
    margin: 0;
    padding: 0;
    line-height: 1.15em;
    font-size: 23px;
    font-weight: 500;
    text-transform: capitalize;
    display: block;
    width: 100%;
}

.store-logo {
    margin: 0 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: 80px
}

.store-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    font-size: 12px;
    color: #888
}

.subheader .store-subtitle {
    color: #333;
    float: left;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.15em;
    margin: 0 auto 7px;
    padding: 0 0 7px;
    width: 100%
}

.about-store .store-subtitle {
    color: #053365
}

.widget+.widget {
    margin-top: 20px
}

.widget-title {
    font-size: 17px;
    font-weight: 500;
    margin-top: 0;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 15px
}

.widget-title:after {
    height: 1px;
    width: 55px;
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 0;
    content: "";
    background: gray
}

.favorite-related-stores {
    margin-bottom: 15px
}

.widget-body.favorite-related-stores {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    grid-gap: 5px
}

.widget-body.favorite-related-stores .card-store-logo {
    width: auto;
    font-size: 11px;
    color: #333
}

.widget-body.favorite-related-stores .card-store-logo:hover {
    border-color: #a55e7c;
    color: #a55e7c
}

.widget-body.favorite-related-stores img {
    height: 71px;
    object-fit: contain
}

.store-desc-wrap {
    margin: 0;
    font-size: 13px
}

.store-desc,
.store-img {
    display: block;
    float: left
}

.store-img {
    width: 100px
}

.store-img img {
    max-width: 100%;
    max-height: 100%
}

.store-desc {
    width: calc(100% - 100px);
    padding: 0
}

.store-desc h2 {
    margin: 0 auto 10px;
    display: block;
    text-align: left;
    font-size: 19px;
    color: #555
}

.store-desc h2 span {
    color: #333
}

.store-desc-detail {
    font-size: 0
}

.store-desc-detail>* {
    font-size: 13px
}

.clr {
    clear: both
}

.similar-shops-list {
    margin: 0;
    padding: 0
}

.similar-shops-list a {
    padding: 0;
    margin-top: 5px;
    display: inline;
    transition: all .2s ease-out;
    -webkit-transition: all .2s ease-out;
    -ms-transition: all .2s ease-out;
    text-transform: capitalize;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical
}

.similar-shops-list a::before {
    content: " › ";
    color: #666
}

.similar-shops-list a:hover {
    color: #111
}

.mb-content a {
    word-break: break-all
}

.button-wapper {
    clear: both
}

.coupon-label-box {
    width: 80px;
    float: left;
    padding-top: 25px;
    padding-bottom: 25px;
    text-align: center
}

.tag-icon {
    fill: #f3890f
}

.coupon-label-box+.offer-body {
    width: calc(100% - 80px);
    padding-left: 10px
}

@media (max-width:992px) {
    [data-role=list-by-store] .offer-content {
        display: flex
    }
    iframe {
        max-width: 100% !important;
        height: auto !important;
    }

}

[data-role=list-by-store] .coupon-label-context {
    color: #f7931e!important
}

.coupon-label-box .coupon-label-context {
    width: 80px;
    display: flex;
    display: -webkit-block;
    justify-content: center;
    align-items: center;
    font-size: 23px;
    flex-direction: column;
    text-align: center;
    font-weight: 700;
    line-height: 1em;
    text-transform: uppercase
}

.coupon-label-box .coupon-label-context>* {
    line-height: 1em
}

.coupon-label-box .tag-label svg {
    width: 30px
}

.coupon-label-box .shipping-label {
    font-size: 12px
}

#toc {
    border: 1px solid #e1e1e1;
    padding: 1em;
    font-size: 90%;
    width: 100%;
    margin-top: 25px;
}

#toc-header {
    display: block;
    padding: 0;
    font-size: 100%;
    font-weight: 700;
    margin-bottom: 15px;
}

#toc ol {
    counter-reset: item;
    padding-left: 15px;
}

#toc ol ol,
#toc ol ol ol {
    padding-left: 10px;
}

#toc li {
    margin-bottom: 10px;

}
#toc li > ol {
    margin-top: 10px;
    display: block;
}

#toc li:before {
    content: counters(item, ".") ". ";
    counter-increment: item
}

#toc a {
    color: #196cb5
}

.related-coupons {
    background-color: #fff;
    border-radius: 3px;
    padding: 7px 13px 15px;
    box-shadow: 0 2px 4px -2px rgba(0, 0, 0, .15)
}

.lp-footer-title {
    margin: 0 0 10px;
    padding: 0;
    line-height: 1.15em;
    font-size: 27px;
    text-transform: capitalize
}

.lp-footer-keyword-list {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0
}

.footer-keyword-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
    padding: 0
}

.footer-keyword-item {
    margin-bottom: 5px
}

.footer-keyword-link {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    margin-left: 5px;
    padding-right: 7px;
    text-transform: capitalize;
    transition: all 250ms ease
}

.footer-keyword-link:hover {
    padding-left: 7px;
    padding-right: 0
}

.lp-footer .lp-footer-keyword {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 10px 25px;
    list-style: none;
    padding: 0
}

.lp-footer-title {
    color: #532b54;
    margin: 0 0 10px 0;
    padding: 0;
    line-height: 1.15em;
    font-size: 20px;
    font-weight: 500
}

.filter-label small {
    border-radius: 25px;
    position: relative;
}

.filter-label input:checked ~ small {
    border: 2px solid rgba(116, 31, 162, 1);
}

.filter-box .filter-label input:checked ~ small::after {
    border: none;
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    background-color: rgba(116, 31, 162, 1);
    border-radius: 25px;
    transform: none;
}

.table-favorite {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    margin-bottom: 25px;
}

.table-favorite tr {
    border-bottom: 1px solid #eee;
}

.table-favorite thead tr,
.table-favorite tbody tr:nth-child(even) {
    background-color: #f8f8f8;
}

.table-favorite th,
.table-favorite td {
    padding: 5px 8px;
}

@media (max-width:990px) {
    .lp-footer .lp-footer-keyword {
        grid-row-gap: 15px
    }
    .lp-footer .lp-footer-keyword {
        padding: 0 15px
    }
}

@media (max-width:760px) {
    .button-wapper {
        order: 2;
        width: 100%;
        margin: 15px 0
    }
    .button-wapper form {
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        border: 1px solid #e1e1e1;
        border-radius: 3px
    }
    .button-wapper form .btn {
        border-radius: 0!important;
        border: none!important;
        box-shadow: none!important
    }
    .button-wapper form .btn+.btn {
        border-left: 1px solid #e1e1e1!important
    }
    .button-wapper form .btn:first-child {
        border-radius: 3px 0 0 3px!important
    }
    .button-wapper form .btn:last-child {
        border-radius: 0 3px 3px 0!important
    }
    .lp-footer .lp-footer-keyword {
        display: block;
        padding: 0
    }
    .lp-footer-keyword-list {
        max-width: 100%
    }

    .store-name-box {
        padding: 0 15px;
    }

    .store-desc-wrap .store-img {
        width: 60px;
    }

    .store-desc {
        width: calc(100% - 60px - 36px);
        padding: 0;
    }
}

.breadcrumb>.active {
    color: #757577
}

@font-face {
    font-family: FontAwesome;
    font-display: block;
    src: url(/frontend/fonts/awesome/fontawesome-webfont.eot?v=4.7.0);
    src: url(/frontend/fonts/awesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'), url(/frontend/fonts/awesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'), url(/frontend/fonts/awesome/fontawesome-webfont.woff?v=4.7.0) format('woff'), url(/frontend/fonts/awesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'), url(/frontend/fonts/awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg');
    font-weight: 400;
    font-style: normal
}

.loadMoreKeyword {
    padding: 10px 15px;
    border-radius: 3px;
    width: 130px;
    display: block;
    text-align: center;
    margin: 7px auto
}

@media (min-width:992px) {
    .is-mobile {
        display: none!important
    }

}

@media (min-width:767px) {
    .related-coupons {
        box-shadow: none
    }
}

@media (max-width:992px) {
    .is-desktop {
        display: none!important
    }
    .offer-button {
        border-radius: 5px;
        height: 40px!important;
        display: flex;
        justify-content: center;
        align-items: center
    }
    #toc {
        padding: 1em 1em 1em .7em
    }
    .mb-content {
        padding: 0;
        margin-bottom: 35px
    }
    .mb-content ol {
        margin: 10px 0;
        padding: 0
    }
    .mb-content #toc ol li {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap
    }
    .mb-content ol ol {
        padding-left: 25px;
        width: 100%
    }
    .mb-content ol li+li {
        margin-top: 5px
    }
    .mb-content ol li::before {
        width: 23px;
        text-align: right;
        padding-right: 5px
    }
    .mb-content #toc a {
        width: calc(100% - 28px);
        padding-left: 5px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        box-sizing: content-box
    }
    .mb-content h2 {
        font-size: 20px;
        margin: 0 0 7px
    }
    .mb-content h3 {
        font-size: 19px;
        margin: 0 0 7px
    }
    .btn-lg {
        height: 36px;
        padding: 5px 15px;
        font-size: 15px;
        font-size: 15px
    }
}

@media (max-width:767px) {
    body {
        padding-top: 50px
    }
    .breadcrumb {
        padding-left: 0;
        padding-right: 0
    }
    .offer-body {
        padding-right: 15px
    }
    .offer-actions,
    .offer-body,
    .offer-detail {
        width: 100%;
        float: none;
        padding: 0
    }
    .offer-item .offer-content {
        padding: 10px
    }
    .offer-title {
        font-size: 17px;
        line-height: 19px;
        padding: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical
    }
    .offer-detail {
        min-height: 1px;
        padding-bottom: 15px
    }
    .breadcrumb {
        white-space: nowrap;
        overflow-y: hidden;
        overflow-x: auto
    }
    .button-show-code,
    .button-show-code:active,
    .button-show-code:focus {
        height: 40px!important
    }
}

@media (max-width:360px) and (orientation:landscape) {
    .widget-body.favorite-related-stores {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr))
    }
}

.more-less-text {
    max-height: 21px;
    overflow: hidden
}

.author-info-box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.author-info-box .auther-avatar {
    width: 60px;
    height: 60px;
    font-size: 12px;
    color: transparent;
}
.author-info-box .info-author {
    width: calc(100% - 60px);
    padding-left: 15px;
}
.author-info-box .author-title {
    margin: 0 0 7px;
    padding: 0;
    font-size: 19px;
    line-height: 23px;
}

.author-expert {
    margin-bottom: 0;
}

.info-des {
    margin-top: 10px;
    margin-bottom: 25px;
}





@media (max-width:1024px) {
    body ::-webkit-scrollbar {
        display: none
    }
    .lp-footer-keyword:not(.full-content-keyword) .lp-footer-keyword-list li:nth-child(n+4) {
        display: none
    }
    .lp-footer-keyword:not(.full-content-keyword) .lp-footer-keyword-list {
        margin-bottom: 0
    }
    .lp-footer-keyword {
        flex-wrap: wrap
    }
    .lp-showmore {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 1;
        visibility: visible;
        margin: 15px 0;
        cursor: pointer;
        user-select: none
    }
    .lp-showmore span {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        padding: 8px 14px;
        border-radius: 3px;
        border: 1px solid #d8d8d8;
        color: #0866b7;
        user-select: none;
        font-size: 13px
    }

    .mb-content img {
        width: 100%;
        height: 100%;
        max-width: 100%;
        margin: 0 auto;
        display: block;
        object-fit: contain
    }
}
.lp-footer-showmore {
    width: 100%;
    padding: 5px;
    display: flex;
    justify-content: center;
}

.lp-footer-showmore span, .js-btn-showmore-coupons {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 5px 7px;
    border-radius: 3px;
    border: 1px solid #d1d1d1;
    color: #027fc7;
    user-select: none;
    font-size: 13px;
    cursor: pointer;
}




.rate {
    height: 24px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-direction: row-reverse;
}
.rate:not(:checked) > input {
    position:absolute;
    border: none;
    background: none;
    outline: 0;
    opacity: 0;
}
.rate:not(:checked) > label {
    width: 24px;
	margin-right: 2px;
    overflow:hidden;
    white-space:nowrap;
    cursor:pointer;
    font-size:30px;
    color:#ccc;
}
.rate:not(:checked) > label:before {
	content: "";
	width: 24px;
	min-width: 24px;
	height: 24px;
	margin-right: 3px;
	background-color: #d1d1d1;
	-webkit-mask-image: url('/images/review-star.svg');
	mask-image: url('/images/review-star.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	position: relative;
	display: inline-block;
	transition: all 350ms ease;
}
.rate > input:checked ~ label::before {
    background-color: #ffbc59 !important;
}

.rate:not(:checked):hover > label:before {
	background: #d1d1d1;
}

.rate:not(:checked) > label:hover::before,
.rate:not(:checked) > label:hover ~ label::before {
    background-color: #ffbc59;
}
.rate > input:checked + label:hover::before,
.rate > input:checked + label:hover ~ label:hover::before,
.rate > input:checked ~ label:hover::before,
.rate > input:checked ~ label:hover ~ label::before,
.rate > label:hover ~ input:checked ~ label::before {
    background-color: #ffbc59;
}

span[ itemprop="ratingCount"] {
	margin: 0 3px;
}

.star-rating {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 16px;
    width: fit-content;
    width: -moz-fit-content;
    position: relative;
}
.star-rating span {
	margin: 0 5px;
}

.js-vote-message {
	margin: 3px 0;
	color: #3ea9f5;
}
