:root {
    --brand-kestrel-primary-color: #103B54;
    /* Primary Kestrel- */
    --brand-kestrel-secondary-color: #EFF3F6;
    /* Secondary Kestrel - cat btn bg*/
    --brand-kestrel-third-color: #E2EBEF;
    /* third color -side ad bg */
    --brand-kestrel-buttons-color: #103B54;
    /* CTA Primary button */
    --brand-kestrel-buttons-color-hover: #00629B;
    /* CTA Primary button HOVER */
    --white-kestrel-color: #FFFFFF;
    /* white */
    --black-kestrel-color: #111;
    /* black */
    --body-kestrel-font: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

/* Base container */
.kestrel-header#store-banner {
    font-family: var(--body-kestrel-font);
    font-size: 16px;
    /* Base size for normal text */
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--black-kestrel-color);
    /* Default text color */
    margin-bottom: 0px;
}

/* Headings */
.kestrel-header#store-banner h1,
.kestrel-header#store-banner h2,
.kestrel-header#store-banner h3,
.kestrel-header#store-banner h4,
.kestrel-header#store-banner h5,
.kestrel-header#store-banner h6 {
    font-family: var(--body-kestrel-font);
    /* All titiles Kestrel-font family */
    color: var(--brand-kestrel-primary-color);
    /* Primary color by defualt*/
}

.kestrel-header#store-banner h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.kestrel-header#store-banner h2 {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.85rem;
}

/* Paragraphs */
#store-banner p {
    font-family: var(--body-kestrel-font);
    /* Helvetica, Arial, sans-serif */
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 1rem;
}

/* Links */
.kestrel-header#store-banner a {
    font-size: 1rem;
    color: var(--black-kestrel-color);
    text-decoration: none;
    transition: all 0.3s ease;
}

a:focus {
    outline: thin dotted #333;
    outline: 2px transparent;
    outline-offset: -2px;
}

/**************************************     HEADER     **************************************/

.kestrel-header {
    width: 100vw !important;
    position: relative;
    margin-left: -50vw;
    left: 50%;
    box-sizing: border-box;
    padding: 1em 0;
    background-color: var(--white-kestrel-color);
    outline: none;
}

.kestrel-header>.row-fluid {
    max-width: 1140px;
    margin: 0 auto;
    padding: 7px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: center;
    flex-direction: row;
}

.kestrel-header .span3.logo-kestrel-sws img.brandlogo {
    width: 90%;
    margin-left: 0px;
}

.kestrel-header .row-fluid .navbar.navbar-inner-kestrel-subsite {
    float: right;
}

.kestrel-header .span9.subheading-nav {
    float: right;
    margin-top: 0;
}

.kestrel-header .row-fluid .navbar .nav-collapse.sws.collapse {
    margin-top: 0px !important;
    width: 53rem;
}

/**************************************     NAV     **************************************/
.navbar .nav.navbar-kestrel-subsite {
    margin-right: 0;
    width: 86%;
    font-family: var(--body-kestrel-font);

    /* Vendor prefixes for older browsers */
    display: -webkit-box;
    /* Safari 6-9 */
    display: -moz-box;
    /* Firefox 19-28 */
    display: -ms-flexbox;
    /* IE 10 */
    display: -webkit-flex;
    /* Safari 9+ */
    display: flex;
    /* Standard flex display */

    /* Vendor prefixes for flex-wrap */
    -webkit-box-flex-wrap: nowrap;
    /* Safari 6-9 */
    -moz-box-flex-wrap: nowrap;
    /* Firefox 19-28 */
    -webkit-flex-wrap: nowrap;
    /* Safari 9+ */
    -ms-flex-wrap: nowrap;
    /* IE 10 */
    flex-wrap: nowrap;
    /* Standard flex-wrap */

    justify-content: flex-end;
    /* Distribute items */
    align-items: center;
    /* Align vertically */
    gap: 20px;
}



.navbar .nav.navbar-kestrel-subsite>li {
    /* Vendor prefixes for flex-grow, flex-shrink, and flex-basis */
    -webkit-box-flex: 1;
    /* Safari 6-9 */
    -moz-box-flex: 1;
    /* Firefox 19-28 */
    -webkit-flex: 1;
    /* Safari 9+ */
    -ms-flex: 1;
    /* IE 10 */
    flex: 0 0 auto;
    /* Adjust for proportional growth */
    text-align: center;
}

.navbar.navbar-inner-kestrel-subsite.navbar-inner-kestrel-subsite-french .nav.navbar-kestrel-subsite {
    gap: 0.5em;
}

/* home button */
.navbar .nav.navbar-kestrel-subsite a.nav-home-icon {
    padding: 18px 10px;
}

.navbar.navbar-inner-kestrel-subsite .nav>li>a.nav-home-icon>img {
    display: block;
    width: 18px;
    height: auto;
}

.navbar.navbar-inner-kestrel-subsite .nav>li>a {
    text-shadow: none;
    display: block;
    white-space: nowrap;
    padding: 14px 10px;
    font-size: 1.125rem !important;
    font-family: var(--body-kestrel-font);
    font-weight: 600;
    transition: all 0.3s ease-in-out;
    text-transform: none;
}

.navbar.navbar-inner-kestrel-subsite.navbar-inner-kestrel-subsite-french.mhide .nav>li>a {
    padding: 14px 9px;
}

.navbar.navbar-inner-kestrel-subsite.navbar-inner-kestrel-subsite-french.mhide a.nav-home-icon {
    padding: 18px 10px !important;
}

.nav,
.navbar {
    margin-bottom: 0px;
}

/* NAV HOVER COLOURS */
.navbar.navbar-inner-kestrel-subsite .nav>li>a:active,
.navbar.navbar-inner-kestrel-subsite .nav>li>a:hover,
.navbar .nav.navbar-kestrel-subsite li.dropdown.open>.dropdown-toggle,
.navbar .nav.navbar-kestrel-subsite li.dropdown.active>.dropdown-toggle,
.navbar .nav.navbar-kestrel-subsite li.dropdown.open.active>.dropdown-toggle {
    z-index: 1;
    position: relative;
    background-color: transparent;
}

/* Underline Effect */
.hover-underline-animation::before {
    display: block;
    content: "";
    /* Add content after the element */
    position: absolute;
    width: 100%;
    transform: scaleY(0);
    height: 3px;
    /* Height of the underline */
    bottom: 11px;
    left: 0;
    background: var(--brand-kestrel-primary-color);
    transform-origin: bottom;
    /* Expands from bottom to top */
    transition: transform 0.5s linear;
    -webkit-transition: all 0.5s linear;
    -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
    -o-transition: all 0.5s linear;
}

.hover-underline-animation:hover::before,
.nav-item-container:hover .hover-underline-animation::before,
.active.hover-underline-animation::before,
.open .hover-underline-animation::before {
    transform: scaleY(1);
    /* Scale the underline on hover */
    visibility: visible;
}

.hover-underline-animation:hover::before,
.hover-underline-animation.open::before {
    transform: scaleY(1);
}

.active,
.hover-underline-animation {
    position: relative;
}

.navbar.navbar-inner-kestrel-subsite .navbar-kestrel-subsite li {
    line-height: 1.5;
}

/* DROP-DOWN MENU STYLES */
/* hide Bootstrap arrow */
.navbar .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu:before,
.navbar .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu:after {
    display: none;
}

/* base (hidden) */
.navbar .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    min-width: 567px;
    left: 0;
    top: 47px;
    border-radius: 3px;
    background-color: var(--white-kestrel-color);
    box-shadow: 0 2px 3px #13486040;
    padding: 6px 12px;
    margin: 0;
    border: 1px solid var(--brand-kestrel-secondary-color);
    opacity: 0;
    transform: translateY(5px);
    pointer-events: none;
    transition: opacity .35s ease, transform .8s ease;
    text-align: left;
    font-family: var(--body-kestrel-font);
}

.navbar.navbar-inner-kestrel-subsite.navbar-inner-kestrel-subsite-french .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu {
    min-width: 547px;
    left: 0;
}

.navbar .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu.industries-list {
    min-width: 350px;
}

.navbar.navbar-inner-kestrel-subsite.navbar-inner-kestrel-subsite-french .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu.industries-list {
    min-width: 448px;
}

/* show only on click (when .open is applied by Bootstrap JS) */
.navbar .nav>li.open>.kestrel-whole-cateogies-list-menu.dropdown-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* ******** */
.dropdown-menu.kestrel-whole-cateogies-list-menu ul {
    text-decoration: none;
    list-style: none;
    padding-left: 0;
}

.dropdown-menu.kestrel-whole-cateogies-list-menu>li {
    flex: 1;
    list-style: none;
}

.dropdown-menu.kestrel-whole-cateogies-list-menu .first-col,
.dropdown-menu.kestrel-whole-cateogies-list-menu .second-col,
.dropdown-menu.kestrel-whole-cateogies-list-menu .solutions {
    margin: 0px 10px;
}

/* Shared dropdown styles for all items */
.dropdown-menu.kestrel-whole-cateogies-list-menu .first-col a,
.dropdown-menu.kestrel-whole-cateogies-list-menu .second-col a,
.dropdown-menu.kestrel-whole-cateogies-list-menu .solutions a {
    padding: 2px 10px !important;
    line-height: 1.5;
    text-align: left;
    display: block;
    text-decoration: none;
    margin-left: 10px;
    margin-bottom: 3px;
}



.dropdown-menu.kestrel-whole-cateogies-list-menu .solutions .dropdown-main-header-title a {
    font-family: var(--body-kestrel-font);
}

/* L2 MENU ITEMS */

.dropdown-menu.kestrel-whole-cateogies-list-menu .dropdown-main-header-title a {
    position: relative;
    display: block;
    margin-left: 0;
    margin-bottom: 3px;
    padding: 7px 36px 7px 10px !important;
    font-size: 1rem;
    font-weight: 700;
    color: var(--black-kestrel-color);
    border-radius: 3px;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

/* Arrow - hidden by default */
.dropdown-menu.kestrel-whole-cateogies-list-menu .dropdown-main-header-title a::after {
    content: "→";
    position: absolute;
    right: 12px;
    top: 50%;
    color: var(--brand-kestrel-primary-color);
    opacity: 0;
    transform: translate(-5px, -50%);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}


/* L2 hover */
.dropdown-menu.kestrel-whole-cateogies-list-menu .dropdown-main-header-title a:hover {
    margin-left: 0;
    color: var(--brand-kestrel-primary-color) !important;
    background-color: rgba(16, 59, 84, 0.06) !important;
}


/* Arrow appears */
.dropdown-menu.kestrel-whole-cateogies-list-menu .dropdown-main-header-title a:hover::after {
    opacity: 1;
    transform: translate(0, -50%);
}

/* L3 MENU ITEMS - DESKTOP */

.dropdown-menu.kestrel-whole-cateogies-list-menu .dropdown-header a {
    display: inline-block;
    margin-left: 16px;
    padding: 2px 0 !important;
    font-weight: 400;
    color: var(--black-kestrel-color);
    background: transparent;
    border-radius: 0;
    transition:
        color 0.2s ease,
        transform 0.2s ease !important;
}

/* L3 hover */
.dropdown-menu.kestrel-whole-cateogies-list-menu .dropdown-header a:hover {
    color: var(--brand-kestrel-primary-color) !important;
    background: transparent !important;
    transform: translateX(3px);
}

/* Style for the button */
.kestrel-search form#ProductDisplayForm button.btn.btn-default {
    background-color: transparent;
    border-radius: 0 3px 3px 0;
    border: none;
    width: 40px;
    height: 36px !important;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 0.4s ease;
    z-index: 2;
    padding: 9px;
    border-left: 1px solid var(--brand-kestrel-primary-color);
}

/* Search bar container */
.navbar .nav.navbar-kestrel-subsite>li.kestrel-search-nav {
    margin-left: 10px;
}

.kestrel-search.input-append {
    margin: 0;
    width: 250px;
}

/* Search Bar - Expand on Hover/Focus */
.kestrel-search.input-append:hover,
.kestrel-search.input-append:focus-within {
    background-color: var(--brand-kestrel-primary-color);
    box-shadow: none;
}

/* Input field styling */
.kestrel-search input#ProductSearch.appendInputButton {
    font-family: var(--body-kestrel-font);
    color: var(--black-kestrel-color);
    border: none;
    background-color: transparent;
    padding: 7px 0px;
    margin-right: 0px;
    margin-left: 0px;
    font-weight: 500;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: none;
    left: -15px;
    width: 80%;
}

.kestrel-search form#ProductDisplayForm {
    width: 100%;
    padding: 0;
    transform: translate(0%, 0%);
    background: var(--white-kestrel-color);
    height: 36px;
    border-radius: 3px;
    transform-origin: right;
    transition: width 0.4s ease, background-color 0.4s ease, right 0.4s ease;
    border: 1px solid var(--black-kestrel-color);
}

/* Change Button Color & Move Left when Hovering */
.kestrel-search.input-append:hover form#ProductDisplayForm button.btn.btn-default,
.kestrel-search.input-append:focus-within form#ProductDisplayForm button.btn.btn-default {
    background-color: transparent;
}

/* Input focus styling */
.kestrel-search input.refine-search.appendInputButton:focus {
    color: var(--brand-kestrel-primary-color);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border-color: var(--white-kestrel-color);
}

.kestrel-search input.refine-search.appendInputButton::placeholder {
    /* your styles */
    color: var(--brand-kestrel-primary-color);
    opacity: 1;
}

.kestrel-search input.refine-search.appendInputButton:hover::placeholder {
    color: var(--black-kestrel-color);
}

/******  END SEARCH BAR ***** */
/* ********* END HEADER ********* */

/**************************************     HERO     **************************************/
.carousel-top.kestrel-sws-store {
    margin-top: 0;
    width: 100vw !important;
    position: relative;
    margin-left: -50vw;
    left: 50%;
    padding-bottom: 0em;
}

.kestrel-sws-store #myCarousel {
    margin-bottom: 10px;
}

/* Set a fixed height for the carousel inner to prevent jumping */
.kestrel-sws-store #myCarousel .carousel-inner.hero-section,
.kestrel-sws-store #myCarousel .carousel-inner.hero-section-french {
    height: 450px;
}

.kestrel-sws-store #myCarousel .carousel-inner>.item {
    height: 450px;
    width: 100%;
}

.kestrel-sws-store #myCarousel .hero-section {
    width: 100%;
    background-image: url(/images/pages/kestrel/kestrel-background-hero.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 0px;
}

.kestrel-sws-store #myCarousel .hero-content {
    width: min(90vw, 1140px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 0;
    max-height: 450px;
    margin: 0 auto;
    background-color: transparent;
    border-radius: 6px;
    height: 100%;
    position: relative;
}

.kestrel-sws-store #myCarousel .text-content {
    flex: 0 0 60%;
    padding: 0 30px 0 0;
    width: 100%;
    max-width: 700px;
}

.kestrel-sws-store #myCarousel .text-content .text-contnet-inside {
    padding: 0em 0em 1em 3em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: baseline;
    background-color: transparent;
    border-radius: 20px;
    box-shadow: none;
    min-height: 0px;
    height: auto;
}

.kestrel-sws-store #myCarousel .hero-content .image-content {
    flex: 0 0 40%;
    width: 100%;
    text-align: center;
    overflow: hidden;
}

.kestrel-sws-store #myCarousel .hero-content .image-content img {
    object-fit: contain;
    height: auto;
    width: 100%;
    max-height: 400px;
    object-position: center;
    margin-top: 0;
    transition: transform 0.8s ease-in-out;
}

/* Apply a full-surface invisible link to cover all content */
.kestrel-sws-store .hero-content .hero-global-link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    /* Place between the carousel arrows and the content (text/images) */
}

/* Other Carousel Styles */
.kestrel-sws-store #myCarousel h1 {
    font-size: clamp(1.1rem, 2.9vw, 2.9rem);
    margin: 0px;
    margin-bottom: 0px;
    color: var(--black-kestrel-color);
    line-height: 1.1;
    letter-spacing: 0.5px;
    font-family: var(--body-kestrel-font);
    font-weight: 700;
    white-space: normal;
    position: relative;
}

.kestrel-sws-store #myCarousel h1 .kestrel-brand-white-text {
    color: var(--brand-kestrel-primary-color);
    display: block;
}

.kestrel-sws-store #myCarousel h2 {
    color: var(--black-kestrel-color);
    font-size: clamp(1rem, 2.2vw, 1.4rem);
    font-family: var(--body-kestrel-font);
    font-weight: 100;
    line-height: 1.2;
    margin: 12px 0 32px;
    white-space: normal;
}

.kestrel-sws-store #myCarousel .carousel-btn {
    margin-top: 0px;
    font-size: 1rem;
    font-family: var(--body-kestrel-font);  
    box-shadow: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 58px 16px 24px;
    color: var(--white-kestrel-color);
    background-color: var(--brand-kestrel-buttons-color);
    text-decoration: none;
    font-weight: 600;
    border: 2px solid transparent;
    overflow: hidden;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
    box-sizing: border-box;
}

/* Arrow inside the button */
.kestrel-sws-store #myCarousel .carousel-btn::after {
    content: "→";
    position: absolute;
    right: 24px;
    /* Make arrow larger / stronger */
    font-family: var(--body-kestrel-font);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    top: 47%;
    color: var(--white-kestrel-color);
    opacity: 1;
    transform: translateY(-50%);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

/* btn hover effect */
.kestrel-sws-store #myCarousel .hero-content:hover .carousel-btn {
    color: var(--brand-kestrel-primary-color);
    background-color: var(--white-kestrel-color);
    border: 2px solid var(--brand-kestrel-primary-color);
    box-shadow: 0 4px 10px rgba(16, 59, 84, 0.18);
    box-sizing: border-box;
}

/* Hover arrow: BLUE */
.kestrel-sws-store #myCarousel .carousel-btn:hover::after,
.kestrel-sws-store #myCarousel .hero-content:hover .carousel-btn::after {
    color: var(--brand-kestrel-primary-color);
    transform: translateY(-50%);
}

/* --- END Global hover effect on slide --- */

.carousel-control-new {
    color: var(--white-kestrel-color) !important;
    background-color: var(--brand-kestrel-primary-color);
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px;
    text-align: center;
    font-size: 20px;
    /* size of the arrow */
    font-weight: lighter;
    text-shadow: none;
    position: absolute;
    /* Position the arrows */
    top: 55%;
    /* Position vertically in the middle */
    transform: translateY(-50%);
    /* Adjust vertical position */
    transition: 0.3s ease-in-out;
    border: 2px solid transparent;
}

.carousel-control-new.left {
    left: 2rem;
}

.carousel-control-new.right {
    right: 2rem;
}

.carousel-control-new:hover {
    background-color: var(--white-kestrel-color);
    border: 2px solid var(--brand-kestrel-primary-color);
    color: var(--brand-kestrel-primary-color) !important;
    box-shadow: 0 4px 7px rgba(0, 0, 0, 0.25);
}

/* Important: carousel arrows stay above the global link */
.carousel-control-new {
    z-index: 10 !important;
}

/* ********* END Heroes ********* */

/**************************************     BUTTONS     **************************************/
/* GRID */
.kestrel-grid-container {
    display: grid;
    display: -ms-grid;
    gap: 3em 1.5em;
    margin: 50px auto 40px;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 200px 200px 200px;

    /* Grid structure: 
       b1, b2... — category buttons. 
       ad — the high vertical block. 
    */
    grid-template-areas:
        "b1 b2 ad"
        "b4 b5 ad"
        "b6 b7 b8";
    width: 100%;
    box-sizing: border-box;
}

.kestrel-grid-container>a {
    min-width: 0;
    width: 100% !important;
    display: block;
    height: 100%;
    text-decoration: none !important;
}

/* Mapping children to grid areas */
.kestrel-grid-container>a:nth-child(1) {
    grid-area: b1;
}

.kestrel-grid-container>a:nth-child(2) {
    grid-area: b2;
}

.kestrel-grid-container>a:nth-child(3) {
    grid-area: ad;
}

/* High side ad block */
.kestrel-grid-container>a:nth-child(4) {
    grid-area: b4;
}

.kestrel-grid-container>a:nth-child(5) {
    grid-area: b5;
}

.kestrel-grid-container>a:nth-child(6) {
    grid-area: b6;
}

.kestrel-grid-container>a:nth-child(7) {
    grid-area: b7;
}

.kestrel-grid-container>a:nth-child(8) {
    grid-area: b8;
}

.kestrel-grid-container>a:nth-child(9) {
    grid-area: b9;
    display: none;
}

/* General link container styling */
.kestrel-grid-container>a {
    position: relative;
    float: none !important;
    /* Cleanup floats */
    width: auto !important;
    text-decoration: none !important;
    display: block;
    height: 100%;
}

/* END GRID STYLES */

/*  Main Card Styling */
.kestrel-item {
    background-color: var(--brand-kestrel-secondary-color);
    border-radius: 3px;
    height: 200px;
    position: relative;
    box-sizing: border-box;
    overflow: visible;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
}

.kestrel-item:not(.side-ad)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background-color: var(--brand-kestrel-primary-color);
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    z-index: 0;
}

/* Image Container */
.kestrel-application-img {
    width: 165px;
    height: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 15px;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1;
}

.kestrel-application-img img {
    width: auto;
    height: 165px;
    max-width: 100%;
    object-fit: contain;
    margin: 0;
    transform: none;
}

/* Title Block (category buttons) */
.kestrel-bkgr-btn {
    padding: 0 0 15px 15px;
    background: transparent;
    width: 50%;
    order: 1;
    box-sizing: border-box;
    margin: auto 0;
}

.application-title{
    font-family: var(--body-kestrel-font);
    font-weight: 500;
    font-size: clamp(1.1rem, 1.7vw, 1.5rem);
    color: var(--black-kestrel-color);
    margin: 0 0 4px 0;
    line-height: 1.2;
    text-align: left;
    position: relative;
    padding-left: 0px;
    border-left: 2px solid transparent;
    text-transform: uppercase;
    transition: transform 0.2s ease-in-out;
}
.application-title-fr{
    text-transform: none;
}
.application-title::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: var(--brand-kestrel-primary-color);
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

.application-sub-title {
    font-family: var(--body-kestrel-font);
    font-weight: 500;
    font-size: clamp(0.9rem, 2.9vw, .9rem);
    color: var(--black-kestrel-color);
    margin: 0;
    padding-left: 2px;
    line-height: 1.2;
    text-align: left;
}

.kestrel-grid-container>a:hover .kestrel-item:not(.side-ad) .application-title {
    /* padding-left: 2px;
    border-color: var(--brand-kestrel-primary-color); */
    transform: translateX(4px);
}
.kestrel-grid-container > a:hover
.kestrel-item:not(.side-ad)
.application-title::before {
    opacity: 1;
}

/* Specific styles for SIDE AD (3rd grid item) */
.kestrel-item.side-ad {
    height: 100% !important;
    min-height: 0 !important;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important;
    background-color: #E2EBEF;
    padding: 0 !important;
    text-align: center;
    border-radius: 3px;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    box-sizing: border-box;
}

/* Product image inside the high side-ad block */
.kestrel-side-ad-img {
   height: 260px;
    width: 100%;
    margin: 10px 0 5px; /* no horizontal margin */
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.kestrel-side-ad-img img,
.sws-kestrel-buttons.sws-kestrel-buttons-fr .kestrel-side-ad-img img {
    display: block;
    width: auto;
    height: auto;
    max-width: 85%;
    max-height: 100%;
    object-fit: contain;
    margin: 0;
}

.kestrel-item.side-ad .kestrel-inside-bckgr {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
     justify-content: flex-start;
    background: transparent;
    margin: 0 auto;
    padding: 10px;
    width: calc(100% - 20px);
    box-sizing: border-box;
}

.kestrel-side-ad-application-title {
    font-family: var(--body-kestrel-font);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--black-kestrel-color);
    text-align: center;
    margin: 0;
}

/* PRODUCT NAME */
.kestrel-side-ad-subtitle {
    margin: 0 10px 10px;
}

.kestrel-side-ad-application-subtitle {
    font-family: var(--body-kestrel-font);
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.2;
    color: var(--black-kestrel-color);
    text-align: center;
    margin: 0;
}
/* "Learn More" Button inside Side Ad */
.kestrel-side-ad-cta {
    margin: 10px auto 20px;
}

.side-ad-btn {
    margin-top: 0;
    font-size: 1rem;
    font-family: var(--body-kestrel-font);   
    box-shadow: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 58px 16px 24px;
    color: var(--white-kestrel-color)!important;
    background-color: var(--brand-kestrel-buttons-color);
    text-decoration: none;
    font-weight: 600;
    border: 2px solid transparent;
    overflow: hidden;
    box-sizing: border-box;
    transition:
        background-color 0.3s ease-in-out,
        color 0.3s ease-in-out,
        border-color 0.3s ease-in-out;
}



/* Arrow SVG inside the button */
.side-ad-btn::after {
    content: "→";
    position: absolute;
    right: 24px;
    top: 47%;    
    font-family: var(--body-kestrel-font);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    color: var(--white-kestrel-color);
    opacity: 1;
    transform: translateY(-50%);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease,
        color 0.3s ease-in-out;
}

.kestrel-grid-container>a:nth-child(3) {
    grid-area: ad;
    width: 100% !important;
    max-width: 100% !important;
}

/* --- GLOBAL HOVER EFFECTS FOR THE LINK CONTAINER --- */

/* Button background color shift */
.kestrel-item-link:hover .side-ad-btn {
    color: var(--brand-kestrel-primary-color)!important;
    background-color: var(--white-kestrel-color);
    border-color: var(--brand-kestrel-primary-color);
    box-shadow: 0 4px 10px rgba(16, 59, 84, 0.18);
}

/* Arrow becomes blue */
.kestrel-item-link:hover .side-ad-btn::after {
    color: var(--brand-kestrel-primary-color);
    transform: translateY(-50%);
}
/********************  KESTREL SOLUTIONS SECTION ********************/

.kestrel-solutions-section {
    margin: 15px auto;
}

.kestrel-solutions-heading {
    font-family: var(--body-kestrel-font);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--black-kestrel-color);
    text-align: center;
    margin: 0 0 35px;
}


/* SOLUTIONS GRID 768px+ : 3 COLUMNS */

.kestrel-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap:3em 1.5em;
    width: 100%;
    box-sizing: border-box;
}


/* Whole image/card is clickable */

.kestrel-solution-link {
    display: block;
    width: 100%;
    min-width: 0;
    text-decoration: none !important;
}


/* SOLUTION CARD */

.kestrel-solution-card {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    box-sizing: border-box;
}


/* IMAGE */

.kestrel-solution-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.kestrel-solution-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    /* Slightly less saturated, as requested */
    filter: saturate(0.8);
    transition:
        transform 0.3s ease-in-out,
        filter 0.3s ease-in-out;
}


/*  DARK IMAGE OVERLAY */

.kestrel-solution-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.50);
    transition: background-color 0.3s ease-in-out;
}


/* TEXT OVER IMAGE */

.kestrel-solution-title {
    position: absolute;
    top: 50%;
    left: 15px;
    right: 15px;
    z-index: 2;
    transform: translateY(-50%);
    color: var(--white-kestrel-color);
    text-align: left;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    font-family: var(--body-kestrel-font);
    font-weight: 500;
    font-size: clamp(1.1rem, 1.7vw, 1.5rem);
    line-height: 1.2;       
    transition: transform 0.2s ease-in-out;
}
.kestrel-solution-title-fr{
     text-transform: none;
}
.kestrel-solution-title::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: var(--white-kestrel-color);
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

/* HOVER */

.kestrel-solution-link:hover {
    text-decoration: none !important;
}

.kestrel-solution-link:hover .kestrel-solution-img img {
    transform: scale(1.03);
    filter: saturate(0.9);
}

.kestrel-solution-link:hover .kestrel-solution-overlay {
    background-color: rgba(0, 0, 0, 0.68);
}

.kestrel-solution-link:hover .kestrel-solution-title {
    transform: translate(4px, -50%);
}
/* Show white line */
.kestrel-solution-link:hover .kestrel-solution-title::before {
    opacity: 1;
}




/*  */
/**************************************     ABOUT PAGE     **************************************/
.kestrel-header-nav .row-fluid.navbar.taxonomy-breadcrumbs,
.row-fluid.navbar.taxonomy-breadcrumbs.sws-breadcrumbs {
  display: none !important;
}
.row-fluid > .kestrel-about{
  margin-bottom: -15px !important;
  font-family: var(--brand-kestrel-font);
}
.kestrel-about .about-kestrel-hero {
  background-image: url(/images/pages/kestrel/about-us-hero-background.webp);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  background-position: center;
  height: 400px;
  margin-bottom: 20px;
  width: 100%;
  display: flex;
  align-items: center;
}


.kestrel-hero-container {
  margin-top: -15px;
  width: 100vw;
  position: relative;
  margin-left: -50vw;
  left: 50%;
}

.row-fluid.about-kestrel-hero h1 {
  font-family: var(--brand-kestrel-font);
  font-size: clamp(2rem, 3vw, 2.4rem);
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  line-height: 120%;  
  color: var(--white-kestrel-color);
  margin: 0px;
}



.about-kestrel {
  margin-top: 0px;
  width: 100vw;
  position: relative;
  margin-left: -50vw;
  left: 50%;
  background:var(--brand-kestrel-bg-color);
  font-family: var(--brand-kestrel-font);
}


.about-kestrel-3,.about-kestrel-1 {
  margin-top: 0px;
  width: 100vw;
  position: relative;
  margin-left: -50vw;
  left: 50%;
  background-color:  var(--brand-kestrel-secondary-color); 
  
}

.about-kestrel-heading {
  display: flex;
  align-items: center;
  justify-content:flex-start ;
  padding:0 1em;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 1em;
}

.about-kestrel-heading .about-kestrel-icon {
  flex: 0 0 auto;
  width: 35px;
  height: 35px;
  object-fit: contain;
  display: block;
}
.about-kestrel-heading .text-with-indicator{
  position: relative;
  top:2px
}
.row-fluid.about-kestrel-container p {
  color:var(--black-kestrel-color);
  font-size: 16px;
  line-height: 150%;
  text-align: left;
  padding: 0 1em;
  font-family: var(--brand-kestrel-font);
}

.row-fluid.about-kestrel-container h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--brand-kestrel-primary-color);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.2 !important;
  text-align: left;
  font-family: var(--brand-kestrel-font);
  text-transform: uppercase;
}

.row-fluid.about-kestrel-2 .row-fluid.about-kestrel-container h2 {
  color: var(--brand-kestrel-primary-color);
  font-size: 24px;
  font-weight: 700;
  line-height: 120%;
  text-align: left;
  margin-top: 0;
  font-family: var(--brand-kestrel-font);
  text-transform: uppercase;
}

.row-fluid.about-kestrel-2 .row-fluid.about-kestrel-container p {
  color: #000;
  font-size: 16px;
  line-height: 150%;
  text-align: left;
  font-family: var(--brand-kestrel-font);
}

.row-fluid.about-kestrel-container {
  margin: 0 auto;
  max-width: 1170px;
  width: 100%;
  box-sizing: border-box;
  padding: 40px 20px;
}

.row-fluid.about-kestrel-main-content h2 {
  color: var(--brand-kestrel-primary-color);
  font-weight: 700;  
  font-size: 38px;
  line-height: 120%; 
}

.row-fluid.about-kestrel-main-content p {
  text-align: center;
  font-size: 18px;
  padding-bottom: 1em;
  font-family: var(--brand-kestrel-font);
}

.about-us-blue-col {
  background: #c8cfde;
}

.about-us-application-title p {
  text-align: center;
  font-size: 15px;
  padding: 5px 20px 20px;
}

p.about-us-application-title-p {
  color: #ffffff;
  text-align: center;
  font-size: 22px;
  font-weight: 600;
  padding-bottom: 0.2em;
}

.about-kestrel-hero.about-us-hero {
  height: 400px;
  margin-bottom: 0;
}

.row-fluid.about-kestrel-main-content.last-p p {
  font-size: 16px;
  line-height: 150%;
}

/* French locale overrides */
.french-about-us .row-fluid.about-kestrel-hero h1 {
  font-size: 68px;
}

.french-about-us span.hero-h1 {
  font-size: 80px;
}




@media (max-width: 1199px) {

    /**************************************     HEADER     **************************************/
    .kestrel-header>.row-fluid {
        max-width: 914px;
    }

    /**************************************     NAV     **************************************/
    .navbar .nav.navbar-kestrel-subsite {
        width: 80%;
    }

    .nav-home-icon-svg {
        width: 18px;
        height: 18px;
    }

    .navbar.navbar-inner-kestrel-subsite .nav>li>a {
        font-size: 1.1rem !important;
    }

    .navbar .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu {
        top: 45px;
        min-width: 561px;
    }

    .hover-underline-animation::before {
        bottom: 9px;
    }
.navbar.navbar-inner-kestrel-subsite.navbar-inner-kestrel-subsite-french .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu {
    min-width: 543px;
    left: 0;
}
.navbar.navbar-inner-kestrel-subsite.navbar-inner-kestrel-subsite-french .nav>li>.kestrel-whole-cateogies-list-menu.dropdown-menu.industries-list {
    min-width: 444px;
}
    /**************************************     SEARCH BAR     **************************************/

    /* ********* END NAV ********* */

    /**************************************     HERO     **************************************/
    .kestrel-sws-store #myCarousel .hero-content {
        padding: .5em 0 0;
    }

    .kestrel-sws-store #myCarousel .carousel-btn {
        padding: 12px 48px 12px 20px;
    }

    /* Arrow inside the button */
    .kestrel-sws-store #myCarousel .carousel-btn::after {
        right: 20px;
        /* Make arrow larger / stronger */
        font-size: 1.2rem;

    }

    /* btn hover effect */
    .kestrel-sws-store #myCarousel .hero-content:hover .carousel-btn {
        color: var(--brand-kestrel-primary-color);
        background-color: var(--white-kestrel-color);
        border: 2px solid var(--brand-kestrel-primary-color);
        box-shadow: 0 4px 10px rgba(16, 59, 84, 0.18);
        box-sizing: border-box;
    }

    .kestrel-sws-store #myCarousel .image-content {
        text-align: right;
    }

    .carousel-control-new.left {
        left: 0.75rem;
        /* Position the left arrow */
    }

    .carousel-control-new.right {
        right: 0.75rem;
        /* Position the right arrow */
    }

    .kestrel-sws-store #myCarousel .carousel-inner.hero-section,
    .kestrel-sws-store #myCarousel .carousel-inner.hero-section-french {
        display: flex;
        align-items: flex-start;
        height: 400px;
    }

    .kestrel-sws-store #myCarousel .hero-content {
        margin: 0 auto;
        max-height: 400px;
    }

    .kestrel-sws-store #myCarousel .text-content {
        padding: 0;
        width: 100%;
        max-width: 600px;
    }

    .kestrel-sws-store #myCarousel .text-content .text-contnet-inside {
        padding: 0em 0em 0em 2.5em;
    }

    .kestrel-sws-store #myCarousel .image-content {
        text-align: center;
    }

    .kestrel-sws-store #myCarousel .carousel-btn {
        font-size: 0.9rem;
    }

    .kestrel-sws-store #myCarousel .hero-content .image-content img {
        max-height: 400px;
    }

    /**************************************     BUTTONS     **************************************/
    

    /**************************************     SIDE AD     **************************************/


    /**************************************     ABOUT PAGE     **************************************/

    /* ********* END About Page ********* */

}
/* =========================================
   980px – 1199px
   ========================================= */

@media (max-width: 1199px) and (min-width: 980px) {

    /* ---------- GRID ---------- */

    .kestrel-grid-container {
        gap: 2.5em 1.2em;
        margin: 45px auto 35px;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 190px 190px 190px;
        grid-template-areas:
            "b1 b2 ad"
            "b4 b5 ad"
            "b6 b7 b8";
    }
.kestrel-solutions-grid {
   gap: 2.5em 1.2em;
}

    /* ---------- NORMAL CATEGORY CARDS ---------- */

    .kestrel-item {
        height: 190px;
    }
    .kestrel-item:not(.side-ad)::after {
        height: 38px;
    }
    /* Product image */
    .kestrel-application-img {
        width: 145px;
        height: 100%;
        padding-bottom: 14px;
        
    }
    .kestrel-application-img img {
        width: auto;
        height: 158px;
        max-width: 100%;
    }
    


  
    /* Category title */
    .kestrel-bkgr-btn {
        width: 56%;
        padding: 0 0 14px 12px;
    }
    .application-title {
        /* font-size: clamp(.8rem, 2vw, 1.3rem); */
        line-height: 1.15;
    }


    /* ---------- SIDE AD ---------- */

    .kestrel-item.side-ad {
        height: 100% !important;
    }


    /* Side-ad product image */

    .kestrel-side-ad-img {
        height: 235px;
        width: 100%;
        margin: 8px 0 5px;
    }
    .kestrel-side-ad-img img
     {
        width: auto;
        height: auto;
        max-width: 82%;
        max-height: 100%;
        object-fit: contain;
        margin: 0;
    }
    .sws-kestrel-buttons.sws-kestrel-buttons-fr .kestrel-side-ad-img img {
        width: auto;
        height: auto;
        max-width: 74%;
        max-height: 100%;
        object-fit: contain;
        margin: 0;
    }

    /* Side-ad inner content */
    .kestrel-item.side-ad .kestrel-inside-bckgr {
        padding: 8px;
        width: calc(100% - 16px);
    }
    /* Side-ad headline */
    /* .kestrel-side-ad-application-title {
        font-size: 1.15rem;
        line-height: 1.15;
    } */
    /* Side-ad product name */
    .kestrel-side-ad-subtitle {
        margin: 0 8px 8px;
    }
    .kestrel-side-ad-application-subtitle {
        font-size: 1rem;
        line-height: 1.2;
    }

    /* ---------- SIDE AD CTA ---------- */
    .kestrel-side-ad-cta {
        margin: 8px auto 18px;
    }
    .side-ad-btn {
        font-size: .9rem;
        padding: 14px 50px 14px 20px;
    }
    .side-ad-btn::after {
        right: 20px;
        top: 47%;
        font-size: 1.3rem;
    }
}

@media (max-width: 979px) {
    .row-fluid.kestrel-sws-store {
        padding-top: 9px;
    }

    /**************************************     HEADER     **************************************/
    .navbar-inner.kestrel-mobile {
        font-family: var(--body-kestrel-font);
        background: #ffffff;
        background-color: var(--white-kestrel-color);
        padding-top: 10px;
        padding-bottom: 0;
    }

    .kestrel-mobile .logo-wrapper {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 5px;
    }

    .kestrel-mobile .span3 {
        width: 25%;
        float: left;
        margin: 0px;
    }

    .kestrel-mobile img.brand.mobile-logo {
        width: 90%;
        padding: 0px;
        margin: 0px;

    }

    .kestrel-mobile .span9 {
        margin-left: 0px;
        margin-top: 0;
        width: 66.7%;
        box-sizing: border-box;
    }

    /**************************************     SEARCH BAR     **************************************/
    .kestrel-mobile .mobile-search {
        width: 100%;
        margin-top: 0;
        padding: 0;
    }

    /* Style for the button */
    .kestrel-mobile .mobile-search form#ProductDisplayForm button.btn.btn-default {
        background-color: transparent;
        border-radius: 0 3px 3px 0;
        border: none;
        border-left: 1px solid var(--brand-kestrel-primary-color);
        width: 40px;
        height: 34px !important;
        position: absolute;
        right: 0px;
        top: 50%;
        transform: translateY(-50%);
        transition: background-color 0.4s ease;
        z-index: 2;
        padding: 8px 9px;
    }

    /* Search bar container */
    .kestrel-mobile .mobile-search .input-append {
        margin-left: auto;
        margin-right: 0;
        position: relative;
        left: 0;
        width: 250px;
    }

    /* Input field styling */
    .kestrel-mobile .mobile-search input#ProductSearch.appendInputButton {
        font-family: var(--body-kestrel-font);
        color: var(--black-kestrel-color);
        border: none;
        background-color: transparent;
        padding: 7px 0px !important;
        margin-right: 0px;
        margin-left: 0px;
        font-weight: 500;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
        border: none;
        left: 7px;
        width: 92%;
    }

    .kestrel-mobile .mobile-search form#ProductDisplayForm {
        width: 100%;
        padding: 0;
        transform: translate(0%, 0%);
        background: var(--white-kestrel-color);
        height: 32px;
        border-radius: 3px;
        transform-origin: right;
        transition: width 0.4s ease, background-color 0.4s ease, right 0.4s ease;
        border: 1px solid var(--black-kestrel-color);
    }

    /* Change Button Color & Move Left when Hovering */
    .kestrel-mobile .mobile-search.input-append:hover form#ProductDisplayForm button.btn.btn-default,
    .kestrel-mobile .mobile-search.input-append:focus-within form#ProductDisplayForm button.btn.btn-default {
        background-color: var(--brand-kestrel-primary-color);
    }

    /* Input focus styling */
    .kestrel-mobile .mobile-search input.refine-search.appendInputButton:focus {
        color: var(--black-kestrel-color);
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
        border-color: var(--white-kestrel-color);
    }

    /* Target the button when the parent container is focused */
    .kestrel-mobile .mobile-search .input-append:focus-within .btn {
        background-color: transparent;
    }

    .kestrel-mobile .input-append input.refine-search.appendInputButton::placeholder {
        color: var(--brand-kestrel-primary-color);
        opacity: 1;
        /* this is for Firefox */
    }

    /**************************************     NAV     **************************************/
    /* Main nav wrapper */
    .kestrel-mobile .sws-mobile-header-nav .navbar-kestrel-subsite-mobile {
        width: 100%;
        margin: 0 !important;
        border-radius: 0;
    }


    /* Main nav container full width */
    .kestrel-mobile #SWS-mobile-nav-button-adjust {
        display: flex;
        width: 100%;
        padding: 0;
        list-style: none;
        background-color: var(--white-kestrel-color);
        border: 1px solid var(--black-kestrel-color);
        border-radius: 3px;
        position: relative;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-around;

    }

    /* All nav items reset */
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li {
        margin: 0;
        padding: 0;
        text-align: center;
        position: relative;
        /* dropdown attaches to Products li */
        background-color: transparent;
    }

    .kestrel-mobile #SWS-mobile-nav-button-adjust>li.nav-item.kestrel-home {
        flex: 0 0 50px;
        /* fixed width for icon */
        background-color: transparent;
    }

    /* Products & About equal size */
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li.nav-item.kestrel-products,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li.nav-item.kestrel-solutions,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li.nav-item.kestrel-about {
        flex: 1;
        /* equal space */
        background-color: transparent;
    }

    /* Divider between items */
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li+li:not(.collapse) {
        border-left: 1px solid var(--white-kestrel-color);
    }

    /* Links inside nav items */
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>a,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>.nav-home-icon {
        display: flex;
        width: 100%;
        padding: 6px 0px;
        background-color: var(--brand-kestrel-primary-color);
        color: var(--white-kestrel-color);
        text-decoration: none;
        align-items: center;
        justify-content: space-around;
        text-transform: none;
        font-weight: 700;
        font-size: 1rem;
        font-family: var(--body-kestrel-font);
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>a:hover,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>.nav-home-icon:hover {
        background-color: #051a28;
        color: var(--white-kestrel-color);

    }

    .kestrel-mobile #SWS-mobile-nav-button-adjust>li.kestrel-dropdown-open>a,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li.kestrel-dropdown-open>a:hover {
        background-color: var(--brand-kestrel-secondary-color);
        color: var(--brand-kestrel-primary-color);
    }

    .kestrel-mobile .kestrel-mobile-sub-nav.collapse {
        -webkit-transition: height .8s ease;
        -moz-transition: height .8s ease;
        -o-transition: height .8s ease;
        transition: height .8s ease;
    }

    /* Collapsible submenu */
    li#mobile-sws-1,
    li#mobile-sws-2 {
        width: 100%;
    }

    /* Submenu items */
    .kestrel-mobile .kestrel-mobile-sub-nav.collapse ul.accordion-inner {
        margin: 0;
        padding: 0;
        list-style: none;
        border: none;
        border-top: 1px solid var(--black-kestrel-color);
        background-color: var(--white-kestrel-color);
        border-radius: 0 0 3px 3px;
    }

    .kestrel-whole-cateogies-list-menu-wrapper {
        display: flex;
        justify-content: space-between;
        gap: 25px;
        text-align: left;
        padding: 15px;
        font-family: var(--body-kestrel-font);
    }

    .kestrel-whole-cateogies-list-menu-wrapper a {
        font-family: var(--body-kestrel-font);
        padding: 2px 0px;
    }

    /* Remove default list styles */
    .kestrel-whole-cateogies-list-menu {
        list-style: none;
        margin: 0;
        padding: 0;
        /* padding-left: 1em; */
        flex: 1;
    }

    /* Spacing between items */
    .kestrel-mobile .kestrel-whole-cateogies-list-menu li {
        /* margin-bottom: 6px;
    margin-left: 1em; */
        margin: 0 0 6px 0;
    }

    /* Optional: make header-type items stand out */

    .kestrel-mobile .kestrel-whole-cateogies-list-menu li.dropdown-main-header-title {
        margin-left: 0;
        display: block;
        position: relative;
    }

    /* L2 MENU ITEMS */

    .kestrel-mobile .kestrel-whole-cateogies-list-menu .dropdown-main-header-title a {
        position: relative;
        display: block;
        margin-left: 0;
        padding: 6px 10px 6px 10px !important;
        font-weight: 600;
        color: var(--black-kestrel-color);
        text-decoration: none;
        border-radius: 3px;
        transition:
            color 0.2s ease,
            background-color 0.2s ease;
    }

    /* L2 menu hover */
    .kestrel-mobile .kestrel-whole-cateogies-list-menu .dropdown-main-header-title a:hover {
        color: var(--brand-kestrel-primary-color) !important;
        background-color: rgba(16, 59, 84, 0.06) !important;
    }

    /* Arrow - hidden by default */
    .kestrel-mobile .kestrel-whole-cateogies-list-menu .dropdown-main-header-title a::after {
        content: "→";
        position: absolute;
        right: 12px;
        top: 50%;
        color: var(--brand-kestrel-primary-color);
        opacity: 0;
        transform: translate(-5px, -50%);
        transition:
            opacity 0.2s ease,
            transform 0.2s ease;
    }

    /* Arrow appears on hover */
    .kestrel-mobile .kestrel-whole-cateogies-list-menu .dropdown-main-header-title a:hover::after {
        opacity: 1;
        transform: translate(0, -50%);
    }

    /* L3 MENU */
    .kestrel-mobile .kestrel-whole-cateogies-list-menu li.dropdown-header {
        margin-left: 16px;
    }

    /* L3 menu items */
    .kestrel-mobile .kestrel-whole-cateogies-list-menu .dropdown-header a {
        display: inline-block;
        font-weight: 400;
        color: var(--black-kestrel-color);
        transition:
            color 0.2s ease,
            transform 0.2s ease;
    }

    /* L3 hover */
    .kestrel-mobile .kestrel-whole-cateogies-list-menu .dropdown-header a:hover {
        color: var(--brand-kestrel-primary-color);
        transform: translateX(3px);
    }

    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>.nav-home-icon {
        padding: 7px 0;
    }

    /* Remove hover/active/focus effect ONLY on the Home button */
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>.nav-home-icon:hover,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>.nav-home-icon:focus,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>.nav-home-icon:active {
        background-color: transparent !important;
        color: var(--brand-kestrel-buttons-color) !important;
    }

    .kestrel-mobile .kestrel-whole-cateogies-list-menu .dropdown-main-header-title.multiline-category a {
        display: inline-block;
        line-height: 1.2;
        vertical-align: middle;
        white-space: normal;
        word-wrap: break-word;
    }

    /* SUB menu STYLES */

    /* ********* END HEADER ********* */

    /**************************************     HERO     **************************************/
    .carousel-top.kestrel-sws-store {
        margin-top: 0px;
        width: 100vw !important;
        position: relative;
        margin-left: -50vw;
        left: 50%;
    }

    .row-fluid.kestrel-sws-store {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 0;
        margin-top: 0;
    }

    .kestrel-sws-store #myCarousel .carousel-inner.hero-section,
    .kestrel-sws-store #myCarousel .carousel-inner.hero-section-french {
        display: flex;
        align-items: flex-start;
        height: 400px;
    }

    .kestrel-sws-store #myCarousel .hero-content {
        margin: 0 auto;
        max-height: 400px;
    }

    .kestrel-sws-store #myCarousel .text-content {
        padding: 0;
        width: 100%;
        max-width: 600px;
    }

    .kestrel-sws-store #myCarousel .text-content .text-contnet-inside {
        padding: 0em 0em 0em 2.5em;
    }

    .kestrel-sws-store #myCarousel h1::before {
        min-height: 3rem;
        height: 100%;
    }

    .kestrel-sws-store #myCarousel .image-content {
        text-align: center;
    }

    .kestrel-sws-store #myCarousel .carousel-btn {
        font-size: 0.9rem;
    }

    .kestrel-sws-store #myCarousel .carousel-btn {
        padding: 12px 48px 12px 20px;
    }

    /* Arrow inside the button */
    .kestrel-sws-store #myCarousel .carousel-btn::after {
        right: 20px;
        /* Make arrow larger / stronger */
        font-size: 1.2rem;

    }

    .kestrel-sws-store #myCarousel .hero-content .image-content img {
        max-height: 400px;
    }

    /**************************************     BUTTONS     **************************************/
      
    /* ********* END BUTTONS ********* */


    /**************************************     ABOUT PAGE     **************************************/
    .kestrel-about .about-kestrel-hero {
    height: 350px;
  }

  .about-us-logo img {
    width: 28%;
  }
}

