/* CSS for Popup */

.popupOverlay { 
    position: absolute; top:0; left:0; z-index: 10000; width: 100vw; height: 100vh; 
    background-color: rgba(0,0,0, 0.8); 
    transition: all 0.5 ease-in-out;
    opacity: 0;
}
    
    
.popup { 
    background: white; margin: 0 auto; border-radius: 1rem;
    font-size: 2rem; color: black; 
    z-index: 10001;
    position:absolute; left:15vw; width: 70vw;
    border-radius:10px;
    opacity: 0;
}
.popupInner { 
    position: relative; display: flex; justify-content: center; 
    overflow-y: hidden; 
    overflow-x: hidden;
}


.makeVisible { opacity: 1; }

.popupTitle, .popup div { margin-left: auto; margin-right: auto; text-align: center; }
.popupInput { font-family: inherit; border-radius: 5px; display: block; }
.dropdown { display: flex; justify-content: space-between; margin-bottom: 40px; }



@media only screen and (max-width: 639px) {
    .popupInner { padding: 20px 10px; margin: auto; height: 80vh;}
    .popupTitle { margin-bottom: 20px; }
    .popupDesc { margin-top: 20px; margin-bottom: 25px; }
    .popupInput { 
        padding: 7px 5px; font-size: 16px; width: 95%; 
        margin: 15px auto; 
    }
    label { font-size: 16px; margin-right: 10px; }
}


@media only screen and (min-width: 640px) {
    .popupInner { padding: 30px 20px; margin: auto; height: 550px; }
    .popupTitle { margin-bottom: 50px; }
    .popupDesc { margin-top: 20px; margin-bottom: 50px; }
    .popupInput { 
        padding: 7px 5px; font-size: 18px; width: 500px; 
        margin: 15px auto; 
    }
    .dropdown { width: 500px; }
    label { font-size: 18px; margin-right: 15px; }
} 
 


/* FORM ANIMATION */
.behind { position: absolute; z-index: 1; opacity: 0;}
.front { position: absolute; z-index: 2;  }

.moveStepAway { animation-name: moveAway; animation-duration: 0.25s; animation-fill-mode: forwards; }
.moveStepIn { animation-name: moveIn; animation-duration: 0.25s; animation-fill-mode: forwards; }
@keyframes moveAway { 
    0% { transform: translateX(0); opacity: 1; }  
    100% { transform: translateX(-100px); opacity: 0; } 
}
@keyframes moveIn { 
    0% { transform: translateY(100px); opacity: 0; }  
    100% { transform: translateY(0); opacity: 1; }
}

/*======================================================================*/


.showError { opacity: 1; }

#joinWaitlistProcessing {
    padding-top: 7px; padding-bottom: 7px;
}




.dontShow { display: none; }
.show { display: block; }
#done { color: green; }
#toRemoveOnWaitlist { margin: 0; padding: 0; border: 0; }
.opaque { opacity: 0; }
.bringIn { animation:bringInAnime 250ms 1 forwards; }
.bringOut { animation:bringOutAnime 250ms 1 forwards; }
@keyframes bringInAnime { 0% {opacity:0;} 100% {opacity:1;} }
@keyframes bringOutAnime { 0% {opacity:1;} 100% {opacity:0;} }





#closePopup {
    font-size: 16px;
    text-align: center; vertical-align: middle;
    margin: -15px 0 0 68vw;
    background-color: black;
    border-radius: 50%;
    border: 2px solid white;
    color: white;
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
}

@media only screen and (max-width: 639px) {
    #closePopup { 
        font-size: 12px; 
        margin: -20px 0 0 93%;
    }
}
#closePopup:hover { cursor: pointer; }
#closePopup:active { opacity: 0.3; }





/*form header (step 1 and step 2)*/
#formHeaderStep { text-align: center; margin-top: 10px; }
.showHeaderStep { display: block; }
.hideHeaderStep { display: none; }
@media only screen and (max-width: 639px) {
    #formHeaderStep { margin-bottom: 10px; margin-top: 0; }
    #formHeaderStep div { font-size: 12px;  }
}


#formHeader {
    display: flex; justify-content: space-between; align-items: center; 
    margin-bottom: 0; margin-top: 20px;
    width: calc(100% - 25px); max-width: 700px; /*matches max-width of #step1Div*/
}
#formHeader div { text-align: center; margin-bottom: 0; }
@media only screen and (max-width: 639px) {
    #formHeader { width: calc(100% - 40px); }
}

