
:root{
    --themeAccent: #fcd303;
    --themeAccentHover: #c5a712;
    --themeAccentBg: #ecc917;
    /*
    --themeAccent: #befc03;
    --themeAccentHover: #7da30b;
    --themeAccentBg: #a8d818;
     */
}
.planSelector{
    margin:2rem 0 1rem 0;
    display: flex;
    padding:0 10vw;
}

.planLogoContainer{
    text-align: center;
    margin-bottom:2rem;
}

.planLogoContainer IMG{
    width:250px;
}

.ctaContainer{
    text-align: center;
    position:unset;
    width:100%;
    margin:2rem auto;
}

.ctaContainer.scrolled{
    position: fixed;
    left: 50%;
    bottom: 2rem;
    transform: translateX(-50%);
    z-index: 100;
}

.ctaButton{
    font-size: 1.2rem;
    background-color: #DDD;
    border:1px solid #DDD;
    color:#000000;
    padding:1rem 3rem;
    border-radius: 1rem;
    display: inline-block;
    margin:2rem 1rem 0.5rem 1rem;
    transition: all 400ms ease;
    cursor: pointer;
    text-decoration: none;
}

.ctaButton.hidden{
    display: none;
}

.ctaButton:visited{
    color:#000000;
}

.ctaButton:hover{
    background-color: #BBB;
}

.ctaButton.buy{
    background-color:var(--themeAccent);
}

.ctaButton.buy:hover{
    background-color: var(--themeAccentBg);
    border:1px solid var(--themeAccent);
}

.pageContainer.offerDetails{
    position: relative;
    background-color: #002057;
    color: #FFFFFF;
    padding:2rem 20vw;
    margin:0;
}

.pageContainer.offerDetails .transitionBar{
    width: 100%;
    height: 100px;
    background: var(--themeMain);
    background: linear-gradient(0deg, #002057 0%, #00205700 100%);
    position: absolute;
    top: -100px;
    left: 0;
}

.pageContainer.offerDetails H2{
    font-size: 3rem;
    text-align: center;
    display: block;
    margin-top:6rem;
}

.pageContainer.offerDetails H3{
    font-size: 2rem;
    text-align: center;
    display: block;
    margin-top:6rem;
    border-color: var(--themeAccent);
}

.pageContainer.offerDetails .benefitContainer{
    display: flex;
    align-items: center;
    padding: 4rem 2rem;
    border-radius: 0.5rem;
    margin-bottom:4rem;
    background-color: #FFFFFF;
}


.pageContainer.offerDetails .benefitContainer I.icon{
    font-size:4rem;
    color:var(--themeAccent);
    width:6rem;
}

.pageContainer.offerDetails .benefitContainer H3{
    font-size:1.8rem;
    border:none;
    flex:1 1;
    margin:0;
    text-align: left;
}
.pageContainer.offerDetails .benefitContainer P.details{
    flex:1 1;
}


.pageContainer.offerDetails UL{
    font-size:1.3rem;
    margin:0 0 0 4rem;
    list-style-type: none;
}
.pageContainer.offerDetails UL LI{
    margin-bottom:1rem;
}

.pageContainer.offerDetails UL LI .fa-regular{
    margin-right:1rem;
    color:#a8b514;
}


.pageContainer.planSelectorContainer{
    padding:6rem;
    background-color: var(--themeMain);
    background-image: url("/lib/images/covers/misc/memoplus-vb1.jpg");
    background-size: cover;
    background-blend-mode: multiply;
    color:#FFFFFF;
    min-height:100vh;
}

.pageContainer.proceedSteps{
    padding:6rem 15vw;
    background-color: var(--themeMain);
    background-image: url("/lib/images/covers/misc/memoplus-vb1.jpg");
    background-size: cover;
    background-blend-mode: multiply;
    min-height:100vh;
}

.pageContainer.proceedSteps H1{
    text-transform: uppercase;
    margin:1rem 0 1rem;
}

.pageContainer.proceedSteps H1 SMALL{
    color:var(--themeMain);
    font-size:1rem;
}

.explanation{
    color:var(--themeAccent) !important;
    margin-top:0.5rem;
    display: block;
    cursor:pointer;
    font-weight: normal !important;
    width:2rem;
}

.stepContainer{
    background-color: #FFFFFF;
    padding:0;
    border-radius:1rem;
    display: flex;
}

.stepContainer .columnMain{
    background-color: #FFFFFF;
    border-radius:1rem 0 0 1rem;
    padding: 1.5rem;
    flex:auto;
}
.stepContainer .columnMain .content{
    margin:0 0 8rem 0;
}


.stepContainer .columnAction{
    min-width:350px;
    max-width: 350px;
    background-color: #EAEAEA;
    border-radius:0 1rem 1rem 0;
    padding: 1.5rem;
    position: relative;
}


.planDescription{
    font-size:1.5rem;
    text-align: center;
}

.planDescription BR{
    line-height: 2.4rem;
}

.featureFont{
    color:var(--themeAccent);
}

.planDescriptionPrice{
    margin-top:6rem;
    font-size:1.2rem;
    text-align: center;
}

.pageContainer.planSelectorContainer H1{
    font-size: 3rem;
    line-height:3.5rem;
    letter-spacing: -1px;
    text-align: center;
}

.planSelector .planBlock{
    flex:1 1;
    background-color: #FFFFFF;
    background: rgb(255,255,255);
    background: linear-gradient(163deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.5) 100%);
    border-radius: 1rem;
    color:#323232;
    margin:1rem 3rem;
    padding:2rem 2rem;
    position: relative;
    box-sizing: border-box;
}

.planSelector .planBlock.blackWeeks{
    background-color: var(--themeMain);
    background: rgb(99,87,212);
    background: linear-gradient(163deg, rgba(99,87,212,1) 0%, rgba(41,22,219,1) 100%);
}

.planSelector .planBlock.blackWeeks .discountIndicator{
    background-color: var(--themeMain);
    border:1px solid #8de7d1;
    color:#8de7d1;
}

.planSelector .planBlock.blackWeeks .amount{
    color:#8de7d1;
}

.planSelector .planBlock.blackWeeks .label{
    color:#8de7d1;
}

.planSelector .planBlock.blackWeeks .amountSupplement{
    color: #a8b514;
}

.planSelector .planBlock.blackWeeks .paymentOperatorContainer{
    color:#8de7d1;
}

.planSelector .planBlock.blackWeeks .countownTimer{
    padding:0.5rem;
    border-radius: 0.5rem;
    text-align: center;
    color:#8de7d1;
    border:1px solid #8de7d1;
}

.planSelector .planBlock.blackWeeks .button{
    background-color:#8de7d1;
    border: 1px solid #4ebaa1;
}

.planSelector .planBlock.blackWeeks .paymentOperatorContainer{
    border-top: 1px solid #4ebaa1;
}

.planSelector .planBlock.blackWeeks .button:hover{
    background-color:#4ebaa1;
}

.planSelector .planBlock.blackWeeks.promo{
    border:8px solid #8de7d1;
}

.planSelector .planBlock.promo{
    border:8px solid var(--themeAccent);
}

.planSelector .planBlock .discountIndicator{
    display: inline-block;
    background-color: var(--themeAccent);
    color:#323232;
    padding:0.5rem 1rem;
    font-size:1.1rem;
    border-radius:0.5rem;
    position: absolute;
    top:-1.5rem;
    left:-1.5rem;
}

.planSelector .planBlock .label{
    text-transform: uppercase;
    font-size:1.3rem;
    margin-bottom:0.25rem;
    text-align: center;
    color:var(--themeAccent);
    font-weight:bold;
}

.planSelector .planBlock .promoLabelContainer{
    text-align: center;
    margin-bottom:0.5rem;
}
.planSelector .planBlock .promoLabelContainer .promoLabel{
    font-size:0.9rem;
    border:1px dashed var(--themeAccent);
    padding:0.25rem 0.5rem;
    margin:0 auto;
    display:inline-block;
    border-radius: 0.25rem;
    color:var(--themeAccent);
}

