/**
*  This module was created by Anastasia Bu and is protected by the laws of Copyright.
*  This source file is subject to a commercial license from Anastasia Bu
*  Use, copy, modification or distribution of this source file without written
*  license agreement from Anastasia Bu <site@web-esse.ru> is strictly forbidden.
*
*
*  @author    Anastasia Bu <site@web-esse.ru>
*  @copyright 2007-2022 Anastasia Bu
*  @license Commercial license
*/

/**GLOBAL**/
.hidden {
	display: none;
}

.visually-hidden {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    word-break: normal;
  }

.ws_loyalty_wrapp {
    background: #ffffff;
}

.paging-container{
	margin-bottom: 14px;
}

.paging-container a {
	border: 1px solid black;
	padding: 4px 8px;
}

.total_ponts_block {
	margin: 14px auto 46px;
    width: 100%;
    text-align: center;
    line-height: 1.8;
    padding: 14px 24px 14px;
}

#total_ponts {
	display: block;
	font-size: 34px;
	line-height: 1.2;
}

#total_ponts b {
	font-size: 42px;	
}

#total_ponts_note{
	color: #98999b;
	font-size: 14px;
}

.ws_loyalty_progress {
    max-width: 620px;
    margin: 0 auto 46px;
    padding: 0 24px;
    text-align: center;
}

.loyalty_progress_track {
    margin: 0 auto;
}

.loyalty_progress_track__row {
    display: grid;
    align-items: center;
}

.loyalty_progress_track__levels {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #3dc3e1;
    margin-bottom: 8px;
}

.loyalty_progress_track__level {
    text-align: center;
    padding: 0 2px;
}

.loyalty_progress_track__bar {
    height: 20px;
}

.loyalty_progress_track__cell {
    position: relative;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loyalty_progress_track__connector {
    position: absolute;
    top: 50%;
    height: 4px;
    margin-top: -2px;
    background: #e5ebef;
    border-radius: 2px;
    z-index: 0;
}

.loyalty_progress_track__connector--lead {
    left: 0;
    width: 50%;
}

.loyalty_progress_track__connector--after {
    left: 50%;
    width: 100%;
}

.loyalty_progress_track__connector-fill {
    display: block;
    height: 100%;
    background: #3dc3e1;
    border-radius: 2px;
    transition: width .3s ease;
}

.loyalty_progress_track__marker {
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    background: #ff6b4a;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #ff6b4a;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.loyalty_progress_track__marker::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background: #ff6b4a;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: .6;
    animation: loyaltyProgressPulse 1.8s ease-out infinite;
    z-index: -1;
}

@keyframes loyaltyProgressPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .6;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.8);
        opacity: 0;
    }
}

.loyalty_progress_track__dot {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border: 3px solid #3dc3e1;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loyalty_progress_track__dot--filled {
    background: #3dc3e1;
}

.loyalty_progress_track__dot--current {
    background: #48b688;
    border-color: #48b688;
}

.loyalty_progress_track__dot--filled,
.loyalty_progress_track__dot--current {
    color: #fff;
}

.loyalty_progress_track__dot-icon {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
}

.loyalty_progress_track__rewards {
    margin-top: 8px;
}

.loyalty_progress_track__reward {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 0 2px;
    overflow-wrap: break-word;
}

.loyalty_progress_track__reward--redeemed {
    color: #48b688;
}

.loyalty_progress_note {
    text-align: center;
    margin-top: 14px;
    color: #98999b;
    font-size: 14px;
}

.ws_loyalty_wrapp h3 {
	font-size: 25px;
    line-height: 1.4;
    text-align: center;
}

/** Convert your points into vouchers **/
.ws-loyalty-rewards {
    max-width: 900px;
    margin: 0 auto 46px;
}

.ws-loyalty-rewards .row {
    display: flex;
    flex-wrap: wrap;
}

.ws-loyalty-rewards .col-md-6 {
    display: flex;
    margin-bottom: 20px;
}

.ws-loyalty-rewards .ws-loyalty-reward-card {
    position: relative;
    width: 100%;
    background: #fff;
    border: 1px solid #e5ebef;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    padding: 22px;
    display: flex;
    flex-direction: column;
}

.ws-loyalty-rewards .ws-loyalty-reward-card--available {
    border-left: 4px solid #3dc3e1;
}

.ws-loyalty-rewards .ws-loyalty-reward-card--locked {
    background: #fafbfc;
}

.ws-loyalty-rewards .ws-loyalty-reward-card--reached {
    border-left: 4px solid #2a5c96;
}

.ws-loyalty-rewards .ws-loyalty-reward-status {
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
    line-height: 1.4;
}

