
.header {
    margin-top: 15vh;
    padding-top: 0.85%;
    text-align: center;
}

.background {
    width: 100%;
    height: 40.6vh;
    background: url('../pic/about_us/about-us-bg.webp') 50%/cover no-repeat;
}

.about-us-intro {
    display: flex;
    gap: 6.8%;
    width: 71.46%;
    height: max-content;
    margin: 3% 14.27% 5% 14.27%;
}

.about-us-title {
    width: 20.8%;
    line-height: 110%;
    color: #242331;
}

.about-us-title-desc {
    width: 72.4%;
    text-align: justify;
    font-family: 'Nunito', sans-serif;
    color: #797979;
}

.about-us-title-desc p {
    font-size: 1vw;
    line-height: 157.4%;
}

.vision-mission {
    width: 71.53%;
    height: 60vh;
    margin: 6.1125% 14.235%;
    display: flex;
    gap : 10%;
}

.vison-mission-desc{
    width: 100%;
    padding: 10% 0;
}

.vision-desc,
.mission-desc {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    font-size: 1.265vw;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    color: #29282B;
    margin-bottom: 10%;
}

.vision-mission span {
    font-size: larger;
    color: #29a87a;
}

.vision-mission-bg{
    width: 80%;
    margin: 0 auto;
}

.value {
    margin: 4.17% 10.485% 6.46% 10.485%;
    width: 79.03%;
    height: 78.37vh;
    text-align: center;
}

.value-outer-container {
    display: flex;
    flex-direction: column;
    gap: 12.11%;
    height: 64.57vh;
    margin-top: 3.345%;
}

.value-inner-container {
    display: flex;
    height: 100%;
    gap: 4.57%;
}

.value-element {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 2.2% 1.89%;
    border-radius: 30px;
    background: #F6F6F7;
}

.value-desc {
    width: 68.4%;
    display: flex;
    flex-direction: column;
    gap: 6.666%;
    text-align: start;
    font-size: 1vw;
    color: #797979;
    font-style: normal;
    font-weight: 400;
    line-height: 157.4%;
}

.value-desc span {
    color: #242331;
    font-size: 1.265vw;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
}


.timeline {
    text-align: center;
    width: 100vw;
    padding-top: 2%;
}

.timeline-title {
    padding-bottom: 1%;
    background-color: white;
    z-index: 2;
    width: 100%;
}

.timeline-container {
    display: flex;
    width: 100%;
    margin-bottom: 3%;
}

