#revealSection { overflow-y: auto; color: var(--white); & header { position: sticky; display: flex; justify-content: space-between; align-items: center; background-color: var(--black); z-index: 11; & .menu-item.active { color: var(--active); border-bottom: 2px solid var(--active); font-weight: bold; } } & #home { & h2 { font-weight: bolder; margin-bottom: 10px; & img#profileImg { width: 40px; height: 40px; border: 1px solid var(--active-light); padding: 2px; border-radius: 50px; display: inline; position: relative; cursor: pointer; &:hover { transform: scale(1.05); } } } & #closeProfileCard { position: absolute; top: 10px; right: 15px; font-size: 20px; &:hover { cursor: podinter; color: var(--active); } } .imgCenterCard { display: flex; justify-content: center; margin-bottom: 3.5rem; & img { position: absolute; top: -40px; object-fit: cover; width: 100px; height: 100px; border-radius: 50px; } } & .themeToggle { display: flex; justify-content: space-between; gap: 5px; & p { font-weight: 600; font-size: 14px; } & .colorSwitch { display: flex; flex-direction: row; gap: 5px; } & .colorSwitch div { width: 1.25rem; height: 1.25rem; border-radius: 50px; cursor: pointer; border: 1px solid var(--active-light); padding: 5px; } } & .cardSkills { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px; margin-top: 10px; margin-bottom: 10px; & span { padding: 2px 10px; font-size: smaller; font-weight: 600; border-radius: 50px; background-color: var(--active-light); color: var(--white); } } & #achievementGrid .group { background-color: var(--card-bg); position: relative; padding: 1rem; border-radius: 6px; & .toggle-btn { font-size: 26px; cursor: pointer; } & .toggle-btn:hover { transform: scale(0.95); } & .card-title { display: flex; justify-content: space-between; margin-bottom: 5px; font-weight: 500; } } /* Apply style to all group cards */ & .group p { color: var(--gray); & strong { color: var(--active); } } & .group:has(p.expanded) { box-shadow: inset 0 0 5px var(--active-light); & p { color: var(--white); } & .expanded { -webkit-line-clamp: unset; max-height: 1200px; transition: all 5s ease; } } & .line-clamp { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; transition: max-height 0.4s ease, -webkit-line-clamp 0.4s ease; max-height: 3.6em; /* ~2 lines */ } & .title-text { position: relative; &::after { content: ""; display: block; height: 3px; width: 0%; background: linear-gradient(to right, var(--active), var(--warning)); transition: width 0.6s ease; margin-top: 4px; border-radius: 2px; } } & .group:hover .title-text::after { width: 40%; } & .group:has(.expanded) .title-text::after { width: 100%; } & .description { transition: all 3s ease-in-out; text-align: justify; } } /* experience & project */ #experience .tab-btn, #project .project-tab-btn { padding: 5px 7px !important; border: 1px solid var(--gray); border-radius: 0.25rem; &:hover { transform: scale(0.97); } &.active { background-color: var(--active-light); transform: scale(0.97); } &.active::after { content: "📌"; } } #experience { & .timeline li { border-left: 2px solid var(--active-light); padding: 5px 10px; transition: all 0.3s ease-in-out; &:hover { background-color: rgba(255, 255, 255, 0.03); transform: scale(1.01); } & h4 { animation: fadeX 2s ease infinite; & span { float: right; margin-top: 4px; } } & p { animation: fadeX 2s ease infinite; } } & div.grid:last-child div h5 { color: var(--active); font-weight: bold; margin-bottom: 3px; } & #leadership-skill { & #leftImg { position: relative; & img { aspect-ratio: 16 / 9; object-fit: cover; } } & #rightImg { position: relative; & img { width: 100%; height: 200px; object-fit: cover; } & .grid { position: absolute; bottom: 0; & div { position: relative; } } } & .shining-text { position: absolute; bottom: 0; width: 100%; margin-bottom: 5px; font-size: 15px; font-weight: bold; text-align: center; background: linear-gradient(150deg, var(--warning-light), var(--white)); background-size: 200% auto; color: transparent; background-clip: text; -webkit-background-clip: text; animation: shine 3s linear infinite; } & img { cursor: pointer; transition: transform 1s ease; &:hover ~ .shining-text { color: var(--warning-light); } } & #imgModal { padding: 0 10px; & img { max-height: 30rem; object-fit: cover; } } } } #project { & .grid div img { width: 100%; height: 200px; object-fit: cover; } & img { pointer-events: none; user-drag: none; -webkit-user-drag: none; } & .project-card { transition: all 0.3s ease-in-out; &.hidden { display: none; } & h3 { font-weight: bold; font-size: large; margin-bottom: 5px; color: var(--active); } & .description { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; /* Truncate after 2 lines */ -webkit-box-orient: vertical; /* Optional fallback for older browsers */ max-height: 3em; } & .expand-btn { padding: 5px; padding-bottom: 3px; position: absolute; z-index: 1; top: 3px; right: 3px; border-radius: 0.25rem; background-color: var(--gray); transition: all 0.4s ease; cursor: pointer; & i { color: var(--white); } &:hover { transform: scale(0.95); transition: all 0.4s ease; } } &:hover .expand-btn { background-color: var(--active); } } } #projectModal { backdrop-filter: blur(3px); & #modalTitle { font-weight: bold; font-size: large; margin-bottom: 5px; color: var(--active); } & img { pointer-events: none; user-drag: none; -webkit-user-drag: none; } & #closeModal { position: absolute; right: 15px; top: 0px; } } #contact { & #contactForm { text-align: center; } & iframe { width: 100%; height: 350px; border-radius: 6px; margin-top: 20px; } } }