﻿

body {
    font-size: .85rem;
    line-height: 1.25;
}

.btn {
    font-size: 0.9rem
}

.service-line-category-overview-title-text {
    font-size: calc(1.1rem);
    font-weight: bold;
}

.service-line-category-detail-title-text {
    font-size: calc(.85rem);
    font-weight: bold;
}

.service-overview-title-text {
    font-size: calc(1rem + .3vw);
    font-weight: bold;
}

.hpa-contact-title {
    font-size: calc(1.3rem + .6vw);
}
.who-we-serve-title {
    font-size: calc(.75rem);
}

.hero-text-scale {
    font-size: calc(.75rem + .6vw);
    line-height: 1.15;
}

.hero-sub-text-scale {
    font-size: calc(.5rem + .5vw);
    font-style: italic;
    line-height: 1.35;
    letter-spacing: 0.01em;
}

/* sm and up */
@media (min-width: 576px) {
    body {
        font-size: 1rem;
    }
    .who-we-serve-title {
        font-size: calc(1.25rem);
    }
    .hero-text-scale {
        font-size: calc(1.25rem + .6vw);
    }
    .hero-sub-text-scale {
        font-size: calc(.65rem + .55vw);
    }
    .service-overview-title-text {
        font-size: calc(1.4rem + .6vw);
    }
    .service-line-category-overview-title-text {
        font-size: calc(1.3rem);
    }
    .service-line-category-detail-title-text {
        font-size: calc(1.2rem);
    }
}

/* md and up */
@media (min-width: 768px) {
    body {
        font-size: 1rem;
    }
    .who-we-serve-title {
        font-size: calc(1.3rem + .6vw);
    }
    .hero-text-scale {
        font-size: calc(1rem + .6vw);
    }

    .hero-sub-text-scale {
        font-size: calc(.6rem + .5vw);
    }
    .service-overview-title-text {
        font-size: calc(1.7rem + .6vw);
    }
}
.service-line-category-overview-title-text {
    font-size: calc(1.3rem + .6vw);
}

.service-line-category-detail-title-text {
    font-size: calc(1.2rem + .3vw);
}

/* lg and up */
@media (min-width: 992px) {
    .who-we-serve-title {
        font-size: calc(.65rem + .6vw);
    }
    .hero-text-scale {
        font-size: calc(1.1rem + .6vw);
    }
    .hero-sub-text-scale {
        font-size: calc(.68rem + .48vw);
    }
    .service-overview-title-text {
        font-size: calc(1.2rem + .5vw);
    }
    .service-line-category-detail-title-text {
        font-size: calc(1rem + .3vw);
    }
}

/* xl and up */
@media (min-width: 1200px) {
    body {
        font-size: 1.15rem;
    }
    .hpa-contact-title {
        font-size: calc(1.35rem);
    }
    .who-we-serve-title {
        font-size: calc(.8rem + .6vw);
    }

    .hero-text-scale {
        font-size: calc(1.3rem + .5vw);
    }

    .hero-sub-text-scale {
        font-size: calc(.8rem + .4vw);
    }

    .service-overview-title-text {
        font-size: calc(1rem + .3vw);
    }
}

/* xxl and up */
@media (min-width: 1400px) {
    .who-we-serve-title {
        font-size: calc(1.3);
    }

    .hero-text-scale {
        font-size: calc(1.4rem + .5vw);
    }

    .hero-sub-text-scale {
        font-size: calc(.9rem + .4vw);
    }

    .service-overview-title-text {
        font-size: calc(1.1rem + .3vw);
    }
}

/* 1080p (assume 1.25 windows scaling and up) */
@media (min-width: 1536px) {
    .who-we-serve-title {
        font-size: calc(1.3);
    }

    .hero-text-scale {
        font-size: calc(1.5rem + .6vw);
    }
    .service-overview-title-text {
        font-size: calc(1rem + .2vw);
    }

}

/* 4k and up (assume 1.5 windows scaling and up)*/
@media (min-width: 2560px) {
    .who-we-serve-title {
        font-size: calc(1.3);
    }

    .hero-text-scale {
        font-size: calc(2.5rem + .6vw);
    }
    .hero-sub-text-scale {
        font-size: calc(1.1rem + .3vw);
    }
    .service-overview-title-text {
        font-size: calc(1rem + .2vw);
    }
}