:root {
    --page-primary-bg: #205EE5;
    --page-secondary-bg: #FAFAFA;
    --page-fade: #F0F5FF;
    --text-theme: #000000;
    --text-grey: #5D5D5D;
}

main section {
    font-family: 'Gilroy' !important;
}

.object-cover {
    object-fit: cover;
}

.banner-heading {
    font-size: clamp(2rem, 6vw, 3.9rem);
}

.page-primary {
    background-color: var(--page-primary-bg);
}

.page-secondary {
    background-color: var(--page-secondary-bg);
}

.page-fade {
    background-color: var(--page-fade);
}

.bg--light {
    background-color: #FBFBFB;
}

.text-theme {
    color: var(--text-theme);
}

.text-grey {
    color: var(--text-grey) !important;
}

.circle-icon,
.border-0 {
    border: none;
}

.button {
    border-radius: unset !important;
    font-family: 'Gilroy' !important;
    padding: 12px 16px !important;
}

.button-primary,
.button-primary:hover {
    background-color: var(--page-primary-bg) !important;
    color: var(--white-color) !important;
    font-weight: 600;
}

.button-secondary, .button-secondary:hover {
    color: var(--white-color) !important;
    border: 1px solid var(--white-color) !important;
    font-weight: 600 !important;
    background-color: transparent !important;
}

.z-1 {
    position: relative;
    z-index: 1;
}

/* Hero Section */

.hero-section {
    background: url(../images/hirephp-images/banner-intro.webp), #101722;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

.overlay {
    position: absolute;
    left: 0;
    top: -30%;
}

/* Counter */

.counter-wrapper {
    display: grid;
    gap: 27px;
    grid-template-columns: repeat(2, 1fr);
}

.counter-block {
    width: 100%;
    height: 100%;
    padding: 30px 30px;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    position: relative;
    justify-content: space-between;
    background-color: var(--text-theme);
}

.counter-block img {
    position: absolute;
    right: 0;
    bottom: 0;
}

.counter-left img,
.counter-right img {
    border-radius: 30px;
}

.counter-block .counter-text {
    color: var(--page-primary-bg) !important;
}

.counter-text.percent::after {
    content: '%';
}

.counter-left {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.counter-left-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.counter-right {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 20px;
}

.counter-right-inner {
    display: flex;
    gap: 20px;
    height: 100%;
}

/* Point Block */

.point-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.point-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}

.icon--box {
    width: 70px;
    height: 70px;
    min-width: 70px;
    border-radius: 50px;
    background-color: var(--page-primary-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    transition: all 0.3s;
}

/* Talent Block */

.talent-intro {
    background: url(../images/hirephp-images/talent-intro.webp), var(--page-fade);
    background-size: cover;
    background-repeat: no-repeat;
}

.talent-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
    justify-content: space-between;
}

.talent-block .point-block {
    flex-direction: row;
    text-align: left;
}

/* Service Block */

.service--block {
    width: 100%;
    height: 100%;
    padding: 30px 30px;
    border-radius: 30px;
    border: 1px solid transparent;
    background-color: #FAFAFA;
    backdrop-filter: blur(40px);
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: space-between;
    transition: all 0.3s;
}

.service--head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #e0e0e0;
    padding: 0 0 30px;
    margin: 0 0 30px;
}

.service--img {
    width: 100%;
}

.service--img img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
}

.service--block:hover {
    border-color: var(--page-primary-bg);
    background-color: var(--white-color);
}

/* Tech Stack */

.tech-wrappper {
    background-color: var(--white-color);
    border: 1px solid #B7B7B73B;
    padding: 30px 30px;
    text-align: center;
    transition: all 0.3s;
    width: 100%;
}

.tech-list {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.tech-list li {
    text-align: center;
}

.tech-list li p {
    font-size: 14px !important;
}

.tech-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    min-width: 70px;
    border: 1px solid #DEDEDE;
    border-radius: 50px;
    margin: 0 auto 8px;
    padding: 12px;
    transition: all 0.3s;
}

.tech-wrappper:hover .tech-img {
    background-color: var(--white-color);
    border-color: var(--white-color);
}

.tech-wrappper:hover {
    transform: translateY(-5px);
    background-color: var(--page-primary-bg);
}

.tech-wrappper:hover li p,
.tech-wrappper:hover h5 {
    color: var(--white-color);
}

/* Offer Block */

.offer-intro .service--block {
    justify-content: unset;
    gap: 0;
    background-color: transparent;
    border: 1px solid #DEDEDE;
    backdrop-filter: unset;
}

.offer-intro .service--block:hover {
    border-color: var(--page-primary-bg);
    background-color: var(--page-primary-bg);
}

.offer-intro .service--block:hover h4,
.offer-intro .service--block:hover p {
    color: var(--white-color) !important;
}

.offer-intro .service--block:hover .icon--box {
    background-color: var(--white-color);
}

.offer-intro .service--block:hover .icon--box img {
    filter: invert();
}

/* CTA Block */

.cta--block {
    background-color: var(--page-primary-bg);
    border-radius: 20px;
}

.cta--content {
    background: url(../images/hirephp-images/cta-intro.webp);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    padding: 40px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: self-start;
    border-radius: 0 0 20px 20px;
}

.cta--wrapper {
    background: url(../images/hirephp-images/cta-intro-2.webp), var(--page-primary-bg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 80px 90px;
    border-radius: 20px;
}

.cta--wrapper .talent-block {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

/* Faq */

main .accordion-flush .accordion-item .accordion-button.collapsed {
    padding: 32px 0;
    font-size: 22px;
    font-weight: 600;
}

/* Responsive */

@media (max-width: 1599px) {

    .padding-left {
        --page-width: 1200px;
        padding-left: calc(50% - (var(--page-width) / 2) + 12px);
    }

    .banner-heading {
        font-size: clamp(2rem, 6vw, 2.7rem);
    }
}

@media only screen and (max-width: 991px) {

    main .hero-section {
        padding-block: 70px !important;
    }

    .text-align-center {
        text-align: center;
    }

    .button {
        width: auto !important;
    }

    .point-wrapper,
    .talent-block {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .talent-block .point-block {
        flex-direction: column;
        text-align: center;
    }

    .cta--content {
        padding: 40px 20px;
        border-radius: 20px 20px;
        overflow: hidden;
        align-items: center;
    }

    .cta--wrapper {
        padding: 54px 20px;
    }
}

@media only screen  and (max-width: 767px) {

    .counter-left > img,
    .counter-right > img {
        display: none;
    }

    .counter-left {
        grid-template-columns: repeat(1, 1fr);
    }

    .counter-left-inner {
        flex-direction: row;
    }

    .counter-block {
        padding: 20px 20px;
        gap: 30px;
        border-radius: 20px;
    }

    .point-wrapper,
    .talent-block {
        grid-template-columns: repeat(1, 1fr);
    }

    .tech-img {
        width: 50px;
        height: 50px;
        min-width: 50px;
    }

    .cta--wrapper .talent-block {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }
}