:root {
    --red: #ff0020;
    --black: #000000;
    --white: #ffffff;
    --purple: #6e28d1;
    --grey: #a7a9ac; 
    --darkgrey: #5f6165;
    --whitelilac: #f4f7f9;
    --warmBlue: #5656f0;
    --azul: #1b62ff;
    --greenTeal: #00a86d;
    --text-danger-darker: #e0001d;
}

html, body {
    height: 100%; /* Ensure the body and html take full viewport height */
    margin: 0;
    display: flex;
    flex-direction: column; /* Set flex container direction */
}

body {
    margin: 0;
    padding: 0;
    /* background: linear-gradient(60deg, #ffffff 10%, #f4f7f9 30%, #d8f0ff 60%, #6e28d1 100%);*/
    background: url("../images/background-gradient.png") center center no-repeat;
    background-repeat: no-repeat; /* Prevent background repetition */
    background-attachment: fixed; /* Keep the background fixed during scrolling */
    background-size: cover;
    color: var(--black);
    line-height: 1.4;
}

p{
    margin-bottom: 0;
}

.container {
    flex:1;
    text-align: center;
    padding: 30px 10px;
    margin-top:5%;
}

.header {
    font-size: 2.5rem;
    font-weight: 500;
    color: var(--black);
    line-height: 1.2;
    letter-spacing: 1px;
}

.header-name {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2;
}

