@import url(https://fonts.googleapis.com/css?family=Open+Sans);
:root {
    --logo-font-color: black;
    --pg-bkg-color: white;
    --font-color-1: #000000;
    --font-color-2: #fff;
    --font-color-3a: #ecb537;
    --font-color-3b: #2c3a83;
    --font-color-3c: #00b0d2;
    --font-color-4: #85ddb6;
    --priority-bkg: #f9e998;
    --priority-color: #000;
    --priority-links: #0d1d41;
    --basic-listing-bgk: #fff;
    --basic-color: #000;
    --basic-link: #0d1d41;
    --big-font: "Open Sans", sans-serif;
    --cat-bg: #0fb8d8; /* tile bg */
    --cat-border: #000;
}
.listing-item .member-logo img {
    max-height: 53px;
    width: auto;
    max-width: 130px;
    /* filter: grayscale(1) invert(1) contrast(2); */
}
.sub-cat a:hover {
    text-decoration: underline;
    color: var(--font-color-3a);
}
button.navbar-toggle {
    background-color: var(--font-color-3b);
}
div#pgCont {
    border-color: var(--font-color-3b, black);
    background: var(--pg-bkg-color, #fff);
}
a {
    color: var(--font-color-3b, inherit);
    text-decoration: none;
}
a:hover,
a:focus {
    color: var(--font-color-3a, blue);
    text-decoration: none;
}
.gui-logo {
    margin: auto 0;
}
.gui-logo-name {
    font-size: 46px;
    color: var(--logo-font-color, inherit);
    font-family: var(--big-font, sans-serif);
    font-weight: bold;
    text-shadow: 2px 2px 2px var(--font-color-3a);
}
body {
    font-family: "Open Sans", sans-serif;
    margin: 0px;
    padding: 0px;
    height: 100%;
    background-image: url(/images/guide/kmca-background.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.top-bar {
    background-color: var(--font-color-3b, black);
}

.AssocHeader {
    background-color: var(--font-color-2, black);
    grid-template-columns: auto;
    grid-area: assocheader;
}
img#AssocLogo {
    max-height: 70px;
}

.nav-area {
    background-color: var(--font-color-2);
    margin-bottom: 10px;
    border-bottom: 1px solid var(--font-color-3b, black);
    border-top: 1px solid var(--font-color-3b, black);
}
.nav_banner {
    padding-bottom: 10px;
}
.nav-li {
    border: none;
}
.nav-menu a {
    color: var(--font-color-1, black);
}
.nav-menu .nav-li > a:hover,
.nav-menu .nav-li .parent-sub.active,
.nav-li.active {
    color: var(--font-color-2, inherit);
    background-color: var(--font-color-3b, inherit);
}
.nav-li.active > a {
    color: var(--font-color-2, initial);
}
.sub-li a {
    color: var(--font-color-1, white);
    font-weight: normal;
    font-size: 14px;
}
.sub-li a:hover {
    top: 0px !important;
    color: var(--font-color-2, blue);
    background-color: var(--font-color-3b, lightgrey);
}
.sub-li.active,
.sub-li.active a {
    color: var(--font-color-2, blue);
    background-color: var(--font-color-3b, lightgrey);
}
.nav-menu .showSubmenu {
    background-color: var(--font-color-2, grey);
}
img.sponsor-logos.sponsor-logo1 {
    height: 40px;
}
/**BANNER**/
.banner-ad {
    background-color: transparent;
}
.banner-ad img {
    margin-top: 0;
}
.foot_banner .banner-ad img {
    margin: 1% auto;
}
.footer {
    margin: auto;
    background-color: transparent;
    padding-left: 4%;
}
.breadcrumb {
    padding: 0px 15px;
    font-size: 10px;
}

/**CATS**/
.cats-row {
    opacity: 1;
}
.cat-drop.multi-cats {
    color: var(--font-color-3b, white);
}
.cat-dropbox {
    background-color: var(--font-color-3c, white);
}
.cat-dropbox a {
    color: var(--font-color-3b);
    font-weight: bold;
}
.cat-dropbox:hover a,
.cat-dropbox a:hover,
.cat-dropbox:hover .cat-drop.multi-cats {
    color: var(--font-color-2, blue);
    text-decoration: none;
}
.cat-dropbox:hover,
.cat-dropbox:hover .cat-drop.multi-cats {
    background-color: var(--font-color-3a, white);
}
.cat-dropbox:hover a {
    background-color: unset;
}
.sub-cat {
    background-color: var(--pg-bkg-color, white);
    color: var(--font-color-4, black);
}
.sub-cat a {
    color: var(--font-color-1, black);
}

h4.body_header.cat_header.listings_header {
    width: 100% !important;
    display: block;
    background-color: var(--font-color-2, black);
}
.scats a:hover {
    color: var(--font-color-3a, black);
}
/**FEATURED BAR**/
.featuredbtn.pull-right {
    background-color: var(--font-color-3b, initial);
}
.featuredbtn.pull-right:hover {
    background-color: var(--font-color-3a, blue);
    /* opacity: 0.75; */
}
.body_header,
.featured_title,
.scat-list .body_header {
    color: var(--font-color-2, white) !important;
    background-color: var(--font-color-3b, black) !important;
    padding: 4px 0;
    /* background-image: linear-gradient(45deg, black, transparent 80%); */
}
.featured_header,
.body_header.cat_header,
.spots_header a {
    color: var(--font-color-2, white) !important;
}
.featured_ads {
    grid-template-areas:
        "feat_header feat_header"
        "feats1 feats2"
        "browse_text browse_text";
}
.featuredbtn {
    padding: 3px 16px;
    margin-top: 15px;
    margin-bottom: 6px;
}
.spots > li a {
    color: var(--font-color-4, blue);
}
.spotlights {
    float: right;
    width: 137px;
}
.spots > li:nth-child(even) {
    /* background-color: #286aa3; */
    background-color: initial;
}

.spots > li:nth-child(odd) {
    /* background-color: #4c4d4f; */
    background-color: initial;
}
.spot-prod.case-item {
    background-color: var(--basic-listing-bgk, white);
}
.btn-primary {
    background-color: var(--font-color-1, black);
    border-color: var(--font-color-3a, black);
    color: var(--font-color-3b, white);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
    color: #ffffff;
    background-color: #327f33;
    border-color: #0a64ab;
}

/**LOGOS**/
.sponsor-logo img {
    width: 124px;
    height: auto;
}
.sponsor-logo img {
    max-width: 130px;
}
.listing-logos {
    flex: 0 1;
}

.well_footer {
    background-color: var(--font-color-3b, black);
}
.footer_nav li a {
    color: var(--font-color-4, blue);
    font-family: "Open Sans", sans-serif;
}
.footer_nav li + li {
    background: url("../images/separator.jpg") no-repeat top left;
    padding-left: 10px;
}
.small {
    color: var(--basic-link, black) !important;
}
.text-muted {
    font-family: "Open Sans", sans-serif;
    margin-top: 26px;
    margin-bottom: 26px;
    font-size: 13px;
}
.listing-logos img.member-logo {
    height: 70px;
}

/**SEARCH**/
.imgsearch {
    width: 134px;
    margin-bottom: 6px;
}
.searchbtn {
    padding: 10px 21px;
    margin-top: 7px;
}
.searchtext {
    margin-left: 10px !important;
    font-size: 13px;
    font-family: "Open Sans", sans-serif;
}
.panel-heading {
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    margin-bottom: 6px;
}
.search-body > .panel-heading {
    background-color: var(--font-color-2, black);
    border: 1px solid var(--font-color-3a, black);
    color: var(--font-color-3b, white);
}
.scroll-btns,
.page-nav {
    color: var(--font-color-3a, black);
}
.page-numbers {
    background-color: var(--font-color-3a, blue);
}
.page-numbers li a,
.page-numbers li {
    color: var(--font-color-2, #fff);
}
.page-numbers li a:hover {
    color: var(--font-color-3c, blue);
}
.scroll-btns:hover,
.page-nav:hover {
    color: var(--font-color-2, blue);
}
.searchmargin {
    margin-bottom: 14px;
}

/**LISTINGS**/
.listing-item {
    background-color: var(--basic-listing-bgk, transparent);
}
.listing-details {
    color: var(--basic-color, black);
}
.listing-item.priority {
    background-color: var(--priority-bkg, lightblue);
}
.listing-item.priority .listing-details {
    color: var(--priority-color, red);
}
.listing-details a,
.listing-details h4 a {
    color: var(--basic-link, blue);
}
.listing-item.priority .listing-details a {
    color: var(--priority-links, blue);
}
.listing-details a:hover {
    color: var(--font-color-3b, white);
}
.company-contact a {
    color: var(--font-color-3c white);
}
.company-contact a:hover {
    color: var(--font-color-3a, orange);
}
.listing-item.priority .listing-details a:hover {
    color: var(--font-color-3b, orange);
}
.desc_header {
    color: #ffffff;
    background-color: var(--font-color-3b, lightgrey);
    border-color: var(--font-color-3a, black);
    font-family: inherit;
    padding: 6px;
    border-bottom: 1px solid transparent;
}
.desc_boarder {
    border-color: var(--font-color-3a, white);
}
.company-desc {
    border-radius: 4px;
    background: white;
}
.listing_row.top_row {
    margin-bottom: 1em;
}
listing-item .member-logo img {
    max-height: 56px;
}
/**MISC**/
.glyphicon-chevron-down {
    font-size: 11px;
}
#toTop {
    padding: 3px 8px 5px;
    background: var(--font-color-3b, #000);
    color: #fff;
    position: fixed;
    bottom: 3px;
    right: 3px;
    display: none;
    border-radius: 4px;
}
#toTop:hover {
    cursor: pointer;
    background: var(--font-color-3a, black);
    color: #ffffff;
}

/***POPUP***/
/* The Modal (background) */
.homepopup {
    /* display: none; */ /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0, 0, 0); /* Fallback color */
    background-color: rgba(0, 0, 0, 0.6); /* Black w/ opacity */
}

/* Modal Content */
.pop-content {
    background-color: #fefefe;
    margin: auto;
    padding: 0px 16px 16px;
    border: 1px solid #888;
    width: fit-content;
    max-width: 1000px;
    height: 55%;
    min-height: fit-content;
    transform: translateY(-50%);
    top: 25%;
    position: relative;
    box-sizing: border-box;
}
.pop-content img {
    height: 80%;
    max-height: 445px;
    display: block;
    max-width: 100%;
    margin: 2em auto;
    box-sizing: border-box;
    border: 2px solid var(--font-color-1, black);
}
.pop-content h3 {
    text-align: center;
    display: block;
    position: relative;
    font-size: 22px;
}
/* The Close Button */
.pop-content .closehomepop {
    color: #aaaaaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

#contclose {
    margin: 6px auto 0;
    width: 100%;
    color: blue;
    bottom: 1em;
    position: absolute;
    text-align: center;
}
.pop-content .closehomepop:hover,
.pop-content .closehomepop:focus,
#contclose:hover,
#contclose:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

/* 1. Company Listings 'All Listings' -> 'Allied Members' */
.pg-listingslist-all h4.body_header.cat_header.listings_header {
    color: transparent !important;
    pointer-events: auto;
    user-select: none;
}

.pg-listingslist-all h4.body_header.cat_header.listings_header:before {
    content: "Company Listings";
    margin-left: 3.5rem;
    position: absolute;
    color: white;
    pointer-events: auto;
}

/* 2. Hide the "Carrier Members" category from the main index page (that's accessed through menu item) */
/* .index-page .crow:has([data-tag-name="Carrier Members"]) {
    display: none;
} */

/* 3. Make the Carrier Members category page look more like the top-level listings page. */

/* Container for this parent category's scats */
.scats.carrier-members {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 10px; /* gap to match the Home page */
    box-sizing: border-box; /* prevent overshoot */
    width: 100%;
    background: #e9eef4; /* adjust if your category bg differs */
    color: black;
    border: 0; /* remove outer border */
}

/* Each subcategory "cell" (anchor) */
.scats.carrier-members > a {
    display: block; /* block so width:100% respects box model */
    border: 1px solid black; /* outer border only */
    border-top: 1px solid black !important; /* override inner grid lines */
    box-sizing: border-box;
    width: 100%;
    padding: 10px 8px;
    text-decoration: none;
    color: var(--font-color-3b);
    font-size: 14px;
    border-radius: 2px;
    font-weight: 600; /* heavier text */
    line-height: normal;
    height: 44px; /* fixed height to match home page */
    min-width: 0; /* enables ellipsis */
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    background: var(--cat-bg);
    border-color: var(--cat-border);
}

/* Inner grid lines (single 1px table-like rules) */
.scats.carrier-members > a {
    border-top: 1px solid #000; /* row separators */
}
.scats.carrier-members > a:nth-child(-n + 2) {
    border-top: 0; /* first row has no top separator */
}
.scats.carrier-members > a:nth-child(2n) {
    border-left: 1px solid #000; /* vertical separator between the two cols */
}

/* Hover to mirror your category tiles */
.scats.carrier-members > a:hover {
    background: var(--font-color-3a);
    color: white;
    font-weight: 700; /* a touch heavier on hover */
    text-shadow: none !important;
}

/* Override inherited margin */
.scat-list .scats.carrier-members a {
    margin-left: 0;
}
