﻿@font-face{font-family:'Syne';src:url(fonts/Syne/Syne-Regular.ttf);src:url(fonts/Syne/Syne-Regular.ttf) format("truetype"),url(fonts/Syne/Syne-Regular.woff) format("woff")}
@font-face{font-family:'Syne';src:url(fonts/Syne/Syne-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Syne';src:url(fonts/Syne/Syne-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}
*{font-family:Syne;}

body{font-family:Syne;font-size:18px;line-height:1.5;color:#343434}
h1{font-family:Syne;font-size:50px;}
h2{font-family:Syne;font-size:28px;color:#303030;margin-bottom:18px}
h4{font-family:Syne;font-size:19px;line-height:.5em;color:#303030;font-weight:400;margin-bottom:18px}
.navbar{background-color: #fff;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.19);}
.nav-link{font-size: 20px;}
.btn-primary{background-color: #FED404;border-radius: 0; color: #343434;padding: 7px 10px;}
.btn-primary:hover{background-color: #192a56;color: #fff;}
.btn-outline-light{background-color: transparent;border-radius: 0; color: #fff;padding: 7px 10px;}
.btn-outline-blue{background-color: transparent;font-size: 13px;border-radius: 0; color: #192a56;padding: 7px 20px;border: 1px solid #192a56;}
.home-btm{background-color: #292A75; padding: 12px 0;}
.section-sty{padding: 60px 0;}
.asgb-yellow{color: #FED404;}
.asgb-blue{color: #192a56;}
.section-bg-white{background-color: #fff;}
.section-bg-blue{background-color: #192a56;}
.section-bg-gray{background-color: #f8f9fa;}
.award-box {border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 5px; cursor: pointer;}
.award-box:hover{border-color: #f2b906;}
.award-box h5 i{font-size: 1.5rem; padding-right: 5px;}
.award-box h5{font-size: 1rem;}
.asgb-sec-head{color: #282A75;}
.asgb-sec-subhead{color: #282A75;}
.asgb-list-aboutus li p{color: #265982;}
.products-sec img{height: 160px;}
.products-sec .card-title{font-size: 15px; text-transform: uppercase;height: 35px;}
.find-link{color: #192a56; text-decoration: none; font-weight: 600;}
.find-link:hover{color: #fed404; font-weight: 600;}
.footer-bs {background-color: #192a56;}
.footer-heading-custom {color: #fed404;}
.footer-bs address.not-italic { font-style: normal; line-height: 1.6; }
.list-unstyled li a:hover { color: #f2b906 !important; }
.social-links a{color: #fff; padding: 4px 3px 0;font-size: 18px; text-align: center; text-decoration: none; margin: 9px 2px; border-radius: 50%;}
.social-links a:hover {color: #f2b906;}
.input-group.input-group-sm .form-control {font-size: 0.8rem; }
.input-group.input-group-sm .btn {font-size: 0.8rem; }
.footer-copyright-bs {border-top: 1px solid rgba(255, 255, 255, 0.15); color: rgba(255, 255, 255, 0.7);}
.footer-copyright-bs p.small { font-size: 0.8em; }

.straightness {display: block;}

.navbar .navbar-nav .nav-link {font-size: 14px;color: #343434; padding: 0.5rem 0.75rem; transition: color 0.3s ease-in-out; position: relative; border-radius: 0.25rem; }
.navbar .navbar-nav .nav-link.active,.navbar .navbar-nav .nav-link.show { color: #292A75; }
.navbar .navbar-nav .nav-link:hover { color: #FED404; }
.hero-section {height: auto;min-height: 65vh;background-image: url('./images/home1.png');background-position: center !important; background-repeat: no-repeat !important;background-size: cover !important;color: #fff !important;margin-bottom: 0 !important;padding-top: 5rem;padding-bottom: 5rem;padding-left: 1rem;padding-right: 1rem;}
.hero-section-home {height: auto;min-height: 65vh;background-image: url('./images/home1.png');background-position: center !important; background-repeat: no-repeat !important;background-size: cover !important;color: #fff !important;margin-bottom: 0 !important;padding-top: 5rem;padding-bottom: 5rem;padding-left: 1rem;padding-right: 1rem;}

.bg-home-img{background: url('images/home1.png'); background-position: center;}
.solutions-hero-section{background-image:linear-gradient(#00000080,#00000080),url(./images/solutions-hero-bg.png);background-position:center!important;background-repeat: no-repeat !important;background-size: cover !important; min-height:30vh;color:#fff!important;margin-bottom: 0 !important;padding-top: 5rem;padding-bottom: 5rem;padding-left: 1rem;padding-right: 1rem;}
.products-hero-section{background-image:linear-gradient(#00000080,#00000080),url(./images/producthero.png);background-position: center !important; background-repeat: no-repeat !important;background-size: cover !important; min-height:30vh;color: #fff !important;margin-bottom: 0 !important;padding-top: 5rem;padding-bottom: 5rem;padding-left: 1rem;padding-right: 1rem;}
.hero-section h1 {color: #fed404; text-align: center; font-size: clamp(3rem, 7vw, 3rem); line-height: 1.15; margin-bottom: 1.5rem; }
.hero-section-home h1 {color: #fed404; text-align: center; font-size: clamp(3rem, 7vw, 4rem); line-height: 1.15; margin-bottom: 1.5rem; }
.hero-section h1 .hero-text-white{color:#fff}
.hero-section-home h1 .hero-text-white{color:#fff}
.hero-section p.lead {color: #f8f9fa;text-align: left;font-size: clamp(1.1rem, 3vw, 1.5rem);margin-bottom: 2.5rem;}

.hero-title{font-weight:700;font-size:2.8rem;margin-bottom:.25rem;color:#fff}
.hero-subtitle{font-weight:400;font-size:1.1rem;opacity:.9;color:#fff}
.hero-image{max-height:220px;border-radius:.25rem}
.feature-card{background-color:#fff;border:1px solid;border-radius:0;transition:transform .2s ease-in-out}
.feature-card:hover{transform:translateY(-5px)}
.feature-card .card-title{color:#292a75}
.feature-card .card-text{color:#495057;font-size:.9rem}
.products-sec .card-text{overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical;}
.award-box{min-height:180px}
.achievement-header{display:flex;align-items:center}
.achievement-header i{font-size:2rem}
.achievement-figure{font-size:1.5rem;font-weight:600;line-height:1.2}
.achievement-description{font-size:1rem;line-height:1.5}
#AboutUs .container{max-width:960px}
#AboutUs > .container > h2{font-family:'Syne',sans-serif;font-size:2.5rem;font-weight:400;color:#fff;margin-bottom:3rem;line-height:1.3}
#AboutUs > .container > h2 .asgb-yellow{font-weight:400}
.good-fit-section{background-color:#fff}
.section-heading{color:#292a75;font-weight:700}
.fit-card{border:none;border-radius:0;overflow:hidden;position:relative}
.fit-card .card-img{object-fit:cover;height:250px;filter:brightness(0.6);transition:filter .3s ease-in-out;border-radius:.5rem}
.fit-card:hover .card-img{filter:brightness(0.4)}
.overlay-title{font-size:1.25rem;text-shadow:1px 1px 3px #000000b3;font-weight:700}
.section-heading-purple{color:#292a75;font-weight:700}
.find-job-section{background-color:#fff}
.search-bar-custom-final .form-control-lg{border-color:#ced4da;font-size:1rem;padding:.75rem 1.25rem}
.search-bar-custom-final .form-control-lg:focus{border-color:#292a75;box-shadow:0 0 0 .25rem #292a7540}
.btn-search-custom-final.btn-lg{background-color:#292a75;color:#fff;border-color:#292a75}
.btn-search-custom-final.btn-lg:hover{background-color:#1f205a;color:#fff;border-color:#1f205a}
.available-positions-section{background-color:#fff}
.available-positions-section .lead-small{font-size:1rem;color:#545454;line-height:1.6}
.job-card{background-color:#fff;border:1px solid #e9ecef;border-radius:.25rem;box-shadow:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.job-card:hover{border-color:#292a75}
.job-tag{font-size:.75rem;font-weight:700;color:#ffc107;text-transform:uppercase;margin-bottom:.5rem}
.job-title{color:#292a75;font-weight:700;font-size:1.25rem;margin-bottom:.25rem}
.job-department{font-size:.9rem;margin-bottom:1rem}
.job-posted-date small{font-size:.8rem}
.btn-aasgb-yellow{background-color:#fed404;color:#212529;padding:.6rem 1.5rem;border:none}
.btn-aasgb-yellow:hover{background-color:#e6bf04;color:#212529}
.solution-item-title{color:#292a75}
.solution-image{max-height:280px;object-fit:contain;width:auto}
.sidebar-widget{background-color:#fff;border:1px solid #dee2e6;border-radius:.375rem}
.sidebar-widget .widget-label{font-size:.85rem;text-transform:uppercase;color:#6c757d;margin-bottom:.15rem!important}
.sidebar-widget .value-text{font-size:1rem;color:#212529;line-height:1.4}
.sidebar-widget .salary-amount{color:#192a56;font-weight:700}
.sidebar-widget .btn-apply{background-color:#192a56;border-color:#192a56;color:#fff;font-weight:600;padding-top:.75rem;padding-bottom:.75rem;width:100%}
.sidebar-widget .btn-apply:hover{background-color:#292A75;border-color:#292A75;color:#fff}
.solution-image-full{width:100%;max-height:300px;object-fit:cover}

.section{ transition: padding 0.3s ease-in-out, margin 0.3s ease-in-out;}

.product-category-section .section-heading-purple {margin-bottom: 3rem !important;}
.product-card {background-color: #ffffff;border: 1px solid #e0e0e0;border-radius: 0.375rem;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;}
.product-card:hover {transform: translateY(-5px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);}
.product-card-img { border-top-left-radius: calc(0.375rem - 1px);border-top-right-radius: calc(0.375rem - 1px);padding: 1px;width: 100%;}
.product-card .card-body {padding: 1.25rem;}
.product-card .product-title {font-family: 'Syne', sans-serif; font-weight: 600;color: #292A75;font-size: 1.15rem;margin-bottom: 0.75rem;}
.product-card .product-description {font-size: 0.9rem;color: #555555;line-height: 1.6;}
.product-card-special .product-card-logo {max-height: 80px;width: auto;object-fit: contain;}
.product-expand-trigger {display: inline-block;padding: 0.5rem 0;color: #192a56;text-decoration: none;font-weight: 600;cursor: pointer;}
.product-expand-trigger:hover {color: #292A75;text-decoration: underline;}
.product-expand-trigger .expand-icon {margin-left: 0.35rem;transition: transform 0.3s ease-in-out;font-size: 0.8em;}
.product-expand-trigger[aria-expanded="true"] .expand-icon {transform: rotate(180deg);}
.hidden-product-details {display: none;}
.product-details-display-area {background-color: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 0.25rem; padding: 0; margin-top: 1.5rem; max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.5s ease-in-out, opacity 0.4s ease-in-out, padding 0.3s ease-in-out 0.1s;}
.product-details-display-area.visible { padding: 1.5rem; max-height: 1000px; opacity: 1;}
.product-details-display-area h4 { font-family: 'Syne', sans-serif;  font-weight: 600;  color: #292A75;  margin-bottom: 1rem; font-size: 1.25rem;}
.product-details-display-area p { font-size: 0.95rem; line-height: 1.6; color: #343a40;}
.product-details-display-area ul { list-style-type: disc; padding-left: 1.5rem; margin-bottom: 1rem;}
.product-details-display-area li { margin-bottom: 0.5rem;  font-size: 0.95rem; color: #343a40; }
.product-card.card-content-inactive .card-img-top,
.product-card.card-content-inactive .product-card-logo,
.product-card.card-content-inactive .product-title,
.product-card.card-content-inactive .product-description {opacity: 0.3; transition: opacity 0.3s ease-in-out;}
.product-card.card-content-inactive .product-expand-trigger { opacity: 0.6; pointer-events: none;}
.product-card .product-card-img {
    height: 250px;           /* Sets a fixed height for all images */
    width: 100%;             /* Ensures image fills the width of the card */
    object-fit: cover;       /* Scales the image to cover the space, cropping excess */
}

.client-logo-box {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* This is the style that applies when you hover over the logo box */
.client-logo-box:hover {
    transform: translateY(-8px); /* Lifts the box up slightly */
    box-shadow: 0 8px 25px rgba(41, 42, 117, 0.15); /* Adds a soft, colored shadow */
    border-color: #292A75 !important; /* Makes the border match your brand's blue */
}


body.home-page .hero-section-home > .text-center > .text-center > .mt-4 {display: flex;flex-direction: row;justify-content: center;align-items: center;flex-wrap: wrap; gap: 0.5rem;}
.contact-wrapper {
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: .375rem;
    overflow: hidden; /* To keep child border-radius */
}

.contact-info-panel {
    background-color: #FED404; /* ASGB Yellow */
    color: #343434;
}

.contact-info-panel .contact-heading {
    color: #192a56; /* ASGB Blue */
}

.contact-info-panel .contact-link {
    color: #192a56;
    text-decoration: none;
    transition: text-decoration 0.2s ease;
}

.contact-info-panel .contact-link:hover {
    text-decoration: underline;
}

.contact-info-panel i {
    color: #192a56; /* ASGB Blue */
}

.contact-heading-follow {
    color: #192a56;
}

.social-links-contact a {
    color: #192a56;
    font-size: 24px;
    margin-right: 15px;
    transition: color 0.3s ease;
}

.social-links-contact a:hover {
    color: #292A75; /* Darker blue from theme */
}

.map-embed-container {
    width: 100%;
    line-height: 0; /* Removes any space below the iframe */
}

.contact-form-panel {
    background-color: #ffffff;
}

.contact-form-panel .form-label {
    font-weight: 600;
    color: #495057;
    font-size: 0.9rem;
}

.contact-form-panel .form-control {
    border-radius: .25rem;
    border-color: #ced4da;
}

.contact-form-panel .form-control:focus {
    border-color: #292a75;
    box-shadow: 0 0 0 .25rem #292a7540;
}

@media (max-width: 767.98px) {
    body.home-page .hero-section-home .hero-button { font-size: 0.8rem;   padding: 0.4rem 0.8rem; }
    body.home-page .hero-section-home .hero-button.me-3 { margin-right: 0.5rem !important; }
}

@media screen and (max-width: 992px) {}
@media screen and (max-width: 1380px) {}
@media (max-width: 991.98px) { main.container > .row > aside.col-lg-4 {margin-top: 2.5rem; }}
@media screen and (max-width: 798px) {
.solution-image { max-height: 200px; margin-top: 1.5rem; }
.row.flex-row-reverse > div { text-align: center !important; }
.row.solution-item > div[class*="col-md-5"] { text-align: center !important; }}
@media screen and (max-width: 1220px) {}
@media screen and (max-width: 600px) {}
@media (max-width: 640px) {}
@media screen and (max-width: 550px) {}
@media screen and (max-width: 500px) {}
@media screen and (max-width: 450px) {}
@media screen and (max-width: 400px) {}


/* For tablets and smaller (Bootstrap's <768px breakpoint for 'md') */
@media (max-width: 767.98px) {
    .section-sty { padding-top: 30px;  padding-bottom: 30px; }
    .hero-section { min-height: auto; }
    h1, .hero-section h1 { font-size: 2.5rem !important;}
    h2 {font-size: 1.75rem; margin-bottom: 15px; }
    .home-btm .row > .col-md-4 {width: 100%;flex: 0 0 100%;max-width: 100%;margin-bottom: 10px;}
    .home-btm .row > .col-md-4:last-child {margin-bottom: 0;}
    .hero-section-home {padding-top: 60px !important;padding-bottom: 60px !important;height: auto;min-height: 50vh;}
    .solutions-hero-section {padding-top: 60px !important;padding-bottom: 60px !important;height: auto;min-height: 50vh; }
    .hero-section-home h1 {font-size: 2.2rem !important;line-height: 1.2;margin-bottom: 1rem;}
    .hero-section-home p.lead { font-size: 1rem !important;line-height: 1.5;margin-bottom: 1.5rem;text-align: center !important; }
    .hero-section-home .btn {font-size: 0.9rem;}
    .home-btm { margin-top: 0;}
    #AboutUs .container > h2 {
    font-size: 2rem; /* Make it smaller for tablets */
    margin-bottom: 2rem;}
    .products-sec .card-title {
        font-size: 14px;      /* A slightly smaller, more compact title */
        min-height: 3.5em;    /* Ensures titles have consistent space if they wrap */
    }

    .products-sec .card-text {
        font-size: 15px;      /* An intermediate size between desktop and mobile */
    }

    .products-sec .find-link {
        font-size: 14px;      /* An intermediate link size */
    }
}

/* For small mobile phones (Bootstrap's <576px breakpoint for 'sm') */
@media (max-width: 575.98px) {
    .section-sty {
        padding-top: 20px;
        padding-bottom: 20px; }
    .section-sty .m-text-center{text-align: center; }
    .hero-section {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;}
    h1, .hero-section h1 {
        font-size: 2rem !important;}
    h2 {
        font-size: 1.5rem;
        margin-bottom: 10px;}

    .hero-section-home {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        min-height: 40vh;
    }

    .hero-section-home h1 {
        font-size: 1.8rem !important;
    }

    .hero-section-home p.lead {
        font-size: 0.9rem !important;
    }
    #AboutUs .container > h2 {
    font-size: 1.6rem; /* Make it even smaller for phones */
    line-height: 1.2;
    margin-bottom: 1.5rem;}   

   .achievement-figure {
    word-break: break-all;
    font-size: 1.3rem; /* Slightly smaller than the original 1.5rem */}

    .achievement-description {
    font-size: 0.85rem; /* Slightly smaller than the original 1rem */}

    .force-oneline-mobile {
    white-space: nowrap;}

    .products-sec .card-title {
    font-size: 14px;          /* Make the title smaller */
    height: auto;             /* Let the height adjust to the text */
    min-height: 3em;          /* Ensures titles have consistent space, even if one wraps */
    margin-bottom: 0.5rem;    /* Adds a little space below the title */}

    .products-sec .card-text {
        font-size: 14px;          /* Make the paragraph text smaller */
        margin-bottom: 1rem;      /* Adds more space above the 'Find Out More' link */}

    .products-sec .find-link {
        font-size: 13px;          /* Makes the link smaller and more subtle */}

        .hero-section-in .feature-card .card-title {
    font-size: 1.1rem;   /* Makes the title slightly smaller */
    min-height: 2.5em;     /* Reserves space for 2 lines, fixing the alignment */}

    .hero-section-in .feature-card .card-text {
        font-size: 0.9rem;   /* Standardizes the paragraph font size for mobile */}

    /* --- Careers Page: 'Good Fit' Image Cards --- */
    .good-fit-section .overlay-title {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;}

    .products-sec img{height: 120px;}


}



