mirror of
https://github.com/harivansh-afk/React-Portfolio.git
synced 2026-04-15 09:01:17 +00:00
chore: updates to info and projects
This commit is contained in:
parent
79615758d4
commit
95f8a9873b
8 changed files with 594 additions and 15 deletions
BIN
public/images/project1.jpg
Normal file
BIN
public/images/project1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 610 KiB |
BIN
public/images/project2.jpg
Normal file
BIN
public/images/project2.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
BIN
public/images/project3.jpg
Normal file
BIN
public/images/project3.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 468 KiB |
BIN
public/images/project4.jpg
Normal file
BIN
public/images/project4.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 731 KiB |
|
|
@ -121,24 +121,24 @@ const services = [{
|
||||||
];
|
];
|
||||||
|
|
||||||
const dataportfolio = [{
|
const dataportfolio = [{
|
||||||
img: "https://picsum.photos/400/300/?grayscale",
|
img: "/images/project1.jpg",
|
||||||
description: "Built a React/TypeScript RAG AI chat application with n8n, achieving 95% query response accuracy",
|
description: "Built a React/TypeScript RAG AI chat application with n8n, achieving 95% query response accuracy",
|
||||||
link: "https://github.com/harivansh-afk/RAG-ui",
|
link: "https://rag-ui-six.vercel.app/",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: "https://picsum.photos/400/300/?grayscale",
|
img: "/images/project2.jpg",
|
||||||
description: "Co-authored a research paper on cryptocurrency market predictability with a PHD student at CMU",
|
description: "Co-authored a research paper on cryptocurrency market predictability with a PHD student at CMU",
|
||||||
link: "https://github.com/harivansh-afk/CryptoCurrencyPredictionLSTM",
|
link: "https://docs.google.com/document/d/1i0IZgHYEERKVdRMBtCdK6jJGRoEoZUY7T43fuGKEDm8/edit?tab=t.0#heading=h.nazxqu6em5gk",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: "https://picsum.photos/400/300/?grayscale",
|
img: "/images/project3.jpg",
|
||||||
description: "Built a full-stack habit tracker web app with React, TypeScript, and Supabase, boosting scalability by 25%",
|
description: "Built a full-stack habit tracker web app with React, TypeScript, and Supabase, boosting scalability by 25%",
|
||||||
link: "https://github.com/harivansh-afk/Habit-Tracker",
|
link: "https://habit-tracker-2-eta.vercel.app/",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: "https://picsum.photos/400/300/?grayscale",
|
img: "/images/project4.jpg",
|
||||||
description: "Built a React/TypeScript app with Shadcn/UI and Tailwind, implementing lazy loading for 40% faster loads",
|
description: "Built a React/TypeScript app with Shadcn/UI and Tailwind, implementing lazy loading for 40% faster loads",
|
||||||
link: "https://github.com/harivansh-afk/ENGL-Final-Project",
|
link: "https://guidetoausten.netlify.app/",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ const Headermain = () => {
|
||||||
<Link onClick={handleToggle} to="/" className="my-3">Home</Link>
|
<Link onClick={handleToggle} to="/" className="my-3">Home</Link>
|
||||||
</li>
|
</li>
|
||||||
<li className="menu_item">
|
<li className="menu_item">
|
||||||
<Link onClick={handleToggle} to="/portfolio" className="my-3"> Portfolio</Link>
|
<Link onClick={handleToggle} to="/projects" className="my-3"> Projects</Link>
|
||||||
</li>
|
</li>
|
||||||
<li className="menu_item">
|
<li className="menu_item">
|
||||||
<Link onClick={handleToggle} to="/about" className="my-3">About</Link>
|
<Link onClick={handleToggle} to="/about" className="my-3">About</Link>
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ export const Home = () => {
|
||||||
</h1>
|
</h1>
|
||||||
<p className="mb-1x">{introdata.description}</p>
|
<p className="mb-1x">{introdata.description}</p>
|
||||||
<div className="intro_btn-action pb-5">
|
<div className="intro_btn-action pb-5">
|
||||||
<Link to="/portfolio" className="text_2">
|
<Link to="/projects" className="text_2">
|
||||||
<div id="button_p" className="ac_btn btn ">
|
<div id="button_p" className="ac_btn btn ">
|
||||||
My Portfolio
|
My Portfolio
|
||||||
<div className="ring one"></div>
|
<div className="ring one"></div>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,390 @@
|
||||||
margin-top: 2rem;
|
margin-top: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 0;
|
||||||
|
border: 1px solid var(--card-border, var(--muted));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 2px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
overflow: hidden;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
border-color: var(--card-outline-hover, var(--primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(50% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(100% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
.project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 0;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
border-color: var(--card-outline-hover, var(--primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(50% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(100% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item .content {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background: var(--overlay-bg, rgba(0, 0, 0, 0.7));
|
||||||
|
backdrop-filter: blur(4px);
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
padding: 1.5rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
>>>>>>>REPLACE > .project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 0;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
overflow: hidden;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
>>>>>>>REPLACE > .project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 1rem;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
min-height: 300px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
border-color: var(--card-outline-hover, var(--primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(50% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(100% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
.project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 1rem;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
min-height: 300px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
border-color: var(--card-outline-hover, var(--primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(50% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(100% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item img {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 200px;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item .content {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background: rgba(0, 0, 0, 0.7);
|
||||||
|
backdrop-filter: blur(4px);
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
padding: 1.5rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover .content {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item .content p {
|
||||||
|
color: var(--overlay-text, white);
|
||||||
|
font-size: 0.875rem;
|
||||||
|
line-height: 1.25rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
text-align: center;
|
||||||
|
max-width: 90%;
|
||||||
|
background: var(--overlay-text-bg, rgba(0, 0, 0, 0.5));
|
||||||
|
padding: 0.5rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
>>>>>>>REPLACE > .project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 0;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
overflow: hidden;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
>>>>>>>REPLACE > .project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 1rem;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
min-height: 300px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
border-color: var(--card-outline-hover, var(--primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(50% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(100% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
.project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
.project_item {
|
.project_item {
|
||||||
width: calc(33% - 2rem);
|
width: calc(33% - 2rem);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
@ -76,29 +460,224 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.project_item .content p {
|
.project_item .content p {
|
||||||
color: var(--foreground);
|
color: white;
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
line-height: 1.25rem;
|
line-height: 1.25rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
max-width: 90%;
|
max-width: 90%;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
padding: 0.5rem;
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.project_item .content a {
|
.project_item .content a {
|
||||||
background: var(--button-bg, var(--background));
|
background: var(--overlay-button-bg, rgba(255, 255, 255, 0.9));
|
||||||
border: 1px solid var(--button-border, var(--border));
|
border: 1px solid var(--overlay-button-border, rgba(255, 255, 255, 0.2));
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 0.5rem 1rem;
|
padding: 0.5rem 1rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: var(--foreground);
|
color: var(--overlay-button-text, black);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.project_item .content a:hover {
|
.project_item .content a:hover {
|
||||||
background: var(--button-hover-bg, var(--muted));
|
background: var(--overlay-button-hover-bg, rgba(255, 255, 255, 1));
|
||||||
|
transform: translateY(-1px);
|
||||||
|
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
||||||
|
}
|
||||||
|
.project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 0;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
overflow: hidden;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
>>>>>>>REPLACE > .project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 1rem;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
min-height: 300px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
border-color: var(--card-outline-hover, var(--primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(50% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(100% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
aspect-ratio: 1;
|
||||||
|
}
|
||||||
|
.project_items_ho {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 2rem;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 2rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item {
|
||||||
|
width: calc(33% - 2rem);
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.5rem;
|
||||||
|
position: relative;
|
||||||
|
background: var(--card-bg, var(--background));
|
||||||
|
padding: 1rem;
|
||||||
|
border: 0.5px solid var(--card-border, var(--foreground));
|
||||||
|
border-radius: 8px;
|
||||||
|
outline: 3px solid var(--card-outline-color, var(--primary));
|
||||||
|
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
font-size: 0;
|
||||||
|
min-height: 300px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
border-color: var(--card-outline-hover, var(--primary));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(50% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.project_item {
|
||||||
|
width: calc(100% - 2rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item img {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 200px;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item .content {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background: rgba(0, 0, 0, 0.85);
|
||||||
|
backdrop-filter: blur(4px);
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
padding: 1.5rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item:hover .content {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item .content p {
|
||||||
|
color: white;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
line-height: 1.25rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
text-align: center;
|
||||||
|
max-width: 90%;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
padding: 0.5rem;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item .content a {
|
||||||
|
background: rgba(255, 255, 255, 0.9);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
font-weight: 500;
|
||||||
|
color: black;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.project_item .content a:hover {
|
||||||
|
background: rgba(255, 255, 255, 1);
|
||||||
transform: translateY(-1px);
|
transform: translateY(-1px);
|
||||||
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue