/* Base Styles */

body {
    background: white;
    font-family: sans-serif;
    height: 100vh;
    max-width: 500px;
    margin: 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

h1 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.36px;
    line-height: 24px;
}

p {
    font-size: 14px;
    line-height: 19px;
    margin: 0 0 20px;
}

a {
    color: #213f99;
}

input[type="checkbox"] {
    height: 25px;
    width: 25px;
    margin-right: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

button {
    border: none;
    border-radius: 10px;
    outline: none;
    background: #213f99;
    color: white;
    font-size: 21px;
    letter-spacing: 0.42px;
    line-height: 28px;
    padding: 10px 20px;
    width: 100%;
    transition: all 0.25s;
}

input:focus {
    outline: none;
    border: none;
    box-shadow: none;
}

/* Utility Classes */

.p-legal {
    font-size: 12px;
    font-style: italic;
    letter-spacing: 0.2px;
    line-height: 14px;
}

.p-button--white {
    background: white;
    border: solid 2px #213f99;
    color: #213f99;
}

/* Generic Page Components */

.p-content {
    background: white;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    padding: 20px 20px 0;
    height: calc(50vh - 20px);
    margin-top: -20px;
    position: relative;
    -webkit-box-shadow: 0px -20px 15px -10px rgb(0 0 0 / 10%);
    box-shadow: 0px -20px 15px -10px rgb(0 0 0 / 10%);
}

.p-form_inner {
    display: flex;
    flex-direction: column;
    border: none;
    margin: 0;
    padding: 0;
}

.p-copyright {
    font-size: 8px;
    line-height: 10px;
    position: absolute;
    margin-top: 50px;
    left: 50%;
    transform: translateX(-50%);
}

/* Specific Components */

.p-input_group {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.p-input_group--center {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.p-phone_input,
.p-verification_code_input {
    background: #213f990a;
    border: solid 1px #213f9933;
    border-radius: 5px;
    font-size: 16px;
    padding: 13px;
    text-align: center;
}

.p-phone_input {
    text-align: left;
    margin: 20px 0 40px;
    letter-spacing: 10px;
    padding-left: 3rem;
}

.p-verification_code_input {
    margin: 20px 0 80px;
    letter-spacing: 10px;
    padding-left: 10px;
}

.p-button_group {
    display: flex;
    justify-content: space-between;
}

.p-button_group button {
    font-size: 18px;
    letter-spacing: 0;
    line-height: 24px;
    width: calc(50% - 15px);
}

.p-field_input,
.p-userprofileidhash {
    background: rgba(33, 63, 153, 0.05);
    border-top: none;
    border-right: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: solid 1px rgba(33, 63, 153, 0.5);
    border-left: none;
    margin-bottom: 20px;
    margin-right: 0;
    margin-left: 0;
    height: 40px;
    padding-left: 10px;
    line-height: 21px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-size: 16px;
}

.p-field_input:focus,
.p-userprofileidhash:focus {
    border-bottom: solid 1px rgba(33, 63, 153, 0.5);
}

legend {
    font-size: 18px;
    color: #213f99;
    font-weight: bold;
    margin-bottom: 10px;
}

/* 20210914 remove gap */
.p-input_group--5050 {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.p-input_group--5050 input {
    width: 147px;
}

/* Used to make CVV2 full width 07/23/21 kw*/
.p-input_group--5050.exp {
    display: flex;
}

.p-verification_confirmation {
    display: none;
}

.p-verification_confirmation p {
    margin-bottom: 166px;
}

button:disabled {
    background: #213f9933;
}

.p-footer_logo {
    display: block;
    margin: 0 auto;
    width: 75px;
    margin-bottom: 10px;
}

.p-background_image {
    display: block;
    width: 100%;
    height: auto;
}

.p-invoice_summary {
    background: #213f99;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5px 0 35px;
    position: fixed;
    top: 0;
    width: 100%;
    height: 23vh;
    margin: 0 auto;
    max-width: 500px;
}

.p-invoice_amount {
    color: white;
    font-size: 36px;
    line-height: 36px;
}

.p-invoice_surcharge {
    color: white;
    font-size: 12px;
    line-height: 30px;
    letter-spacing: 0.36px;
    cursor: pointer;
}

.p-store_name {
    color: white;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.36px;
}

.p-work_order_number {
    color: white;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.28px;
}

.p-view_invoice {
    font-size: 18px;
    line-height: 24px;
    background: #3752a3;
    width: auto;
    margin-top: 10px;
}

.p-card_details_content {
    top: 28vh;
    /* margin-top: calc(23vh - 20px); */
    padding-bottom: 16vh;
    height: auto;
}

/*** 20210720 changed zindex to 2 becasue cfna tersms are 2 ***/
.p-pay_button_group {
    position: fixed;
    bottom: 0;
    width: calc(100% - 40px);
    padding: 20px;
    -webkit-box-shadow: 0px -20px 15px -10px rgb(0 0 0 / 10%);
    box-shadow: 0px -20px 15px -10px rgb(0 0 0 / 10%);
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    background: white;
    left: 50%;
    z-index: 2;
    max-width: 460px;
    margin: 0 auto;
    transform: translateX(-50%);
}

.p-invoice {
    position: absolute;
    top: 0;
    height: 84vh;
    width: 100%;
}

#invoice_receiptdetails {
    position: absolute;
    background: white;
    top: 0;
    bottom: 0;
    width: 100%;
}

/* Invoice PDF Viewer Fixes */

#invoice_receiptpdf-overlay {
    max-width: 80%;
}

.navbar_top {
    display: flex;
}

.navbar_bottom {
    display: flex;
    margin-bottom: 20px;
}

#invoiceSpan {
    min-width: 100px;
    text-align: center;
}

.invoiceNav__BottomRow {
    display: flex;
}

.multiplePageNav {
    display: flex;
}

/* Infobox */

.p-infobox {
    position: absolute;
    bottom: 0;
}

.p-infobox_content {
    margin: 20px 0 100px;
}

.p-infobox_notification, .p-infobox_surchargefee {
    position: absolute;
    height: 100%;
    z-index: 100;
    top: 23vh;
    padding-bottom: 40%;
}

.p-infobox_content_notification, .p-infobox_content_surchargefee {
    margin: 20px 0 100px;
}

/* Fixed CFNA Terms 07/23/21 kw*/
#p_infobox_t2pecommconsentcfna,
#p_infobox_t2ptermscfna,
#p_infobox_showinvoice {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* padding: 5px 0 35px; */
}

