/* Default Light Theme */ html, body { height: 100%; /* Ensure that the HTML and body elements span the full height of the viewport */ margin: 0; padding: 0; overflow-x: hidden; /* Prevent horizontal scrolling but allow vertical scrolling */ font-family: Arial, sans-serif; background-color: #f5f5f5; color: #333; } body { width: 100%; height: 100%; box-sizing: border-box; /* Make sure padding and borders are included in width/height */ } h1 { text-align: center; color: #4285f4; font-size: 28px; margin: 20px 0; } /* Full-width container taking half the height of the page */ .container { display: flex; justify-content: center; /* Center the elements horizontally */ align-items: center; /* Center items vertically */ width: 100%; /* Full width of the page */ padding: 20px; /* Add some padding for spacing */ gap: 20px; /* Maintain a comfortable space between elements */ flex-wrap: wrap; /* Allow wrapping for responsive layouts */ box-sizing: border-box; /* Include padding in width calculation */ } .textarea-container { position: relative; /* Needed for absolute positioning of child elements */ width: 45%; max-width: 600px; min-width: 350px; box-sizing: border-box; /* Include padding and borders in the element’s dimensions */ } /* Styling for the buttons above the textarea */ .translation-buttons { display: flex; justify-content: center; /* Center the buttons horizontally */ gap: 10px; /* Space between the buttons */ margin-bottom: 15px; /* Space between buttons and textarea */ } #translateWordsBtn, #translateLettersBtn { padding: 10px 20px; font-size: 16px; background-color: #4285f4; color: white; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); /* Added shadow for consistency */ } #translateWordsBtn:hover, #translateLettersBtn:hover { background-color: #357ae8; } /* Active button style */ .translation-buttons .active { background-color: #357ae8; font-weight: bold; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } #inputText { width: 100%; height: 200px; padding: 15px; font-size: 16px; background-color: #f9f9f9; border: 2px solid #e0e0e0; border-radius: 8px; color: #333; resize: none; /* Disable resizing */ box-sizing: border-box; /* Ensure padding doesn't affect the width */ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); position: relative; /* Needed for buttons inside the textarea container */ } /* Microphone button inside textarea, positioned bottom-left */ #startBtn { position: absolute; left: 10px; bottom: 10px; padding: 8px; font-size: 20px; background-color: #4285f4; color: white; border: none; border-radius: 50%; cursor: pointer; transition: background-color 0.3s ease; z-index: 5; } .translation-buttons button:hover { background-color: #357ae8; } /* Active button style */ .translation-buttons .active { background-color: #357ae8; font-weight: bold; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .textarea-container { position: relative; } #inputText { width: 100%; height: 200px; padding: 15px; font-size: 16px; background-color: #f9f9f9; border: 2px solid #e0e0e0; border-radius: 8px; color: #333; resize: none; /* Disable resizing */ box-sizing: border-box; /* Ensure padding doesn't affect the width */ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } /* Translate button inside textarea, positioned bottom-right, increased size by half */ #translateBtn { position: absolute; right: 10px; bottom: 10px; padding: 12px 25px; /* Increased padding to make button larger */ font-size: 18px; /* Increased font size */ background-color: #4285f4; color: white; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; z-index: 5; } #translateBtn:hover { background-color: #357ae8; } .video { position: relative; width: 45%; max-width: 600px; min-width: 350px; aspect-ratio: 16/9; /* Keep a responsive aspect ratio for the video */ background-color: #ffffff; border: 12px solid #d4d4d4; border-radius: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; transition: transform 0.3s ease; box-sizing: border-box; } /* Styling for video element inside .video */ .video video { width: 100%; max-height: 150%; /* Ensure the video fits within the container */ border-radius: 4px; object-fit: cover; /* Ensure the video fits its container */ } /* Navigation button styles */ #prevBtn, #nextBtn { position: absolute; top: 50%; transform: translateY(-50%); font-size: 24px; background-color: #4285f4; color: white; border: none; border-radius: 50%; width: 50px; /* Increase button size */ height: 50px; /* Increase button size */ cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); transition: background-color 0.3s ease; z-index: 10; /* Ensure buttons are above other elements */ } #prevBtn:hover, #nextBtn:hover { background-color: #357ae8; } #prevBtn { left: -30px; /* Adjust button position for better appearance */ } #nextBtn { right: -30px; /* Adjust button position for better appearance */ } /* Style for the theme toggle button (icon) */ #themeToggleBtn { position: fixed; top: 20px; right: 20px; background-color: transparent; border: none; font-size: 24px; cursor: pointer; z-index: 1000; /* Ensure it stays on top */ transition: color 0.3s ease; } #themeToggleBtn:hover { color: #f4b400; /* Add a hover color effect */ } .video h2 { color: #4285f4; /* Heading color */ font-size: 24px; /* Font size for the heading */ text-align: center; /* Center align the text */ margin: 0; } /* Dark Mode */ body.dark-mode { background-color: #121212; color: #e0e0e0; } h1.dark-mode { color: #8ab4f8; } textarea.dark-mode { background-color: #1e1e1e; border-color: #333; color: #e0e0e0; } textarea.dark-mode:focus { border-color: #8ab4f8; } #startBtn.dark-mode, #translateBtn.dark-mode, #translateWordsBtn.dark-mode, #translateLettersBtn.dark-mode, #prevBtn.dark-mode, #nextBtn.dark-mode { background-color: #333; color: #fff; } #startBtn.dark-mode:hover, #translateBtn.dark-mode:hover, #translateWordsBtn.dark-mode:hover, #translateLettersBtn.dark-mode:hover, #prevBtn.dark-mode:hover, #nextBtn.dark-mode:hover { background-color: #555; } .video.dark-mode { background-color: #1e1e1e; border-color: #333; } #themeToggleBtn.dark-mode { color: #e0e0e0; } /* Responsive layout adjustments */ @media (max-width: 768px) { .container { flex-direction: column; align-items: center; padding: 20px; /* Add padding for spacing on smaller screens */ gap: 15px; /* Reduce gap for smaller screens */ height: auto; /* Allow the height to adjust for mobile screens */ } .textarea-container, .video { width: 100%; /* Full width for smaller screens */ max-width: none; } #translateWordsBtn, #translateLettersBtn { font-size: 14px; /* Reduce button font size for smaller screens */ padding: 8px 15px; /* Reduce button padding for smaller screens */ } #inputText { height: 150px; /* Reduce height for the text area */ } #startBtn, #translateBtn { font-size: 16px; /* Reduce button font size for smaller screens */ padding: 10px; /* Reduce button padding */ } #prevBtn, #nextBtn { width: 40px; /* Reduce button size for smaller screens */ height: 40px; /* Reduce button size for smaller screens */ } #prevBtn { left: -20px; /* Adjust button position for smaller screens */ } #nextBtn { right: -20px; /* Adjust button position for smaller screens */ } h1 { font-size: 24px; /* Decrease heading font size for mobile devices */ } #themeToggleBtn { font-size: 20px; /* Decrease theme toggle button size for mobile */ } } #translateBtn { position: absolute; right: 10px; bottom: 10px; padding: 12px 25px; /* Increased padding to make button larger */ font-size: 18px; /* Increased font size */ background-color: #4285f4; color: white; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; z-index: 5; } /* Hover state when button is enabled */ #translateBtn:hover { background-color: #357ae8; } /* Disabled button styling */ #translateBtn:disabled { background-color: #d4d4d4; /* Lighter background color when disabled */ color: #a0a0a0; /* Lighter text color */ box-shadow: none; /* Remove shadow when disabled */ } /* Add custom styles to show the disabled state better */ #translateBtn:disabled:hover { background-color: #d4d4d4; /* Keep the same color on hover for disabled state */ }