diff --git a/public/cv/index.html b/public/cv/index.html new file mode 100644 index 0000000..d55bfd5 --- /dev/null +++ b/public/cv/index.html @@ -0,0 +1,396 @@ + + + + + + + + + + Dan Grubb CV + + + + + +
+ +
+
+ +
+
+
+ perfil +

Dan Grubb

+

IT Man

+ +
+ Download +
+
+
+ + Falls Church, VA + + + Dan@DanGrubb.Net + + + 703-649-1637 + + + + dangrubb.net + +
+
+ + + + +
+ + + + +
+

Profile

+

+ Dynamic and detail-oriented IT professional with a proven track record in both independent and collaborative environments. Skilled in prioritizing tasks and adept at diagnosing and resolving complex technical issues to ensure optimal performance and customer satisfaction. +

+
+ + +
+

Education

+
+
+
+ + +
+
+

Advanced Diploma

+ Patriot High School + 2015 - 2019 +
+
+ +
+
+ + +
+
+

Some College

+ + 2020 +
+
+ +
+
+ + +
+
+

Self-Study Certifications

+ + 2020 - Present +
+
+
+
+ + +
+

Skills

+
+
    +
  • + Windows +
  • +
  • + Mac +
  • +
  • + Linux +
  • +
  • + Networking +
  • +
+
    +
  • + Security +
  • +
  • + Hardware +
  • +
  • + Software +
  • +
+
+
+
+
+ + +
+

Experience

+
+
+
+ + +
+
+

IT Consultant and Support Technician

+ 2025 to Present | Blue Tech Innovation +

+

    +
  • • Provide administration and internal support for company systems, including PCs, Macs, phones, printers, servers, and other related equipment.
  • +
  • • Offer end-user support for both office-based and remote employees.
  • +
  • • Ensure the health, stability, and best practices configuration of client infrastructures.
  • +
  • • Troubleshoot and resolve issues with the following technologies:
  • +
  • • Windows Server, VPN Clients, Group Policy, Folder Permissions
  • +
  • • Firewalls, Printer Servers, Office 365
  • +
  • • Mac systems, workstation and network connectivity issues
  • +
  • • Exchange Server, Microsoft Office Applications, and the latest Microsoft Office suite versions
  • +
+

+
+
+
+
+ + +
+
+

Technical Account Manager

+ 2023 to 2025 | ITG +

+

    +
  • • Ensure customer success with technical consulting and implementation of adaptive software and hardware.
  • +
  • • Manage client relationships and troubleshoot technical issues.
  • +
  • • Deliver tailored solutions for business needs.
  • +
  • • Find creative solutions for government and private clients.
  • +
  • • Maintained 99% SLA compliance.
  • +
  • • Streamlined and documented standard operating procedures.
  • +
  • • Automated daily and repetitive tasks.
  • +
  • • Created instructional media for field technicians.
  • +
+

+
+
+
+
+ + +
+
+

Field Technician

+ 2023 | Dell +

+

    +
  • • Managed a workload of repairs in a ticketing system.
  • +
  • • Scheduled, routed, and completed all tickets in a timely manner.
  • +
  • • Found solutions to complex hardware/firmware issues and ensured systems were up and running efficiently.
  • +
  • • Maintained positive professional relations with Dell’s corporate, government, and consumer clients.
  • +
  • • Exceeded ticket completion standards handling all tickets in the Falls Church - Arlington area.
  • +
+

+
+
+ + + + More Information + +
+
+ + +
+

Certifications

+ +
+
+

+ CompTIA A+, Network+ and Security+ +

+

+ https://www.credly.com/users/dangrubbb +

+
+
+

+ Microsoft Office Specialist +

+

+ https://www.credly.com/users/dangrubbb +

+
+
+

+ Dell, Apple, Samsung Certified Repair Technician +

+

+ +

+
+
+
+ + +
+

References

+ +
+
+ IT Engineer, ITG +

Samuel Alpert

+
    +
  • Details available upon request
  • + +
+
+
+ Server Technician, AMD +

Brian Oberoi

+
    +
  • Details available upon request
  • + +
+
+
+
+ + +
+

Languages

+ +
+
    +
  • + English +
  • +
  • + Python +
  • +
  • + HTML +
  • +
+
+
+ + +
+

Interests

