.planOverlay,
.planSec {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

body.noOverflow {
    overflow: hidden
}

.planSec {
    z-index: 120;
    display: none;
    overflow-y: scroll
}

.planOverlay {
    background: rgba(0, 0, 0, .7)
}

.planModal {
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0, #fefefe 100%);
    box-shadow: 0 0 9px 0 rgba(0, 0, 0, .2);
    width: calc(100% - 50px);
    max-width: max-content;
    overflow: hidden;
    transform: translate(-50%, -50%)
}

.modalHead {
    font-style: normal;
    font-weight: 600;
    font-size: 23px;
    line-height: 29px;
    text-align: center;
    color: #213d56;
    padding: 25px 0;
    border-bottom: 1px solid #d6e7f3
}

.planName,
.priceAfter,
.subscribeBtn,
.trialText {
    font-weight: 500
}

.plansWrapper {
    display: flex;
    column-gap: 18px;
    align-items: start;
    margin-top: 0;
    overflow-y: auto;
    padding: 26px 18px 36px;
    justify-content: space-between
}

.plansWrapper::-webkit-scrollbar {
    height: 2px
}

.singlePlan {
    background: #fff;
    box-shadow: 0 16.2611px 16.2611px rgba(76, 86, 115, .1);
    border-radius: 8px;
    max-width: 310px;
    width: 100%;
    border: .8px solid #d2daea;
    text-align: center;
    margin-top: 25px
}

.planTop {
    padding: 16px 38px 15px;
    background: #f8fafc;
    border-bottom: 1px solid #d2daea;
    border-radius: 8px 8px 0 0
}

.mobTabs {
    display: none
}

.planName {
    font-size: 19px;
    line-height: 24px;
    color: #263238;
    margin-bottom: 13px
}

.planDesc {
    font-size: 11px;
    line-height: 150%;
    color: #474759
}

.planBottom {
    padding: 20px 23px 18px
}

.planPrice {
    font-size: 16px;
    line-height: 20px;
    padding-bottom: 15px;
    margin-top: 20px;
    border-top: 1px solid #d2daea;
    padding-top: 15px
}

.priceBefore {
    text-decoration-line: line-through;
    color: #d32f2f;
    font-size: 16px
}

.priceAfter {
    color: #263238;
    font-size: 18px
}

.planFeatures {
    max-width: 200px;
    width: 100%;
    margin: 0 auto;
    text-align: left
}

.planPages {
    font-size: 13px;
    line-height: 16px;
    color: #263238;
    padding-left: 33px;
    position: relative
}

.planPages::before {
    position: absolute;
    content: '';
    width: 18px;
    height: 18px;
    background-image: url(../../images/green-tick.svg);
    background-repeat: no-repeat;
    left: 0;
    top: 0
}

.planPages.top {
    margin-bottom: 12px
}

.subscribeBtn {
    padding: 10px 0 11px;
    display: block;
    font-size: 15px;
    line-height: 18px;
    color: #fff;
    background: #233f8c;
    border-radius: 1.62611px;
    transition: .1s
}

#subscribeProcessingBtnBasic,
#subscribeProcessingBtnPro,
.processBtn {
    padding: 0 !important
}

.subscribeBtn:hover {
    background: #1e43ff
}

.trialText {
    margin-top: 12px;
    font-size: 12px;
    line-height: 15px;
    color: #94a3b8
}

.mostPopBox p,
.planType,
.price {
    font-weight: 700
}

.btnLoadingGif {
    width: 35px;
    height: 35px
}

.processBtn {
    pointer-events: none
}

span.closeModalBtn {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    transition: .2s
}

.annBtn,
.monthlyBtn,
.oneTimeBtn {
    position: relative
}

span.closeModalBtn:hover {
    opacity: 1
}

.priceWrap .price {
    font-weight: 500;
    display: flex;
    align-items: center
}

.price span {
    font-size: 14px
}

.planTypeWrapper {
    display: flex;
    align-items: center;
    gap: 12px
}

.mostPopBox {
    padding: 5px 8px;
    border-radius: 3px;
    background: #fff
}

.mostPopBox p {
    color: #ff5910;
    font-size: 15px;
    line-height: normal;
    animation: 1s infinite blink;
    opacity: 0
}

@keyframes blink {
    0%,
    99% {
        opacity: 0
    }
    50% {
        opacity: 1
    }
}

@media (max-height:900px) {
    .planModal {
        max-height: 90vh;
        overflow-y: auto
    }
}

@media (max-width:767px) {
    .mobTabs {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        justify-content: center;
        margin-top: 28px
    }
    .mobTabs a {
        padding: 8px 13px;
        color: #afafaf;
        font-size: 13px;
        font-weight: 500;
        border-radius: 100px;
        border: 1px solid #afafaf;
        background: #fff
    }
    .mobTabs a.active {
        border: 1px solid transparent;
        border-radius: 100px;
        background: linear-gradient(to right, #fff, #fff), linear-gradient(81.22deg, #1862ff -14.08%, #7731ff 29.91%, #d012ff 77.88%), #fff;
        background-clip: padding-box, border-box;
        background-origin: padding-box, border-box;
        max-width: max-content;
        justify-content: center;
        position: relative;
        transition: .1s;
        overflow: hidden;
        color: #121826
    }
    .basicPlanWrapper,
    .starterPlanWrapper,
    .yearlyPlanWrapper {
        display: none
    }
    .planModal {
        width: calc(100% - 30px);
        max-width: 430px;
        max-height: 90vh;
        overflow-y: auto
    }
    .modalHead {
        padding-bottom: 15px;
        margin-bottom: 15px;
        font-size: 20px
    }
    .plansWrapper {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        max-height: unset;
        position: relative;
        display: flex;
        padding: 30px 15px;
        justify-content: center
    }
    .planSec,
    .plansWrapper {
        overflow-y: unset
    }
}

.dicountBadge del,
.offerType,
.planType,
.price {
    color: #08080f;
    font-style: normal
}

.annualPlan,
.monthlyPlan,
.oneTimePlan {
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 20px 20px rgba(76, 86, 115, .1);
    border-radius: 10px;
    min-width: 400px;
    padding-bottom: 20px
}

.annualHead,
.monthlyHead,
.oneTimeHead {
    padding: 20px;
    background: linear-gradient(258.78deg, #fdfd5e -7.09%, #f7c82e 69.59%);
    border-radius: 10px 10px 0 0
}

.annualHead {
    background: linear-gradient(246.87deg, #d306f4 -2.66%, #5700e6 98.71%)
}

.oneTimeHead {
    background: linear-gradient(256.87deg, #f44369 -2.19%, #3e3b92 98.91%)
}

.planType {
    font-size: 40px;
    line-height: 53px;
    margin: 0;
    text-align: left
}

.priceWrap {
    display: flex;
    align-items: center;
    padding: 2px 0 22px
}

.price {
    font-size: 21px;
    line-height: 33px;
    margin-right: 8px;
    display: inline-block
}

.dicountBadge {
    border: 1px solid #08080f;
    border-radius: 7px;
    display: flex;
    text-align: center;
    justify-content: center;
    padding: 0 8px;
    height: 25px
}

.planAdds,
.planAdds.mxWidthAdds .planOffer {
    border-radius: 8rem;
    width: 100%
}

.dicountBadge del {
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
    text-decoration: line-through
}

.offerType {
    font-weight: 500;
    font-size: 12px;
    line-height: 19px;
    margin-left: 6px;
    display: inline-block
}

.planAdds {
    margin: -17px auto 0;
    overflow: hidden;
    text-align: center
}

.planEnd,
.planOffer {
    display: inline-block;
    font-weight: 600;
    font-size: 13px;
    line-height: 17px;
    color: #f7f7f7
}

.planOffer {
    background-color: #000;
    padding: 6px 10px;
    border-radius: 4rem 0 0 4rem
}

.planOffer b {
    font-weight: 700
}

.mxWidthAdds {
    max-width: 213px !important;
    width: 100%
}

.annualHead .dicountBadge del,
.annualHead .offerType,
.annualHead .planType,
.annualHead .price,
.oneTimeHead .dicountBadge del,
.oneTimeHead .offerType,
.oneTimeHead .planType,
.oneTimeHead .price {
    color: #fff
}

.annualHead .offerType {
    font-weight: 500;
    font-size: 12px;
    line-height: 17px;
    color: #f7f7f7
}

.annualHead .dicountBadge,
.oneTimeHead .dicountBadge {
    border-color: #fff;
    color: #fff
}

.planEnd {
    background-color: #393939;
    padding: 6px 14px;
    border-radius: 0 4rem 4rem 0
}

.servicesList {
    list-style: none;
    padding: 20px 20px 0;
    margin: 0
}

.servicesList li,
.servicesList p {
    list-style: none;
    font-weight: 400;
    font-size: 13px;
    line-height: 17px;
    color: #08080f;
    position: relative;
    text-align: left
}

.servicesList p {
    padding-left: 0;
    font-weight: 600;
    font-size: 14px;
    margin-top: 30px
}

.servicesList .listCheck::before {
    content: '';
    background-image: url(../../images/check-mark.svg);
    width: 16px;
    height: 16px;
    background-size: cover;
    position: absolute;
    background-repeat: no-repeat;
    left: 0;
    top: 0
}

.servicesList .listCheck.cross::before {
    background-image: url(../../images/list-cross.svg)
}

.servicesList .listCheck.starCheck::before {
    content: '';
    background-image: url(../../images/check-star.svg);
    width: 19px;
    height: 19px;
    background-size: cover;
    position: absolute;
    background-repeat: no-repeat;
    left: 0;
    top: 0
}

.servicesList .listCheck {
    padding-left: 24px
}

.servicesList .listCheck+.listCheck {
    margin-top: 15px
}

.servicesList .listWrap {
    margin-top: 15px;
    padding-left: 24px
}

.listWrap .serviceListItem {
    list-style: disc
}

.servicesList .serviceListItem+.serviceListItem {
    margin-top: 19px
}

.commingSoon {
    border: 1px solid #f90;
    border-radius: 3px;
    font-style: normal;
    font-weight: 400;
    font-size: 8px;
    line-height: 11px;
    color: #08080f;
    padding: 0 5px;
    display: inline-block
}

.subscribe--Btn {
    max-width: 169px;
    height: 40px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5.23183px;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    color: #fff;
    margin: 35px auto 0;
    text-decoration: 0;
    cursor: pointer;
    background-color: #212121
}

.monthlyBtn .svgIcon path {
    fill: #08080F
}

.monthlyBtn {
    background: linear-gradient(258.78deg, #fdfd5e -7.09%, #f7c82e 69.59%);
    z-index: 1
}

.annBtn {
    background: linear-gradient(246.87deg, #d306f4 -2.66%, #5700e6 98.71%);
    color: #fff;
    z-index: 1
}

.oneTimeBtn {
    background: linear-gradient(256.87deg, #f44369 -2.19%, #3e3b92 98.91%);
    color: #fff;
    z-index: 1
}

.annBtn::before,
.monthlyBtn::before,
.oneTimeBtn::before {
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: #f7c82e;
    content: "";
    display: block;
    transition: .2s ease-in-out;
    z-index: -1;
    visibility: hidden;
    border-radius: 5.23183px
}

.annBtn::before {
    background: linear-gradient(246.87deg, #d306f4 -2.66%, #5700e6 54.71%)
}

.oneTimeBtn::before {
    background: #3e3b92
}

.annBtn:hover::before,
.monthlyBtn:hover::before,
.oneTimeBtn:hover::before {
    width: 100%;
    visibility: visible
}

.annBtn .svgIcon path,
.oneTimeBtn .svgIcon path,
.upgradePlanWrapper .changePlanBtn:hover svg path {
    fill: #fff
}

.svgIcon {
    display: flex;
    margin-left: 5px
}

.clockIcon {
    display: flex;
    transform: translateY(1px)
}

.customBadge {
    background: #fff;
    border-radius: 3px;
    display: inline-block;
    padding: 4px 8px;
    font-style: normal;
    font-weight: 700;
    font-size: 11px;
    line-height: 15px;
    color: #5700e5;
    display: flex;
    align-items: center;
    gap: 2px;
    max-width: max-content
}

.priceTimer {
    margin-top: 8px;
    display: flex;
    column-gap: 4px;
    align-items: center;
    justify-content: center
}

.expireIn {
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    color: #f68919
}

.closeModalBtn img:hover {
    filter: brightness(0) saturate(100%)
}

.monthlyBtn {
    color: #212121
}

@media (max-width:992px) {
    .planWrap {
        align-items: start;
        flex-direction: column;
        align-items: center;
        row-gap: 26px
    }
    .cardHead {
        font-size: 25px;
        line-height: 33px
    }
    .annualPlan,
    .monthlyPlan {
        position: relative;
        border-radius: 8px
    }
    .annualHead,
    .monthlyHead {
        border-radius: 8px 8px 0 0
    }
    .planEnd,
    .planOffer {
        padding: 6px 7px;
        font-size: 12px;
        line-height: 16px
    }
    .planAdds {
        max-width: 288px
    }
    .servicesList .listCheck::before {
        width: 15px;
        height: 15px
    }
    .servicesList {
        padding: 30px 11px 0 19px
    }
}

@media(max-width:767px) {
    .offerType {
        font-size: 13px;
        order: 3
    }
    .planType {
        text-align: center;
        font-size: 32px
    }
    .priceWrap {
        flex-direction: column
    }
    .price {
        order: 2
    }
    .dicountBadge {
        order: 1
    }
    .customBadge {
        display: block;
        max-width: max-content;
        margin: 0 auto
    }
    .annualPlan,
    .monthlyPlan,
    .oneTimePlan {
        min-width: unset;
        max-width: 350px;
        width: 100%
    }
    .plansWrapper .oneTimePlan:first-child {
        margin-bottom: 20px
    }
}

.upgradePlanModal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99;
    display: none
}

.upgradePlanOverlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5)
}

.upgradePlanWrapper {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 60px 24px;
    max-width: 775px;
    width: 100%;
    border: 1px solid transparent;
    border-radius: 10px;
    background: linear-gradient(to right, #fff, #fff), linear-gradient(94.55deg, #ff51d7 -9.2%, #ff4848 21.42%, #6248ff 50.94%, #1862ff 95.77%);
    background-clip: padding-box, border-box;
    background-origin: padding-box, border-box;
    background-color: #fff
}

.upgradePlanWrapper::before {
    content: '';
    background: #f7f5ff;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 10px
}

.upgradePlanWrapper span {
    display: block;
    color: #64748b;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    margin: 0 auto 60px;
    width: 100%
}

.upgradePlanWrapper p {
    font-size: 32px;
    color: #1e291e;
    text-align: center;
    width: 100%;
    margin-top: 28px;
    background-image: linear-gradient(90deg, #ff51d7 .14%, #c300ff 26.99%, #c300ff 52.47%, #1e43ff 88.98%);
    background-size: 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 600
}

.upgradeBtnsWrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.upgradePlanWrapper img {
    display: block;
    margin: 0 auto
}

.upgradePlanWrapper button {
    padding: 10px 12px;
    font-size: 17px;
    line-height: normal;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 600;
    color: #475569;
    background-color: #f1f0fb;
    transition: .1s
}

.upgradePlanWrapper .changePlanBtn {
    background: linear-gradient(265.4deg, #1e43ff -20.86%, #b318ff 95.76%);
    color: #fff
}

.upgradePlanWrapper .cancelPlanBtn {
    border: 1px solid #a0b6e9;
    padding: 10px 35px;
    color: #a0b6e9;
    font-weight: 400
}

.upgradePlanWrapper .changePlanBtn svg {
    position: relative;
    top: 3px
}

.upgradePlanWrapper .changePlanBtn:hover {
    background: linear-gradient(250deg, #516eff 3.39%, #b44dff 101.16%)
}

.upgradePlanWrapper .cancelPlanBtn:hover {
    color: #8393b7;
    border: 1px solid #8393b7
}

.upgradePlanWrapper a {
    display: block;
    color: #64748b;
    text-align: center;
    font-size: 13px;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    margin-top: 25px
}

.upgradePlanWrapper a:hover {
    color: #1e43ff
}

.arrow-icon::after {
    content: "";
    background-image: url('../../images/arrow-btn.svg');
    display: inline-block;
    width: 17px;
    height: 17px;
    position: relative;
    margin-left: 3px;
    top: 1px
}

@media(max-width:575px) {
    .upgradePlanWrapper {
        padding: 50px 24px;
        width: calc(100% - 34px)
    }
    .upgradePlanWrapper img {
        width: 100px
    }
    .upgradePlanWrapper p {
        font-size: 28px;
        margin-top: 20px
    }
    .upgradePlanWrapper span {
        font-size: 15px;
        margin: 11px auto 40px;
        max-width: 316px
    }
    .upgradePlanWrapper button {
        font-size: 15px
    }
    .upgradePlanWrapper a {
        margin-top: 20px
    }
    .upgradePlanWrapper .cancelPlanBtn {
        padding: 10px 26px
    }
}