.headerSection { 
    width: 50%; height: 50px; /*the height has to be 2x the border-top of #headerArrow*/
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #DDD;
}

.headerNum { 
    width: 35px; height: 35px; border-radius: 50%;
    display: flex; justify-content: center; align-items: center;
    margin: 0 !important;
    color: white; font-size: 16px; font-weight: 600;
}
.headerNumActive { background-color: #3687b4; }
.headerNumInactive { background-color: #f5f5f5; }
.headerTxt { margin: 0 0 0 10px !important;  } 
.headerTxtActive { color: white; }
.headerTxtInactive { color: #f5f5f5; }

#headerArrow {
    position: absolute; left: 50%;
    width: 0; height: 0;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    text-align: right;
    margin-right: auto;
}

.headerSectionActive { background-color: #219ed6; border: 1px solid #3687b4; }
#headerShipping { border-right: none; }
#headerCheckout { border-left: none; }
.arrowActive { border-left: 10px solid #219ed6; }
.arrowTransparent { border-left: 10px solid white; }

@media only screen and (max-width: 639px) {
    .headerNum, .headerTxt { font-size: 10px; }
    .headerNum { width: 20px; height: 20px; }
    .headerTxt { margin: 0 0 0 5px !important; }
}

/*======================================================================*/  



/*button and under button icons*/
.popupBtn {
    position: relative; cursor: pointer;
    background-color: #219ed6; color: #ffffff; border-radius: 5px;
    text-align: center; margin-top: 30px; margin-bottom: 30px; padding: 10px 20px;
    font-size: 1.25rem;
    width: calc(100% - 100px);    
}
.popupUnderBtnIcons { 
    display: flex; align-items: center; justify-content: space-between; 
    width: calc(100% - 100px); margin-bottom: 0;
}
.oneBtnIcon { 
    margin-left: 0 !important; margin-right: 0 !important; 
    display: flex; align-items: center; justify-content: center;
    width: 49%;
}
.oneBtnIcon div { color: #219ed6; text-align: left; }
.oneBtnIcon div { font-size: 14px; line-height: 22px; margin-left: 5px; }
.oneBtnIcon, .oneBtnIcon div, .oneBtnIcon img { margin-bottom: 0; }

.popupUnderBtnIcons img { width: 75px; height: 75px; }
@media only screen and (max-width: 639px) {
    .popupBtn { width: min(288px, 85%); padding: 7px 15px; margin: 20px auto 30px auto; font-size:1.25rem; }
    .popupUnderBtnIcons { margin-bottom: 30px; width: 100%; }
    .popupUnderBtnIcons img { width: 40px; height: 40px; }
    .oneBtnIcon div { font-size: 10px; line-height: 16px; margin-left: 3px; }
}
/*======================================================================*/  


#titleStep1 { text-align: center; margin-bottom: 15px; }
#yourAddressTxt { font-size: 18px; width: calc(85% + 32px); }
@media only screen and (max-width: 639px) {
    #yourAddressTxt, #titleStep1 { font-size: 14px; }
}
.formInput { 
    height: 28px; padding: 12px 16px;
    border-radius: 4px; border: 1px #c3c3c3 solid;
    appearance: none; -webkit-appearance: none; margin-inline: auto;
    width: 450px; font-size: 15px;
    background-color: #f5f5f5;
}
.formInput:focus {
    outline: none !important;
    border-color: #FEA94C;
    box-shadow: 0 0 2px #FEA94C;
}
#step1ErrorMsg { color: #940c0c; font-size: 14px; margin-bottom: 40px; margin-top: -10px; }
@media only screen and (max-width: 639px) {
    .formInput { padding: 8px 16px; width: 85%; }
    #step1ErrorMsg { font-size: 12px; margin-top: -15px; }
}
.errorMsgHidden { opacity: 0; }
.showError { box-shadow: 0 0 2px #940c0c; border: 2px solid #940c0c; }
#successMsg { color: #00b061; text-align: center; margin-top: 20px; }





/* UPSELL COMPONENTS */
#step2Div { padding-left: 40px; padding-right: 40px; }
.oneUpsell { margin-top: 50px; }
.oneUpsellInner { border: 1px solid #dedede; }
.oneUpsell div { margin-left: 0; margin-right: 0; margin-bottom: 0; text-align: left; }
.oneUpsellTopPart, .oneUpsellBottomPart { padding: 20px 30px; }
.oneUpsellTopPart { background-color: #f4f1ed; }
.oneUpsellTopPart { display: flex; justify-content: space-between; align-items: center; }

.oneUpsellPic { width: 150px; height: 150px; }
.oneUpsellPic img { width: 100%; height: 100%; }
.titleAndText { width: calc(100% - 170px); }

.oneUpsellTitleSection { display: flex; align-items: center; justify-content: space-between; }
.oneUpsellTitle { font-size: 18px; font-weight: 700; }

.oneUpsellSubtitle { color: #000066; }
.oneUpsellSubtitle { font-size: 20px; }

.oneUpsellText, .oneUpsellBenefitDesc { font-size: 16px; line-height: 26px; }

.oneUpsellBenefit { display: flex; margin-bottom: 7px !important }
.oneUpsellTick { margin-right: 10px !important; color: #00bd39;  }

.addUpsellBtnDiv div { 
    padding: 10px 15px; border-radius: 5px; width: 100px; margin: 25px auto;
    font-weight: 600; text-align: center;
}
.addUpsellBtnDiv:hover { cursor: pointer; }

.upsellToAdd { border: 1px solid #219ed6; }
.upsellToAdd span { color: #219ed6; }
.upsellAdded { border: 1px solid #baf1ca; background-color: #baf1ca; }
.upsellAdded span { color: #00bd39; }
.upsellToAdd span, .upsellAdded span { font-size: 18px; }


@media only screen and (max-width: 639px) {
    #step2Div { padding-left: 20px; padding-right: 20px; }
    .oneUpsell { margin-top: 35px; padding: 20px; }
    .oneUpsellInner { width: 90%; position: relative; left: 5%; }
    .oneUpsellTopPart, .oneUpsellBottomPart { padding: 20px; }
    .oneUpsellTopPart { flex-direction: column; align-items: center; }
    .oneUpsellPic { margin-bottom: 40px !important; }
    .titleAndText { width: 100%; }

    .oneUpsellText { margin-top: 20px; }

    .oneUpsellTitle { font-size: 16px; }
    .oneUpsellSubtitle { font-size: 18px;}
    .oneUpsellText, .oneUpsellBenefitDesc { font-size: 14px;}

    .oneUpsellSubtitle, .oneUpsellText { line-height: 25px; }
    .oneUpsellTitle, .oneUpsellSubtitle, .oneUpsellText { text-align: center !important; }

}

/*======================================================================*/



/* ORDER SUMMARY */
#orderSummary { padding: 20px; border: 1px solid #dedede; margin: 30px auto 50px auto; }
#innerOrderDiv { margin: 0; }

.headers, .oneItem { display: flex; justify-content: space-between; }
.headers { font-weight: 600; }

.itemInCartName, #headerItem { text-align: left !important; }
.itemInCartPx, #headerPx {text-align: right !important; }
.headers, .itemInCartName, .itemInCartPx, #headerItem, #headerPx { margin: 0 !important; }

.itemInCartName, .itemInCartName span, .itemInCartPx, .itemInCartPx span, #headerItem, #headerPx, #summaryHeader { font-size: 16px; }
#summaryHeader { font-weight: 600; margin-bottom: 5px; }

.oneItem { margin-bottom: -5px; }
.itemCartIndent { margin-left: 10px !important; }
.itemInCartName::before { content: '\2713'; color: #00bd39; margin-right: 5px; }
.tickHidden::before { color: rgba(0,0,0,0) !important; }

@media only screen and (max-width: 639px) {
    #orderSummary { margin-block: 35px; }
    .itemInCartName, .itemInCartName span, .itemInCartPx, .itemInCartPx span, #headerItem, #headerPx, #summaryHeader { font-size: 14px; }
    .oneItem { margin-bottom: -1px; }
}

@media only screen and (max-width: 339px) {
    .itemInCartName, .itemInCartName span, .itemInCartPx, .itemInCartPx span, #headerItem, #headerPx, #summaryHeader { font-size: 12px; }
}


/*======================================================================*/