+ +
+
+ + Music +
+
+ + Tech +
+
+ + Fitness +
+ +
+ + Christ +
+
+
+
+
+
+ + + + + + + + + + + + diff --git a/public/cv/js/main.js b/public/cv/js/main.js new file mode 100644 index 0000000..2b1a863 --- /dev/null +++ b/public/cv/js/main.js @@ -0,0 +1,179 @@ +/*==================== SHOW MENU ====================*/ +const showMenu = (toggleId, navId) => { + const toggle = document.getElementById(toggleId), + nav = document.getElementById(navId); + //validate that variables exist + if (toggle && nav) { + toggle.addEventListener("click", () => { + //we add the show menu class to the div tag with the nav__menu class + nav.classList.toggle("show-menu"); + }); + } +}; +showMenu("nav-toggle", "nav-menu"); + +/*==================== REMOVE MENU MOBILE ====================*/ +const navLink = document.querySelectorAll(".nav__link"); +function linkAction() { + const navMenu = document.getElementById("nav-menu"); + //when we click on each nav__link, we remove the show-menu class + navMenu.classList.remove("show-menu"); +} +navLink.forEach((n) => n.addEventListener("click", linkAction)); + +/*==================== SCROLL SECTIONS ACTIVE LINK ====================*/ +const sections = document.querySelectorAll("section[id]"); +function scrollActive() { + const scrollY = window.pageYOffset; + sections.forEach((current) => { + const sectionHeight = current.offsetHeight; + const sectionTop = current.offsetTop - 50; + sectionId = current.getAttribute("id"); + if (scrollY > sectionTop && scrollY <= sectionTop + sectionHeight) { + document + .querySelector(".nav__menu a[href*=" + sectionId + "]") + .classList.add("active-link"); + } else { + document + .querySelector(".nav__menu a[href*=" + sectionId + "]") + .classList.remove("active-link"); + } + }); +} +window.addEventListener("scroll", scrollActive); + +/*==================== SHOW SCROLL TOP ====================*/ +function scrollTop() { + const scrollTop = document.getElementById("scroll-top"); + // When the scroll is higher than 200 viewport height, add the show-scroll class to the a tag with the scroll-top class + if (this.scrollY >= 200) scrollTop.classList.add("show-scroll"); + else scrollTop.classList.remove("show-scroll"); +} +window.addEventListener("scroll", scrollTop); + +/*==================== DARK LIGHT THEME ====================*/ +const themeButton = document.getElementById("theme-button"); +const darkTheme = "dark-theme"; +const iconTheme = "bx-sun"; + +// Previously selected topic (if user selected) +const selectedTheme = localStorage.getItem("selected-theme"); +const selectedIcon = localStorage.getItem("selected-icon"); + +// We obtain the current theme that the interface has by validating the dark-theme class +const getCurrentTheme = () => + document.body.classList.contains(darkTheme) ? "dark" : "light"; +const getCurrentIcon = () => + themeButton.classList.contains(iconTheme) ? "bx-moon" : "bx-sun"; + +// We validate if the user previously chose a topic +if (selectedTheme) { + // If the validation is fulfilled, we ask what the issue was to know if we activated or deactivated the dark + document.body.classList[selectedTheme === "dark" ? "add" : "remove"]( + darkTheme + ); + themeButton.classList[selectedIcon === "bx-moon" ? "add" : "remove"]( + iconTheme + ); +} + +// Activate / deactivate the theme manually with the button +themeButton.addEventListener("click", () => { + // Add or remove the dark / icon theme + document.body.classList.toggle(darkTheme); + themeButton.classList.toggle(iconTheme); + // We save the theme and the current icon that the user chose + localStorage.setItem("selected-theme", getCurrentTheme()); + localStorage.setItem("selected-icon", getCurrentIcon()); +}); + +/*==================== REDUCE THE SIZE AND PRINT ON AN A4 SHEET ====================*/ +function scaleCv() { + document.body.classList.add("scale-cv"); +} + +/*==================== REMOVE THE SIZE WHEN THE CV IS DOWNLOADED ====================*/ +function removeScale() { + document.body.classList.remove("scale-cv"); +} + +/*==================== GENERATE PDF ====================*/ +// PDF generated area +let areaCv = document.getElementById("area-cv"); +let resumeButton = document.getElementById("resume-button"); + +// Html2pdf options +let opt = { + margin: 0, + filename: "DanGrubbResume.pdf", + image: { type: "jpeg", quality: 0.98 }, + html2canvas: { scale: 2 }, + jsPDF: { format: "a4", orientation: "portrait" }, +}; + +// Function to call areaCv and Html2Pdf options +function generateResume() { + // Select the elements to hide + const experienceLink = document.querySelector("#experience > div > a"); + const interestsSection = document.querySelector("#area-cv > div.resume__right > section.interests.section"); + + // Hide the elements before generating PDF + if (experienceLink) { + experienceLink.style.display = 'none'; // Hide the link + } + + if (interestsSection) { + interestsSection.style.display = 'none'; // Hide the interests section + } + + // Generate the PDF + html2pdf(areaCv, opt); + + // Show the elements again after a timeout + setTimeout(() => { + if (experienceLink) { + experienceLink.style.display = 'block'; // Show the link again + } + + if (interestsSection) { + interestsSection.style.display = 'block'; // Show the interests section again + } + }, 2000); // Adjust the timeout if necessary +} + +// When the button is clicked, it executes the three functions +resumeButton.addEventListener("click", () => { + // 1. The class .scale-cv is added to the body, where it reduces the size of the elements + scaleCv(); + // 2. The PDF is generated + generateResume(); + // 3. The .scale-cv class is removed from the body after 5 seconds to return to normal size. + setTimeout(removeScale, 5000); +}); + +/*========== CONFIRMATION MESSAGE ==========*/ +const countdownElement = document.getElementById("countdown"); +// Date to countdown (July 1, 2023) +const countdownDate = new Date("July 1, 2023 00:00:00").getTime(); + +// Update the countdown every second +const countdownTimer = setInterval(() => { + const now = new Date().getTime(); + const distance = countdownDate - now; + // Calculate days, hours, minutes, and seconds remaining + const days = Math.floor(distance / (1000 * 60 * 60 * 24)); + const hours = Math.floor( + (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60) + ); + const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); + const seconds = Math.floor((distance % (1000 * 60)) / 1000); + + // Update the countdown element + countdownElement.innerHTML = `The remaining time is ${days} days, ${hours} hours, ${minutes} minutes, and ${seconds} seconds.`; + + // If the target date is reached, stop the countdown + if (distance < 0) { + clearInterval(countdownTimer); + countdownElement.innerHTML = "The day has arrived!"; + } +}, 1000); \ No newline at end of file diff --git a/public/cv/moreInformation.html b/public/cv/moreInformation.html new file mode 100644 index 0000000..e27330e --- /dev/null +++ b/public/cv/moreInformation.html @@ -0,0 +1,366 @@ + + + + + + + + + + Dan Grubb CV + + + + + +
+ +
+
+ +
+
+
+ perfil +

Dan Grubb

+

IT Man

+ +
+ Download +
+ +
+
+ + Falls Church, VA + + + Dan@DanGrubb.Net + + + 703-649-1637 + + + dangrubb.net + +
+
+ + + + +
+ + + + +
+

Profile

+

+ Dynamic and detail-oriented IT professional with a proven track record in both independent and collaborative environments. Skilled in prioritizing tasks and adept at diagnosing and resolving complex technical issues to ensure optimal performance and customer satisfaction. +

+
+ + +
+

Education

+
+
+
+ + +
+
+

Advanced Diploma

+ Patriot High School + 2015 - 2019 +
+
+ +
+
+ + +
+
+

Some College

+ + 2020 +
+
+ +
+
+ + +
+
+

Self-Study Certifications

+ + 2020 - Present +
+
+
+
+ + +
+

Skills

+
+
    +
  • + Windows +
  • +
  • + Mac +
  • +
  • + Linux +
  • +
  • + Networking +
  • +
+
    +
  • + Security +
  • +
  • + Hardware +
  • +
  • + Software +
  • +
+
+
+
+ +
+ +
+

Experience

+ +
+ +
+
+ + +
+
+

IT Consultant and Support Technician

+ 2025 to Present | Blue Tech Innovation +

+

    +
  • • Provide administration and internal support for company systems, including PCs, Macs, phones, printers, servers, and other related equipment.
  • +
  • • Offer end-user support for both office-based and remote employees.
  • +
  • • Ensure the health, stability, and best practices configuration of client infrastructures.
  • +
  • • Troubleshoot and resolve issues with the following technologies:
  • +
  • • Windows Server, VPN Clients, Group Policy, Folder Permissions
  • +
  • • Firewalls, Printer Servers, Office 365
  • +
  • • Mac systems, workstation and network connectivity issues
  • +
  • • Exchange Server, Microsoft Office Applications, and the latest Microsoft Office suite versions
  • +
+

+
+
+ +
+
+ + +
+ +
+

Technical Account Manager

+ 2023 to Present | ITG +

+

    +
  • • Ensure customer success with technical consulting and implementation of adaptive software and hardware.
  • +
  • • Manage client relationships and troubleshoot technical issues.
  • +
  • • Deliver tailored solutions for business needs.
  • +
  • • Find creative solutions for government and private clients.
  • +
  • • Maintained 99% SLA compliance.
  • +
  • • Streamlined and documented standard operating procedures.
  • +
  • • Automated daily and repetitive tasks.
  • +
  • • Created instructional media for field technicians.
  • +
+

+
+
+
+
+ + +
+
+

Field Technician

+ 2023 | Dell +

+

    +
  • • Managed a workload of repairs in a ticketing system.
  • +
  • • Scheduled, routed, and completed all tickets in a timely manner.
  • +
  • • Found solutions to complex hardware/firmware issues and ensured systems were up and running efficiently.
  • +
  • • Maintained positive professional relations with Dell’s corporate, government, and consumer clients.
  • +
  • • Exceeded ticket completion standards handling all tickets in the Falls Church - Arlington area.
  • +
+

+
+
+
+
+ + +
+
+

+ Lead Repair Technician +

+ 2021 to 2022 | T-Mobile +

+

    +
  • • Diagnosed and repaired cellphones, tablets, laptops, and other mobile devices.
  • +
  • • Efficiently diagnosed issues with customers' devices and performed all necessary repairs.
  • +
  • • Handled inventory and parts returns while ensuring systems were up to date.
  • +
  • • Exceeded SLA expectations completing 90% of repairs in under 90 minutes.
  • +
+

+
+
+
+
+ + +
+
+

Lead Technician

+ 2021 | Red Door Pro Wash +

+

    +
  • • Communicated with customers to perform soft wash services efficiently.
  • +
  • • Created job plans for the team prior to arrival.
  • +
  • • Maintained and drove the company vehicle.
  • +

+
+
+
+
+ + +
+
+

Night Shift Manager

+ 2020 to 2021 | Taco Bell +

+

    +
  • • Managed up to 10 staff during the night shift.
  • +
  • • Trained new employees and handled customer issues.
  • +
  • • Processed refunds, tracked inventory, and kept cash registers balanced.
  • +

+
+
+ + + + Back to Home + +
+
+
+
+
+ + + + + + + + + + + diff --git a/public/cv/styles/index.css b/public/cv/styles/index.css new file mode 100644 index 0000000..c189ea0 --- /dev/null +++ b/public/cv/styles/index.css @@ -0,0 +1,692 @@ +/*===== GOOGLE FONTS =====*/ +@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap"); + +/*===== VARIABLES CSS =====*/ +:root { + --header-height: 3rem; + + /*========== Colors ==========*/ + --title-color: #0b0a0a; + --text-color: #403a3a; + --text-color-light: #707070; + --container-color: #fafafa; + --container-color-alt: #f0efef; + --body-color: #fcfcfc; + + /*========== Font and typography ==========*/ + --body-font: "Poppins", sans-serif; + --h1-font-size: 1.5rem; + --h2-font-size: 1.25rem; + --h3-font-size: 1rem; + --normal-font-size: 0.938rem; + --small-font-size: 0.875rem; + --smaller-font-size: 0.813rem; + + /*========== Font weight ==========*/ + --font-medium: 500; + --font-semi-bold: 600; + + /*========== Margenes ==========*/ + --mb-1: 0.5rem; + --mb-2: 1rem; + --mb-3: 1.5rem; + + /*========== z index ==========*/ + --z-tooltip: 10; + --z-fixed: 100; +} + +/*========== BASE ==========*/ + +/*========== Variables Dark theme ==========*/ +body.dark-theme { + --title-color: #f2f2f2; + --text-color: #bfbfbf; + --container-color: #212121; + --container-color-alt: #181616; + --body-color: #2b2b2b; +} +/*========== Button Dark/Light ==========*/ +.change-theme { + position: absolute; + right: 0; + top: 2.2rem; + display: flex; + color: var(--text-color); + font-size: 1.2rem; + cursor: pointer; +} +.change-theme:hover { + color: var(--title-color); +} +/*========== Font size variables to scale cv ==========*/ +body.scale-cv { + --h1-font-size: 0.938rem; + --h2-font-size: 0.938rem; + --h3-font-size: 0.875rem; + --normal-font-size: 0.813rem; + --small-font-size: 0.75rem; + --smaller-font-size: 0.688rem; +} +/*========== Generate PDF button ==========*/ +.generate-pdf { + display: none; + position: absolute; + top: 2.2rem; + left: 0; + font-size: 1.2rem; + color: var(--text-color); + cursor: pointer; +} +.generate-pdf:hover { + color: var(--title-color); +} +/*========== Classes modified to reduce size and print on A4 sheet ==========*/ +.scale-cv .change-theme, +.scale-cv .generate-pdf { + display: none; +} +.scale-cv .bd-container { + max-width: 595px; +} +.scale-cv .section { + padding: 1.5rem 0 0.8rem; +} +.scale-cv .section-title { + margin-bottom: 0.75rem; +} +.scale-cv .resume__left, +.scale-cv .resume__right { + padding: 0 1rem; +} +.scale-cv .home-img { + width: 90px; + height: 90px; +} +.scale-cv .home__container { + gap: 1.5rem; +} +.scale-cv .home__data { + gap: 0.25rem; +} +.scale-cv .home__address, +.scale-cv .social__container { + gap: 0.75rem; +} +.scale-cv .home__icon, +.scale-cv .social__icon, +.scale-cv .interests__icon { + font-size: 1rem; +} +.scale-cv .education__container, +.scale-cv .experience__company, +.scale-cv .certificate__container { + gap: 1rem; +} +.scale-cv .education__time, +.scale-cv .experience__time { + padding-right: 0.5rem; +} +.scale-cv .education__rounder, +.scale-cv .experience__rounder { + width: 11px; + height: 11px; + margin-top: 0.22rem; +} +.scale-cv .education__line, +.scale-cv .experience__line { + width: 1px; + height: 110%; + transform: translate(5px, 0); +} +.scale-cv .experience__line__last { + width: 1px; + height: 100%; + transform: translate(5px, 0); +} +.scale-cv .education__data, +.scale-cv .experience__data { + gap: 0.25rem; +} +.scale-cv .skills__name { + margin-bottom: var(--mb-1); +} +.scale-cv .interests__container { + column-gap: 2.5rem; +} +body { + margin: 0 0 var(--header-height); + padding: 0; + font-family: var(--body-font); + font-size: var(--normal-font-size); + background-color: var(--body-color); + color: var(--text-color); +} +h1, +h2, +h3, +ul, +p { + margin: 0; +} +h1, +h2, +h3 { + color: var(--title-color); + font-weight: var(--font-medium); +} +ul { + padding: 0; + list-style: none; +} +a { + text-decoration: none; +} +img { + max-width: 100%; + height: auto; +} +/*========== CLASS CSS ==========*/ +.section { + padding: 1.5rem 0; +} +.section-title { + font-size: var(--h2-font-size); + color: var(--title-color); + font-weight: var(--font-semi-bold); + text-transform: uppercase; + letter-spacing: 0.35rem; + text-align: center; + margin-bottom: var(--mb-3); +} +/*========== LAYOUT ==========*/ +.bd-container { + max-width: 968px; + width: calc(100% - 3rem); + margin-left: var(--mb-3); + margin-right: var(--mb-3); +} +.bd-grid { + display: grid; + gap: 1.5rem; +} +.l-header { + width: 100%; + position: fixed; + bottom: 0; + left: 0; + z-index: var(--z-fixed); + background-color: var(--body-color); + box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.1); + transition: 0.3s; +} +/*========== NAV ==========*/ +.nav { + height: var(--header-height); + display: flex; + justify-content: space-between; + align-items: center; +} +@media screen and (max-width: 968px) { + .nav__menu { + position: fixed; + bottom: -100%; + left: 0; + width: 100%; + padding: 2rem 0rem; + background-color: var(--body-color); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); + border-radius: 1rem 1rem 0 0; + z-index: var(--z-fixed); + transition: 0.3s; + } +} +.nav__logo, +.nav__toggle { + color: var(--title-color); + font-weight: var(--font-medium); +} +.nav__toggle { + font-size: 1.2rem; + cursor: pointer; +} +.nav__item { + text-align: center; +} +.nav__list { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 2rem; +} +.nav__link { + display: flex; + flex-direction: column; + font-size: var(--smaller-font-size); + color: var(--text-color-light); + font-weight: var(--font-medium); +} +.nav__link:hover { + color: var(--title-color); +} +.nav__icon { + font-size: 1.2rem; + margin-bottom: var(--mb-1); +} +/* Show menu */ +.show-menu { + bottom: var(--header-height); +} +/* Active menu link */ +.active-link { + color: var(--title-color); +} +/*========== HOME ==========*/ +.home { + position: relative; +} +.home__container { + gap: 3rem; +} +.home__data { + gap: 0.5rem; + text-align: center; +} +.home__img { + width: 120px; + height: 120px; + border-radius: 50%; + justify-self: center; + margin-bottom: var(--mb-1); +} +.home__title { + font-size: var(--h1-font-size); +} +.home__profession { + font-size: var(--normal-font-size); + margin-bottom: var(--mb-1); +} +.home__address { + gap: 1rem; +} +.home__information { + display: flex; + align-items: center; + font-size: var(--small-font-size); +} +.home__icon { + font-size: 1.2rem; + margin-right: 0.25rem; +} +.home__button-movil { + display: inline-block; + border: 2px solid var(--text-color); + color: var(--title-color); + padding: 1rem 2rem; + border-radius: 0.25rem; + transition: 0.3s; + font-weight: var(--font-medium); + margin-top: var(--mb-3); +} +.home__button-movil:hover { + background-color: var(--text-color); + color: var(--container-color); +} +.home__button-contact { + display: inline-block; + border: 2px solid var(--text-color); + color: var(--title-color); + padding: 1rem 1.6rem; + border-radius: 0.25rem; + transition: 0.3s; + font-weight: var(--font-medium); + margin-top: var(--mb-3); +} +.home__button-contact:hover { + background-color: var(--text-color); + color: var(--container-color); +} +.information__icon, +.back__icon { + font-size: 1.5rem; + color: var(--text-color); +} +.information__icon:hover, +.back__icon:hover { + color: var(--title-color); +} +.more__information, +.back__home { + font-size: var(--h3-font-size); + color: var(--text-color); + font-weight: var(--font-medium); + display: flex; + gap: 0.5rem; +} +.back__home { + margin-top: 1.5rem; +} +.more__information:hover, +.back__home:hover { + color: var(--title-color); +} + +/*========== SOCIAL ==========*/ +.social__container { + grid-template-columns: max-content; + gap: 1rem; +} +.social__link { + display: inline-flex; + align-items: center; + font-size: var(--small-font-size); + color: var(--text-color); +} +.social__link:hover { + color: var(--title-color); +} +.social__icon { + font-size: 1.2rem; + margin-right: 0.25rem; +} +/*========== PROFILE ==========*/ +.profile__description { + text-align: center; +} +/*========== EDUCATION AND EXPERIENCE ==========*/ +.education__content, +.experience__content { + display: flex; +} +.education__time, +.experience__time { + padding-right: 1rem; +} +.education__rounder, +.experience__rounder { + position: relative; + display: block; + width: 16px; + height: 16px; + background-color: var(--text-color-light); + border-radius: 50%; + margin-top: 0.25rem; +} +.education__line, +.experience__line { + display: block; + width: 2px; + height: 109%; + background-color: var(--text-color-light); + transform: translate(7px, 0); +} +.experience__line__last { + display: block; + width: 2px; + height: 100%; + background-color: var(--text-color-light); + transform: translate(7px, 0); +} +.education__data, +.experience__data { + gap: 0.5rem; +} +.education__title, +.experience__title { + font-size: var(--h3-font-size); +} +.education__studies, +.experience__company { + font-size: var(--small-font-size); + color: var(--title-color); +} +.education__year { + font-size: var(--smaller-font-size); +} + +/*========== SKILLS AND LANGUAGES ==========*/ +.skills__content, +.languages__content { + grid-template-columns: repeat(2, 1fr); + gap: 0; +} + +.skills__name, +.languages__name { + display: flex; + align-items: center; + margin-bottom: var(--mb-3); +} +.skills__circle, +.languages__circle { + display: inline-block; + width: 5px; + height: 5px; + background-color: var(--text-color); + border-radius: 50%; + margin-right: 0.75rem; +} +/*========== CERTIFICATES ==========*/ +.certificate__title { + font-size: var(--h3-font-size); + margin-bottom: var(--mb-1); +} +/*========== REFERENCES ==========*/ +.references__content { + gap: 0.25rem; +} +.references__subtitle { + color: var(--text-color-light); +} +.references__subtitle, +.references__contact { + font-size: var(--smaller-font-size); +} +.references__title { + font-size: var(--h3-font-size); +} +/*========== INTERESTS ==========*/ +.interests__container { + display: grid; /* Ensure the grid display is set */ + grid-template-columns: repeat(4, 1fr); /* Keep 4 columns with equal widths */ + gap: 1.5rem; /* Adjust gap if needed; this is value you can tweak */ + margin-top: var(--mb-2); +} + +.interests__content { + display: flex; + flex-direction: column; + align-items: center; + /* You can add a fixed width here if necessary to avoid wrapping, but typically it's better to avoid fixed widths */ +} + +.interests__icon { + font-size: 1.5rem; + color: var(--text-color-light); + margin-bottom: 0.25rem; +} +/*========== CONTACT ==========*/ +.contact__container { + display: flex; + justify-content: center; + flex-direction: column; +} +.contact__info { + display: flex; + flex-direction: row; + gap: 3rem; + align-items: center; + font-size: var(--h3-font-size); + color: var(--text-color); + font-weight: var(--font-medium); + display: flex; + gap: 2rem; +} +.contact__icon { + font-size: 1.5rem; + color: var(--text-color); +} +.contact__phone, +.contact__email { + font-size: var(--h3-font-size); + color: var(--text-color); + font-weight: var(--font-medium); + gap: 0.5rem; +} +.contact__form { + width: 100%; + max-width: 500px; + padding: 3rem; + background-color: #f1f1f1; + border-radius: 10px; +} +.contact__content { + display: flex; + flex-direction: row; +} +.contact__inputs { + display: grid; + gap: 1rem; +} + +.contact__input, +.contact__textarea { + width: 100%; + padding: 0.75rem; + border: none; + background-color: #e5e5e5; + border-radius: 5px; +} + +.contact__textarea { + resize: none; + height: 150px; + margin-top: 1rem; +} + +.contact__button { + display: block; + width: 100%; + padding: 0.75rem; + margin-top: 1.5rem; + border: none; + background-color: #222; + color: #fff; + font-size: 1.2rem; + border-radius: 5px; + cursor: pointer; + transition: all 0.3s ease; +} + +.contact__button:hover { + background-color: #555; +} +/* Scroll top */ +.scrolltop { + position: fixed; + right: 1rem; + bottom: -20%; + display: flex; + justify-content: center; + align-items: center; + padding: 0.3rem; + background-color: var(--container-color-alt); + border-radius: 0.4rem; + z-index: var(--z-tooltip); + transition: 0.4s; + visibility: hidden; +} +.scrolltop__icon { + font-size: 1.2rem; + color: var(--text-color); +} +.show-scroll { + visibility: visible; + bottom: 5rem; +} +/*========== CONFIRMATION MESSAGE ==========*/ +.confirmation { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100vh; +} + +.confirmation h2 { + font-size: var(--h1-font-size); + color: var(--title-color); + margin-bottom: var(--mb-2); +} + +.confirmation p { + font-size: 1.5rem; + margin-bottom: 2rem; +} + +#countdown { + font-size: 2rem; + margin-bottom: 2rem; +} + +/*========== MEDIA QUERIES ==========*/ +/* For small devices, menu two columns */ +@media screen and (max-width: 320px) { + .nav__list { + grid-template-columns: repeat(2, 1fr); + gap: 1rem 0.5rem; + } +} +/* Classes modified for large screen size */ +@media screen and (min-width: 968px) { + body { + margin: 3rem 0; + } + .bd-container { + margin-left: auto; + margin-right: auto; + } + .home__button-contact { + margin-top: 0; + } + .l-header, + .scrolltop { + display: none; + } + .resume { + display: grid; + grid-template-columns: 0.5fr 1fr; + background-color: var(--container-color); + box-shadow: 0 0 8px rgba(13, 12, 12, 15); + } + .resume__left { + background-color: var(--container-color-alt); + } + .resume__left, + .resume__right { + padding: 0 1.5rem; + } + .generate-pdf { + display: inline-block; + } + .section-title, + .profile__description { + text-align: initial; + } + .home__container { + gap: 1.5rem; + } + .home__button-movil { + display: none; + } + .references__container { + grid-template-columns: repeat(2, 1fr); + } + .languages__content { + grid-template-columns: repeat(3, max-content); + column-gap: 3.5rem; + } + .interests__container { + grid-template-columns: repeat(4, max-content); + column-gap: 3.5rem; + } +} diff --git a/src/pages/cv/index.astro b/src/pages/cv/index.astro deleted file mode 100644 index f21f87b..0000000 --- a/src/pages/cv/index.astro +++ /dev/null @@ -1,324 +0,0 @@ ---- -import CVBase from '../../layouts/CVBase.astro'; ---- - - -
- - - -
-
-
- -
-
-
- perfil -

Dan Grubb

-

IT Man

-
- Download -
-
-
- Falls Church, VA - Dan@DanGrubb.Net - 703-649-1637 - dangrubb.net -
-
- - -
- - -
-

Profile

-

- Dynamic and detail-oriented IT professional with a proven track record in both independent and collaborative environments. Skilled in prioritizing tasks and adept at diagnosing and resolving complex technical issues to ensure optimal performance and customer satisfaction. -

-
- - -
-

Education

-
-
-
- - -
-
-

Advanced Diploma

- Patriot High School - 2015 - 2019 -
-
-
-
- - -
-
-

Some College

- 2020 -
-
-
-
- -
-
-

Self-Study Certifications

- 2020 - Present -
-
-
-
- - -
-

Skills

-
-
    -
  • Windows
  • -
  • Mac
  • -
  • Linux
  • -
  • Networking
  • -
-
    -
  • Security
  • -
  • Hardware
  • -
  • Software
  • -
-
-
-
- -
- -
-

Experience

-
-
-
-
-

IT Consultant and Support Technician

- 2025 to Present | Blue Tech Innovation -
    -
  • • Provide administration and internal support for company systems, including PCs, Macs, phones, printers, servers, and other related equipment.
  • -
  • • Offer end-user support for both office-based and remote employees.
  • -
  • • Ensure the health, stability, and best practices configuration of client infrastructures.
  • -
  • • Troubleshoot and resolve issues with the following technologies:
  • -
  • • Windows Server, VPN Clients, Group Policy, Folder Permissions
  • -
  • • Firewalls, Printer Servers, Office 365
  • -
  • • Mac systems, workstation and network connectivity issues
  • -
  • • Exchange Server, Microsoft Office Applications, and the latest Microsoft Office suite versions
  • -
-
-
-
-
-
-

Technical Account Manager

- 2023 to 2025 | ITG -
    -
  • • Ensure customer success with technical consulting and implementation of adaptive software and hardware.
  • -
  • • Manage client relationships and troubleshoot technical issues.
  • -
  • • Deliver tailored solutions for business needs.
  • -
  • • Find creative solutions for government and private clients.
  • -
  • • Maintained 99% SLA compliance.
  • -
  • • Streamlined and documented standard operating procedures.
  • -
  • • Automated daily and repetitive tasks.
  • -
  • • Created instructional media for field technicians.
  • -
-
-
-
-
-
-

Field Technician

- 2023 | Dell -
    -
  • • Managed a workload of repairs in a ticketing system.
  • -
  • • Scheduled, routed, and completed all tickets in a timely manner.
  • -
  • • Found solutions to complex hardware/firmware issues and ensured systems were up and running efficiently.
  • -
  • • Maintained positive professional relations with Dell's corporate, government, and consumer clients.
  • -
  • • Exceeded ticket completion standards handling all tickets in the Falls Church - Arlington area.
  • -
-
-
- - More Information - -
-
- - -
-

Certifications

-
-
-

CompTIA A+, Network+ and Security+

-

https://www.credly.com/users/dangrubbb

-
-
-

Microsoft Office Specialist

-

https://www.credly.com/users/dangrubbb

-
-
-

Dell, Apple, Samsung Certified Repair Technician

-
-
-
- - -
-

References

-
-
- IT Engineer, ITG -

Samuel Alpert

-
  • Details available upon request
-
-
- Server Technician, AMD -

Brian Oberoi

-
  • Details available upon request
-
-
-
- - -
-

Languages

-
-
    -
  • English
  • -
  • Python
  • -
  • HTML
  • -
-
-
- - -
-

Interests

-
-
Music
-
Tech
-
Fitness
-
Christ
-
-
-
-
-
- - - - -
- - - - -
- - diff --git a/src/pages/cv/more-information.astro b/src/pages/cv/more-information.astro deleted file mode 100644 index a549618..0000000 --- a/src/pages/cv/more-information.astro +++ /dev/null @@ -1,275 +0,0 @@ ---- -import CVBase from '../../layouts/CVBase.astro'; ---- - - -
- - -
-
-
-
-
-
- perfil -

Dan Grubb

-

IT Man

-
- Download -
-
-
- Falls Church, VA - Dan@DanGrubb.Net - 703-649-1637 - dangrubb.net -
-
- - -
- -
-

Profile

-

- Dynamic and detail-oriented IT professional with a proven track record in both independent and collaborative environments. Skilled in prioritizing tasks and adept at diagnosing and resolving complex technical issues to ensure optimal performance and customer satisfaction. -

-
- -
-

Education

-
-
-
-
-

Advanced Diploma

- Patriot High School - 2015 - 2019 -
-
-
-
-
-

Some College

- 2020 -
-
-
-
-
-

Self-Study Certifications

- 2020 - Present -
-
-
-
- -
-

Skills

-
-
    -
  • Windows
  • -
  • Mac
  • -
  • Linux
  • -
  • Networking
  • -
-
    -
  • Security
  • -
  • Hardware
  • -
  • Software
  • -
-
-
-
- -
-
-

Experience

-
-
-
-
-

IT Consultant and Support Technician

- 2025 to Present | Blue Tech Innovation -
    -
  • • Provide administration and internal support for company systems, including PCs, Macs, phones, printers, servers, and other related equipment.
  • -
  • • Offer end-user support for both office-based and remote employees.
  • -
  • • Ensure the health, stability, and best practices configuration of client infrastructures.
  • -
  • • Troubleshoot and resolve issues with the following technologies:
  • -
  • • Windows Server, VPN Clients, Group Policy, Folder Permissions
  • -
  • • Firewalls, Printer Servers, Office 365
  • -
  • • Mac systems, workstation and network connectivity issues
  • -
  • • Exchange Server, Microsoft Office Applications, and the latest Microsoft Office suite versions
  • -
-
-
-
-
-
-

Technical Account Manager

- 2023 to Present | ITG -
    -
  • • Ensure customer success with technical consulting and implementation of adaptive software and hardware.
  • -
  • • Manage client relationships and troubleshoot technical issues.
  • -
  • • Deliver tailored solutions for business needs.
  • -
  • • Find creative solutions for government and private clients.
  • -
  • • Maintained 99% SLA compliance.
  • -
  • • Streamlined and documented standard operating procedures.
  • -
  • • Automated daily and repetitive tasks.
  • -
  • • Created instructional media for field technicians.
  • -
-
-
-
-
-
-

Field Technician

- 2023 | Dell -
    -
  • • Managed a workload of repairs in a ticketing system.
  • -
  • • Scheduled, routed, and completed all tickets in a timely manner.
  • -
  • • Found solutions to complex hardware/firmware issues and ensured systems were up and running efficiently.
  • -
  • • Maintained positive professional relations with Dell's corporate, government, and consumer clients.
  • -
  • • Exceeded ticket completion standards handling all tickets in the Falls Church - Arlington area.
  • -
-
-
-
-
-
-

Lead Repair Technician

- 2021 to 2022 | T-Mobile -
    -
  • • Diagnosed and repaired cellphones, tablets, laptops, and other mobile devices.
  • -
  • • Efficiently diagnosed issues with customers' devices and performed all necessary repairs.
  • -
  • • Handled inventory and parts returns while ensuring systems were up to date.
  • -
  • • Exceeded SLA expectations completing 90% of repairs in under 90 minutes.
  • -
-
-
-
-
-
-

Lead Technician

- 2021 | Red Door Pro Wash -
    -
  • • Communicated with customers to perform soft wash services efficiently.
  • -
  • • Created job plans for the team prior to arrival.
  • -
  • • Maintained and drove the company vehicle.
  • -
-
-
-
-
-
-

Night Shift Manager

- 2020 to 2021 | Taco Bell -
    -
  • • Managed up to 10 staff during the night shift.
  • -
  • • Trained new employees and handled customer issues.
  • -
  • • Processed refunds, tracked inventory, and kept cash registers balanced.
  • -
-
-
- - Back to Home - -
-
-
-
-
- - - - -
- - - - -
- -