@keyframes scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@keyframes scroll-right {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

body.placement-page{
    --title-1:32px;
    --title-2:36px;
    --subtitle-1:13px;
    --subtitle-2:16px;

    /* common elements */
    .section-title{
        color: #000;
        font-family: Inter;
        font-size: 30px;
        font-weight: 400;
        line-height: 118.148%;
        letter-spacing: -0.72px;
        text-align: center;
        margin-bottom: 20px;
        .highlight{
            font-weight: 600;
        }
    }
    .section-description{
        color: #000;
        font-family: Inter;
        font-size: 13px;
        font-weight: 300;
        line-height: 140%;
        letter-spacing: -0.6px;
        text-align: center;
        margin-bottom: 40px;
    }

    section.placement-assistance-hero{
        background:
            linear-gradient(
                0deg,
                rgba(255, 255, 255, 0) 7.47%,
                #FFFCEB 73.61%
            ),
            url("../images/placement/hero-bg.webp") center / cover no-repeat;
        .container{
            overflow: hidden;
        }
        .left-section{
            .section-title{
                display: flex;
                flex-wrap: wrap;
                flex-direction: column;
                align-items: center;
            }
            .placement-cta{
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                background-color: #FFFFFF;
                border-radius: 20px;
                padding: 15px 5px;
                .placement-cta-item{
                    display: flex;
                    align-items: center;
                    flex-direction: column;
                    gap: 3px;
                    flex: 0 0 calc(25% - 16px);
                    .icon{
                        width: 29px;
                        height: 29px;
                        margin-bottom: 5px;
                        svg{
                            width: 100%;
                            height: 100%;
                        }
                    }
                    .placement-cta-text-container{
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        .headline{
                            color: #1E1E1E;
                            text-align: center;
                            font-family: Inter;
                            font-size: 14px;
                            font-weight: 700;
                            line-height: 140%; /* 19.6px */
                            letter-spacing: -0.28px;
                        }
                        .sub-headline{
                            color: #1E1E1E;
                            text-align: center;
                            font-family: Inter;
                            font-size: 7px;
                            font-weight: 400;
                            line-height: 140%; /* 9.8px */
                        }
                    }
                }
                hr{
                    border: solid 1px #E5E7E8;
                }
            }
        }

        /* right section */
        .right-section{
            margin-top: 51px;
            width: 100vw;
            scale: 1.09;
            .placement-cta-image-container{
                display: flex;
                align-items: flex-end;
                img{
                    width: 100%;
                }
            }
        }
   }

   /* Success stories section */
   section.success-stories{
        padding-top: 54px;
        background: #F5F6F6;
       .container{
           padding-left: 0;
           padding-right: 0;
           max-width: none;
           .section-title{
                text-align: center;
                display: flex;
                flex-direction: column;
                margin-bottom: 41px;
           }
           .success-stories-container{
                overflow: auto;
                /* Firefox */
                scrollbar-width: none;

                /* IE and old Edge */
                -ms-overflow-style: none;
               .success-story-items-wrapper{
                   display: flex;
                   width: max-content;
                   overflow: hidden;
                   gap: 15px;
                   .success-story-item{
                       width: 257px;
                       height: 452px;
                       border-radius: 10px;
                       overflow: hidden;
                       iframe{
                           width: 100%;
                           height: 100%;
                       }
                               /* YouTube lazy thumbnail container */
                               .youtube-lazy{
                                   position: relative;
                                   width: 100%;
                                   height: 100%;
                                   display: block;
                                   cursor: pointer;
                                   outline: none;
                               }
                               .youtube-thumb-img{
                                   width: 100%;
                                   height: 100%;
                                   object-fit: cover;
                                   display: block;
                               }
                               .youtube-play-overlay{
                                   position: absolute;
                                   inset: 0;
                                   display: flex;
                                   align-items: center;
                                   justify-content: center;
                                   pointer-events: none;
                                   background: linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.18) 100%);
                               }
                   }
               }
               .success-story-items-wrapper.play{
                   animation: scroll-left 90s linear infinite ;
               }
               .success-story-items-wrapper.paused{
                    animation-play-state: paused !important;
                    -webkit-animation-play-state: paused !important;
               }
           }
           .success-stories-container:nth-child(2){
                margin-bottom: 20px;
                .success-story-items-wrapper.play{
                   animation: scroll-right 90s linear infinite ;
                }
                .success-story-items-wrapper.paused{
                    animation-play-state: paused !important;
                    -webkit-animation-play-state: paused !important;
                }
           }
           .success-stories-container::-webkit-scrollbar {
                display: none;
            }
       }
   }

   /* Review section */
   section.reviews-section{
       .container{
            .section-title{
                margin-bottom: 40px;
                text-align: center;
            }
        }
        .reviews-content{
            padding:0;
            padding-left: 0 !important;
            margin-bottom: 50px;
            .reviews-slider-wrapper{
                overflow-x: auto;
                overflow-y: hidden;
                touch-action: pan-x pan-y;
                scrollbar-width: none;
                -ms-overflow-style: none;
                &::-webkit-scrollbar {
                    display: none;
                }
                .reviews-slider{
                    .review-card{
                        .review-card-inner{
                            background-color: #FFFFFF;
                        }
                        .review-card-inner::after{
                            border-top-color: #FFFFFF;
                        }
                    }
                }
            }
        }
        .reviews-content:nth-child(1) .reviews-slider-wrapper .reviews-slider{
            animation: scroll-left 90s linear infinite;  
                    
        }
        .reviews-content:nth-child(2) .reviews-slider-wrapper .reviews-slider{
            animation: scroll-right 90s linear infinite;               
        }
   }

    /* Hiring Companies Section */

    section.top-hiring-companies{
        .container{
            padding: 25px 0 50px;
            max-width: 100%;
            width: 100%;
        }
        background-color: #FFFFFF;
        overflow: hidden;
        .section-title{
            margin-bottom: 40px;
            .highlight{
                font-weight: 500;
            }
        }
        .hiring-companies-container{          
            .hiring-companies-list{
                display: flex;
                flex-direction: column;
                gap: 33px;
                overflow: hidden;
                width: 100%;
                .hiring-companies{
                    display: flex;
                    width: max-content;
                    gap: 40px;
                    animation: scroll-left 90s linear infinite;
                    .hiring-company{
                        height: 50px;
                        flex-shrink: 0;
                        padding: 2px;
                        img{
                            height: 100%;
                        }
                    }
                }
                .hiring-companies:nth-child(2),
                .hiring-companies:nth-child(4){
                    animation: scroll-right 90s linear infinite;  
                }
                .hiring-companies:nth-child(1),
                .hiring-companies:nth-child(3){
                    animation: scroll-left 90s linear infinite;  
                }
            }
        }
    }

    
    /* Salary Details Section */
    .placement-program-table-container{
        display: none;
    }

    .progress-bar{
        width: 100%;
        height: 8px;
        border-radius: 10px;
        background: rgba(245, 156, 0, 0.1);
        overflow: hidden;
        margin-top: 12px;
    }
    .progress {
        height: 100%;
        width: 70%;
        border-radius: 10px;
        background: #F59C00;
    }
    section.salary-details{
        padding-top: 25px;
        padding-bottom: 50px;
        background-color: #F5F6F6;
        .container{
            .section-title{
                .highlight{
                    font-weight: 500;
                }
            }
        }

        .placement-program-cards-container{
            display: flex;
            flex-direction: column;
            gap: 18px;

            .label{
                color: #E27A01;
                font-size: 15px;
                font-weight: 600;
                line-height: 140%; /* 21px */
                text-transform: uppercase;
            }
            .label-content{
                color: #1E1E1E;
                font-size: 18px;
                font-weight: 400;
                line-height: 140%; /* 25.2px */
            }
            .placement-program-card{
                border-radius: 20px;
                background: #FFF;
                padding: 24px 17px;
                display: flex;
                flex-wrap: wrap;
                flex-direction: column;
                gap: 30px;
                .program-title{
                    color: #1E1E1E;
                    font-size: 22px;
                    font-weight: 600;
                    line-height: 140%; /* 30.8px */
                }
                .avg-starting-salary-container{
                    .label-content{
                        display: inline-block;
                        padding: 4px 15px;
                        border-radius: 10px;
                        background: #F59C00;
                        color: #FFF;
                        font-weight: 600;
                        margin-top: 5px;
                    }
                }
                .salary-range-container{
                    display: flex;
                    justify-content: space-between;
                    flex-wrap: wrap;
                }

                .relative-scale-container{
                    .progress-bar{
                        margin-top: 12px;
                    }
                }
            }
        }
    }

    @media(min-width:375px){
        .section-title{
            font-size: 36px;
        }
        .section-description{
            font-size: 15px;
        }
        section.placement-assistance-hero {
            .left-section {
                .placement-cta {
                    .placement-cta-item {
                        .icon {
                            width: 35px;
                        }
                        .placement-cta-text-container {
                            .headline{
                                font-size: 14px;
                            }
                        }
                    }
                }
            }
        }
    }

    @media(max-width:768px){
        section.placement-assistance-hero {
            .container {
                padding: 0;
                .left-section{
                    padding: 0 20px;
                }
            }
        }
    }

    @media(min-width:768px){
        section.placement-assistance-hero{
            .container{
                .right-section{
                    scale: 1;
                    width: 100%;
                }
            }
        }
        section.salary-details {
            .container{
                .section-description{
                    max-width: 680px;
                    margin: auto;
                    margin-bottom: 32px;
                }
            }
            .placement-program-cards-container {
                flex-direction: row;
                justify-content: space-around;
                flex-wrap: wrap;
                .placement-program-card{
                    flex: 0 0 calc(50% - 9px);
                }
            }
        }
    }

    @media(min-width:900px){
        .section-title {
            display: flex;
            flex-direction: row !important;
            justify-content: center !important;
            gap: 10px !important;
        }
        .section-description{
            font-size: 14px;
        }
        section.placement-assistance-hero{
            background: linear-gradient(270deg, rgba(255, 255, 255, 46.00%) 0%, #FFFCEB 100%),
                url("../images/placement/hero-bg.webp") center / cover no-repeat;
            .container{
                display: flex;
                padding-top: 15px;
                
                .left-section{
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    margin-right: -7%;
                    padding-top: 60px;
                    padding-bottom: 20px;
                    width: 120%;
                    .section-title{
                        display: flex;
                        flex-wrap: wrap;
                        flex-direction: column;
                        align-items: flex-start;
                        justify-content: flex-start !important;
                        span{
                            text-align: left;
                        }
                    }
                    .section-description{
                        text-align: left;
                        width: 90%;
                    }
                    .placement-cta{
                        padding-right: 40px;
                    }
                }

                .right-section{
                    scale: 1;
                    margin: 0;
                    margin-left: -20px;
                    display: flex;
                    align-items: end;
                    width: 100%;
                    .placement-cta-image-container{
                        padding-top: 0px;
                        width: 100%;
                    }

                }
            }
        }
    }

    @media(min-width:1024px){
        .section-title br{
            display: none;
        }
        
        section.placement-assistance-hero{
            .left-section {
                .placement-cta {
                    padding-right: 50px;
                    .placement-cta-item {
                        .icon{
                            width: 40px;
                            height: 40px;
                        }
                        .placement-cta-text-container {
                            .headline {
                                font-size: 18px;
                            }
                            .sub-headline{
                                font-size: 10px;
                            }
                        }
                    }
                }
            }
        }

        section.top-hiring-companies {
            .container{
                padding-top: 104px;
                .hiring-companies-container {
                    .hiring-companies-list{
                        .hiring-companies:nth-child(3),
                        .hiring-companies:nth-child(4){
                            display: none;
                        }
                    }
                }
            }
        }

        section.salary-details{
            .placement-program-table-container{
                display: block;
            }
            padding-top: 80px;
            background-color: #FFFFFF;
            .placement-program-cards-container{
                display: none;
            }
            .placement-program-table-container{
                .salary-table{
                    width: 100%;
                    border-collapse: collapse;
                    .salary-table__header-cell,
                    .salary-table__cell salary-table__cell--programme {
                        text-align: left;
                    }

                    .salary-table__header-cell{
                        color: #E27A01;
                        font-size: 18px;
                        font-weight: 600;
                        line-height: 140%; /* 25.2px */
                        text-transform: uppercase;
                        padding-bottom: 13px;
                        border-bottom: 1px solid #F49E0D;
                    }

                    .salary-table__body{
                        .salary-table__row{
                            .salary-table__cell{
                                padding: 10px 0px;
                                border-bottom: 1px solid #E5E7E8;
                                .label-content{
                                    display: inline-block;
                                    padding: 7px 8px;
                                    border-radius: 10px;
                                    background: #F59C00;
                                    color: #FFF;
                                    font-weight: 600;
                                    margin-top: 5px;
                                }  
                                .progress-bar{
                                    margin-top: 0px;
                                } 
                            }
                            .salary-table__cell--programme:nth-child(1){
                                color: #1E1E1E;
                                font-family: Inter;
                                font-size: 18px;
                                font-style: normal;
                                font-weight: 600;
                                line-height: 140%;
                                width: 25%;
                            }

                        }
                    }
                }
            }
        }
    }

    @media(min-width:1200px){
        .section-title{
            font-size: 45px;
        }
        
        section.placement-assistance-hero{
            .section-title{
                font-size: 55px;
            }
            .container{
                .left-section {
                    padding-bottom: 60px;
                    .section-description{
                        width: 65%;
                        margin-bottom: 60px;
                    }
                    .placement-cta {
                        padding: 25px 100px 25px 28px;
                        .placement-cta-item {
                            .placement-cta-text-container{
                                .headline{
                                    font-size: 22px;
                                }
                            }
                        }
                    }
                }

  
            }
        }

        section.salary-details{
            .placement-program-table-container{
                .salary-table{
                    .salary-table__body{
                        .salary-table__row{
                            .salary-table__cell--programme:nth-child(1){
                                width: 35%;
                            }
                        }
                    }
                }
            }
        }
    }

    @media(min-width:1440px){
        section.placement-assistance-hero{
            .container{
                .right-section{
                    width: 110%;
                }
            }
        }
    }

    @media(min-width:1920px){
        .section-title{
            font-size: 50px;
        }
        .section-description {
            font-size: 18px;
        }
        section.placement-assistance-hero {
            .container {
                .left-section {
                    .section-title{
                        font-size: 65px;
                    }
                    .placement-cta {
                        .placement-cta-item {
                            .placement-cta-text-container {
                                .headline {
                                    font-size: 26px;
                                }
                                .sub-headline{
                                    font-size: 14px;
                                }
                            }
                        }
                    }
                }
            }
        }

        section.reviews-section{
            .reviewer-avatar,
            .reviewer-avatar svg {
                width: 56px;
                height: 56px;
                flex-shrink: 0;
                border-radius: 50%;
                object-fit: cover;
            }
        } 
    }
}