/* Fixed CFNA Terms 07/23/21 kw*/
#p_infobox_t2pecommconsentcfna,
#p_infobox_t2ptermscfna {
    top: 0;
    height: calc(100% - 140px);
    width: calc(100% - 32px);
    padding-left: 16px;
    padding-right: 16px;
    position: fixed;
    z-index: 2;
    max-width: 468px;
}

/*Fixed 07/23/21 kw*/
#p_infobox_showinvoice {
    top: 23vh;
    height: auto;
    position: absolute;
    left: 0;
}

/* Invoice */

/*Fixed 07/23/21 kw*/
#p_invoice_wrapper,
#iframe_p_invoice_wrapper {
    width: 100%;
    height: 100%;
    left: 0;
}

.p-invoicepdf_details_content {
    top: 30px;
    padding: 0;
    height: auto;
}

/* 20210910 added max-width */
/*
#cc_details_logo {
    position: absolute;
    height: 0px;
    width: 0px;
    max-width: 60px;
}
*/
#p_form_cc_container {
    position: relative;
}

#userprofileidhash {
    position: relative;
    display: inline-block;
    width: 100%;
}

/*Card Image Placement 07/23/21 kw*/
/*
#cc_paytypeimage {
    display: inline-block;
    position: absolute;
    z-index: 1;
    top: 19px;
    right: 23px;
    height: 26px;
    width: auto;
}
*/
.errormsg {
    border-bottom: solid 1px red;
}

.errortxt {
    color: #ea1515;
    position: absolute;
    font-size: 10px;
    line-height: 13px;
    text-align: left;
}

/* Privacy Policy Overlay Bug Fixes 06.24.2021 */

.t2pterms {
    /* hide footer by covering it */
    z-index: 1;
    /* Fix height */
    display: flex;
    flex-direction: column;
    position: fixed;
    height: 100%;
    /* Fix width */
    left: 0;
    right: 0;
    /* Add by kw to solve fullscreen displaying of terms. 07/23/21*/
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
}

/* Fix button margin */
.t2pterms .p-button_group {
    margin-bottom: 20px;
}

/* Fix privacy policy and wrapper height */

.show_termsandconditionsttp,
.show_privacypolicy {
    flex-grow: 1;
    margin-bottom: 20px;
}

.show_termsandconditionsttp_wrapper,
.show_privacypolicy_wrapper {
    height: 100%;
}

