diff --git a/public/Self-Improvement/README.md b/public/Self-Improvement/README.md new file mode 100644 index 00000000..a404a1b8 --- /dev/null +++ b/public/Self-Improvement/README.md @@ -0,0 +1,5 @@ +#
Self Improvement Project
+ +## Track yourself for life changing improvement +
+

Click here to get started

diff --git a/public/Self-Improvement/car.jpg b/public/Self-Improvement/car.jpg new file mode 100644 index 00000000..6977ba2e Binary files /dev/null and b/public/Self-Improvement/car.jpg differ diff --git a/public/Self-Improvement/git.jpg b/public/Self-Improvement/git.jpg new file mode 100644 index 00000000..b18422b3 Binary files /dev/null and b/public/Self-Improvement/git.jpg differ diff --git a/public/Self-Improvement/index.html b/public/Self-Improvement/index.html new file mode 100644 index 00000000..6d689c58 --- /dev/null +++ b/public/Self-Improvement/index.html @@ -0,0 +1,254 @@ + + + + + + Self-Improvement + + + + +
+
+
+ +

Nishant Rana

+
+
+ +
+
+
+
+ +

Count

+
+ +
+ +
+
+ +
+

+

+ + + +
+ +
+
+
+

Goal: 5:00 A.M.

+ +
+

Wake Up?

+
+ + +
+

Timer: 00:00:00

+
+
+ +
+ + +
+
+
+
+
+
+
+ + + +
+
+

Stay Motivated Bro!

+
+
+ +
+
+

Task Manager

+ + +
+ + + + + +
+ + +
+

Task Progress

+
+
+
+
+ + +
+ + + +
+ + +
+ + + + + + + + + + + + +
TaskPriorityDue DateCategoryCompletedActions
+
+ + +
+ +
+ + +
+ +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/public/Self-Improvement/insta.jpg b/public/Self-Improvement/insta.jpg new file mode 100644 index 00000000..307f7f78 Binary files /dev/null and b/public/Self-Improvement/insta.jpg differ diff --git a/public/Self-Improvement/linked.jpg b/public/Self-Improvement/linked.jpg new file mode 100644 index 00000000..e60c36d2 Binary files /dev/null and b/public/Self-Improvement/linked.jpg differ diff --git a/public/Self-Improvement/responsive.css b/public/Self-Improvement/responsive.css new file mode 100644 index 00000000..2c9cc545 --- /dev/null +++ b/public/Self-Improvement/responsive.css @@ -0,0 +1,56 @@ +@media screen and (max-width: 800px) { + .top + { + + .streak + { + margin:auto 15px; + } + i + { + margin:auto 0px; + } + } + .login{ + margin:auto 0px; + } + .mid + { + display: flex; + width:100%; + height: fit-content; + flex-direction: column; + } + .p1 + { + margin:10px auto; + } + .p1 .card + { + position: absolute; + left:0; + top:0; + margin-left:-70px; + + } + .p2 + { + width:100%; + z-index:1000; + margin-bottom:50px; + } + .p3 + { + position: relative; + margin-left:-55px; + } + .mids + { + position: relative; + display:none; + } + .task-table { + width: 100%; + overflow: scroll; /* Enable horizontal scrolling if the table is too wide */ + } +} \ No newline at end of file diff --git a/public/Self-Improvement/script.js b/public/Self-Improvement/script.js new file mode 100644 index 00000000..2a02fdeb --- /dev/null +++ b/public/Self-Improvement/script.js @@ -0,0 +1,395 @@ +// Time and date display +function displayDateTime() { + const time = document.querySelector('.time-text'); + const date = document.querySelector('.day-text'); + let now = new Date(); + + // Get hours, minutes, seconds + let hours = now.getHours(); + let minutes = now.getMinutes(); + let meridian = hours >= 12 ? 'PM' : 'AM'; + hours = hours % 12 || 12; + minutes = minutes < 10 ? '0' + minutes : minutes; + + // Set time and meridian + time.innerHTML = `${hours}:${minutes} ${meridian}`; + + // Format and set date + let options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; + let formattedDate = now.toLocaleDateString('en-US', options); + date.innerHTML = formattedDate; +} + +// Call displayDateTime every second +displayDateTime(); +setInterval(displayDateTime, 1000); + +// Function to generate calendar for the current month +function generateCalendar() { + const calendarContainer = document.getElementById('calendar-container'); + calendarContainer.innerHTML = ''; + + let now = new Date(); + let year = now.getFullYear(); + let month = now.getMonth(); + + let daysInMonth = new Date(year, month + 1, 0).getDate(); // Get number of days in the month + let firstDay = new Date(year, month, 1).getDay(); // Get first day of the month (0 for Sunday) + + // Create calendar table + let calendar = ''; + + // Fill in days of the week + const daysOfWeek = ['Sun ', 'Mon ', 'Tue ', 'Wed ', 'Thu ', 'Fri ', 'Sat ']; + daysOfWeek.forEach(day => { + calendar += ``; + }); + calendar += ''; + + // Add empty cells for the days before the 1st of the month + for (let i = 0; i < firstDay; i++) { + calendar += ''; + } + + // Add the days of the month + for (let day = 1; day <= daysInMonth; day++) { + let today = now.getDate(); + let isToday = day === today ? 'style="background-color: #f67280;" class="td"' : ''; + calendar += ``; + + // Start a new row after Saturday + if ((day + firstDay) % 7 === 0) { + calendar += ''; + } + } + + calendar += '
${day}
${day}
'; + calendarContainer.innerHTML = calendar; +} + +// Call generateCalendar to display the calendar for the current month +generateCalendar(); + +// Save progress in localStorage for the current day +const progressCheck = document.getElementById('progressCheck'); + +const todayKey = new Date().toLocaleDateString(); +const streakKey = 'streak'; // Key for storing streak count +let streak = localStorage.getItem(streakKey) ? parseInt(localStorage.getItem(streakKey)) : 0; // Initialize streak + +// Load saved progress for the current day +if (localStorage.getItem(todayKey)) { + progressCheck.checked = JSON.parse(localStorage.getItem(todayKey)); + if (progressCheck.checked) { + document.querySelector('.td').style.backgroundColor = 'green'; + streak++; // Increment streak if today is marked as complete + } +} + +// Event listener to save progress when checkbox is clicked +progressCheck.addEventListener('change', function () { + localStorage.setItem(todayKey, JSON.stringify(progressCheck.checked)); + + if (progressCheck.checked) { + document.querySelector('.td').style.backgroundColor = 'green'; + streak++; // Increment streak if checked + } else { + document.querySelector('.td').style.backgroundColor = ''; // Reset color if unchecked + streak = Math.max(0, streak - 1); // Decrement streak, ensuring it doesn't go below 0 + } + + localStorage.setItem(streakKey, streak); // Save updated streak to localStorage +}); + +// Streak display +document.querySelector('.streak').innerHTML = ` + +

