body {
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    height: 100vh; /* Full viewport height */
    margin: 0; /* Remove default margin */
    background-color: #f0f0f0; /* Light background for contrast */
    font-family: 'Roboto', sans-serif; /* Include Roboto font */
}

/* New styling for the redirect message */
.redirect-message {
    font-size: 40px; /* Size of the redirect message (twice the original approximately) */
    color: #333; /* Color of the message */
    margin-bottom: 40px; /* Space below the message before the captcha */
    position: absolute; /* Position it above the captcha */
    top: 10%; /* Position it 10% from the top */
    font-weight: bold; /* Make the text bold */
    text-align: center; /* Center the text */
}

.container, .steps-container {
    display: flex;
    align-items: center;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 400px; /* Adjust width as needed */
    background-color: #ffffff; /* Set container background color to white */
    position: relative;
    overflow: hidden; /* Hide any overflow during animation */
    transition: opacity 0.5s ease; /* Smooth transition for fade out */
}

.steps-container {
    display: none; /* Hidden by default */
    flex-direction: column;
    justify-content: center;
    padding: 20px; /* Space around the content */
    border-radius: 5px; /* Rounded corners */
    background-color: white; /* White background for the steps */
    border: 1px solid #ccc; /* Border for the container */
    opacity: 0; /* Initial opacity for transition */
    transition: opacity 0.5s ease; /* Transition effect for fade in */
}

.checkbox {
    transform: scale(2); /* Increase checkbox size to 2x */
    margin-right: 10px; /* Space between checkbox and label */
    cursor: pointer; /* Change the cursor to pointer on hover */
}

.checkbox-label {
    font-size: 18px; /* Font size for the label */
    margin-left: 5px; /* Indent between checkbox and the label */
}

.logo-container {
    display: flex;
    flex-direction: column; /* Stack logo and footer text vertically */
    align-items: flex-end; /* Align the items to the right */
    margin-left: auto; /* Push the logo to the far right */
    margin-top: 5px; /* Space from the success message */
}

.cloudflare-logo {
    height: 40px; /* Height for the logo */
    width: auto; /* Maintain aspect ratio */
}

.footer-text {
    font-size: 16px; /* Font size for footer text */
    color: #333; /* Color for the footer text */
    margin-top: 5px; /* Space between logo and footer text */
}

.success-message {
    display: none; /* Hidden by default */
    font-size: 18px; /* Font size for the success message */
    color: green; /* Color for success message */
    margin-right: 10px; /* Space to the right of the message */
    animation: fadeIn 0.5s ease; /* Animation effect */
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal {
    display: none; /* Hidden by default */
    position: absolute;
    top: 50%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%) scale(0.5); /* Scale down for entrance */
    padding: 20px; /* Padding around the modal content */
    text-align: center;
    background-color: #ffffff; /* Modal background color */
    border: 1px solid #ccc; /* Border style */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* Shadow effect */
    width: 300px; /* Set a fixed width for the modal */
    height: 300px; /* Increased height for better text fit */
    max-width: 90%; /* Make it responsive */
    overflow: hidden; /* Prevent overflow of content */
    opacity: 0; /* Start hidden */
    transition: opacity 0.5s ease, transform 0.5s ease; /* Smooth transition for fade in & scale */
}

.pdf-logo {
    width: 80%; /* Responsive logo width */
    height: auto; /* Maintain aspect ratio */
    margin-bottom: 10px; /* Space below the logo */
}

/* Updated font size for animated connecting text */
.connecting-text {
    font-size: 22px; /* Increased font size for the animated text (4 sizes bigger than 18px) */
    color: #333; /* Color for connecting text */
    margin-top: 10px; /* Space above the connecting text */
    font-weight: bold; /* Make text bold for emphasis */
    opacity: 1; /* Ensure it's visible initially */
    transition: opacity 0.5s ease; /* Smooth transition for opacity */
}

h1 {
    color: #2c3e50;
    font-size: 2.5em;
    margin-bottom: 20px;
}

ol {
    text-align: left;
    max-width: 400px;
    margin: 0 auto;
    padding-left: 20px;
    font-size: 1.2em;
    color: #34495e;
}

li {
    margin: 15px 0;
}

button {
    background-color: #2980b9;
    color: white;
    border: none;
    border-radius: 5px;
    padding: 12px 24px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s; /* Slight transform effect */
    margin-top: 30px;
    font-weight: 500;
}

button:hover {
    background-color: #21618c;
    transform: scale(1.05); /* Slight scale effect on hover */
}