|
Server IP : 217.21.85.138 / Your IP : 216.73.216.103 Web Server : LiteSpeed System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64 User : u915722082 ( 915722082) PHP Version : 7.4.33 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail MySQL : OFF | cURL : ON | WGET : ON | Perl : OFF | Python : OFF Directory (0755) : /home/u915722082/.nvm/../public_html/brandessential/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Timeline Horizontal Scroll</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: #000;
}
.Timeline_timeline {
position: sticky;
top: 0;
height: 100vh;
padding-top: 150px;
padding-bottom: 150px;
overflow: hidden;
}
.Timeline_headings {
position: relative;
display: flex;
flex-direction: column;
text-align: center;
width: 100%;
z-index: 2;
}
.Timeline_headings h2 {
margin-bottom: 15px;
font-size: 40px;
color: #fff;
font-weight: 700;
letter-spacing: -0.02em;
}
.Timeline_subheading {
font-size: 1.2rem;
font-weight: 400;
margin-bottom: 2rem;
opacity: 0.8;
color: #fff;
}
.container-timeline {
position: relative;
width: 100%;
height: 100%;
max-width: calc(1800px + 15%);
}
.Timeline_scroller {
position: relative;
width: 100%;
overflow: hidden;
height: 100%;
}
.StaggeredItems_grid {
width: 100%;
height: 100%;
}
.Timeline_inner {
position: relative;
display: flex;
flex-direction: row;
padding-left: 2rem;
padding-bottom: 2rem;
width: max-content;
height: 100%;
transform: translateX(0);
transition: transform 0.3s ease-out;
}
.Timeline_block {
width: 60vw;
transform: translateY(1.5rem);
gap: 4%;
margin-right: 3.125rem;
display: flex;
flex-direction: row;
align-items: flex-start;
border-top-right-radius: 7.5rem;
flex-shrink: 0;
}
.Timeline_image {
width: 26%;
aspect-ratio: 1 / 1;
flex-shrink: 0;
overflow: hidden;
}
.Timeline_image img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 100%;
}
.Timeline_blockContent {
flex-grow: 1;
}
.Timeline_blockHeading {
display: flex;
align-items: center;
gap: 1rem;
color: #000;
font-size: 60px;
font-weight: 300;
line-height: 1.2;
margin-bottom: 1rem;
}
.Timeline_duration {
white-space: nowrap;
flex-shrink: 0;
font-size: 16px;
line-height: 1;
border-radius: 7px;
border: 1px solid #000;
padding: 0.4em 0.7em;
transform: translateY(0.3em);
}
.Timeline_blockText {
font-size: 1rem;
line-height: 1.5;
color: #000;
margin-bottom: 1.5rem;
}
.Timeline_workInvolved {
margin-top: 1.5rem;
}
.Timeline_workInvolved p {
font-weight: 600;
margin-bottom: 0.5rem;
color: #000;
}
.Timeline_workInvolvedList {
display: flex;
flex-wrap: wrap;
gap: 0.625rem;
}
.Timeline_workInvolvedList span {
font-size: 1rem;
line-height: 1;
border-radius: 7px;
background-color: #000;
color: #fff;
padding: 0.5em 0.6em 0.6em;
display: inline-block;
}
.Timeline_bottomTimeline {
display: flex;
margin-left: 2rem;
position: relative;
width: max-content;
}
.Timeline_blockTime {
width: calc(55vw + 3.125rem);
display: flex;
justify-content: center;
align-items: flex-start;
flex-shrink: 0;
}
.Timeline_weekNumber {
font-size: 0.9rem;
color: #000;
background-color: #efefef;
padding: 0.3em 0.5em;
line-height: 1;
border-radius: 7px;
display: inline-block;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.Timeline_bottomTimeline:before {
content: "";
position: absolute;
width: 100%;
height: 1px;
top: 50%;
left: 0;
transform: translateY(-50%);
background-color: #e0e0e0;
z-index: -1;
}
.featured-portfolio_item {
width: 100%;
}
.image-wrapper-16-9 {
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
border-radius: 15px;
}
.featured-portfolio_image {
width: 100%;
height: 100%;
object-fit: cover;
}
.featured-portfolio_image-hover-wrapper {
display: none;
}
.featured-portfolio_item-content {
padding: 2rem;
}
.featured-portfolio_image-list {
display: flex;
gap: 1rem;
margin-bottom: 1rem;
}
.featured-portfolio_image-small {
width: 150px;
height: 100px;
object-fit: cover;
border-radius: 8px;
}
.featured-portfolio_kpi-wrapper {
text-align: center;
}
.text-color-secondary {
font-size: 1.5rem;
font-weight: 600;
color: #fff;
margin-bottom: 1rem;
}
.line-divider {
width: 80px;
height: 2px;
background: #fff;
margin: 1rem auto;
}
.clickable_wrap {
display: none;
}
.w-dyn-item {
display: block;
}
/* Smooth rendering optimizations */
.Timeline_inner {
backface-visibility: hidden;
perspective: 1000px;
}
.Timeline_block {
transform: translateZ(0);
}
@media (min-width: 300px) and (max-width: 399px) {
.Timeline_block {
width: 85vw;
flex-direction: column;
padding: 10px;
gap: 0rem;
border-top-right-radius: 3.125rem;
}
.Timeline_headings h2 {
font-size: 28px;
color: #fff;
font-weight: 700;
margin-bottom: 0.5rem;
letter-spacing: -0.02em;
}
.Timeline_blockHeading {
display: flex;
align-items: center;
flex-direction: row;
font-size: 24px;
}
.startups-benefits {
height: auto;
margin-bottom: 0;
}
.Timeline_blockTime {
width: calc(107vw + 3.125rem);
display: flex;
justify-content: center;
align-items: flex-start;
flex-shrink: 0;
}
.Timeline_workInvolvedList span {
font-size: 14px;
line-height: 1;
border-radius: 7px;
background-color: #000;
color: #fff;
padding: 0.5em 0.6em 0.6em;
display: inline-block;
}
.Timeline_blockText {
font-size: 14px;
line-height: 1.4;
color: #000;
margin-bottom: 0rem;
}
.Timeline_timeline {
padding-top: 100px;
padding-bottom: 0px;
}
}
@media (min-width: 400px) and (max-width: 850px) {
.Timeline_timeline {
padding-top: 80px;
padding-bottom: 80px;
}
.Timeline_block {
width: 100vw;
flex-direction: column;
padding: 10px;
gap: 1rem;
border-top-right-radius: 3.125rem;
}
.Timeline_blockHeading {
display: flex;
align-items: center;
flex-direction: row;
font-size: 30px;
}
.startups-benefits {
height: auto;
margin-bottom: 0;
}
.Timeline_blockText {
font-size: 16px;
line-height: 1.4;
color: #000;
margin-bottom: 1.5rem;
}
.Timeline_image {
width: 100%;
max-width: fit-content;
}
.Timeline_workInvolvedList {
gap: 0.4rem;
}
.Timeline_workInvolvedList span {
font-size: 0.875rem;
}
.Timeline_blockTime {
width: calc(100vw + 2.5rem);
}
}
</style>
</head>
<body>
<section class="Timeline_timeline" id="timeline">
<div class="Timeline_headings">
<h2 class="text-center" style="color: #fff;">Our Results</h2>
<p class="Timeline_subheading text-center">Measurable outcomes through high-impact design solutions</p>
</div>
<div class="container-timeline">
<div class="Timeline_scroller">
<div class="StaggeredItems_grid">
<div class="Timeline_inner" id="timelineInner">
<div class="Timeline_block panel">
<div role="listitem" class="featured-portfolio_item w-dyn-item">
<div class="image-wrapper-16-9 is-featured-portfolio">
<img src="https://images.unsplash.com/photo-1552664730-d307ca884978?w=800&h=450&fit=crop" loading="lazy" alt="Logo 123 investment managers" class="featured-portfolio_image">
<div class="featured-portfolio_image-hover-wrapper">
<img src="https://images.unsplash.com/photo-1552664730-d307ca884978?w=800&h=450&fit=crop" loading="lazy" alt="Logo 123 investment managers" class="featured-portfolio_image">
</div>
</div>
<div class="featured-portfolio_item-content">
<div class="w-layout-vflex v-flex-xsmall">
<div class="featured-portfolio_image-list">
<img src="https://images.unsplash.com/photo-1552664730-d307ca884978?w=150&h=100&fit=crop" loading="lazy" alt="Header of the 123 IM site" class="featured-portfolio_image-small">
<img src="https://images.unsplash.com/photo-1552664730-d307ca884978?w=150&h=100&fit=crop" loading="lazy" alt="Parallax animation of 6 cards on website" class="featured-portfolio_image-small">
</div>
</div>
<div class="featured-portfolio_kpi-wrapper">
<p class="text-color-secondary text-size-large">Soft Launching Projects in Phases</p>
<div class="line-divider hide-tablet"></div>
</div>
</div>
<div class="background-wrapper border-radius-medium">
<div class="background-overlay is-reverse"></div>
</div>
<div class="clickable_wrap">
<a href="#" class="clickable_link w-inline-block">
<span class="sr-only">123-IM</span>
</a>
</div>
</div>
</div>
<div class="Timeline_block panel">
<div role="listitem" class="featured-portfolio_item w-dyn-item">
<div class="image-wrapper-16-9 is-featured-portfolio">
<img src="https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=800&h=450&fit=crop" loading="lazy" alt="Logo 123 investment managers" class="featured-portfolio_image">
<div class="featured-portfolio_image-hover-wrapper">
<img src="https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=800&h=450&fit=crop" loading="lazy" alt="Logo 123 investment managers" class="featured-portfolio_image">
</div>
</div>
<div class="featured-portfolio_item-content">
<div class="w-layout-vflex v-flex-xsmall">
<div class="featured-portfolio_image-list">
<img src="https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=150&h=100&fit=crop" loading="lazy" alt="Header of the 123 IM site" class="featured-portfolio_image-small">
<img src="https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=150&h=100&fit=crop" loading="lazy" alt="Parallax animation of 6 cards on website" class="featured-portfolio_image-small">
</div>
</div>
<div class="featured-portfolio_kpi-wrapper">
<p class="text-color-secondary text-size-large">Soft Launching Projects in Phases</p>
<div class="line-divider hide-tablet"></div>
</div>
</div>
<div class="background-wrapper border-radius-medium">
<div class="background-overlay is-reverse"></div>
</div>
<div class="clickable_wrap">
<a href="#" class="clickable_link w-inline-block">
<span class="sr-only">123-IM</span>
</a>
</div>
</div>
</div>
<div class="Timeline_block panel">
<div role="listitem" class="featured-portfolio_item w-dyn-item">
<div class="image-wrapper-16-9 is-featured-portfolio">
<img src="https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=800&h=450&fit=crop" loading="lazy" alt="Logo 123 investment managers" class="featured-portfolio_image">
<div class="featured-portfolio_image-hover-wrapper">
<img src="https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=800&h=450&fit=crop" loading="lazy" alt="Logo 123 investment managers" class="featured-portfolio_image">
</div>
</div>
<div class="featured-portfolio_item-content">
<div class="w-layout-vflex v-flex-xsmall">
<div class="featured-portfolio_image-list">
<img src="https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=150&h=100&fit=crop" loading="lazy" alt="Header of the 123 IM site" class="featured-portfolio_image-small">
<img src="https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=150&h=100&fit=crop" loading="lazy" alt="Parallax animation of 6 cards on website" class="featured-portfolio_image-small">
</div>
</div>
<div class="featured-portfolio_kpi-wrapper">
<p class="text-color-secondary text-size-large">Soft Launching Projects in Phases</p>
<div class="line-divider hide-tablet"></div>
</div>
</div>
<div class="background-wrapper border-radius-medium">
<div class="background-overlay is-reverse"></div>
</div>
<div class="clickable_wrap">
<a href="#" class="clickable_link w-inline-block">
<span class="sr-only">123-IM</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<script>
const timeline = document.getElementById('timeline');
const timelineInner = document.getElementById('timelineInner');
const blocks = document.querySelectorAll('.Timeline_block');
let currentIndex = 0;
const totalBlocks = blocks.length;
// Wheel event for scrolling
timeline.addEventListener('wheel', (e) => {
e.preventDefault();
if (e.deltaY > 0) {
// Scroll down - move to next block
if (currentIndex < totalBlocks - 1) {
currentIndex++;
}
} else {
// Scroll up - move to previous block
if (currentIndex > 0) {
currentIndex--;
}
}
updateScroll();
});
// Touch events for mobile
let touchStartX = 0;
let touchEndX = 0;
timeline.addEventListener('touchstart', (e) => {
touchStartX = e.changedTouches[0].screenX;
});
timeline.addEventListener('touchend', (e) => {
touchEndX = e.changedTouches[0].screenX;
handleSwipe();
});
function handleSwipe() {
if (touchStartX - touchEndX > 50) {
// Swiped left - next block
if (currentIndex < totalBlocks - 1) {
currentIndex++;
}
} else if (touchEndX - touchStartX > 50) {
// Swiped right - previous block
if (currentIndex > 0) {
currentIndex--;
}
}
updateScroll();
}
function updateScroll() {
const blockWidth = window.innerWidth * 0.6; // 60vw
const gap = 50; // 3.125rem approximately
const translateValue = -(currentIndex * (blockWidth + gap));
timelineInner.style.transform = `translateX(${translateValue}px)`;
}
// Keyboard navigation
document.addEventListener('keydown', (e) => {
if (e.key === 'ArrowRight') {
if (currentIndex < totalBlocks - 1) {
currentIndex++;
updateScroll();
}
} else if (e.key === 'ArrowLeft') {
if (currentIndex > 0) {
currentIndex--;
updateScroll();
}
}
});
// Handle window resize
window.addEventListener('resize', () => {
updateScroll();
});
</script>
</body>
</html>