@media (max-width: 979px) and (min-width:768px) {
    .kestrel-sws-store #myCarousel .text-content .text-contnet-inside {
        padding: 0em 0em 0em 2.5em;
    }

    .kestrel-sws-store #myCarousel .hero-content .image-content {
        flex: 0 0 42%;

    }

    /**************************************     BUTTONS     **************************************/
    

    .kestrel-grid-container {
        gap: 2em 1em;
        margin: 40px auto 35px;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 180px 180px 180px;
        grid-template-areas:
            "b1 b2 ad"
            "b4 b5 ad"
            "b6 b7 b8";
    }
.kestrel-solutions-grid {
   gap: 2em 1em;
}
    /* ---------- NORMAL CATEGORY CARDS ---------- */

    .kestrel-item {
        height: 180px;
    }
    .kestrel-item:not(.side-ad)::after {
        height: 36px;
    }

    /* ---------- CATEGORY PRODUCT IMAGES ---------- */
    .kestrel-application-img {
        width: 120px;
        height: 100%;
        right: -15px;
        bottom: 0;
        padding-bottom: 12px;
    }

    .kestrel-application-img img {
        width: auto;
        height: 135px;
        max-width: 100%;
        object-fit: contain;
    }

    /* Accessories */

  /* .kestrel-application-accessories-img img {
        height: 140px;
        width: auto;
        max-width: none;
        object-fit: contain;
    } */

    /* ---------- CATEGORY TITLES ---------- */

    .kestrel-bkgr-btn {
        width: 58%;
        padding: 0 0 12px 10px;
    }

    .application-title {
        /* font-size: clamp(.75rem, 1.8vw, 1.1rem); */
        line-height: 1.15;
    }
.kestrel-solution-title {
      
        line-height: 1.15;    
        left: 10px;
        right: 10px;
    }
    .application-sub-title {
        /* font-size: .75rem; */
        line-height: 1.15;
    }
    /* ---------- SIDE AD ---------- */
    .kestrel-item.side-ad {
        height: 100% !important;
    }
    .kestrel-item.side-ad .kestrel-inside-bckgr {
        padding: 6px;
        width: calc(100% - 12px);
    }

    /* Side-ad product */
    .kestrel-side-ad-img {
        width: 100%;
        height: 215px;
        margin: 6px 0 4px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .kestrel-side-ad-img img,
    .sws-kestrel-buttons.sws-kestrel-buttons-fr .kestrel-side-ad-img img {
        width: auto;
        height: auto;
        max-width: 80%;
        max-height: 100%;
        object-fit: contain;
        margin: 0;
    }
    /* ---------- SIDE AD TEXT ---------- */

    .kestrel-side-ad-title {
        margin: 0 5px 7px;
    }
    .kestrel-side-ad-application-title {
        font-size: 1.15rem;
        font-weight: 700;
        line-height: 1;
    }
    .kestrel-side-ad-subtitle {
        margin: 0 5px 7px;
    }
    .kestrel-side-ad-application-subtitle {
        font-size: 1rem;
        line-height: 1.15;
    }

    /* ---------- SIDE AD BUTTON ---------- */
    .kestrel-side-ad-cta {
        margin: 6px auto 15px;
    }
    .side-ad-btn {
        font-size: .8rem;
        padding: 12px 42px 12px 16px;
        white-space: nowrap;
    }
    .side-ad-btn::after {
        right: 16px;
        top: 47%;
        font-size: 1.15rem;
    }
}

@media (max-width: 767px) {
    .row-fluid.kestrel-sws-store {
        padding-top: 0px;
    }

    /**************************************     NAV     **************************************/
    .navbar-inner.kestrel-mobile {
        padding-right: 0;
        padding-left: 0;
    }

    .kestrel-whole-cateogies-list-menu-wrapper {
        gap: 0px;
        padding: 15px 20px;
    }

    /**************************************     HEADER     **************************************/

    .kestrel-mobile .span3 {
        width: 30%;
    }

    .kestrel-mobile .span9 {
        margin-bottom: 0;
    }

    .kestrel-mobile .mobile-search form#ProductDisplayForm {
        height: 34px;
    }

    /**************************************     HERO     **************************************/
    .row-fluid.kestrel-sws-store {
        padding-bottom: 0;
    }

    .kestrel-sws-store #myCarousel .carousel-inner.hero-section,
    .kestrel-sws-store #myCarousel .carousel-inner.hero-section-french {
        height: 290px;
        margin-top: 0;
        box-shadow: none;
    }

    .kestrel-sws-store #myCarousel .hero-content {
        margin: 0 auto;
        max-height: 290px;
    }

    .kestrel-sws-store #myCarousel .text-content .text-contnet-inside {
        padding: 0em;
        /* padding: 0em 0em 0em 1.5em; */
    }

    .kestrel-sws-store #myCarousel .carousel-btn {
        padding: 12px 48px 12px 20px;
    }

    /* Arrow inside the button */
    .kestrel-sws-store #myCarousel .carousel-btn::after {
        right: 20px;
        /* Make arrow larger / stronger */
        font-size: 1.2rem;

    }

    .kestrel-sws-store #myCarousel .hero-content .image-content img {
        box-shadow: none;
        max-height: 290px;
    }

    .carousel-indicators {
        margin-bottom: 10px;
    }

    /**************************************     BUTTONS     **************************************/
    /* Hide Side ad */
    .kestrel-grid-container>a:nth-child(3),
    .side-ad {
        display: none !important;
    }

    /* Rebuild the GRID "ad" */
    .kestrel-grid-container {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "b1 b2"
            "b4 b5"
            "b6 b7"
            "b9 b9"           ;
        
        gap: 15px;
        width: 100%;
        padding: 0;
        padding: 0 1.2em;
    }
   .kestrel-grid-container > a:nth-child(8) {
        display: none;
    }
    .kestrel-grid-container > a:nth-child(9) {
        display: block;
        grid-column: 1 / -1;
        grid-area: b9;
    }
    .kestrel-application-img {
    width: 160px;    
    right: -20px;   
    
}
    


   

    /* ********* END BUTTONS ********* */
    /**************************************     ABOUT PAGE     **************************************/
    .kestrel-hero-container {
        margin-top: 0px;
    }
      .kestrel-hero-container {
    margin-top: 0;
  }

  .kestrel-about .about-kestrel-hero {
    height:320px;
  }

  .about-us-logo img {
    width: 36%;
  }

  .row-fluid.about-kestrel-container {
    padding: 28px 16px;
  }

  .row-fluid.about-kestrel-container h2,
  .row-fluid.about-kestrel-2 .row-fluid.about-kestrel-container h2 {
    font-size: 20px;
  }

    

}
@media (max-width: 767px) and (min-width: 481px) {
    .application-title {
        font-size: clamp(1rem, 3vw, 1.375rem);
    }

       /* Image container */
    .kestrel-grid-container > a:nth-child(9) .kestrel-application-accessories-img {
        width: 50%;
        height: auto;
        position: absolute;
        top: 0;
        bottom: 40px;
        right: 15px;
        bottom: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        overflow: visible;
        z-index: 1;
    }

    /* New group-shot image */
    .kestrel-grid-container > a:nth-child(9) .kestrel-application-accessories-img img {
        width: auto;
        height:80%;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        margin: 0;
    }
    /********************  KESTREL SOLUTIONS SECTION ********************/
  .kestrel-solutions-section {
        margin: 40px auto;
    }

    .kestrel-solutions-heading {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }

    .kestrel-solutions-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        padding: 0 1.2em;
    }

    .kestrel-solution-card {
        height: 180px;
    }

    .kestrel-solution-title {
        left: 15px;
        right: 15px;
        font-size: clamp(1rem, 3vw, 1.375rem);
        line-height: 1.2;
    }
