.phoneNumber_lookup { margin-bottom: 0; .form_field.float_label { margin-bottom: 0; height: 62px; >input.phone_register_input#phoneNumber { border: 1px solid #767676 !important; border-radius: 4px !important; padding: 0 12px 5px !important; font-size: 16px; box-sizing: border-box; height: 48px; width: 100%; background-color: #fff; margin: 0; padding-left: 12px; padding-top: 12px; &:focus { border-color: #1e5a99; outline: none; } } >label.phone_register_label { display: block; padding: 6px 0; margin: 8px 0px; height: 1rem; line-height: 1.2em; font-size: 1rem; font-weight: 400; white-space: nowrap; color: #000; bottom: 24px; left: 12px; position: absolute; pointer-events: none; transition: all 0.2s ease-out; -webkit-transition: all 0.2s ease-out; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; width: fit-content; background: #fff; .red_text { color: #000; } &.is_floated { top: -21px; left: 12px; color: #1e5a99; font-size: 12px; } } } .phone_register_helper { color: #525252; font-size: 14px; margin: 0; line-height: 1.4; padding: 0; display: block; } +li { margin-top: 16px; } } button.btn.primary.phone_register_btn { margin: 0; width: 100%; outline: 0; overflow: visible; height: auto; font-family: inherit; font-weight: 400; font-style: normal; font-variant: normal; font-stretch: normal; text-transform: none; text-decoration: none; text-align: center; cursor: pointer; color: #fff; vertical-align: middle; -webkit-appearance: none; appearance: none; display: inline-block; zoom: 1; border: none; font-size: 1rem; line-height: 38px; border-radius: 4px; padding: 0 1em; &:hover { background-color: #164a7f; border-color: #164a7f; } &:active { background-color: #0f3a66; border-color: #0f3a66; } &:focus { outline: 2px solid #1e5a99; outline-offset: 2px; } } // Phone validation modal styles .confirm_account_modal, .verify_code_modal { padding: 0; width: 100%; height: 100%; min-height: 100vh; display: flex; flex-direction: column; box-sizing: border-box; } .modal_header { padding: 16px; border-bottom: 1px solid #e0e0e0; } .modal_header_top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; } .modal_header_left, .modal_header_right { flex: 1; display: flex; } .modal_header_right { justify-content: flex-end; } .rewards_logo { font-size: 12px; line-height: 1.2; display: flex; justify-content: center; flex: 1; } .rewards_logo_text { color: #000; font-weight: normal; } .rewards_logo_rewards { color: #ce0000; font-weight: bold; font-size: 18px; } .modal_close_x { background: none; border: none; font-size: 20px; cursor: pointer; color: #000; padding: 0; width: 24px; height: 24px; line-height: 1; padding: 0 3rem 3rem 0; } .modal_header_bar { height: 2px; background-color: #2d5016; width: 60%; } .modal_content { padding: 20px 16px; overflow-y: auto; box-sizing: border-box; text-align: left; } .modal_content h2 { font-size: 20px; font-weight: 700; color: #000; margin: 0 0 12px 0; word-wrap: break-word; line-height: 30px; } .modal_content p { font-size: 16px; color: #000; margin: 0 0 8px 0; font-weight: 500; line-height: 20px; } p.modal_phone_display { font-size: 26px; font-weight: 700; color: #000; margin: 23px 0; line-height: 32.50px; word-wrap: break-word; } .modal_text_large_margin { font-size: 14px; color: #000; margin: 0 0 20px 0; } .delivery_method_section { background-color: #f5f5f5; padding: 16px; border-radius: 4px; margin-bottom: 20px; } .delivery_method_question { font-size: 14px; font-weight: bold; color: #000; margin: 0 0 16px 0; } .radio_options { margin-bottom: 0; } .radio_option { display: flex; align-items: flex-start; padding: 12px; cursor: pointer; background: #fff; border-radius: 4px; &:last-child { margin-bottom: 0; } &.selected { border-color: #1E5A99; } } .tropo_method { margin: 2px 12px 0 0; flex-shrink: 0; } .radio_option_content { flex: 1; } .radio_option_text { font-size: 16px; color: #000; margin-bottom: 4px; font-weight: 400; line-height: 24px; } .radio_option_helper { font-size: 12px; color: #767676; font-style: italic; } .errorContainer { margin: 12px 0 0 0; min-height: 0; padding: 0; &:not(:empty) { padding: 25px 0 36px; } } .error_banner { display: flex; align-items: center; background-color: #FFF0F0; box-shadow: 0 3px 2px rgba(0, 0, 0, 0.1); min-height: 48px; overflow: hidden; } .error_bar { width: 4px; height: 100%; background-color: #ce0000; flex-shrink: 0; min-height: 48px; } .error_content { background-color: #FFF0F0 !important; display: flex; align-items: center; padding: 12px 16px; flex: 1; gap: 12px; } .error_icon { width: 24px; height: 24px; border-radius: 50%; background-color: #ce0000; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: bold; flex-shrink: 0; line-height: 1; } .error_text { color: #000; font-size: 16px; font-weight: bold; line-height: 1.4; flex: 1; } .action_buttons { display: flex; gap: 12px; margin-bottom: 20px; } .btn_go_back { flex: 0.4; padding: 14px 0; border: 2px solid #1C528D; border-radius: 4px; background: #fff; color: #1C528D; font-size: 16px; font-weight: bold; cursor: pointer; } .btn_verify_code { flex: 1; padding: 14px 0; border: none; border-radius: 4px; background: #1C528D; color: #fff; font-size: 16px; font-weight: bold; cursor: pointer; } .modal_footer { padding: 16px; text-align: center; font-size: 12px; color: #000; } .modal_footer_help { margin-bottom: 8px; font-weight: 500; font-size: 16px; line-height: 20px; word-wrap: break-word; } .modal_footer_links { padding: 0 5px; } .modal_footer_link { color: #1E5A99; text-decoration: none; } .verify_phone_msg { font-size: 14px; color: #000; margin: 0 0 20px 0; } .verify_code_form_field { margin-bottom: 12px; display: flex; gap: 35px; } .verify_code_modal { .form_field.float_label { margin-bottom: 0; height: 62px; flex: 2 1 0; >input.phone_register_input#registrationCode { border: 1px solid #767676 !important; border-radius: 4px !important; padding: 0 12px 4px 12px !important; font-size: 16px; box-sizing: border-box; height: 48px; width: 100%; background-color: #fff; margin: 0; padding-left: 12px; padding-top: 12px; &:focus { border-color: #1e5a99; outline: none; } &:disabled, &.disabled { background-color: #f5f5f5 !important; color: #767676 !important; cursor: not-allowed; opacity: 0.6; } } >label.phone_register_label { display: block; padding: 0; margin: 14px 0px; line-height: 1.2em; font-size: 1rem; font-weight: 400; white-space: nowrap; color: #000; bottom: 24px; left: 12px; position: absolute; pointer-events: none; transition: all 0.2s ease-out; -webkit-transition: all 0.2s ease-out; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; width: fit-content; background: #fff; .red_text { color: #000; } &.is_floated { top: -21px; left: 12px; color: #1e5a99; font-size: 12px; } } // When input is disabled, label background should match >input.phone_register_input#registrationCode:disabled + label.phone_register_label, >input.phone_register_input#registrationCode.disabled + label.phone_register_label { background: #f5f5f5 !important; } } } .tropo_code_validate { width: 100%; padding: 12px; font-size: 16px; border: 1px solid #767676; border-radius: 4px; box-sizing: border-box; &:disabled, &.disabled { background-color: #f5f5f5 !important; color: #767676 !important; cursor: not-allowed; opacity: 0.6; } } .verify_code_submit { flex: 1.6 1 0; width: 100%; padding: 14px 0; border: none; border-radius: 4px; background: #1E5A99; color: #fff; font-size: 16px; font-weight: bold; cursor: pointer; margin-bottom: 16px; &:disabled, &.disabled { background-color: #c0c0c0 !important; color: #000 !important; cursor: not-allowed; opacity: 0.6; } } .send_new_code_btn { flex: 1.6 1 0; width: 100%; padding: 14px 0; border: none; border-radius: 4px; background: #1E5A99; color: #fff; font-size: 16px; font-weight: bold; cursor: pointer; margin-bottom: 16px; } .resend_section { padding: 0 0 58px 0; margin-top: 12px; } .resend_code_link { font-size: 14px; color: #1E5A99; text-decoration: underline; } #boxesTopContent { height: auto!important; background-color: #ffffff!important; h1.box_title { width: 100%; } } // Button loading spinner - works for all buttons @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } button.loading, button.btn.primary.phone_register_btn.loading, button[type="submit"].loading, .phone_register_btn.loading, .delivery_method_submit.loading, .verify_code_submit.loading, .send_new_code_btn.loading, .btn_verify_code.loading, button.delivery_method_submit.loading, button.verify_code_submit.loading, button.send_new_code_btn.loading, button.btn_verify_code.loading { position: relative !important; pointer-events: none !important; overflow: visible !important; .button-text { opacity: 0 !important; display: inline-block !important; } &:after { content: '' !important; position: absolute !important; top: 50% !important; left: 50% !important; width: 20px !important; height: 20px !important; margin: -10px 0 0 -10px !important; border: 3px solid rgba(255, 255, 255, 0.3) !important; border-top-color: #fff !important; border-radius: 50% !important; animation: spin 0.8s linear infinite !important; z-index: 9999 !important; display: block !important; box-sizing: border-box !important; background: transparent !important; } } // Specific rule for continue button - ensure it works button.btn.primary.phone_register_btn.loading, button.join_continue.loading, .ph_lookup button[type="submit"].loading { position: relative !important; .button-text { opacity: 0 !important; display: inline-block !important; } &:after { content: '' !important; position: absolute !important; top: 50% !important; left: 50% !important; width: 20px !important; height: 20px !important; margin: -10px 0 0 -10px !important; border: 3px solid rgba(255, 255, 255, 0.3) !important; border-top-color: #fff !important; border-radius: 50% !important; animation: spin 0.8s linear infinite !important; z-index: 9999 !important; display: block !important; box-sizing: border-box !important; background: transparent !important; } } // Ensure modal buttons get the spinner #boxes_content button.loading, #boxes_content .delivery_method_submit.loading, #boxes_content .verify_code_submit.loading, #boxes_content .send_new_code_btn.loading, #boxes_content .btn_verify_code.loading { position: relative !important; &:after { content: '' !important; position: absolute !important; top: 50% !important; left: 50% !important; width: 20px !important; height: 20px !important; margin: -10px 0 0 -10px !important; border: 3px solid rgba(255, 255, 255, 0.3) !important; border-top-color: #fff !important; border-radius: 50% !important; animation: spin 0.8s linear infinite !important; z-index: 9999 !important; display: block !important; box-sizing: border-box !important; } } // Smooth transitions for modals and form views #boxes_dialog, #boxes_content { transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out; opacity: 1; transform: scale(1); } #boxes_mask { transition: opacity 0.3s ease-in-out; opacity: 0.5; // Ensure mask stays visible during modal transitions z-index: 9998; } // Ensure boxes container stays visible during content transitions #boxes { transition: opacity 0.2s ease-in-out; } // Smooth transitions for form visibility .ph_lookup, #phoneValidationMidRule { transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out; opacity: 1; transform: translateY(0); } #form-register-container { transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out; opacity: 1; transform: translateY(0); will-change: opacity, transform; } input.styled_radio:checked+.styled_radio_label:after { width: 5px !important; height: 5px !important; border: 5px solid #505050 !important; } span.styled_radio_label.med_txt.push-right-lg::after { display: inline-block; width: 13px; height: 13px; border: 1px solid #72777c; border-radius: 15px; color: #505050; content: ''; margin-right: .9ex; position: relative; top: 0.46em; cursor: pointer; } input.styled_radio:not(old) { display: none; } #phoneNumber-error { color: #c00; font-size: 12px; font-weight: 400; padding-bottom: 12px; line-height: 0; }