@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

/* for dark theme use #222222 and for light use #FFFAF0 */
body.light {
    background-color: #FFFAF0;
    color: #333333;

}

body.dark {
    background-color: #222222;
    color: #E5E5E5;
}

body h1 {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}

body p {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}


/* theme change button */

.theme {
    position: absolute;
    bottom: 10px;
    right: 15px;
}

/* <reset-style> ============================ */
button {
    border: none;
    background: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-family: inherit;
}

/* ============================ */
/* <style for bg> ======== */
.background {
    border-radius: 16px;
    border: 1px solid #1a1a1a;
    background: rgba(74, 74, 74, 0.39);
    mix-blend-mode: luminosity;
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.20);
    backdrop-filter: blur(15px);
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.change-theme__icon {
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.icon-sun,
.icon-moon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
}

.icon-sun,
.icon-moon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

.icon-sun.active {
    opacity: 1;
}

.icon-moon.active {
    opacity: 1;
}



/* Styling for the form inputs and button */
.content-left form input {
    width: 75%;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: inherit;
    /* To inherit the background color from the theme */
    color: inherit;
    /* To inherit the text color from the theme */
    font-family: inherit;
    /* Inherit the font family */
}

.content-left form input:focus {
    border-color: #007BFF;
    outline: none;
}

.content-left form button {
    padding: 10px 20px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
    font-family: inherit;
    /* Inherit the font family */
}

.content-left form button:hover {
    background-color: #0056b3;
}

/* Apply font family to h1 and p elements */
.content-left h1,
.content-left p {
    font-family: inherit;
    /* Ensure the font family is inherited */
}

/* Theme-specific form styling */
body.dark .content-left form input {
    background-color: #333333;
    /* Dark theme input background */
    border-color: #555555;
    /* Dark theme border color */
    color: #E5E5E5;
    /* Dark theme text color */
}

body.light .content-left form input {
    background-color: #FFFFFF;
    /* Light theme input background */
    border-color: #ccc;
    /* Light theme border color */
    color: #333333;
    /* Light theme text color */
}

body.dark .content-left form button {
    background-color: #0056b3;
    /* Dark theme button background */
}

body.light .content-left form button {
    background-color: #007BFF;
    /* Light theme button background */
}

/* Other body styles */
body h1 {
    font-weight: 900;
}

body p {
    font-weight: 400;
    line-height: 1.6;
}

/* Main container and layout */
.main {
    width: 100vw;
    height: 100vh;
    display: flex;
}

.content-left {
    width: 30vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0 40px;
    box-sizing: border-box;
    z-index: 4;
}

.content-right {
    width: 70vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content-right img {
    width: 75%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Mobile styles */
@media (max-width: 768px) {
    .main {
        flex-direction: column;
    }

    .content-left,
    .content-right {
        width: 100%;
        height: 50%;
    }

    .content-left {
        align-items: center;
        text-align: center;
        padding: 20px;
    }

    .content-right {
        justify-content: center;
        align-items: center;
    }

    .content-left h1 {
        font-size: clamp(1.5rem, 5vw, 2.5rem);
        /* Adjust font size for mobile */
        margin-bottom: 20px;
        /* Increase bottom margin for more space */
        white-space: normal;
        /* Allow text to wrap normally */
    }
}

/* iPad styles */
@media screen and (min-width: 767px) and (max-width: 1023px) {
    .content-left h1 {
        font-size: clamp(1.5rem, 5vw, 2.5rem);
        /* Adjust font size for iPad */
        margin-bottom: 20px;
        /* Increase bottom margin for more space */
        white-space: normal;
        /* Allow text to wrap normally */
    }
}

/* Main Container */
.main {
    width: 100vw;
    height: 100vh;
    display: flex;
}

.content-left {
    width: 30vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0 40px;
    box-sizing: border-box;
    z-index: 4;
}

.content-left form input {
    width: 75%;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.content-left form input:focus {
    border-color: #007BFF;
    outline: none;
}

.content-left form button {
    padding: 10px 20px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
}

.content-left form button:hover {
    background-color: #0056b3;
}


.content-left h1 {
    font-size: 3rem;
    margin: 0 0 10px;
    word-wrap: break-word;
    /* Ensure long words break to the next line */
    text-align: center;
    /* Center align the text */
    overflow-wrap: break-word;
    /* Break long words */
    white-space: nowrap;
    /* Prevent text from wrapping */
    overflow: hidden;
    /* Hide overflow text */
    text-overflow: ellipsis;
    /* Add ellipsis for overflow text */
    max-width: 100%;
    /* Ensure the text does not exceed the container width */
    font-size: clamp(1.5rem, 5vw, 3rem);
    /* Shrink text size when exceeding */
}

.content-left p {
    font-size: 1.25rem;
    line-height: 1.6;
}

body.dark .content-left {
    background-color: #1a1a1a;
    color: #f5f0e8;
}

body.light .content-left {
    background-color: #f5f0e8;
    color: #1a1a1a;
}

/* Center the image */
.content-right {
    width: 70vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content-right img {
    width: 75%;
    max-width: 100%;
    /* Ensures the image doesn't exceed its container width */
    height: auto;
    /* Maintains the aspect ratio */
    object-fit: contain;
    /* Ensures the image fits the container without distortion */
}

/* Make for mobile too now */
@media (max-width: 768px) {
    .main {
        flex-direction: column;
    }

    .content-left,
    .content-right {
        width: 100%;
        height: 50%;
    }

    .content-left {
        align-items: center;
        text-align: center;
        padding: 20px;
    }

    .content-right {
        justify-content: center;
        align-items: center;
        /* Ensure the image is centered vertically on mobile */
    }

    .content-left h1 {
        font-size: clamp(1.5rem, 5vw, 2.5rem);
        /* Adjust font size for mobile */
        margin-bottom: 20px;
        /* Increase bottom margin for more space */
        white-space: normal;
        /* Allow text to wrap normally */
    }
}

/* Small devices styles */
@media (max-width: 480px) {
    .content-left h1 {
        font-size: 1.5rem;
        /* Smaller font size for small devices */
        max-width: 80%;
        /* Reduce max-width for small devices */
    }

    .content-left p {
        font-size: 1rem;
        /* Smaller font size for small devices */
    }

    .content-left form input,
    .content-left form button {
        width: 90%;
        /* Increase width for better usability on small devices */
    }
}

/* Responsive styles for overfilling text */
@media (max-width: 480px) {
    .content-left h1 {
        font-size: 1.5rem;
        /* Smaller font size for small devices */
        max-width: 80%;
        /* Reduce max-width for small devices */
    }

    .content-left p {
        font-size: 1rem;
        /* Smaller font size for small devices */
    }

    .content-left form input,
    .content-left form button {
        width: 90%;
        /* Increase width for better usability on small devices */
    }
}

@media (min-width: 481px) {
    .content-left h1 {
        max-width: 100%;
        /* Return to normal max-width */
        font-size: 3rem;
        /* Return to normal font size */
    }
}


/* notification */

/* Notification Container */
#notification-container {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 300px;
    z-index: 1000;
}

/* Individual Notification */
.notification {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
    display: flex;
    align-items: center;
    background-color: #333;
    color: #fff;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    opacity: 0;
    transform: translateY(-20px);
    animation: slideIn 0.5s forwards;
}

/* Light theme for notifications */
body.light .notification {
    background-color: #f5f0e8;
    /* Light background */
    color: #1a1a1a;
    /* Dark text for readability */
    border-left: 5px solid #007BFF;
    /* Light theme notification border color */
}

/* Light theme success notification */
body.light .notification.success {
    border-left: 5px solid #4caf50;
}

/* Light theme error notification */
body.light .notification.error {
    border-left: 5px solid #f44336;
}

/* Light theme warning notification */
body.light .notification.warning {
    border-left: 5px solid #ff9800;
}


/* Success Notification Style */
.notification.success {
    border-left: 5px solid #4caf50;
}

/* Error Notification Style */
.notification.error {
    border-left: 5px solid #f44336;
}

/* Warning Notification Style */
.notification.warning {
    border-left: 5px solid #ff9800;
}

/* Fade-out animation */
@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideOut {
    to {
        opacity: 0;
        transform: translateY(-20px);
    }
}