/* Fix iframe and wrapper height and width */

#iframe_show_termsandconditionsttp_wrapper,
#iframe_show_privacypolicy_wrapper {
    height: 100%;
    width: 100%;
}

/* Invoice PDF Viewer Bug Fixes 06.25.2021 */

.iframe_p_invoice_wrapper {
    border-radius: 20px;
    position: fixed;
    top: -20px;
}

/* Hide Footer 06.25.2021 */

.p_verification_page .p-copyright,
.p_payment_page .p-copyright {
    display: none;
}

/* Payment Page Fixes 06.28.2021 */

.p-input_group--5050 .p-field_input {
    width: calc(50%) !important;
}

/* Used to make CVV2 full width 07/23/21 kw*/
.p-input_group--5050.exp .p-field_input {
    width: 100% !important;
}

/* Error Message Fixes 06.28.2021 */

#p_phone_input_errortxt {
    margin-top: 5px;
}

#p_tos_agreement_checkbox_errortxt {
    margin-left: 1rem;
    /* Login page error text position fix 07.30.2021 */
    top: -13px !important;
    left: 18px !important;
    width: 300px;
}

.p-card_details_content .errortxt {
    margin-left: 10px;
}

.p_verification_code_input_errortxt,
#p_verification_code_input_errortxt {
    text-align: center;
}

/* CFNA Terms Styles */

.offer-title {
    margin-bottom: 0.5rem;
}

.offer-title,
.enrollfinancing {
    border-radius: 5px;
    padding: 1.3rem;
    background: #213f990a;
}

/* Infobox Fixes 06.28.2021 */

.p-infobox.t2pecommconsentcfna,
.p-infobox.t2ptermscfna {
    display: flex !important;
    position: fixed;
    top: 0;
    height: 100vh;
    padding: 20px 0 0;
    z-index: 1;
}

.p-button_group.t2ptermscfna,
.p-button_group.t2pecommconsentcfna {
    width: calc(100% - 20px);
    padding: 20px 0;
}

.p-button_group.t2ptermscfna button,
.p-button_group.t2pecommconsentcfna button {
    width: calc(33% - 15px);
}

.show_ecommconsentcfna {
    flex-grow: 1;
    width: 100%;
}

.show_ecommconsentcfna_wrapper,
.show_termsandconditionsttpcfna {
    height: 100%;
    width: 100%;
}

#iframe_show_ecommconsentcfna_wrapper,
#show_termsandconditionsttpcfna_wrapper,
#iframe_show_termsandconditionsttpcfna_wrapper {
    height: 100%;
    width: 100%;
}

/* Invoice Nav Fixes 07.02.2021 */

.invoiceNavButton {
    padding: 0;
    background: none;
}

.pay-download,
.pay-email,
.pay-print,
.pay-zoomin,
.pay-zoomout,
.pay-arrowleft,
.pay-arrowright {
    -webkit-filter: invert(100%);
    filter: invert(100%);
}

#invoice_receiptpdf {
    border: none !important;
}

/* CFNA Terms Fixes 07.02.2021 */

input.enrollfinancing {
    padding: 0;
}

/* PDF Nav Styles 07.06.2021 */

.fa-download:hover,
.fa-envelope:hover,
.fa-print:hover:hover,
.fa-search-minus:hover,
.fa-search-plus:hover {
    color: lightblue !important;
    cursor: pointer;
}

.pay-download,
.pay-email,
.pay-print,
.pay-zoomin,
.pay-zoomout,
.pay-arrowleft,
.pay-arrowright {
    border: none;
    cursor: pointer;
    display: inline-block;
    -webkit-appearance: none;
    width: 25px;
    height: 25px;
    background-repeat: no-repeat;
    opacity: 0.9;
}

/* 20210707 changed below to use images dir */

.pay-download {
    background: url(/images/Paydownload.svg);
}

.pay-email {
    background: url(/images/Payemail.svg);
}

.pay-print {
    background: url(/images/Payprint.svg);
}

.pay-zoomin {
    background: url(/images/Payzoom-in.svg);
}

.pay-zoomout {
    background: url(/images/Payzoom-out.svg);
}
.pay-arrowleft {
    background: url(/images/Payarrow-left.svg);
}

.pay-arrowright {
    background: url(/images/Payarrow-right.svg);
}

/* 20210707 added */

#fa-spinner_download,
#fa-spinner_email,
#fa-spinner_print {
    color: black;
    background-color: white;
}

