:root {
    --page-text-color: #0B0C0D;
    --page-secondary-bg: #ED707B;
    --page-primary-bg: #003058;
    --page-theme-bg: #EAF4FD;
}

.page-text-color {
    color: var(--page-text-color);
}

.page-secondary-bg {
    background-color: var(--page-secondary-bg);
}

.page-theme-intro {
    background-color: var(--page-primary-bg);
}

.page-primary-bg {
    background: var(--page-primary-bg);
}

.page-red-fade {
    background: var(--page-red-fade);
}

main p {
    color: #3F4751;
}

.button-primary-white {
    background-color: var(--white-color);
    color: var(--page-text-color);
}

.button-primary-white path {
    fill: var(--page-text-color);
}

.button-primary-white:hover path {
    fill: var(--white-color);
}

.link-block {
    color: var(--page-secondary-bg) !important;
    transition: all 0.3s;
    font-weight: 600;
    text-decoration: underline;
}

.service-wrapper:hover .link-block {
    color: var(--page-primary-bg) !important;
    border-bottom: 1px solid var(--page-primary-bg);
}

.process-card ul {
    list-style-type: disc;
    padding: 0 0 0 35px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.sticky-column {
    position: sticky;
    top: 160px;
}

.revenue-icon-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 30px 30px;
    border: 1px solid #5f719054;
    border-radius: 2px;
    width: 100%;
}

.button-link {
    padding: 0;
    margin: 14px 0 0;
    color: var(--page-text-color);
}

.button-link path {
    fill: var(--page-text-color);
}

.button-link .circle-icon {
    height: 28px;
    width: 28px;
}

.revenue-icon-wrapper:hover .button-link path,
.revenue-icon-wrapper:hover .button-link {
    color: var(--primary-color-600) !important;
    fill: var(--primary-color-600);
}

.revenue-icon {
    width: 140px;
    height: 140px;
    min-width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #F5FAFC;
    padding: 25px 30px;
}

.revenue-icon img {
    max-width: 80px;
    height: 80px;
    object-fit: contain;
}

/* Hero Section */

.hero-section {
    background-color: var(--page-secondary-bg);
    background-size: auto;
    background-repeat: no-repeat;
}

.link-tag {
    padding: 10px 10px;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 140px;
    background: var(--primary-color-600);
    margin: 20px 0 0;
    justify-content: center;
    color: #fff;
    transition: all 0.3s;
}

.link-tag:hover {
    background: var(--page-text-color);
    color: var(--white-color);
    transition: all 0.3s;
}

.circle-icon,
.border-0 {
    border: none;
}

/* Counter */

.counter {
    padding: 60px 0;
    color: var(--white-color);
}

.counter-theme {
    color: var(--page-text-color);
    border-right: 1px solid #dddddd50;
}

.counter-text {
    color: var(--page-secondary-bg);
}

.counter-grid {
    grid-template-columns: repeat(4, 1fr);
    display: grid;
}

/* Services Wrapper */

.bordered-card {
    padding: 20px 20px;
    transition: ease-in 0.3s;
    color: var(--white-color);
    border: 1px solid transparent;
}

.bordered-card:hover {
    transition: ease-in 0.3s;
    background-color: #FFFFFF1A;
    border-color: #FFFFFF4D;
}

.img-wrap {
    width: 100%;
    max-width: 55px;
    margin: 0 0 30px;
}

.service-wrapper {
    padding: 20px 20px 80px;
    background: transparent;
    transition: all 0.3s;
}

.service-wrapper:hover {
    background: var(--page-secondary-bg);
    transition: all 0.3s;
}

/* Process Wrapper */

.process-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 20px;
    transition: all 0.2s;
}

.process-card:hover {
    background-color: var(--page-secondary-bg);
    color: var(--white-color);
}

.process-card:hover p {
    color: var(--white-color);
}

.process-card:hover img {
    filter: invert(1);
}

.software-intro {
    background-color: var(--page-theme-bg);
}

.block-grid {
    display: grid;
    gap: 15px;
        grid-template-areas:
        "item1 item2 item3"
        "item1 item5 item3"
        "item4 item5 item6";
}

.soft-dev-wrap {
    grid-area: item1;
    background: #DEF8FE;
    padding: 30px 30px;
}

.soft-dev-wrap img {
    filter: invert(1);
}

.soft-dev-2 {
    background-color: #FFF3DA;
    grid-area: item2;
}

.soft-dev-3 {
    background-color: var(--white-color);
    grid-area: item3;
}

.soft-dev-4 {
    background-color: #FAFBF3;
    grid-area: item4;
}

.soft-dev-5 {
    background-color: #FFEAEC;
    grid-area: item5;
}

.soft-dev-6 {
    grid-area: item6;
}


/* Tech Stack */

.tech-wrapper {
    padding: 20px 20px;
    width: 100%;
    transition: all 0.2s;
    background-color: transparent;
}

.tech-wrapper:hover {
    background-color: var(--page-secondary-bg);
    color: var(--white-color);
    transition: all 0.2s;
}

.tech-wrapper ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-size: 18px;
    list-style-type: disc;
    padding: 0 0 0 28px;
}

.tech-wrapper ul li::marker {
    font-size: 0.8em;
}

/* Cta Section */

.cta-wrap {
    background-color: var(--page-primary-bg);
    padding: 40px 40px;
}

.cta-theme {
    padding: 40px 80px;
}

.cta-light {
    background: var(--page-theme-bg);
}

.cta-spacer {
    padding: 0 0 0 80px;
    background-color: var(--page-primary-bg);
}

/* Award Wrapper */

.award-wrapper {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
}

.award-box {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 40px;
    border: 0.5px solid #0000001A;
}

/* Responsive */

@media (max-width: 1599px) {
    .padding-left {
        --page-width: 1200px;
        padding-left: calc(50% - (var(--page-width) / 2) + 12px);
    }
}

@media only screen and (max-width: 1599px) {

}

@media only screen and (max-width: 1200px) {

}

@media only screen and (max-width: 992px) {
    
    .text-align-center {
        text-align: center;
    }

    .hero-section {
        padding: 40px 0;
    }

    .service-wrapper,
    .process-card,
    .tech-wrapper {
        padding: 20px 20px;
    }

    .block-grid {
        grid-template-areas:
            "item1 item2"
            "item3 item4"
            "item5 item6";
    }

    .sticky-column {
        position: static;
    }
}

@media only screen and (max-width: 767px) {

    .block-grid {
        grid-template-areas: unset;
    }

    .soft-dev-wrap {
        grid-area: unset !important;
        padding: 20px 20px;
    }

    .award-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .award-box {
        padding: 30px 50px;
    }

    .counter-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .cta-wrap {
        padding: 30px 20px;
    }

    .cta-spacer,
    .cta-theme {
        padding: 40px 20px 0;
    }

    .revenue-icon-wrapper {
        padding: 20px 20px;
    }

    .sticky-column {
        position: static;
    }

    .button-link {
        justify-content: flex-start;
    }
}

@media only screen and (max-width: 600px) {

}