.planSelector .planBlock .amount{
    font-size:3.3rem;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
}

.planSelector .planBlock .amount .details{
    font-size:0.8rem;
}

.planSelector .detailsDiscount{
    font-weight: normal;
    color: #FFFFFF;
    font-size:0.8rem;
    text-align: center;
    margin-top:0.5rem;
}

.planSelector .planBlock .amountSupplement{
    color: var(--themeAccent);
    font-size: 1.2rem;
    text-align: center;
    margin-top:1rem;
}

.planSelector .planBlock .planDetails{

}

.planSelector .planBlock .planDetails H4{
    margin:2rem 0 0 0;
}

.planSelector .planBlock .planDetails UL{
    margin:1rem 0 1rem 0;
    font-size: 0.8rem;
}

.planSelector .planBlock .button{
    margin: 1rem 0 0.5rem 0;
    display: block;
    background-color: var(--themeAccentBg);
    font-size: 1.5rem;
    text-transform: uppercase;
    text-align: center;
    padding: 0.25rem 0.75rem;
    font-weight: bold;
    transition: all 400ms;
}

.planSelector .planBlock .button:hover{
    background-color: var(--themeAccentHover);
}

.button.proceed{
    background-color: var(--themeAccentBg);
    border: 1px solid var(--themeAccent);
    color:#323232 !important;
    text-decoration: none;
    font-size:1.2rem;
    font-weight: bold;
    padding:1rem 3rem;
    margin:2rem 0;
}

.planSelectorContainer .button.proceed.disabled{
    background-color: #e8a70e55;
    border: 1px solid #a6770955;
}

.planSelectorContainer .button.proceed A{
    color:#323232 !important;
    text-decoration: none;
}

.orderSummary{
    display: block;
    box-sizing: border-box;
}

.orderSummary .row{
    margin:0.5rem 0;
    border-bottom:1px solid #DDD;
    padding:0.5rem;
    display: flex;
    font-size:0.9rem;
}

.orderSummary .row .cell{
    flex:1 1;
}

.orderSummary .row .cell:last-of-type{
    text-align: right;
}

.orderSummary .row .cell.label{
    flex:1 1;
}

.orderSummary .row.price{
    position: absolute;
    box-sizing: border-box;
    width:calc(100% - 2rem);
    bottom:1rem;
    right:1rem;
    font-size:2rem;
    text-align: center;
    display:block !important;
    background-color: #FFFFFF;
    font-weight: bold;
}

.orderSummary .row.price LABEL{
    display: block;
    font-size:1rem;
    font-weight: normal;
}

.orderSummary .planChangerContainer{
    text-align: center;
    margin:1rem 0;
}

.transactionDetails{
    font-size:0.8rem;
    margin:1rem 0 0 0;
    text-align: center;
}



.paymentOperatorDetails IMG{
    margin:1rem auto;
    display: inline-block;
    box-sizing: border-box;
    width:100%;
}

.termsBox{
    margin:2rem auto;
}

A.vividLink{
    color:var(--themeAccent);
}

A.vividLink:hover{
    text-decoration: underline;
}

.paymentOperatorContainer{
    border-top:1px solid var(--themeMainMed);
    padding:1rem 0 0 0;
    margin:2rem 3rem;
    text-align: center;
    font-size:0.9rem;
}

.compareTable{
    width:100%;
}

.compareTable TD{
    padding:1rem;
}

.compareTable THEAD{
    font-size:1.1rem;
    font-weight: bold;
}

.compareTable TBODY{
    font-size:0.9rem;
}

.compareTable TBODY TD{
    border-bottom:1px solid #FFFFFF11;
}

.compareTable .feature{
    font-weight: bold;
    width:50%;
}

.compareTable .planColumn{
    width:25%;
    text-align: center;
}

.compareTable .fa-regular.fa-check{
    color:var(--themeAccent);
}

.compareTable .fa-regular.fa-times{
    color:red;
}

BODY FOOTER.pageFooter{
    margin-top:0 !important;
}

