﻿/* Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
    font-family: Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    padding: 0 20px;
    background-color: #f4f4f9;
    background-color: #F4F6F8;
}


.hidden {
    display: none !important;
}
.transparent {
    visibility: hidden !important;
}

/* Ensure the header is at the top */
#header-container {
    position: fixed; /* Fixes the header at the top */
    top: 0;
    left: 0;
    width: 100%; /* Make sure it spans the full width of the page */
    z-index: 100; /* Ensure it's on top of other content */
    padding: 10px 20px;
    background-color: #fff; /* White background for visibility */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Optional: adds a shadow effect */
    display: flex;
    justify-content: space-between;
    flex-direction: row;
}

/* Ensure content below the header is not hidden behind it */
#screen-container {
    height: 100vh; /* Full height of the viewport */
    width: 100%; /* Full width */
    background-color: #F5F5F5;
    display: flex; /* Use Flexbox to align child elements */
    flex-direction: column; /* Stack content vertically */
    align-items: center; /* Center content horizontally */
    justify-content: flex-start; /* Align content at the top */
    padding-top: 60px; /* Adjust this based on the height of your header */
    /* padding-bottom: 60px;*/ /* Adjust this to ensure the footer doesn't overlap */
    overflow-y: auto; /* Enable vertical scrolling when content exceeds screen */
}

/* Center the individual screens in the container */
.screen {
    width: 100%;
    max-width: 400px; /* Limit the screen width */
    padding: 20px;
    box-sizing: border-box;
    margin: auto;
    height: auto; /* Allow content inside screen to expand */
}



#footer-container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px; /* Adjust the height to match your footer */
    background-color: #f1f1f1; /* Example background color */
}


.screen-header {
    height: fit-content;
}



.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.screen-container-box {
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 40px;
    width: 100%;
    max-width: 600px;
    text-align: center;
}

.back-button {
    padding: 10px;
    background-color: #007bff;
    color: white;
    border: none;
    cursor: pointer;
}


.color_blue_main {
    color: #007bff;
}

.title-brand {
    font-size: 1.4rem;
    font-weight: bold;
    color: #2c3e50;
}
    .title-brand .letter-alpha {
        color: #007bff;
    }
.tooltip-icon {
    background-color: #A3CFFF;
    color: white;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 50%;
    cursor: pointer;
    width: 20px;
    height: 20px;
}

    .tooltip-icon:hover::after {
        content: attr(title);
        position: absolute;
        background-color: #333;
        color: white;
        padding: 5px;
        border-radius: 5px;
        font-size: 14px;
    }

.fab-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background-color: #007bff;
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

    .fab-button:hover {
        background-color: #2980b9;
    }

.progress-bar-container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.progress-step {
    padding: 10px 20px;
    background-color: #ccc;
    border-radius: 5px;
    color: #fff;
    font-size: 14px;
}

.active {
    background-color: #007bff;
}

.content {
    text-align: center;
}

/* Hide button when .hidden class is applied */
.back-button.transparent,
.next-button.transparent {
    visibility: hidden !important;
}

/* Disable button visually when .disabled class is applied */
.back-button.disabled,
.next-button.disabled {
    background-color: #ccc !important; /* Gray out the button */
    cursor: not-allowed !important; /* Indicate it's disabled */
}

/* Prevent interaction with the button when it's disabled */
.back-button[disabled],
.next-button[disabled] {
    pointer-events: none !important; /* Disable interaction */
}



.signup-error  {
    margin-top: 15px;
    color: red;
    font-size: 14px;
    display: none; /* Initially hidden */
}
#generic-error {
    margin-top: 15px;
    color: red;
    font-size: 14px;
    display: none; /* Initially hidden */
}
/* Common Next Button Styles
   ======================================
*/
/* Spinner styles */
.spinner {
    display: inline-block;
    margin-left: 10px;
    vertical-align: middle;
}

    .loader {
        border: 4px solid #f3f3f3; /* Light gray background */
        border-top: 4px solid #71AFFF; /* Blue color for the spinning part */
        border-radius: 50%;
        width: 20px;
        height: 20px;
        animation: spin 2s linear infinite;
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .next-button {
        /*
        position: fixed;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        padding: 10px 20px;
        background-color: #007bff;
        color: white;
        border: none;
        cursor: pointer;
        */
    }

    /* Styling for the NEXT button */
        .next-button .checkout-button {
            /*display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px 20px;
            background-color: #007bff;
            color: white;
            border: none;
            font-size: 16px;
            cursor: pointer;
            position: relative; */
            /* new stuff to float*/
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 60px;
            height: 60px;
            background-color: #007bff;
            border-radius: 50%;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            border: none;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

    /* Spinner inside the button */
    .spinner {
        display: inline-block;
        margin-left: 10px; /* Space between the button text and the spinner */
        vertical-align: middle;
    }

    /* The spinning loader */
    .loader {
        border: 4px solid #f3f3f3; /* Light gray background */
        border-top: 4px solid #fff; /* White color for the spinning part */
        border-radius: 50%;
        width: 16px;
        height: 16px;
        animation: spin 2s linear infinite;
    }

    /* Spinner animation */
    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    /* Disable the button when processing */
    .next-button[disabled] {
        background-color: #ccc; /* Change the background when disabled */
        cursor: not-allowed; /* Show a not-allowed cursor */
    }

.line-seperator {
    /*new*/
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
    border-radius: 0px;
}

/* Container for the progress bar */
.progress-bar-container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* Ensure it stays above other content */
    padding: 10px 0;
    background-color: rgba(0, 0, 0, 0.1); /* Optional background for visibility */
}

/* The progress bar background */
.progress-bar-background {
    width: 100%;
    height: 8px;
    background-color: #e0e0e0;
    border-radius: 5px;
    overflow: hidden;
}

/* The actual progress bar fill */
.progress-bar-fill {
    height: 100%;
    width: 0%; /* Will be updated dynamically */
    background-color: #4caf50; /* Green color for progress */
    transition: width 0.3s ease-in-out;
}