/******************** END KESTREL SOLUTIONS SECTION ********************/
}
@media (max-width: 600px) and (min-width: 481px) {
    .kestrel-application-img {
    width: 105px;
    right: -13px; 
    padding-bottom: 0px;
    
}
    


}
@media (max-width: 600px) {

    /**************************************     HEADER     **************************************/
    .kestrel-mobile .mobile-search form#ProductDisplayForm {
        left: 1px;
    }

    /**************************************     NAV     **************************************/
    .kestrel-mobile .nav-home-icon-svg {
        width: 16px;
        height: 16px;
        padding: 2px;
    }

    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>a {
        padding: 7px 0px;
    }

    /**************************************     HERO     **************************************/


    .row-fluid.kestrel-sws-store {
        padding-top: 4px;
    }

    /* HERO HEIGHT */
    .kestrel-sws-store #myCarousel .carousel-inner.hero-section,
    .kestrel-sws-store #myCarousel .carousel-inner.hero-section-french {
        height: 500px;
    }

    .kestrel-sws-store #myCarousel .carousel-inner>.item {
        height: 100%;
    }

    /* HERO: stack vertically */
    .kestrel-sws-store #myCarousel .hero-content {
        position: relative;
        width: 100%;
        height: 100%;
        min-height: 500px;
        height: 100%;
        flex-direction: column;
        padding: 0;
        text-align: center;
        align-items: center;
        box-sizing: border-box;
    }

    .kestrel-sws-store .hero-global-link {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 5;
    }

    /* IMAGE FIRST  order: -1 */
    .kestrel-sws-store #myCarousel .hero-content .image-content {
        order: -1;
        width: 100%;
        height: 280px;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: visible;
        flex-shrink: 0;
        margin-top: 20px;
    }

    .kestrel-sws-store #myCarousel .hero-content .image-content img {
        height: 260px;
        width: auto;
        max-width: 100%;
        box-shadow: none;
    }


    /* TEXT */
    .kestrel-sws-store #myCarousel .text-content {
        width: 100%;
        max-width: 100%;
        height: auto;
        flex: 0 0 auto;
        /* important */
        margin: 0;
        padding: 10px 7vw 0;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .kestrel-sws-store #myCarousel .text-content .text-contnet-inside {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }


    /* TITLE */
    .kestrel-sws-store #myCarousel h2 {
        margin: 10px 0 18px;
    }


    /* BUTTON */
    .kestrel-sws-store #myCarousel .carousel-btn {
        padding: 12px 48px 12px 20px;
    }

    /* Arrow inside the button */
    .kestrel-sws-store #myCarousel .carousel-btn::after {
        right: 20px;
        /* Make arrow larger / stronger */
        font-size: 1.2rem;

    }

}
    
    /**************************************     BUTTONS     **************************************/

    /**************************************     ABOUT PAGE     **************************************/



@media (max-width: 480px) {

    /**************************************     HEADER     **************************************/
    .kestrel-mobile .span3 {
        width: 30%;
    }

    /**************************************     SEARCH BAR     **************************************/

    .kestrel-mobile .input-append input.refine-search {
        width: 79% !important;
    }

    .kestrel-mobile .input-append input {
        font-size: 13px !important;
    }

    /**************************************     NAV     **************************************/
    .kestrel-whole-cateogies-list-menu-wrapper {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
    }

    /**************************************     HERO     **************************************/
    .carousel-top.kestrel-sws-store {
        padding-bottom: 0em;
    }

    .kestrel-sws-store #myCarousel h2 {
        margin: 10px 0 18px;
    }

    /**************************************     BUTTONS     **************************************/
    .kestrel-grid-container {
        grid-template-columns: 1fr;
        grid-template-areas: "b1" "b2" "b4" "b5" "b6" "b7" "b8" ;
    }
      .kestrel-grid-container > a:nth-child(8) {
        display: block;
        grid-area: b8;
    }

    /* Hide wide Accessories card */
    .kestrel-grid-container > a:nth-child(9) {
        display: none;
    }
  
     .application-title {
        font-size: clamp(1rem, 4.5vw, 1.375rem);


    /* ********* END BUTTONS ********* */   

}
/********************  KESTREL SOLUTIONS SECTION ********************/
  .kestrel-solutions-section {
        margin: 35px auto;
    }

    .kestrel-solutions-heading {
        font-size: 1.6rem;
        margin-bottom: 25px;
    }

    .kestrel-solutions-grid {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 1.2em;
    }

    .kestrel-solution-card {
        height: 200px;
    }

    .kestrel-solution-title {
        /* left: 24px;
        right: 24px; */
        font-size: clamp(1rem, 4.5vw, 1.375rem);
        line-height: 1.2;
    }
/******************** END KESTREL SOLUTIONS SECTION ********************/
/**************************************     ABOUT PAGE     **************************************/




  .row-fluid.about-kestrel-container {
    padding: 20px 14px;
  }

  .row-fluid.about-kestrel-container h2,
  .row-fluid.about-kestrel-2 .row-fluid.about-kestrel-container h2 {
    font-size: 18px;
    padding: 0 0.5em 0 20px;
  }

  .row-fluid.about-kestrel-container p {
    font-size: 15px;
  }
  .row-fluid.about-kestrel-hero h1 {
    padding-left:20px;
    padding-right:20px;
  }
  .french-about-us .row-fluid.about-kestrel-hero h1 {
    font-size: 36px;
    line-height: 120%;
  }

  .french-about-us span.hero-h1 {
    font-size: 64px;
  }
}
@media (max-width: 399px) {

    /**************************************     HEADER     **************************************/
    .navbar-inner.kestrel-mobile {
        padding-top: 15px;
    }

    .kestrel-mobile .logo-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        gap: 8px;
        align-items: center;
        padding-bottom: 0;
    }

    .kestrel-mobile .span3 {
        width: 50%;
    }

    .kestrel-mobile .logo-wrapper .span3 a {
        display: flex;
    }

    .kestrel-mobile .span9 {
        margin-bottom: 10px;
        width: 100%;
    }

    /**************************************     SEARCH BAR     **************************************/

    .kestrel-mobile .input-append input.refine-search {
        width: 83% !important;
    }

    /**************************************     NAV     **************************************/
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li.nav-item.kestrel-home {
        flex: 0 0 30px;
    }

    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>a,
    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>.nav-home-icon {
        font-size: 0.9rem;

    }

    .kestrel-mobile #SWS-mobile-nav-button-adjust>li>a {
        padding: 6px 0px;
    }

    .kestrel-mobile .nav-home-icon-svg {
        width: 14px;
        height: 14px;
    }

    /**************************************     HERO     **************************************/
    .kestrel-sws-store #myCarousel .carousel-btn {
        padding: 12px 48px 12px 20px;
    }

    /* Arrow inside the button */
    .kestrel-sws-store #myCarousel .carousel-btn::after {
        right: 20px;
        /* Make arrow larger / stronger */
        font-size: 1.2rem;

    }

    /**************************************     BUTTONS     **************************************/
  

    /**************************************     ABOUT PAGE     **************************************/
}


@media (max-width: 329px) {

    /**************************************     HEADER     ************************************************/
    .navbar-inner.kestrel-mobile {
        padding-bottom: 0px;
    }

    .kestrel-mobile .span9 {
        margin-bottom: 5px;
    }

    .kestrel-mobile .sws-mobile-header-nav .nav>li>a {
        font-size: 0.8em;
    }

    .kestrel-sws-store #myCarousel .text-content {
        padding: 10px 5vw 0;

    }
    .kestrel-bkgr-btn {
    padding: 0 5px 15px 10px;
    background: transparent;
    width: 45%;
    order: 1;
    box-sizing: border-box;
    margin: auto 0;
}
.kestrel-application-img {       
    right: -11px;
    
}

.kestrel-solution-title {
    left:10px;
    right:10px}
    /**************************************     SEARCH BAR     **************************************/
    /**************************************     HERO     **************************************/
    /**************************************     BUTTONS     **************************************/
    /**************************************     ABOUT PAGE     **************************************/

}




/* ********* END About Page ********* */