@media screen and (max-width: 1536px) {
    .planSelector{
        padding:0 5vw;
    }

    .pageContainer.planSelectorContainer H1 {
        font-size: 2.5rem;
        line-height: 3rem;
        letter-spacing: -1px;
        text-align: center;
        margin:1rem 0 2rem 0;
    }
    .planLogoContainer{
        margin-bottom:1rem;
    }

    .planLogoContainer IMG{
        width:200px;
    }

    .planDescription{
        font-size:1.3rem;
    }

    .planSelector .planBlock{
        margin:1rem 2rem;
    }

    .planSelector .planBlock .label{
        font-size:1.1rem;
    }

    .planSelector .planBlock .amount{
        font-size:2.5rem;
    }

    .planSelector .planBlock .button{
        font-size:1.3rem;
    }

    .pageContainer.offerDetails H2{
        font-size: 2.2rem;
    }

    .pageContainer.offerDetails H3{
        font-size:1.5rem;
    }

}

@media screen and (max-width: 640px) {

    .pageContainer.planSelectorContainer H1{
        font-size: 1.5rem;
        line-height:2rem;
        text-align: center;
        padding:0 1rem;
        word-break:break-word;
    }

    .pageContainer .planDescription{
        font-size:1.2rem;
        padding:1rem;
    }

    .planLogoContainer IMG{
        width:40vw;
    }


    .pageContainer.planSelectorContainer{
        padding:6rem 0 3rem 0;
        background-image: url("/lib/images/covers/misc/memoplus-vb1-mobile.jpg");
    }

    .pageContainer.proceedSteps{
        padding: 6rem 0.5rem;
    }

    .pageContainer.proceedSteps H1{
        font-size:1.3rem;
    }

    .button.proceed{
        box-sizing: border-box;
        text-align: center;
        width:100%;
    }

    .planSelector{
        flex-direction: column;
    }

    .planSelector .planBlock{
        margin:1rem;
    }

    .planSelector .planBlock .label{
        margin-bottom:1rem;
    }

    .planSelector .planBlock .amount{
        font-size:2.6rem;
    }

    .planSelector .planBlock .discountIndicator{
        left:50%;
        transform: translateX(-50%);
        width:80%;
        text-align: center;

    }

    .planSelector .planBlock.promo{
        border-width:4px;
        margin-top:2.5rem;
    }

    .planSelector .planBlock .amountSupplement{
        font-size:1.1rem;
        margin-top:1rem;
    }

    .planSelector .planBlock .button{
        font-size:1.3rem;
        padding:0.5rem;
    }

    .planDescriptionPrice{
        font-size:0.8rem;
    }

    .pageContainer.offerDetails{
        padding:1rem;
    }

    .pageContainer.offerDetails .benefitContainer{
        flex-direction: column;
    }

    .orderSummary .row.price{
        position: static;
        width: auto;
    }

    .stepContainer{
        flex-direction: column;
    }

    .stepContainer .columnMain{
        border-radius:1rem 1rem 0 0;
    }

    .stepContainer .columnMain .content{
        margin:0;
        font-size:0.9rem;
    }

    .stepContainer .columnAction{
        border-radius: 0 0 1rem 1rem;
        min-width: auto;
        max-width: none;
    }

    .termsBox{
        max-width:90vw;
        width:90vw;
        padding: 1rem;
        box-sizing: border-box;
    }

    .termsBox .uiCheckbox{

    }

    .pageContainer.offerDetails H2{
        font-size:1.8rem;
    }

    .pageContainer.offerDetails H3{
        font-size:1.2rem;
    }

    .compareTable THEAD{
        font-size:0.8rem;
    }

    .compareTable THEAD .planColumn{
        padding:0.5rem;
    }

    .compareTable TBODY{
        font-size:0.7rem;
    }

    .compareTable TD{
        padding:0.35rem;
    }

    .ctaButton{
        box-sizing: border-box;
        width:80vw;
        font-size:1rem;
        padding:0.5rem 1rem;
        margin:0.5rem 0;
        border-radius: 0.5rem;
    }

    .ctaButton.buy{
        font-weight: bold;
        padding:1rem;
    }

}