@keyframes fa-blink {
    0% {
        opacity: 1;
    }
    25% {
        opacity: 0.25;
    }
    50% {
        opacity: 0.5;
    }
    75% {
        opacity: 0.75;
    }
    100% {
        opacity: 0;
    }
}

/* iOS Input Style Fixes 07.13.2021 */

input[type="search"] {
    -webkit-appearance: none;
}

/* Fix CFNA error text position 07.13.2021 
	Update 0/23/2021 by kw.
*/
#enrollfinancing_errortxt {
    margin-left: auto;
    margin-top: -40px;
    /* Fix error text position 08.02.2021 (Wesley) */
    top: 27px !important;
    left: 39px !important;
    width: 300px;
}

/* Missing Invoice Summary Styles 07.22.2021 */

.p-invoice_summary--result {
    background: rgba(33, 63, 153, 0.04);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    margin-bottom: 20px;
}

.p-invoice_summary--result .p-invoice_amount {
    color: #213f99;
}

.p-invoice_summary--result .p-store_name,
.p-invoice_summary--result .p-work_order_number {
    color: black;
}

/* Used for Hiding Elements 07/23/21 kw*/
.p-display_none {
    display: none !important;
}

/*** Point out the Expired profiles ***/
.expired {
    color: red;
}

/* Decline Page | Wesley | 07.28.2021 */

.p-decline {
    background: rgba(33, 63, 153, 0.04);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.p-invoice_summary--decline {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 0;
    max-width: 500px;
}

.p-invoice_summary--decline .p-invoice_amount,
.p-invoice_summary--decline .p-store_name,
.p-invoice_summary--decline .p-work_order_number {
    color: #213f99;
}

.p-button_group--100 {
    flex-direction: column;
    padding-top: 1rem;
}

.p-button_group--100 button {
    margin-bottom: 1rem;
    width: 100%;
}

.p-button_group--100 button:last-of-type {
    margin-bottom: 0;
}

.p-decline__content {
    margin-top: 1rem;
}

.p-decline__content h1 {
    margin-bottom: 0.5rem;
}

.p-decline__message {
    font-size: 14px;
    text-decoration: underline;
}

.p-decline__content--center {
    text-align: center;
    font-style: italic;
    margin-top: 1rem;
}

.p-shop_name {
    font-size: 18px;
    text-align: center;
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
}

/* Custome Checkbox Styles 07.29.2021 */

.p-checkbox {
    position: relative;
    padding-left: 1rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    height: 25px;
    width: 25px;
}

.p-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: white;
    border-radius: 100%;
    border: solid 1px #213f9933;
}

.p-checkbox:hover input ~ .checkmark {
    background-color: #213f9933;
}

.p-checkbox input:checked ~ .checkmark {
    background-color: #213f99;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.p-checkbox input:checked ~ .checkmark:after {
    display: block;
}

.checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* Checkbox position fix 07.30.2021 */

#finterms .p-checkbox {
    float: left;
}

/* 20210803 disable scroll */
body.scrollOff {
    height: 100%;
    overflow: hidden;
    touch-action: none;
    // pointer-events:none;
}

/* Decline Screen Fixes 08.04.2021 */

#p_infobox_notification {
    position: fixed;
    top: 0;
    max-width: 460px;
}

#p_infobox_surchargefee {
    position: fixed;
    top: 0;
    max-width: 460px;
}

#p_card_details .p-button_group_notification {
    position: fixed;
    bottom: 1rem;
    width: calc(100% - 2.5rem);
    max-width: 460px;
}

#p_card_details .p-button_group_notification button {
    width: 100%;
}

#p_card_details .p-button_group_surchargefee {
    position: fixed;
    bottom: 1rem;
    width: calc(100% - 2.5rem);
    max-width: 460px;
}

#p_card_details .p-button_group_surchargefee button {
    width: 100%;
}

/* 20210910 temp only need to clean up */

.cardnumber_wrapper {
    display: flex;  
    align-items: end;
}
.cardnumber_wrapper :first-child {
    flex: 2;
}
.cardnumber_wrapper :not(:first-child) {
   width: auto; 
}

.p-field_input.cclogo {
    position: absolute;
    max-height: 26px;
    max-width: 50px;
    z-index: 2;
    right: 36px;
    background: rgba(33, 63, 153, 0.0);
    border-bottom: solid 1px rgba(33, 63, 153, 0.0);
}

.p-input_group--5050.android :last-child {
   flex: 2 0 auto;
   text-align: center !important;
}