${streak}

`; // Display the streak + +/* For P2 */ +// Timer variables +let goalTime = new Date(); +let timerInterval; +let timerStarted = false; +let timeWasted = 0; // Seconds wasted after the goal time + +// Helper function to format time for display +function formatTime(hour, minute) { + let ampm = hour >= 12 ? 'p.m.' : 'a.m.'; + hour = hour % 12; + hour = hour ? hour : 12; // Hour '0' should be '12' + return `${hour}:${String(minute).padStart(2, '0')} ${ampm}`; +} + +// Retrieve goal time from localStorage if it exists, otherwise set to default (5:00 AM) +function loadGoalTime() { + const storedGoal = localStorage.getItem('goalTime'); + + if (storedGoal) { + let [hour, minute] = storedGoal.split(":"); + goalTime.setHours(parseInt(hour)); + goalTime.setMinutes(parseInt(minute)); + goalTime.setSeconds(0); + } else { + // Default to 5:00 AM if no goal time is stored + goalTime.setHours(5); + goalTime.setMinutes(0); + goalTime.setSeconds(0); + localStorage.setItem('goalTime', '5:00'); // Store default goal time + } + + // Update UI to show goal time + document.getElementById('goalTime').innerHTML = `Goal: ${formatTime(goalTime.getHours(), goalTime.getMinutes())}`; +} + +// Save goal time to localStorage +function saveGoalTime(hour, minute) { + localStorage.setItem('goalTime', `${hour}:${minute}`); +} + +// When gear is clicked, update the goal time +document.getElementById('setGoalTime').addEventListener('click', function() { + let newGoalTime = prompt("Set your new goal time (e.g., 5:30 a.m.)", "5:00 a.m."); + + if (newGoalTime) { + let [time, period] = newGoalTime.split(" "); // Split into time and period (a.m./p.m.) + let [hour, minute] = time.split(":"); + + hour = parseInt(hour); + minute = parseInt(minute); + + // Convert to 24-hour format if necessary + if (period === "p.m." && hour !== 12) { + hour += 12; + } else if (period === "a.m." && hour === 12) { + hour = 0; // Midnight case + } + + // Set the goal time + goalTime.setHours(hour); + goalTime.setMinutes(minute); + goalTime.setSeconds(0); + + // Save new goal time to localStorage + saveGoalTime(hour, minute); + + // Update the UI + document.getElementById('goalTime').innerHTML = `Goal: ${formatTime(goalTime.getHours(), goalTime.getMinutes())}`; + } +}); + +// Calculate the difference between now and the goal time in seconds +function getTimeDifference() { + let now = new Date(); + let diffInSeconds = Math.floor((now - goalTime) / 1000); + return diffInSeconds > 0 ? diffInSeconds : 0; // Only return positive difference +} + +// Start tracking wasted time after goal time is passed +function startWastedTimeTimer() { + timerStarted = true; + + // Initialize the time wasted if goal time is already passed + timeWasted = getTimeDifference(); + + // Start the timer from the calculated wasted time + timerInterval = setInterval(function() { + timeWasted++; + displayWastedTime(); + }, 1000); // Increment timer every second +} + +// Display the time wasted in HH:MM:SS format +function displayWastedTime() { + let hours = Math.floor(timeWasted / 3600); + let minutes = Math.floor((timeWasted % 3600) / 60); + let seconds = timeWasted % 60; + + document.getElementById('timerDisplay').innerText = + `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`; +} + +// Stop the timer when user clicks "Yes" +document.getElementById('yesBtn').addEventListener('click', function() { + clearInterval(timerInterval); + alert(`You have wasted ${Math.floor(timeWasted / 60)} minutes and ${timeWasted % 60} seconds after the goal time.`); +}); + +// If user clicks "No", reset the timer and goal time +document.getElementById('noBtn').addEventListener('click', function() { + clearInterval(timerInterval); + timeWasted = 0; + timerStarted = false; + document.getElementById('timerDisplay').innerText = '00:00:00'; + alert("No progress made today."); +}); + +// Check if goal time has passed, and if so, start the timer +function checkGoalTime() { + let now = new Date(); + if (now > goalTime && !timerStarted) { + startWastedTimeTimer(); // Start the timer if goal time is passed + } +} + +// Load goal time on page load +loadGoalTime(); + +// Call checkGoalTime every second +setInterval(checkGoalTime, 1000); + + + + +/* Task Manager */ +// DOM Elements +const taskInput = document.getElementById('taskInput'); +const taskPriority = document.getElementById('taskPriority'); +const dueDateInput = document.getElementById('dueDateInput'); +const categoryInput = document.getElementById('categoryInput'); +const addTaskBtn = document.getElementById('addTaskBtn'); +const taskList = document.getElementById('taskList'); +const clearCompletedBtn = document.getElementById('clearCompleted'); +const progressBar = document.getElementById('progressBar'); +const filterBtns = document.querySelectorAll('.filter-btn'); +const darkModeToggle = document.getElementById('darkModeToggle'); + +let tasks = JSON.parse(localStorage.getItem('tasks')) || []; +let filter = 'all'; // Default filter + +// Load tasks from localStorage on page load +document.addEventListener('DOMContentLoaded', () => { + renderTasks(); + updateProgressBar(); + if (localStorage.getItem('darkMode') === 'enabled') { + document.body.classList.add('dark-mode'); + } +}); + +// Add task event +addTaskBtn.addEventListener('click', addTask); +taskList.addEventListener('click', handleTaskActions); +clearCompletedBtn.addEventListener('click', clearCompletedTasks); +filterBtns.forEach(btn => btn.addEventListener('click', filterTasks)); +darkModeToggle.addEventListener('click', toggleDarkMode); + +// Add new task +function addTask() { + const taskText = taskInput.value.trim(); + const priority = taskPriority.value; + const dueDate = dueDateInput.value; + const category = categoryInput.value.trim(); + + if (taskText === '') return alert('Please enter a task'); + + const newTask = { + id: Date.now(), + text: taskText, + priority, + dueDate, + category, + completed: false + }; + + tasks.push(newTask); + saveToLocalStorage(); + renderTasks(); + updateProgressBar(); + taskInput.value = ''; + dueDateInput.value = ''; + categoryInput.value = ''; +} + +// Handle task actions +function handleTaskActions(e) { + const taskId = e.target.closest('tr').dataset.id; + + if (e.target.tagName === 'INPUT') { + toggleTaskCompletion(taskId); + } else if (e.target.tagName === 'BUTTON') { + deleteTask(taskId); + } +} + +// Toggle task completion +function toggleTaskCompletion(id) { + tasks = tasks.map(task => + task.id === parseInt(id) ? { ...task, completed: !task.completed } : task + ); + saveToLocalStorage(); + renderTasks(); + updateProgressBar(); +} + +// Delete task +function deleteTask(id) { + tasks = tasks.filter(task => task.id !== parseInt(id)); + saveToLocalStorage(); + renderTasks(); + updateProgressBar(); +} + +// Render tasks +function renderTasks() { + taskList.innerHTML = ''; + const filteredTasks = tasks.filter(task => { + if (filter === 'all') return true; + if (filter === 'active') return !task.completed; + if (filter === 'completed') return task.completed; + }); + + filteredTasks.forEach(task => { + const taskRow = document.createElement('tr'); + taskRow.className = task.completed ? 'completed-task' : ''; + taskRow.dataset.id = task.id; + + taskRow.innerHTML = ` + ${task.text} + ${task.priority} + ${task.dueDate ? task.dueDate : 'No due date'} + ${task.category ? task.category : 'No category'} + + + `; + taskList.appendChild(taskRow); + }); +} + +// Clear completed tasks +function clearCompletedTasks() { + tasks = tasks.filter(task => !task.completed); + saveToLocalStorage(); + renderTasks(); + updateProgressBar(); +} + +// Update progress bar +function updateProgressBar() { + const totalTasks = tasks.length; + const completedTasks = tasks.filter(task => task.completed).length; + const percentage = totalTasks === 0 ? 0 : (completedTasks / totalTasks) * 100; + progressBar.style.width = `${percentage}%`; +} + +// Filter tasks +function filterTasks(e) { + filterBtns.forEach(btn => btn.classList.remove('active')); + e.target.classList.add('active'); + filter = e.target.dataset.filter; + renderTasks(); +} + +// Save to localStorage +function saveToLocalStorage() { + localStorage.setItem('tasks', JSON.stringify(tasks)); +} + +// Dark mode toggle +function toggleDarkMode() { + document.body.classList.toggle('dark-mode'); + if (document.body.classList.contains('dark-mode')) { + localStorage.setItem('darkMode', 'enabled'); + } else { + localStorage.setItem('darkMode', 'disabled'); + } +} diff --git a/public/Self-Improvement/style.css b/public/Self-Improvement/style.css new file mode 100644 index 00000000..0a5cc6be --- /dev/null +++ b/public/Self-Improvement/style.css @@ -0,0 +1,611 @@ +* +{ + margin:0px; + padding:0px; +} +.top +{ + margin:10px; + display: flex; + justify-content: space-evenly; + .acc + { + display: flex; + gap:5px; + font-family:arial; + font-weight:600; + margin:auto 5px; + } + .macbook-island { + height:30px; + width:100px; + background-color: rgb(28, 21, 21); + border-radius: 10px; + margin:Auto; + display: flex; + align-items: center; + + } + .cam + { + height:20px; + width:20px; + border-radius: 50px; + background-color: rgba(88, 85, 85, 0.452); + margin-left:5px; + + } + .streak + { + display: flex; + font-family: sans-serif; + margin:auto 5px; + gap:5px; + i + { + color:rgb(223, 116, 15); + font-size:20px; + } + } + .login + { + height:20px; + margin:-3px 25px; + .button { + display: flex; + justify-content: center; + align-items: center; + padding: 5px 5px; + gap: 5px; + background-color: #181717; + outline: 3px #181717 solid; + outline-offset: -3px; + border-radius: 5px; + border: none; + cursor: pointer; + transition: 400ms; + } + + .button .text { + color: white; + font-weight: 700; + font-size: 1em; + transition: 400ms; + } + + .button svg path { + transition: 400ms; + } + + .button:hover { + background-color: transparent; + } + + .button:hover .text { + color: #181717; + } + + .button:hover svg path { + fill: #181717; + } + } + } +.mid +{ + + height: 150px; + display: flex; + justify-content: space-evenly; + align-items: center; + padding:10px; + .p1 + { + height:80%; + width:25%; + + .card { + width: 250px; + height: 120px; + background: rgb(17, 4, 134); + border-radius: 15px; + box-shadow: rgba(202, 194, 194, 0.7) 5px 10px 50px ,rgba(202, 192, 192, 0.7) -5px 0px 250px; + display: flex; + color: white; + justify-content: center; + position: relative; + flex-direction: column; + background: linear-gradient(to right, rgb(20, 30, 48), rgb(36, 59, 85)); + cursor: pointer; + transition: all 0.3s ease-in-out; + overflow: hidden; + } + + .card:hover { + box-shadow: rgb(0,0,0) 5px 10px 50px ,rgb(0,0,0) -5px 0px 250px; + } + + .time-text { + font-size: 50px; + margin-top: 0px; + margin-left: 15px; + font-weight: 600; + font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; + } + + .time-sub-text { + font-size: 15px; + margin-left: 5px; + } + + .day-text { + font-size: 18px; + margin-top: 0px; + margin-left: 15px; + font-weight: 500; + font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; + } + + .moon { + font-size: 20px; + position: absolute; + right: 15px; + top: 15px; + transition: all 0.3s ease-in-out; + } + + .card:hover > .moon { + font-size: 23px; + } + } + + .p2 { + background-color: rgb(161, 29, 29); + height: 80%; + width: 25%; + color:white; + border-radius: 10px; + padding: 20px; + text-align: center; + position: relative; + .time_set + { + position:absolute; + padding: 5px; + top:0; + left:0; + font-size:12px; + display: flex; + gap:5px; + button + { + height: 5px; + } + } + + } + + .btns { + display: flex; + justify-content: space-around; + margin: 20px 0px; + } + + button { + padding: 10px 20px; + font-size: 16px; + cursor: pointer; + position: relative; /* Necessary for position-based animations */ + } + + + + .p3 + { + margin-top:-35px; + height:80%; + width:35%; + position: relative; + border-radius:10px; + color:rgb(0, 0, 0); + font-family: 'Courier New', Courier, monospace; + table + { + margin-bottom:5px; + width:100%; + background-color:rgb(188, 103, 103); + border-radius: 5px; + padding:10px; + } + table tr th + { + font-weight: 800; + color:white; + } + table tr td + { + background-color: rgb(94, 23, 2); + + color:white; + + text-align: center; + border-radius: 5px; + + } + + } +} + +.mid .marquee { + width: 100%; + overflow: hidden; + position: relative; + background-color: #bd555f; + padding: 10px 0; + margin-top:-40px; + } + + .mid .marquee p { + display: inline-block; + white-space: nowrap; + padding-left: 100%; + font-size: 1.2rem; + font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; + color: rgb(244, 241, 241); + font-weight: bold; + animation: scrollText 20s linear infinite; + } + + @keyframes scrollText { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(-100%); + } + } + + .todo + { + font-family:serif; + .container { + max-width: 800px; + font-family:sans-serif; + margin: 0 auto; + background:#d35c5c39; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + } + + h1 { + text-align: center; + margin-bottom: 20px; + } + + .input-section { + display: flex; + justify-content: space-between; + gap: 10px; + } + + input[type="text"], input[type="date"], select { + padding: 8px; + border: 1px solid #ccc; + border-radius: 4px; + width: 100%; + } + + button { + padding: 10px; + background-color: #345edb; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + } + + button:hover { + background-color: #2980b9; + } + + /* Progress Bar */ + .progress-section { + margin: 20px 0; + text-align: center; + } + + #progressContainer { + width: 100%; + background-color: #e0e0e0; + border-radius: 4px; + height: 20px; + position: relative; + } + + #progressBar { + background-color: #2ecc71; + height: 100%; + width: 0%; + border-radius: 4px; + transition: width 0.5s ease; + } + + /* Task Table */ + .task-table table { + width: 100%; + border-collapse: collapse; + margin-top: 20px; + } + + .task-table th, .task-table td { + border: 1px solid #ffffff; + padding: 10px; + text-align: center; + } + + .completed-task { + text-decoration: line-through; + color: #aaa; + } + + /* Filter Section */ + .filter-section { + text-align: center; + margin: 20px 0; + } + + .filter-btn { + padding: 10px 20px; + background-color: #3498db; + color: white; + border: none; + border-radius: 4px; + margin: 0 5px; + cursor: pointer; + } + + .filter-btn.active { + background-color: #2ecc71; + } + + .filter-btn:hover { + background-color: #2980b9; + } + + /* Dark Mode */ + body.dark-mode { + background-color: #333; + color: #fff; + } + + body.dark-mode .container { + background-color: #444; + } + + body.dark-mode input, body.dark-mode select, body.dark-mode button { + background-color: #555; + color: #fff; + } + + .dark-mode-toggle { + text-align: center; + margin-top: 20px; + } + + } + .footer + { + width:100%; + height:40px; + margin-top:20px; + + .footer-content + { + background-color: rgba(0, 0, 255, 0.452); + display: flex; + align-items: center; + justify-content: center; + padding:5px; + gap:40px; + } + .socials + { + .share { + display: flex; + flex-direction: row; + gap: 1em; + transition: .4s ease-in-out; + + } + + .btn1 { + position: relative; + width: 3em; + height: 3em; + outline: none; + border: none; + border-radius: 50%; + background-color: white; + transition: .4s all; + } + + .btn1 .instagram { + margin-top: 0.1em; + fill: #cc39a4; + } + + .btn1 .tooltiptext1 { + visibility: hidden; + width: 6em; + height: 8em; + background-color: whitesmoke; + color: black; + text-align: center; + border-radius: 10px; + padding: 1em; + position: absolute; + left: -1.5em; + top: -8em; + z-index: 1; + transition: .1s ease-in-out; + } + + .btn1 .tooltiptext1 .card { + width: 4em; + height: 4em; + background-color: white; + } + + .btn1 .tooltiptext1 .account { + margin-top: 1em; + } + + .btn1 .tooltiptext1 .username { + font-size: 0.7em; + margin-top: 1.6em; + font-weight: bold; + } + + .btn1:hover .tooltiptext1 { + transform: translateY(-1em); + visibility: visible; + } + + .btn1:hover { + background-color: #cc39a4; + } + + .btn1:hover .instagram { + fill: white; + } + + .btn2 { + position: relative; + width: 3em; + height: 3em; + outline: none; + border: none; + border-radius: 50%; + background-color: white; + transition: .4s all; + } + + .btn2 .twitter { + margin-top: .25em; + margin-left: .1em; + fill: #2e30a1; + } + .btn2 .addcolor:hover + { + color:white; + } + .btn2 .tooltiptext2 { + visibility: hidden; + width: 6em; + height: 8em; + background-color: whitesmoke; + color: black; + text-align: center; + border-radius: 10px; + padding: 1em; + position: absolute; + left: -1.5em; + top: -8em; + z-index: 1; + transition: .1s ease-in-out; + } + + .btn2 .tooltiptext2 .card { + width: 4em; + height: 4em; + background-color: white; + } + + .btn2 .tooltiptext2 .account { + margin-top: 1em; + } + + .btn2 .tooltiptext2 .username { + font-size: 0.6em; + margin-top: 1.6em; + font-weight: bold; + } + + .btn2:hover .tooltiptext2 { + transform: translateY(-1em); + visibility: visible; + } + + .btn2:hover { + background-color: #03A9F4; + } + + .btn2:hover .twitter { + fill: white; + } + + .btn3 { + position: relative; + width: 3em; + height: 3em; + outline: none; + border: none; + border-radius: 50%; + background-color: white; + transition: .4s all; + } + + .btn3 .tooltiptext3 { + visibility: hidden; + width: 6em; + height: 8em; + background-color: whitesmoke; + color: black; + text-align: center; + border-radius: 10px; + padding: 1em; + position: absolute; + left: -1.5em; + top: -8em; + z-index: 1; + transition: .1s ease-in-out; + } + + .btn3 .tooltiptext3 .card { + width: 4em; + height: 4em; + background-color: white; + } + + .btn3 .tooltiptext3 .account { + margin-top: 1em; + } + + .btn3 .tooltiptext3 .username { + font-size: 0.7em; + margin-top: 1.6em; + font-weight: bold; + } + + .btn3:hover .tooltiptext3 { + transform: translateY(-1em); + visibility: visible; + } + + .btn3:hover { + background-color: black; + } + + .btn3:hover .git { + fill: white; + } + } + } + +.fa-brands +{ + font-size:22px;color:rgb(59, 59, 184); + fa-brands:hover + {color:white; + background-color: blue;} +} \ No newline at end of file