.gradient {
    background: linear-gradient(200deg, #ffffff 10%, #f4f7f9 10%, #bbe4fd 30%, #6e28d1 100%);
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    text-fill-color: transparent; 
}


.beta {
    display: inline-block;
    font-size: 1rem; 
    background-color: #86d1ff;
    height: 25px;
    color: var(--black); 
    border-radius: 15px;
    padding: 3px 10px;
    margin-left: 5px;
    margin-top:10px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 20px;
    vertical-align: top;
}

.sub-header {
    font-family:"Roboto", sans-serif;
    font-size: 1.1rem;
    color: var(--darkgrey);
    margin-bottom: 30px;
    margin-top:20px;
}

.input-container {
    margin-top: 5px;
    position: relative;
    display: inline-block;
}

/*.text-color{
    color:red;
}
*/

.col-md-6{
    padding-top: 3% !important;
}

input[type="text"] {
    padding: 10px 20px;
    width: 350px;
    font-size: 1.2rem;
    border: 1px solid var(--grey);
    background: transparent;
    border-radius: 25px;
    outline: none;
    transition: all 0.3s ease;
}

    input[type="email"]:focus {
        border-color: var(--warmBlue);
        box-shadow: 0 0 5px var(--warmBlue);
    }

.button {
    background-color: var(--black);
    color: var(--white);
    border: none;
    border-radius: 25px;
    padding: 15px 25px;
    font-size: 1rem;
    cursor: pointer;
    margin-left: 10px;
    transition: background-color 0.3s ease;
}

    .button:hover {
        background-color: var(--purple);
    }

button.button-continue {
    background-color: var(--black);
    color: var(--white);
    border: none;
    border-radius: 25px;
    padding: 9px 29px;
    font-size: 1rem;
    cursor: pointer;
    margin-left: 10px;
    transition: background-color 0.3s ease;
}

    .button-continue:hover {
        background-color: var(--purple);
    }

    button.button-continue:disabled {
        background-color: #d3d3d3; /* Light grey background */
        color: #a9a9a9; /* Grey text */
        cursor: not-allowed; /* Indicate disabled state */
        opacity: 0.6; /* Optional: Dim appearance */
    }

.error-message {
    color: var(--text-danger-darker);
    font-size: 0.9rem;
    margin-top: 10px;
    display: none;
}

img {
    width: 100%; /* Ensures the image scales to the container's width */
    height: auto; /* Automatically adjusts the height based on the width */
    display: block; /* Prevents inline spacing issues */
}

.rounded-image {
    border-radius: 25px; /* Rounds the corners of the image */
    box-shadow: 0px 8px 10px 5px rgba(0, 0, 0, 0.3); /* Adds a shadow effect */
    margin-top: 0px;
    width: 100%; /* Ensures the image scales properly within its container */
    height: auto; /* Maintains the aspect ratio */
    max-height:650px;
    object-fit:cover;
}

.footer {
    font-weight: 500;
    width: 100%; /* Ensures the footer spans the entire width */
    color: var(--black);
    font-size: 0.9rem;
    padding: 10px 80px;
    display: flex;
    justify-content: space-between; /* Spreads content across the footer */
    align-items: start; /* Vertically centers content */
    margin-top: 30px; /* Adjust this distance as per your design */
    z-index: 1000; /* Ensures the footer appears above other elements */
    position: absolute;
    bottom: 0;
    font-weight: 700;
}

.footer-center p a {
    font-size: 0.9rem;
    flex: 1;
    font-weight: 700;
    align-items: end;
}

.footer-left {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: start;
    gap: 10px;
}

.footer-right {
    flex: 0.5;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: end;
    gap: 40px;
    padding-left: -10px;
}

.footer-logo {
    height: 50px;
    width: auto;
}

.socials{
    display:flex;
    flex-direction:row;
    gap:5px;
}

.footer-link {
    color: var(--black);
    text-decoration: none;
    margin: 0 5px;
    font-weight: 500;
}

    .footer-link:hover {
        text-decoration: underline;
    }

.copyright-above {
    font-size:0.8rem;
}

.copyright-below {
    display: none;
}

.social-icon img {
    width: 20px;
    height: 20px;
    transition: opacity 0.3s;
}

    .social-icon img:hover {
        opacity: 0.7;
    }

.grecaptcha-badge {
    width: 70px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    right: 4px !important;
    bottom: 75px !important;
}

    .grecaptcha-badge:hover {
        width: 256px !important;
        z-index: 1000 !important;
    }

/* Modal styles */

.modal-content {
    border-radius: 25px !important;
    border:none;
}

.modal-title{
    margin:5px 0px 0px 20px;
    font-weight:700;
}

.modal-footer {
    display: block !important;
}

.modal-body {
    overflow-y: scroll !important;
    max-height: 350px !important;
    margin-right: 20px !important;
    margin-left: 20px !important;
    margin-top:15px !important;
}

    .modal-body::-webkit-scrollbar {
        width: 8px; /* Adjust the scrollbar width */
    }

    .modal-body::-webkit-scrollbar-thumb {
        background-color: grey; /* Scrollbar thumb color */
        border-radius: 4px; /* Rounded corners */
    }

    .modal-body::-webkit-scrollbar-track {
        background-color: transparent; /* Hide the scrollbar track background */
    }

.modal-footer > * {
    margin: .25rem;
    display:flex;
    justify-content: space-between
}

.modal-dialog {
    max-width: 700px; /* Adjust the width as needed */
}


.form-check-label {
    margin-left: 5px; /* Adjust spacing between the checkbox and label */
}

/* Media Queries */

@media (min-height: 1000px) {
    .footer {
        position: fixed !important; /* Allows the footer to flow naturally */
    }
}

@media (max-height: 730px) {
    body {
        margin-top: 0%;
    
    }
}

@media (max-height: 560px) {
    .footer {
        position: static; /* Allows the footer to flow naturally */
    }
}

/* For screens 1450px and smaller */
@media (max-width: 1450px) {
    /* Header adjustments */
    .header {
        font-size: 2.5rem; /* Slightly smaller header font */
    }

    .header-name {
        font-size: 2.8rem;
    }

    /* Beta badge adjustment */
    .beta {
        font-size: 0.9rem;
        height: 22px;
        line-height: 20px;
        padding: 2px 8px;
    }

    /* Sub-header */
    .sub-header {
        font-size: 1.1rem;
    }

    /* Input field adjustments */
    input[type="email"] {
        width: 250px; /* Slightly narrower input */
        padding: 14px 18px;
        font-size: 1rem;
    }

    /* Button adjustments */
    .button {
        font-size: 1rem;
        padding: 14px 22px;
    }
    
    /* Footer */
    .footer {
        font-size: 0.9rem; /* Slightly smaller footer text */
    }

    .social-icon img {
        width: 18px;
        height: 18px; /* Smaller icons */
    }
}

/* For screens 1390px and smaller */
@media (max-width: 1540px) {
    /* Header adjustments */
    .header {
        font-size: 2rem; /* Slightly smaller header font */
    }

    .container {
        margin-top: 0%;
    }

    .header-name {
        font-size: 2.5rem;
    }

    /* Beta badge adjustment */
    .beta {
        font-size: 0.8rem;
        height: 20px;
        line-height: 20px;
        padding: 2px 8px;
    }

    /* Sub-header */
    .sub-header {
        font-size: 1.1rem;
    }

    /* Input field adjustments */
    input[type="text"] {
        width: 250px; /* Slightly narrower input */
        padding: 14px 18px;
        font-size: 1rem;
    }

    /* Button adjustments */
    .button {
        font-size: 1rem;
        padding: 14px 22px;
    }

    /* Footer */
    .footer {
        font-size: 0.8rem; /* Slightly smaller footer text */
    }


    .social-icon img {
        width: 18px;
        height: 18px; /* Smaller icons */
    }
}

@media (max-width: 1200px) {
    /* Adjust body padding and font */
    body {
        font-size: 14px; /* Scale down the base font size */
    }

    /* Header styles for smaller screens */
    .header {
        font-size: 2rem; /* Smaller header font size */
        line-height: 1.1;
    }

    .header-name {
        font-size: 2.3rem; /* Adjust header gradient text size */
    }

    /* Beta badge adjustment */
    .beta {
        font-size: 0.8rem;
        height: 20px;
        line-height: 18px;
        padding: 2px 6px;
    }

    /* Sub-header adjustments */
    .sub-header {
        font-size: 1rem;
        margin-bottom: 20px;
    }

    /* Input field adjustments */
    input[type="text"] {
        padding: 12px 15px; /* Reduce padding */
        width: 210px; /* Narrower input width */
        font-size: 0.9rem;
    }

    /* Button adjustments */
    .button {
        font-size: 0.7rem;
        padding: 10px 10px;
        border-radius: 20px;
    }

    /* Footer adjustments */
    .footer {
        font-size: 0.8rem; /* Smaller footer text */
        padding: 10px 65px;
    }

    .footer-center p a {
        font-size: 0.9rem;
        text-align: center;
    }

    .footer-center {
        font-size: 0.9rem; /* Smaller centered text */
    }

    .footer-right {
        font-size: 0.8rem; 
        gap: 20px;
    }

    .socials {
        flex-direction: row; /* Keep social icons in a row */
        gap: 2px; /* Adjust gap */
    }

    .social-icon img {
        width: 16px; /* Smaller icons */
        height: 16px;
    }

    .copyright-above {
        font-size: 0.7rem;
    }

}

@media (max-width: 1070px) {
    .header {
        font-size: 1.5rem; /* Smaller header font size */
    }

    .header-name {
        font-size: 2rem; /* Adjust header gradient text size */
    }

    .socials p {
        font-size: 0.7rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .footer-right {
        font-size: 0.7rem;
    }

    .social-icon img {
        width: 14px;
        height: 14px; /* Smaller icons */
    }
}

@media (max-width: 800px) {
    body {
        margin-top: 2%;
    }

    .header {
        font-size: 1.5rem;
    }

    .header-name {
        font-size: 2rem;
    }

    .beta {
        font-size: 0.7rem;
        height: 18px;
        line-height: 16px;
        padding: 1px 5px;
    }

    /* Input and button adjustments */
    input[type="text"] {
        width: 210px; /* Further reduce width */
        font-size: 0.9rem;
    }

    .button {
        font-size: 0.8rem;
        padding: 10px 15px;
    }

    /* Placeholder box adjustments */
    .rounded-image {
        height: auto;
        font-size: 0.8rem;
        display: flex;
    }

    /* Footer adjustments */
    .footer {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding: 8px 50px;
        font-size: 0.7rem;
        margin-top: 110px;
        position: static;
    }

    .footer-left,
    .footer-right {
        display: flex;
        /* flex-direction: column;*/ /* Align items in a column */
        align-items: flex-start; /* Center align items horizontally */
        width: 100%; /* Ensure sections span the full width */
        gap: 10px;
    }

    .footer-center{
        margin-bottom:22px;
    }

    .footer-center p {
        display: flex;
        /*flex-direction: column;*/
        align-items: flex-start;
        justify-content: start;
        text-align: left;
        font-size: 0.7rem;
        margin-top: 10px;
    }

        .footer-center p a {
            font-size: 0.9rem;
            text-align: left;
        }

    .footer-logo {
        height: 50px;
        width: auto;
    }

    .footer-left {
        margin-left: -20px !important;
    }

    .socials p {
        font-size: 14px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .social-icon img {
        width: 18px;
        height: 18px;
    }

    .grecaptcha-badge {
        width: 70px !important;
        height: 40px;
        overflow: hidden !important;
        transition: all 0.3s ease !important;
        right: 4px !important;
        bottom: 10px !important;
    }

    .copyright-above{
        display:none;
    }

    .copyright-below {
        display: block;
    }
}

@media (max-width: 630px) {
    /* Header styles for extra small screens */
    .header {
        font-size: 1.5rem;
    }

    .header-name {
        font-size: 2rem;
    }

    .beta {
        font-size: 0.7rem;
        height: 18px;
        line-height: 16px;
        padding: 1px 5px;
    }

    /* Input and button adjustments */
    input[type="text"] {
        width: 250px; /* Further reduce width */
        font-size: 1rem;
    }

    .button {
        font-size: 1rem;
        padding: 10px 15px;
    }

    /* Placeholder box adjustments */
    .rounded-image {
        max-height: 400px;
        font-size: 0.8rem;
        display: flex;
    }


    /* Footer adjustments */
    .footer {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 8px 50px;
        font-size: 0.5rem;
    }

    .footer-left,
    .footer-right,
    .footer-center{
        flex-direction: column;
        align-items: flex-start;
        text-align: center;
    }

    .footer-center p {
        justify-content: center;
        align-items: center;
        text-align: center;
    }

  /*  .footer-left {
        margin-left: 10px !important;
    }*/

    .footer-right {
        margin-bottom: 10px !important;
        gap: 10px;
        font-size: 0.8rem;
    }

    .footer-center p a {
        text-align: left !important;
        margin: 2px;
        font-size: 0.8rem;
    }

    .social-icon img {
        width: 18px;
        height: 18px;
    }

    .grecaptcha-badge {
        width: 70px !important;
        overflow: hidden !important;
        transition: all 0.3s ease !important;
        right: 4px !important;
        bottom: 15px !important;
    }

    .copyright-below {
        display: block;
    }
}

    @media (max-width: 390px) {
        .header {
            font-size: 1.2rem;
        }

        .header-name {
            font-size: 2rem;
        }

        .sub-header {
            font-size: 1.2rem;
        }

        .container {
            margin-top: 15%;
        }
        /* Input and button adjustments */
        input[type="text"] {
            width: 100%; /* Further reduce width */
            font-size: 1.1rem;
        }

        .input-container {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

        .button {
            font-size: 1.2rem;
            padding: 10px 15px;
            width: 50%;
            margin-top: 25px;
        }

        button.button-continue {
            padding: 9px 15px;
            font-size: 0.9rem;
            cursor: pointer;
        }


        .rounded-image {
            max-height: 300px;
        }

        .footer-center p a {
            font-size: 0.8rem;
        }

        .footer-left,
        .footer-right {
            flex-direction: column;
        }

        .footer-right {
            margin-bottom: 10px !important;
            gap: 10px;
            font-size: 0.8rem;
        }

        .copyright-below {
            display: block;
        }

        .footer-logo {
            height: 40px;
            width: auto;
        }

    }