.timeline-item {
    width: 25%;
    height: 80vh;
    position: relative;
    padding: 3% 2% 2% 2%;
    background-color: white;
    background: linear-gradient(to bottom, #ffffff, #29A87A 150%);
    background: white;
    transition: width 0.5s ease;
}


.timeline-item.hover::before {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    box-shadow: -30px 0 30px -20px #DFDFDF;
    z-index: 2;
}

.timeline-item.hover {
    width: 30% !important;
}

.timeline-container.hover .timeline-item:not(.timeline-item.hover) {
    width: 23.3333%;
}

.timeline-item.hover::after {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    position: absolute;
    box-shadow: 30px 0 30px -20px #DFDFDF;
    z-index: 1;
}


.timeline-notation {
    position: absolute;
    top: 52.5%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 1;
    border-top: 1px solid #6046FF;
    border-bottom: 1px solid #6046FF;
    transition: border-top 1s ease, border-bottom 1s ease, color 1s ease;

}

.timeline-item.hover .timeline-notation {
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    color: #6046FF;
}

.timeline-content {
    transform: translateY(100%);
    opacity: 0;
    z-index: 0;
    position: relative;
    width: 100%;
    bottom: 0;
}

.timeline span {
    color: #29A87A;
}

.timeline-item.hover .timeline-content {
    transform: translateY(40%);
    opacity: 1;
    z-index: 1;
    transition: opacity 1s ease, transform 1s ease;
}

.timeline-item.hover .timeline-img {
    opacity: 1;
    transition: opacity 2s ease;
    z-index: 2;
    position: relative;
    display: inline-block;
}

.timeline-img {
    margin-bottom: 2%;
    height: 45%;
    opacity: 0;
    display: none;
}

.timeline-desc {
    font-size: 0.85vw;
    margin-top: 2%;
    opacity: 0;
    width: 27vw;
}

.timeline-item.hover .timeline-desc {
    opacity: 1;
    transition: all 2s ease, width 0.1s ease;
}


.timeline-footer {
    background: white !important;
    position: relative;
    color: black;
    text-align: center;
    padding-bottom: 4.9%;
    padding-top: 3.35%;
    width: 100%;
}


.timeline-footer h3 {
    font-size: 1.5vw;
    font-style: normal;
    font-weight: 700;
    line-height: normal;

}


.about-us-gallery {
    padding: 5% 10%;
    display: flex;
    flex-wrap: wrap;
}

.gallery-title {
    color: #29A87A;
    margin: 0 3%;
    font-size: 1.3vw;
}

.past-event {
    width: 57%;
}

.event-container {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    color: white;
    height: 400px;
    cursor: pointer;
}

.event-container.team-building {
    background: url('../pic/team_building/logo.jpg') 50%/cover no-repeat;
}

.event-container.miapex {
    background: url('../pic/Nov23_Miapex-2023/logo.jpg') 50%/cover no-repeat;
}

.event-container.evm {
    background: url('../pic/sept23_EVM-Asia23/logo.jpg') 50%/cover no-repeat;
}

.event-container.gstSeminar{
    background: url('../pic/gst-seminar/logo.jpg') 50%/cover no-repeat;
}

.event-container.apuCareerFair{
    background: url('../pic/apuCareerFair_June2024/logo.jpg') 50%/cover no-repeat;
}

.event-container::before {
    border-radius: 20px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    z-index: 1;
    transition: all 0.25s ease;
    background: rgba(255, 255, 255, 0.4);
}

.event-container::after {
    border-radius: 20px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    opacity: 1;
    transition: all 1s ease;
    background: linear-gradient(180deg, rgba(87, 87, 87, 0.25) 1.35%, rgba(46, 46, 46, 0.70) 51.85%, #1A1A1A 85.85%);
    background-color: rgba(0, 0, 0, 0.01);
}

.event-slide.hover .event-container::before {
    opacity: 0;
}

.event-slide.hover .event-title {
    bottom: 15%;
}

.event-slide.hover button {
    opacity: 1;
    bottom: 10%;
    border: 1px dashed white;
}

.event-slide button:hover {
    background: #DFDFDF;
    color: #6046ff;
    border: 1px solid white;
}

.event-date {
    font-size: 1.25vw;
}

.event-title {
    text-align: start;
    z-index: 1;
    position: absolute;
    transition: all 1s ease;
    background: transparent;
    width: 80%;
    left: 10%;
    bottom: 5%;
    transform: translateY(-50%);
}

.event-name {
    width: 70%;
    font-size: 1vw;
}

.event-slide button {
    background: transparent;
    border: none;
    position: absolute;
    bottom: -10%;
    z-index: 1;
    left: 50%;
    padding: 2% 3%;
    transform: translateX(-50%);
    opacity: 0;
    transition: all 0.75s ease;
    width: max-content;
}

.gallery-image-container {
    width: 100%;
    padding: 0;
    height: 75vh !important;
    position: relative;
    background: linear-gradient(to top, #94d4bd, #ffffff);
    display: flex;
    align-items: flex-end;
    margin-top: 5%;
}

.gallery-image {
    filter: grayscale(50%) blur(1px);
    opacity: 0.95;
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.gallery-swiper .swiper-wrapper {
    align-items: flex-end;
}

.gallery-swiper .swiper-slide-active {
    z-index: 1;
}

.gallery-swiper .swiper-slide-active .gallery-image {
    filter: grayscale(0);
    opacity: 1;
    width: 150%;
    transform: translateX(-15%);
    z-index: 1;
    position: relative;
}