.ws-loyalty-rewards .ws-loyalty-reward-status--available {
    background: #e2f6e9;
    color: #1e7245;
}

.ws-loyalty-rewards .ws-loyalty-reward-status--locked {
    background: #eceef0;
    color: #54595e;
}

.ws-loyalty-rewards .ws-loyalty-reward-status--reached {
    background: #e3eefc;
    color: #2a5c96;
}

.ws-loyalty-rewards .ws-loyalty-reward-main {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 20px;
}

.ws-loyalty-rewards .ws-loyalty-reward-icon {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #eaf7fb;
    color: #3dc3e1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ws-loyalty-rewards .ws-loyalty-reward-card--locked .ws-loyalty-reward-icon {
    background: #eceef0;
    color: #9aa0a6;
}

.ws-loyalty-rewards .ws-loyalty-reward-icon svg {
    width: 24px;
    height: 24px;
}

.ws-loyalty-rewards .ws-loyalty-reward-value {
    flex: 1 1 auto;
    min-width: 0;
}

.ws-loyalty-rewards .ws-loyalty-reward-amount {
    display: block;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    color: #232323;
    overflow-wrap: break-word;
}

.ws-loyalty-rewards .ws-loyalty-reward-card--locked .ws-loyalty-reward-amount {
    color: #57606a;
}

.ws-loyalty-rewards .ws-loyalty-reward-label {
    display: block;
    font-size: 18px;
    color: #57606a;
}

.ws-loyalty-rewards .ws-loyalty-reward-points {
    flex: 0 0 auto;
    text-align: center;
    background: #f4fbfc;
    border-radius: 6px;
    padding: 8px 14px;
}

.ws-loyalty-rewards .ws-loyalty-reward-card--locked .ws-loyalty-reward-points {
    background: #eceef0;
}

.ws-loyalty-rewards .ws-loyalty-reward-points-value {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: #3dc3e1;
}

.ws-loyalty-rewards .ws-loyalty-reward-card--locked .ws-loyalty-reward-points-value {
    color: #57606a;
}

.ws-loyalty-rewards .ws-loyalty-reward-points-label {
    display: block;
    font-size: 12px;
    color: #98999b;
}

.ws-loyalty-rewards .ws-loyalty-reward-action {
    margin-top: 18px;
}

.ws-loyalty-rewards .ws-loyalty-redeem-btn {
    display: block;
    width: 100%;
}

.ws-loyalty-rewards .ws-loyalty-reward-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 12px;
    border-radius: 6px;
    background: #eceef0;
    color: #57606a;
    font-weight: 600;
    font-size: 15px;
    text-align: center;
}

.ws-loyalty-rewards .ws-loyalty-lock-icon {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

@media (max-width: 420px) {
    .ws-loyalty-rewards .ws-loyalty-reward-main {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .ws-loyalty-rewards .ws-loyalty-reward-points {
        align-self: stretch;
    }
}

#block-history.hidden {
	display: none;
}

.ws-loyalty__transform-points {
	white-space: normal;
}

.discounts_cards {
    padding: 14px;
}

#discounts_cards_menu {
	display: flex;
    max-width: 416px;
    margin: 0 auto;
    justify-content: space-evenly;
    border-bottom: none;
}

#discounts_cards_menu a {
    color: #000;
    text-align: center;
}

#discounts_cards_menu a.active {
	border-bottom: 2px solid #000;
}

.flex_wrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-evenly;
}

.loyalty_av_discount, .loyalty_dis_discount{
	border: 1px solid #e5ebef;
	margin-top: 18px;
	padding: 14px;
    border-radius: 2px;
    display: flex;
    flex-wrap: wrap;
}
.discount_value {
	background: #3dc3e1;
	padding: 14px 7px;
	text-align: center;
    font-size: 21px;
    line-height: 1.2;
    color: #fff;
    width: 83px;
    border-radius: 2px;	
}
.discount_note{
    line-height: 1;
    padding: 0 6px;
    align-self: center;
    max-width: 60%;
    text-align: center;
}
.discount_code {
	border: 1px dashed #e5ebef;
	border-radius: 2px;
	background: #f9fafc;
    padding: 14px 20px;
    display: flex;
}
.discount_code__input{
    max-width: 170px;
}
.ws_tooltip {
  position: relative;
}

.ws_tooltip .ws_tooltiptext {
  visibility: hidden;
  width: 140px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 1;
  bottom: 150%;
  left: 50%;
  margin-left: -75px;
  opacity: 0;
  transition: opacity 0.3s;
}

.ws_tooltip .ws_tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.ws_tooltip:hover .ws_tooltiptext {
  visibility: visible;
  opacity: 1;
}