.p-input_group--5050.android :first-child {
    text-align: center !important;
}

.p-input_group--5050.ios :first-child {
    text-align: center !important;
}

.p-input_group--5050.ios :last-child{
    text-align: center !important;
}

.p-input_group--5050.android.on {
    position: relative;
    z-index: 2;
    height: 0px;
    top: -32px;
}

.p-input_group.profilecc {
   flex: 2 0 auto;
}

//#d_expmmyy :nth-child(2) {
//   width: 5px !important;
//}

//#d_expmmyy :not(:nth-child(2)) {
//   flex: 2;
//   text-align: center !important;
//}

#cc_paytypeimage{
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

.p_acceptedcardtypes {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
    height: 20px;
    justify-content: space-evenly;
}

#ccnum_mask {
flex: 2;
position: relative;
}

#countdown_wrapper {
   font-size: 12px;
}

.invoice_summary_surcharge {
    color: #213f99;
    margin-left: 15px;    
}
.acceptsurchargeterms .p-checkbox {
    float: left;
}

.acceptsurcharge {
    border-radius: 5px;
    padding: 1.3rem;
    background: #213f990a;
    display: inline-block;
    align-items: center;
    justify-content: center;
}

/*
.d_acceptsurchargeamount {
    justify-content: center;
    display: flex;
}

.acceptsurchargeamount {
    display: flex;
    justify-content: center;
    align-content: center;
    font-size: 18px;
    letter-spacing: 0.42px;
    line-height: 28px;
    padding: 10px 20px;
    transition: all 0.25s;
    border: none !important;
    background: none !important;;
}
*/


.declinesurchargeamount:hover {
    cursor: pointer;
}

.acceptsurchargewrapper {
    width: auto; 
    margin-right: 10%; 
    margin-left: 10%; 
}

input.acceptsurchargeterms {
    padding: 0;
}

.acceptsurchargeitems {
    display: flex;
    gap: 10px;
    width: auto;
}

.acceptsurchargeitems :first-child {
    align-content: flex-start;
    width: 50%;
}

.acceptsurchargeitems :last-child{
    width: 50%;
    text-align: end;
    align-content: flex-end;
}

.acceptsurchargeitems.totalamount {
    margin-top: 10px;
    margin-bottom: 10px;
    border-top: solid 1px rgba(33, 63, 153, 0.5);
    padding-top: 10px;
}

.acceptsurchargebuttons {
    width: 100%;
    margin: auto;
    align-content: center;
}

.p-button_group.newcard {
    background-color: white;
    align-content: center;
    justify-content: center;
}

.surcharge_or {
    background: white;
   // height: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.p-button--white.declinesurchargeamount {
    font-size: 12px;
    letter-spacing: 0;
    line-height: 12px;
    padding: 3px;
    margin-bottom: 15px;
}

.d_acceptsurchargeamount {
    justify-content: center;
    display: flex;
    padding-bottom: 20px;
    box-sizing: border-box;
    padding: 20px;
}

.p-button--white.acceptsurchargeamount {
   display: flex;
   justify-content: center;
   align-content: center;
   color: #213f99;
   border: solid 0px;
   border-radius: 10px;
   outline: none;
   font-size: 14px;
   letter-spacing: 0.32px;
   line-height: 28px;
   padding: 3px;
   transition: all 0.25s;
   background: rgba(33, 65, 163, 0.1);
   width: calc(60% - 5px);
}


/* Synchrony Terms Styles */

.synchronyoffer-title {
    margin-bottom: 0.5rem;
}

.synchronyoffer-title,
.enrollfinancing {
    border-radius: 5px;
    padding: 1.3rem;
    background: #213f990a;
    margin-bottom: 10px;
}

/* Synchrony Terms Fixes 07.02.2021 */

input.acceptsynchronyterms {
    padding: 0;
}


.p-button--white.acceptsynchronybutton {
   display: flex;
   justify-content: center;
   align-content: center;
   color: #213f99;
   border: solid 0px;
   border-radius: 10px;
   outline: none;
   font-size: 14px;
   letter-spacing: 0.32px;
   line-height: 28px;
   padding: 3px;
   transition: all 0.25s;
   background: rgba(33, 65, 163, 0.1);
   width: calc(60% - 5px);
}

#acceptsynchronyterms_errortxt {
    margin-left: auto;
    margin-top: -40px;
    top: 27px !important;
    left: 39px !important;
    width: 300px;
}
