* {
    box-sizing: border-box;
    font-family: Lato, Helvetica Neue, sans-serif;
}

body {
    margin: 0;
    padding: 20px;
    background-color: #f0f0f0;
    color: #333;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    position: relative;
}

a {
    text-decoration: none;
    color: #333;
}

/* Animated Gradient Background */
        .background-gradient {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #ff6b6b 0%, #ffa500 50%, #ff6b6b 100%); /* Orange/Red gradient */
            background-size: 400% 400%;
            animation: gradientShift 15s ease infinite;
            z-index: -2; /* Below the bubble effect */
        }

        @keyframes gradientShift {
            0% {
                background-position: 0% 50%;
            }
            50% {
                background-position: 100% 50%;
            }
            100% {
                background-position: 0% 50%;
            }
        }

        /* Bubble Effect Container */
        .bubbles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: -1; /* Below the form, above the gradient */
            margin: 0;
        }

        .bubbles li {
            position: absolute;
            display: block;
            list-style: none;
            width: 20px;
            height: 20px;
            background: rgba(255, 255, 255, 0.2); /* Semi-transparent white bubbles */
            bottom: -150px; /* Start below the viewport */
            animation: bubbleUp 25s infinite;
            transition-timing-function: linear;
        }

        /* Different bubble sizes and positions for variety */
        .bubbles li:nth-child(1) {
            left: 25%;
            width: 80px;
            height: 80px;
            animation-delay: 0s;
        }

        .bubbles li:nth-child(2) {
            left: 10%;
            width: 20px;
            height: 20px;
            animation-delay: 2s;
            animation-duration: 12s;
        }

        .bubbles li:nth-child(3) {
            left: 70%;
            width: 20px;
            height: 20px;
            animation-delay: 4s;
        }

        .bubbles li:nth-child(4) {
            left: 40%;
            width: 60px;
            height: 60px;
            animation-delay: 0s;
            animation-duration: 18s;
        }

        .bubbles li:nth-child(5) {
            left: 65%;
            width: 20px;
            height: 20px;
            animation-delay: 0s;
        }

        .bubbles li:nth-child(6) {
            left: 75%;
            width: 110px;
            height: 110px;
            animation-delay: 3s;
        }

        .bubbles li:nth-child(7) {
            left: 35%;
            width: 150px;
            height: 150px;
            animation-delay: 7s;
        }

        .bubbles li:nth-child(8) {
            left: 50%;
            width: 25px;
            height: 25px;
            animation-delay: 15s;
            animation-duration: 45s;
        }

        .bubbles li:nth-child(9) {
            left: 20%;
            width: 15px;
            height: 15px;
            animation-delay: 2s;
            animation-duration: 35s;
        }

        .bubbles li:nth-child(10) {
            left: 85%;
            width: 150px;
            height: 150px;
            animation-delay: 11s;
        }

        @keyframes bubbleUp {
            0% {
                transform: translateY(0) rotate(0deg);
                opacity: 1;
                border-radius: 0;
            }
            100% {
                transform: translateY(-1000px) rotate(720deg);
                opacity: 0;
                border-radius: 50%; /* Become round as they rise */
            }
        }
.card {
    background-color: rgba(255, 255, 255, 0.9); /* More opaque white background for readability */
    padding: 40px;
    border-radius: 10px; /* Slightly less rounded */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); /* Softer shadow */
    z-index: 1; /* Ensure form is above background effects */
    width: 600px;
    max-width: 100%;
    margin:40px auto;
}



input[type="text"],
input[type="email"],
        input[type="password"] {
            width: 100%;
            padding: 10px;
            margin-bottom: 20px;
            border: 1px solid #ccc; /* Softer border */
            border-radius: 5px;
            background-color: #f9f9f9; /* Slightly off-white input background */
            color: #333;
            transition: border-color 0.3s ease;
        }

        input[type="text"]:focus,
        input[type="email"]:focus,
        input[type="password"]:focus {
            border-color: #ffa500; /* Highlight with a warmer color on focus */
            outline: none;
        }

        .checkbox label {
            color: #555;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            font-weight: normal;
        }

        .checkbox input[type="checkbox"] {
            margin-right: 10px;
        }

        input[type="submit"] {
            width: 100%;
            padding: 12px;
            background: linear-gradient(45deg, #ff6b6b, #ffa500); /* Orange/Red gradient button */
            border: none;
            border-radius: 5px;
            color: #ffffff;
            font-size: 18px;
            cursor: pointer;
            transition: background 0.3s ease, transform 0.1s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        input[type="submit"]:hover {
            background: linear-gradient(45deg, #ffa500, #ff6b6b); /* Reverse gradient on hover */
        }

        input[type="submit"]:active {
            transform: scale(0.98);
        }


[data-icon-show] {
    position: absolute;
    margin: 0;
    border: 0;
    padding: 0;
}
[data-icon-show]:before {
    content: '👁️';
    position: absolute;
    margin-left: -40px;
    padding: 10px;
    cursor: pointer;
}

.subtitle {
    font-style: italic;
    font-size: 90%;
    text-align: right;
}

a:hover {
    color: #e25122;
}

#kc-form-options {
    margin-bottom: 20px;
}

#kc-form-buttons {
    margin-bottom: 20px;
}
