diff --git a/htdocs/assets/style.css b/htdocs/assets/style.css index 946d7bb..91641c3 100644 --- a/htdocs/assets/style.css +++ b/htdocs/assets/style.css @@ -725,10 +725,6 @@ video { margin-left: 0.75rem; } -.ml-4 { - margin-left: 1rem; -} - .ml-5 { margin-left: 1.25rem; } @@ -789,14 +785,14 @@ video { margin-top: 4rem; } -.mt-20 { - margin-top: 5rem; -} - .mt-3 { margin-top: 0.75rem; } +.mt-32 { + margin-top: 8rem; +} + .mt-5 { margin-top: 1.25rem; } @@ -813,12 +809,8 @@ video { margin-top: 2.2rem; } -.mt-32 { - margin-top: 8rem; -} - -.mt-44 { - margin-top: 11rem; +.mb-2 { + margin-bottom: 0.5rem; } .flex { @@ -934,6 +926,10 @@ video { width: 100vw; } +.w-\[252px\] { + width: 252px; +} + .rotate-\[15deg\] { --tw-rotate: 15deg; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -1005,6 +1001,10 @@ video { white-space: nowrap; } +.rounded-2xl { + border-radius: 1rem; +} + .rounded-\[50\%\] { border-radius: 50%; } @@ -1025,10 +1025,6 @@ video { border-radius: 0.25rem; } -.rounded-2xl { - border-radius: 1rem; -} - .border-\[2px\] { border-width: 2px; } @@ -1037,6 +1033,14 @@ video { border-width: 5px; } +.border-\[1px\] { + border-width: 1px; +} + +.border-2 { + border-width: 2px; +} + .border-b-\[2px\] { border-bottom-width: 2px; } @@ -1062,6 +1066,21 @@ video { border-color: rgba(255, 255, 255, 0.30); } +.border-accent_secondary { + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} + +.border-bg_primary { + --tw-border-opacity: 1; + border-color: rgb(15 23 42 / var(--tw-border-opacity)); +} + +.border-accent_three { + --tw-border-opacity: 1; + border-color: rgb(217 217 217 / var(--tw-border-opacity)); +} + .border-l-accent_primary { --tw-border-opacity: 1; border-left-color: rgb(56 189 248 / var(--tw-border-opacity)); @@ -1096,6 +1115,48 @@ video { background-color: rgb(30 41 59 / var(--tw-bg-opacity)); } +.bg-\[rgba\(0\2c 0\2c 0\2c 0\)\] { + background-color: rgba(0,0,0,0); +} + +.bg-gradient-to-r { + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} + +.bg-gradient-to-l { + background-image: linear-gradient(to left, var(--tw-gradient-stops)); +} + +.from-accent_secondary_transparent { + --tw-gradient-from: rgba(255, 255, 255, 0.30) var(--tw-gradient-from-position); + --tw-gradient-to: rgba(255, 255, 255, 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-accent_primary { + --tw-gradient-from: #38BDF8 var(--tw-gradient-from-position); + --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-bg_third { + --tw-gradient-from: #26334A var(--tw-gradient-from-position); + --tw-gradient-to: rgb(38 51 74 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-bg_primary { + --tw-gradient-from: #0F172A var(--tw-gradient-from-position); + --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-accent_secondary { + --tw-gradient-from: #FFFFFF var(--tw-gradient-from-position); + --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + .p-10 { padding: 2.5rem; } @@ -1104,6 +1165,10 @@ video { padding: 0.5rem; } +.p-3 { + padding: 0.75rem; +} + .px-1 { padding-left: 0.25rem; padding-right: 0.25rem; @@ -1159,6 +1224,16 @@ video { padding-bottom: 0.30rem; } +.py-\[0\.20rem\] { + padding-top: 0.20rem; + padding-bottom: 0.20rem; +} + +.py-\[0\.15rem\] { + padding-top: 0.15rem; + padding-bottom: 0.15rem; +} + .font-cormorant { font-family: "Cormorant Upright", serif; } @@ -1223,6 +1298,10 @@ video { font-weight: 400; } +.font-\[300\] { + font-weight: 300; +} + .text-\[\#38BDF8\] { --tw-text-opacity: 1; color: rgb(56 189 248 / var(--tw-text-opacity)); @@ -1289,6 +1368,10 @@ video { opacity: 0.75; } +.opacity-0 { + opacity: 0; +} + .shadow-\[0px_0px_100px_10px\] { --tw-shadow: 0px 0px 100px 10px; --tw-shadow-colored: 0px 0px 100px 10px var(--tw-shadow-color); @@ -1313,6 +1396,12 @@ video { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.shadow-\[0px_0px_15px\] { + --tw-shadow: 0px 0px 15px; + --tw-shadow-colored: 0px 0px 15px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + .shadow-\[0px_0px_200px_30px\] { --tw-shadow: 0px 0px 200px 30px; --tw-shadow-colored: 0px 0px 200px 30px var(--tw-shadow-color); @@ -1325,46 +1414,9 @@ video { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } -.shadow-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-\[10px_10px_20px\] { - --tw-shadow: 10px 10px 20px; - --tw-shadow-colored: 10px 10px 20px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-\[10px_10px_5px\] { - --tw-shadow: 10px 10px 5px; - --tw-shadow-colored: 10px 10px 5px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-\[0px_10px_5px\] { - --tw-shadow: 0px 10px 5px; - --tw-shadow-colored: 0px 10px 5px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-\[0px_10px_20px\] { - --tw-shadow: 0px 10px 20px; - --tw-shadow-colored: 0px 10px 20px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-\[0px_0px_20px\] { - --tw-shadow: 0px 0px 20px; - --tw-shadow-colored: 0px 0px 20px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-\[0px_0px_15px\] { - --tw-shadow: 0px 0px 15px; - --tw-shadow-colored: 0px 0px 15px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +.shadow-accent_primary { + --tw-shadow-color: #38BDF8; + --tw-shadow: var(--tw-shadow-colored); } .shadow-accent_primary_transparent { @@ -1372,11 +1424,6 @@ video { --tw-shadow: var(--tw-shadow-colored); } -.shadow-accent_primary { - --tw-shadow-color: #38BDF8; - --tw-shadow: var(--tw-shadow-colored); -} - .blur-2xl { --tw-blur: blur(40px); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); @@ -1387,11 +1434,6 @@ video { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } -.drop-shadow-lg { - --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1)); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; @@ -1406,6 +1448,24 @@ video { transition-duration: 150ms; } +.transition-\[border-width\] { + transition-property: border-width; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-\[background-image\] { + transition-property: background-image; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-\[opacity\] { + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + .duration-100 { transition-duration: 100ms; } @@ -1418,6 +1478,10 @@ video { transition-duration: 500ms; } +.duration-200 { + transition-duration: 200ms; +} + .last\:mb-3:last-child { margin-bottom: 0.75rem; } @@ -1428,15 +1492,40 @@ video { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } +.hover\:transform:hover { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + .hover\:rounded-lg:hover { border-radius: 0.5rem; } +.hover\:rounded:hover { + border-radius: 0.25rem; +} + +.hover\:border-2:hover { + border-width: 2px; +} + +.hover\:border-\[5px\]:hover { + border-width: 5px; +} + +.hover\:border-\[3px\]:hover { + border-width: 3px; +} + .hover\:border-accent_primary:hover { --tw-border-opacity: 1; border-color: rgb(56 189 248 / var(--tw-border-opacity)); } +.hover\:border-accent_secondary:hover { + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} + .hover\:bg-accent_secondary:hover { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); @@ -1447,6 +1536,12 @@ video { background-color: rgb(38 51 74 / var(--tw-bg-opacity)); } +.hover\:from-accent_primary:hover { + --tw-gradient-from: #38BDF8 var(--tw-gradient-from-position); + --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + .hover\:text-accent_secondary:hover { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); @@ -1458,6 +1553,12 @@ video { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.hover\:shadow:hover { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + .hover\:shadow-accent_primary_transparent:hover { --tw-shadow-color: rgba(56, 189, 248, 0.30); --tw-shadow: var(--tw-shadow-colored); @@ -1468,15 +1569,61 @@ video { --tw-shadow: var(--tw-shadow-colored); } +.hover\:transition:hover { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.hover\:duration-500:hover { + transition-duration: 500ms; +} + +.group:hover .group-hover\:flex { + display: flex; +} + .group:hover .group-hover\:w-full { width: 100%; } +.group:hover .group-hover\:transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + .group:hover .group-hover\:bg-accent_secondary { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } +.group:hover .group-hover\:bg-gradient-to-r { + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} + +.group:hover .group-hover\:from-bg_third { + --tw-gradient-from: #26334A var(--tw-gradient-from-position); + --tw-gradient-to: rgb(38 51 74 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.group:hover .group-hover\:opacity-100 { + opacity: 1; +} + +.group:hover .group-hover\:transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.group:hover .group-hover\:duration-500 { + transition-duration: 500ms; +} + @media (min-width: 1024px) { .lg\:bottom-\[-6rem\] { bottom: -6rem; diff --git a/htdocs/projects.php b/htdocs/projects.php index fe7a759..32366ef 100644 --- a/htdocs/projects.php +++ b/htdocs/projects.php @@ -121,14 +121,14 @@ function fetch_projects_by_year($conn, $year) {

Personal Profile