.ws_copy_btn {
	border: none;
	background: none;
	cursor: pointer;
}

#show_history {
	color: gray;
	font-size: 14px;
    cursor: pointer;
    display: inline-block;
    line-height: 1;
    border-bottom: 1px solid inherit;
}

#show_history:HOVER {
	color: black;
}

#loyalty .card-block{
	display: flex;	
}

.ws_points {
    margin-bottom: 8px;
}

.loyalty_wrapp {
    margin-left: 14px;
}

.loyalty_wrapp .ws_transformpoints {
	white-space:normal;
}

/** Points history: status badges **/
.loyalty-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    border: 1px solid transparent;
    background: #eceef0;
    color: #54595e;
}

.loyalty-badge--available {
    background: #e2f6e9;
    color: #1e7245;
    border-color: #bfead1;
}

.loyalty-badge--awaiting {
    background: #fff2d9;
    color: #8a5a00;
    border-color: #f5dfa8;
}

.loyalty-badge--cancelled {
    background: #fbe3e2;
    color: #a3312a;
    border-color: #f3c3c0;
}

.loyalty-badge--converted,
.loyalty-badge--unavailable {
    background: #eceef0;
    color: #54595e;
    border-color: #dcdfe3;
}

.loyalty-badge--redeemed {
    background: #e3eefc;
    color: #2a5c96;
    border-color: #c4dcf5;
}

.loyalty-badge--expired {
    background: #f1e6e6;
    color: #8a4a45;
    border-color: #e2caca;
}

/** Points history: total row **/
.points-history-tbl__total-value {
    font-size: 20px;
    font-weight: 700;
}

.ws-empty-value {
    color: #98999b;
}

@media (min-width: 768px) {
    .points-history-tbl__total td {
        border-top: 2px solid #3dc3e1;
        background: #f4fbfc;
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

@media (prefers-color-scheme: dark) {
    .loyalty-badge {
        background: rgba(255, 255, 255, .12);
        color: #e5e7eb;
        border-color: rgba(255, 255, 255, .18);
    }

    .loyalty-badge--available {
        background: rgba(72, 182, 136, .18);
        color: #7be3ae;
        border-color: rgba(72, 182, 136, .35);
    }

    .loyalty-badge--awaiting {
        background: rgba(245, 190, 60, .18);
        color: #f7cf6b;
        border-color: rgba(245, 190, 60, .35);
    }

    .loyalty-badge--cancelled {
        background: rgba(224, 92, 82, .2);
        color: #f0a19a;
        border-color: rgba(224, 92, 82, .38);
    }

    .loyalty-badge--converted,
    .loyalty-badge--unavailable {
        background: rgba(255, 255, 255, .1);
        color: #d1d5db;
        border-color: rgba(255, 255, 255, .18);
    }

    .loyalty-badge--redeemed {
        background: rgba(61, 195, 225, .18);
        color: #8fd7ec;
        border-color: rgba(61, 195, 225, .35);
    }

    .loyalty-badge--expired {
        background: rgba(224, 150, 140, .18);
        color: #eab3ab;
        border-color: rgba(224, 150, 140, .35);
    }

    .points-history-tbl__total td {
        background: rgba(61, 195, 225, .12);
    }

    .points-history-tbl tr.points-history-tbl__total {
        background: rgba(61, 195, 225, .12);
    }

    .ws-empty-value {
        color: #9aa0a6;
    }
}

@media (max-width: 767px) {
    .ws-mobile-only{
        display: block;
    }
    .points-history-tbl thead {
        display: none;
    }

    .points-history-tbl tbody {
        display: flex;
        flex-wrap: wrap;
    }

    .points-history-tbl tr {
        display: flex;
        flex-wrap: wrap;
        border: 1px solid grey;
    }

    .points-history-tbl td {
        flex-grow: 1;
        text-align: center;
        border: none;
        padding: 2px 8px;
    }

    .points-history-tbl__item-point {
        display: flex;
    }

    .points-history-tbl tr.points-history-tbl__total {
        flex-direction: row;
        background: #e6e6de;
        border: 1px solid grey;
    }

    .ws-loyalty__restriction {
        padding: 14px;
    }
}

@media (min-width: 768px) {
    .ws-mobile-only {
        display: none;
    }
    .total_ponts_block {
        width: 425px;
    }
    .ws_loyalty_wrapp h3 {
        line-height: 2;
    }
    .loyalty_av_discount, .loyalty_dis_discount {
        min-width: 486px;
    }
    .discounts_cards{
        max-width: 1030px;
        margin: 0 auto;
    }
}