@import url(https://fonts.googleapis.com/css?family=Monda:400,700);
:root {
    --golden-ratio: 1.618;

    /* Multiple-listing deduplication behavior */
    --multi-radius: 24px;
    --multi-close-border-color: black;
    --multi-border: #c5d3ea;
    
    /* Highlighting differences between children */
    --multi-diff-highlight: #ecfdf3;
    --multi-diff-font-weight: 600;

    /* |X| CHOOSE */
    /* Multi-listing expanded group */
    --multi-bg:  cadetblue;
    --multi-bg: #f3f7fb;
    
    --multi-shadow: 0 0 20px rgba(0,0,0,0.3);
    --multi-shadow: 0 12px 32px rgba(15, 23, 42, 0.25);
    
    /* Multi-listing toggle / close button */
    --multi-toggle-color: #1d4ed8;
    --multi-toggle-color: blue;
    
    --multi-toggle-hover-color: #1e40af;
    --multi-toggle-hover-color: orange;
    
    --multi-close-bg: #b91c1c;
    --multi-close-bg: #c90025;
    
    --multi-close-color: #ffffff;
    --multi-close-color: white;
    
    --multi-disclaimer-color: #4b5563;
    --multi-disclaimer-color: darkblue;
}

body{
    font-family: 'Monda', sans-serif;
    background-color: white;
    position: relative;
    margin: 0;
}
.main-listings {
    position: relative;
    display: grid;
    grid-template-columns: auto;
    grid-template-areas:
        "feats"
        "scroll";
    margin-left: auto;
    margin-right: auto;
    max-width: 99%;
    margin-bottom: 1%;
}
html, body {
    min-height: 100vh;
    scrollbar-gutter: stable;
}
.page-content{
    min-height: 100vh;
}
/*
.listings-list {
    width: 44%;
    max-width: 735px;
    margin: auto;
}
*/
.listings-list h1{
    text-align:center;
    color:white;
    font-size: 27px;
}
.listing-details h4 {
    margin: 0!important;
}
.regName{
    font-size: 20px;
    text-decoration: underline;
}
.listing-item.priority {
    background-color: #fcd26f;
}
.listing-item {
    padding: 10px 8px;
    margin-bottom: 16px;
    border: 1px solid;
    display: grid;
    word-break: break-word;
    grid-template-columns: minmax(auto, 144px) auto auto;
    /*background-color: rgb(0, 87, 45, 0.3);*/
    grid-template-areas: "l-logo l-details l-logos";
    border-radius: 3px;
}
.listing-item.member .member-logo, .listing-item.basic .listing-logo, .listing-item.basic h4, .listing-item.basic h4 a {
    display: block;
}
.listing-logos {
    flex: 0 1 auto;
}
/* .listing-logos .member-logo {
    max-width: 100%;
} */
.listing-logos img.member-logo {
    height: 70px;
}
.listing-item .listing-logo {
    width: 145px;
    margin-right: 10px;
    display: none;
    grid-area: l-logo;
}
.listing-item.member .member-logo, .listing-item.basic .listing-logo, .listing-item.basic h4, .listing-item.basic h4 a, .listing-item.Basic .listing-logo, .listing-item.Basic h4, .listing-item.Basic h4 a {
    display: block;
}
.listing-item .member-logo {
    display: none;
    text-align: right;
}
a.Adv_links {
    font-size: inherit!important;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}
.listing-item .listing-logo img {
    max-width: 145px;
    width: 100%;
}
.listing-details h3 {
    margin-top: 0;
}
.listing-details ul {
    list-style-type: none;
    padding: 0;
}
.listings-list h4, .listings-list h4 a {
    color: black;
    cursor: pointer;
    text-decoration: none;
    width: fit-content;
    display: none;
}
.listing-item .member-logo img {
    max-height: 60px;
    width: auto;
    max-width: 130px;
    /* filter: grayscale(1) invert(1) contrast(2); */
}
.listing-item.associate .listing-details {
    grid-column: 1 / 3;
}
.listing-item .member-logo {
    display: none;
    text-align: right;
}

.page-numbers ul.quick-nav {
    text-align: center;
    overflow-x: auto;
}
.page-numbers ul {
    margin: 8px;
    display: block;
    padding: 0;
}
.page-numbers li {
    display: inline-block;
    margin: 0 4px;
    color:white;
}
.page-numbers li a{
    color:white;
}

.page-numbers.listing{
    order: -2; 
    width: 100% !important;
}
.quick-nav.listing{
    margin-bottom: 0px;
    margin-top: 0px;
}

.AssocHeader {
    grid-area: assocheader;
    grid-template-columns: auto 72%;
    grid-template-areas: "logo guiname";
    display: flex;
    background: black;
}
.top-bar{
    width: 100%;
    box-sizing: border-box;
    display: block;
    /* grid-template-columns: 20% 60% 20%;
    grid-template-areas: "logo banner guiname" "navbar navbar navbar"; */
    grid-template-columns: auto;
    grid-template-areas:
                        "assocheader"
                        "navbar"
                        "banner";
    background-color: rgba(250,255,253,1);
}
button.navbar-toggle {
    background-color: #4465AB;
}
.scat-list a, .scat-list h1 {
    color: black;
    text-decoration: none;
    margin-left: 2%;
}
.scats {
    display: grid;
    text-align: start;
    background-color: #eeeeee;
}
.scat-list .body_header {
    background-color: #00572d!important;
}
.media-scroll h1 {
    COLOR: black;
}
.aboutOurGuideText:after{content:"The Buyers Guide is the first resource that everyone in the industry turns to when they are looking to purchase any products or services.  The reason everyone gets involved is because the Buyers Guide is not only available on the home page of the trade association's website, but it is also emailed to members of the Association trade show/convention attendees.  For that reason, this is the single best way for you to enhance your image and keep your name out in front of all the key decision makers throughout the industry.";}
.aboutOurGuideText {
    color: black;
}
.media-scroll strong, .media-scroll p {
    color: black;
}
.media-scroll {
    grid-area: scroll;
}
.showMemberInfo{
    padding: 0 6px;
}
.advertisewithus-scroll h1 {
    color: black;
    text-align:center;
    margin: 0px 0px 22px 0px;
}
.contactus-scroll h1 {
    color: black;
    text-align:center;
    margin: 0px 0px 22px 0px;
    
}
.advertisewithus img{
    width: 25px;
    height: 25px;
    padding-right: 3px;
    vertical-align: text-bottom;
}
.contactusAdvertiseWUs img{
    width: 25px;
    height: 25px;
    padding-right: 3px;
    vertical-align: text-bottom;
}
.requestInfo form {
    color: black;
}
.requestInfo form #capImg{
    width: 150px;
    height: auto;
}
.requestInfo form button {
    width: 10%;
    height: 25px;
}
h4.pg-ads-title a {
    color: black;
    text-decoration: none;
}

h4.spotlights_headers a {
    color: black;
    text-decoration: none;
}

ul.media-list {
    padding: 0;
}

.searchheading {
    padding-left: 2%;
    padding-top: 1%;
    padding-bottom: 1%;
}
.requestInfo form input[type=text] {
    display: block;
    width: 35%;
    height: 25px;
    padding: 5px 9px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #555555;
    background-color: #ffffff;
    background-image: none;
    border: 1px solid #cccccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.result_custommeta, .result_title, .infoline {
    display: none;
}
span.error {
    color: red;
}
.requestInfo form input[type=text]:focus  {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.advertisewithus {
    color: black;
    float: left;
    grid-area: advertisewrapper;
}
.contactusAdvertiseWUs {
    color: black;
    float: left;
    grid-area: advertisewrapper;
}
.gmap {
    float: right;
    grid-area: gmap;
    justify-self: right;
}
.advertisewithus a{
    color:black;
    text-decoration:none;
}
.advertisewithus a:hover{
    color:#00572d;
    text-decoration:underline;
}
.contactusAdvertiseWUs a{
    color:black;
    text-decoration:none;
}
.contactus {
    float: left;
    grid-area: contuswrapper;
    color: black;
}
.contactus a{
    color: black;
    text-decoration:none;
}
.cmap {
    float: right;
    grid-area: cmap;
    justify-self: right;
}
.cname {
    font-size: larger;
    font-weight: bold;
    margin-bottom: 10px;
}
.contactus img{
    width: 25px;
    height: 25px;
    padding-right: 3px;
    vertical-align: text-bottom;
}
.contactus-scroll {
    grid-template-areas:
        "ptitle"
        "advertisewus"
        "contus";
    display: grid;
}
.ptitle {
    grid-area: ptitle;
}
.advertisewithusWrapper {
    grid-area: advertisewus;
    display: grid;
    grid-template-areas: "advertisewrapper gmap";
    grid-template-columns: 50% 50%;
}
.contusWrapper {
    grid-area: advertisewus;
    display: grid;
    grid-template-areas: "advertisewrapper cmap";
    grid-template-columns: 50% 50%;
}
.contactusWrapper {
    grid-area: contus;
    grid-template-areas: "contuswrapper cmap";
    display: grid;
    grid-template-columns: 50% 50%;
}
.gui-logo {
    margin: auto;
    grid-area: logo;
}
.gui-logo-name{
    grid-area: guiname;
    display: block;
    margin: 0 auto;
    font-size: 30px;
    text-align: center;
    align-self: center;
    color: white;
}
.nav_banner.mobile{
    display: none;
}
.banner-ad{
    grid-area: banner;
    background-color: #4c4d4f;
}
.mobileban{
    display: none !important;
}
.footer_nav li {
    list-style-type: none;
    display: inline;
    text-decoration: none;
}
.footer_nav li a{
    text-decoration: none;
}
.footer_nav li + li {
    background: url(../images/separator.jpg) no-repeat left;
    padding-left: 10px;
}
.well_footer {
    background-color: #00572D;
    padding: 6px;
}
ul.footer_nav {
    padding-left: 1%;
}
.footer_text {
    grid-area: footer_text;
}
.footer_logo {
    grid-area: footer_logo;
}
.footer_nav a:hover {
    text-decoration: underline;
}
.footer {
    grid-template-areas: "footer_logo footer_text";
    grid-template-columns: 28% 72%;
    display: grid;
    margin-left: 4%;
}
.banner-ad img{
    width: 99%;
    max-width: 990px;
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-top: 1%;
    border: 1px solid;
}
.foot_banner .banner-ad img{
    margin-bottom: 1%;
}
.banner-foot{
    width: 100%;
    background-color: #aaba89;
    display: block;
    border-color: inherit;
    border-width: 6px 0 6px;
}
.banner-foot a img{
    border: 1px solid #26526D;
    border-bottom: 0;
    border-radius: 15px 15px 0 0;
    box-sizing: border-box;
    width: 100%;
    max-width: 750px;
    display: block;
    margin: auto;
}
#bottom-banner .showSVM{
    display: none;
}
.text-muted {
    color: #4c4d4f;
    font-style: italic;
    font-family: 'Montserrat', sans-serif;
    margin-top: 16px;
    /* margin-bottom: 16px; */
    font-size: 13px;
}
.nav-area{
    grid-area: navbar;
    display: block;
    background-color: #00572d;
}
button.navbar-toggle{
    display: none;
}
.nav-menu.collapse{
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
}
.menu-area {
    grid-template-areas: "nmenu nsearch";
    grid-template-columns: auto auto;
    display: grid;
}
.nav-menu{
    list-style-type: none;
    margin: 0;
    padding: 0;
    grid-area: nmenu;
}
.nav_search {
    grid-area: nsearch;
    margin: auto 5px;
}
nav.menu-area {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.nav-menu.collapse {
    flex: 0 0 fit-content !important;
}
.nav_search {
    flex: 0 !important;
}
.search_icon {
    background-color: black;
    width: 23px;
    height: 100%;
}
.SearchDiv.onpagesearch {
    display: inline-flex;
    border: 1px inset rgb(215,215,215);
    width: 100%;
}
.nav-li{
    display: inline-block;
    border: 1px solid #00572D;
    text-align: center;
    /*background-color: rgba(106,139,127,.8);*/
    color: white;
    box-sizing: border-box;
    margin: 0;
    width: auto;
    font-size: 20px;
    position: relative;
}
.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}
.sub-li {
    margin: 0;
    text-align: left;
    white-space: nowrap;
}
.sub-li a:hover{
    top: 0px!important;
    color: white;
    background-color: #00572d;
}
.sub-li a {
    padding: 3px 20px!important;
    display: inline-block;
}
.nav-li:hover{
    color: #fff;
    cursor: pointer;
}
.main-content.main-single {
    position: relative;
    display: grid;
    grid-template-areas: "showcase-grid";
    grid-template-columns: 100%;
}
.showcase-grid {
    grid-area: showcase-grid;
}
.feature-footer {
    position: relative;
    align-self: end;
}
.main-single h3 {
    text-align: center;
}

.listing-details a {
    color: black;
    text-decoration:none;
    font-size: 17px;
}
.website a {
    color: #333333;
    text-decoration: none;
    font-size: inherit;
}
h4.spots_header a {
    color: white!important;
}
.showcase-grid h4 {
    color: black;
    padding: 10px;
    font-size: 18px;
}

.main-content.search-listings {
    margin-left: 5%;
    margin-right: 5%;
    margin-top: 2%;
}
.panel-heading {
    color: #ffffff;
    background-color: #00572D;
    border-color: #4c4d4f;
    font-family: 'Montserrat', sans-serif;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    margin-bottom: 6px;
}
.summary {
    padding-left: 2%;
    padding-top: 1%;
    padding-bottom: 1%;
}
a.Adv_links {
    color: #333333;
    font-family: 'Montserrat', sans-serif;
}
ul, ol {
    margin-top: 0;
    margin-bottom: 10px;
}
.zoom_searchform {
    padding: 15px;
}
.media-list {
    padding-left: 0;
    list-style: none;
}
.nav-li.active {
    color: #fff;
    background-color: #999999;
}
.nav-menu a {
    text-decoration: none;
    color: inherit;
    display:block;
    padding: 10px 15px;
}
.nav-menu .nav-li > a:hover {
    color: white;
    background-color: #999999;
}
.nav-menu .explore-sub {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    padding-left: 0;
    margin-top: 1px;
    transition: opacity .2s ease-in;
}
.nav-menu .showSubmenu {
    display: block;
    visibility: visible;
    opacity: 1;
    transition: opacity .2s ease-in;
    z-index: 3;
    background-color: white;
    margin-top: 1%;
    list-style: none;
    font-size: 14px;
    border: 1px solid #00572d;
    background-color: #999999;
    color: white;
}
.nav-li a:focus{
    color: white;
    background-color: #999999;
}
.Adv_links {
    overflow-wrap: break-word;
    word-wrap: break-word;
}
.main-body{
    position: relative;
    display: grid;
    grid-template-columns: auto;
    grid-template-areas:
        "feats"
        "scroll";
    margin-left: auto;
    margin-right: auto;
    max-width: 99%;
    margin-bottom: 1%;
}
/* .featured_ads {
    grid-area: feats;
    grid-template-columns: auto auto;
    grid-template-areas:
        "feat_header feat_header feat_header"
        "feats1 feats2 feats3"
        "browse_text browse_text browse_text";
    display: grid;
    border: 1px solid #e3e3e3;
    border-width: 1px 0;
    background: none;
    border-top-width: 0px;
    border-right-width: 0px;
    border-bottom-width: 1px;
    border-left-width: 0px;
    margin-top:1%
} */
.featured_ads {
    grid-area: feats;
    display: block;
    border: 1px solid #e3e3e3;
    border-width: 1px 0;
    background: none;
    border-top-width: 0px;
    border-right-width: 0px;
    border-bottom-width: 1px;
    border-left-width: 0px;
    margin-top:1%
}
.featured_ads .featured-ads {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: 8px;
}
.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.428571429;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
p.browse_text {
    margin-bottom: 3px;
    margin-top: 3px;
    color: #4c4d4f;
    font-style: italic;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-align: center;
}
.featuredbtn.pull-right {
    float: none !important;
    margin: 4px auto 10px;
    background-color: #00572D;
    border-color: #4c4d4f;
    color: #ffffff;
    border-radius: 0 !important;
    min-width: 8%;
    height: 30px;
    border-style: outset;
    border-width: 2px;
}
.btn-primary:hover{
    color: #ffffff;
    background-color: #4c4d4f;
    border-color: #00572D;
}
.featured_browse {
    grid-area: browse_text;
}
h4{
    text-align: center;
    margin: 0;
}
.featured_title{
    grid-area:feat_header;
    padding: 0 0 4px 0;
    background-color: #00572d;
    color: white;
    margin-bottom: 1%;
}
.cornerslant {
    width: 100%;
    height: 6px;
    background-color: #C1570B;
    position: relative;
    margin-bottom: 23px;
    font-size: 18px;
    font-family: 'Montserrat', sans-serif;
    line-height: 2.2;
    font-weight: 500;
}
.featured_header {
    color: white;
    text-decoration: none;
}
.featured_header:hover{
    color: #999999;
    text-decoration: none;
    text-shadow: 1px 1px 1px #ffffff;
}
.cornerslant::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32px 0 0 30px;
    border-color: #FFF transparent transparent transparent;
}
.featured.feat1{
    grid-area: feats1;
}
.featured.feat2{
    grid-area: feats2;
}
.featured.feat3{
    grid-area: feats3;
}
div#pgCont {
    max-width: 1000px;
    margin: auto;
    display: block;
    border-width: 0 2px;
    border-style: solid;
    border-color: #0a64ab8c;
}
div#pgCont.wide-features{
    max-width: 1200px;
}
.wide-features .showcase-grid.showcase-listing, .wide-features .showcase-grid.showcase-product {
    max-width: 1000px;
    margin: auto;
    width: 100%;
}
.featured img{
    width: auto;
    max-width: 100%;
    margin: auto;
    position: relative;
    display: block;
    height: auto;
    max-height: 100%;
    box-sizing: border-box;
    border: 1px solid #000;
}
.scroll-body{
    grid-area: scroll;
    display: grid;
    grid-template-columns: calc(100% / var(--golden-ratio)) 1fr;
    grid-template-areas: "cats spots";
    gap: 2%;
}
.scroll-body.spotlightshome-class{
    grid-template-columns: 30% 40% 30%;
    grid-template-areas: "spots2 cats spots";
    gap: 0;
}
.wide-features .scroll-body.spotlightshome-class{
    grid-template-columns: 25% 50% 25%;
}
.spotlightshome-class .spotscontainer{
    max-width: 285px;
    box-sizing: border-box;
}
.scats a:hover {
    text-decoration: underline;
}
.glogo img {
    width: auto;
    height: auto;
    border-radius: 5px;
    margin-bottom: 6%;
}
.clogo img {
    width: auto;
    height: auto;
    border-radius: 5px;
    margin-bottom: 3%;
}
.scroll-body h4{
    margin: 8px auto 4px;
}
.homespots{
    grid-area: spots;
}
.spotlightshome-class .homespots{
    margin: 0 0 0 auto;
}
.homespots2{
    grid-area: spots2;
    margin: 0 auto 0 0;
}
.features, .spotlights{
    width: 65%;
}
.features, .spotlights.spotlights_list{
    /* display: grid;
    grid-template-columns: repeat(2, 1fr); */
    /* grid-gap: 8px; */
    display: flex;
    flex-wrap: wrap;
    gap: 15px 15px;
    padding: 4px;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: center;
    width: auto;
    /* margin-left: 2%;
    margin-right: 2%; */
    margin-bottom: 2%;
}
/* .spotlights.spotlights_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 15px;
    width: auto;
    margin-left: 2%;
    margin-right: 2%;
    margin-bottom: 2%;
} */
.spot-prod.case-item {
    display: flex;
    flex: 0 1 calc(50% - 14px);
    box-sizing: border-box;
    border: 1px solid;
    padding: 8px;
    /*background-color: rgb(0, 87, 45, 0.3);*/
}
/* .spotlights{
    display: grid;
    grid-area: spots;
} */
.spot_list {
    padding-top: 4px;
    padding-bottom: 6px;
}
.spot_list:first-of-type{
    padding-top: 0;
}
.spots img{
    width: 100%;
    max-width: 285px;
    border: 1px solid #000;
    box-sizing: border-box;
}
/***FOR SPOTLIGHT HOME LAYOUT***/
.spotlight-home .spotscontainer.spotstop div#spots {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3px;
    width: 100%;
    box-sizing: border-box;
}
.spotlight-home .spotscontainer.spotstop li.spot_list {
    flex: 0 1 49%;
    box-sizing: border-box;
}
.spotlight-home.spotscontainer.bottomspots {
    grid-area: none;
    width: 99%;
    position: relative;
    display: block;
    margin: auto;
}
.spotlight-home.bottomspots div#spots {
    gap: 4px;
    display: flex;
    flex-wrap: wrap;
    margin-top: 4px;
    justify-content: center;
}
.spotlight-home.bottomspots li.spot_list {
    flex: 0 0 20%;
    margin-bottom: 4px;
}
.spotlight-home .spotscontainer .spot_list{
    padding-bottom: 0;
    padding-top: 4px;
}
.spotlight-home .spots img{
    max-width: 225px;
    box-sizing: border-box;
}

.case-item .listing-logo img {
    max-width: 150px;
}
.listing-details {
    color: #333333;
    padding: 0 10px;
    font-size:14px;
    grid-area: l-details;
}
.listing-logo {
    width: 145px;
    margin-right: 10px;
}
.listing-details h3 {
    margin: 10px 0 10px 0;
    text-align: left;
}
.listing-details p {
    margin: 0px;
}
.listing-details h6 {
    margin: 5px 0 5px 0px;
    font-size: 12px;
}
.sideSpots{
    display: block;
    margin: 0.7em auto 0;
    max-height: 48%;
    width: 100%;
}
.fixed-feat .sideSpots a {
    display: inline-block;
    height: 100%;
    max-height: 85%;
    max-width: 48%;
    margin: auto 3px;
}
.hidden {
    display: none !important;
    visibility: hidden !important;
}
div#cse_more {
    text-align: center;
}
a.page-nav {
    color: black;
    text-decoration: none;
}
a.page-nav.active {
    text-decoration: underline;
}
.sideSpots img{
    display: block;
    max-width: 100%;
    margin: auto 3px;
    box-sizing: border-box;
}
.results .company-name {
    margin-bottom: 15px;
}
input#zoom_searchbox {
    outline: none;
    min-width: 250px;
    width: inherit;
}
button.parent-sub:focus {
    outline: none;
}
button.parent-sub {
    color: inherit;
    background-color: inherit;
    border: none;
    font-size: inherit;
    cursor: pointer;
}
input#ZoomBtn:focus {
    outline: none;
}
.fixed-feat a {
    color: white;
    text-decoration: none;
    height: unset;
    max-height: 55%;
}
.main-home .SearchDiv{
    margin-left: 33%;
}

.main-body .search-bar {
    width: 50%!important;
}

.scroll-body .search-bar{
    width: 75%;
    margin: auto;
    display: block;
    border-radius: 15px;
    padding: 6px;
    box-sizing: border-box;
    text-align: center;
}
h4.body_header.cat_header.listings_header {
    width: 100%!important;
    display: block;
    background-color: #00572d;
}
.page-numbers {
    background-color: #00572d;
}
.body_header {
    width: 100%;
    text-align: center;
    background-color: #C1570B;
    color: white!important;
    font-weight: bold;
    text-transform: uppercase;
}
.cats{
    text-align: center;
    color:white;
    grid-area: cats;
}
.cats-row{
    text-align: left;
    /* display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0px 15px; */
    display: flex;
    box-sizing: border-box;
    width: 100%;
    opacity: 0.9;
}
/* .spotlightshome-class .cats-row{
    gap: 0 10px;
} */

.cat-dropbox:hover a, .cat-dropbox a:hover{
    color: #1609d6;
    text-decoration: none;
    /* text-shadow: 1px 1px 1px #313131, 0px 0px 1px #313131; */
    text-shadow: none !important;
    font-family: inherit !important;
    font-weight: bold;
}

.cat-dropbox a {
    cursor: pointer;
    color: black;
    text-decoration: none;
    flex: 1 1 95%;
}
.cat-dropbox a{
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}
.cats-row > div {
    flex: 1;
    width: 50%;
    box-sizing: border-box;
}
.catcol-1 {
    padding-right: 5px;
}
.catcol-2 {
    padding-left: 5px;
}
.cat-dropbox:hover, .cat-dropbox:hover a, .cat-dropbox:hover .cat-drop.multi-cats {
    background: white;
    overflow: visible;
    min-width: fit-content;
    z-index: 1000;
    position: relative;
}

.cat-dropbox {
    padding: 10px 8px;
    border-radius: 2px;
    box-sizing: border-box;
    border: 1px solid black;
    font-size: 16px;
    display: flex;
}
.spots > li:nth-child(odd) {
    background-color: #4c4d4f;
}
.spots > li:nth-child(even) {
    background-color: #00572D;
}
.spot_list {
    text-align: center;
    display: block;
}
li {
    list-style-type: none;
}
.listing-desc.long-desc .company-desc li {
    list-style-type: initial;
}
.listing-desc.long-desc .catlist.company-desc li {
    list-style-type: none;
}
.spots > li a {
    color: initial;
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    font-size: 10px;
    display: block;
    max-width: 285px;
    margin: auto;
}
.spots > li a:hover {
    text-decoration: underline;
    color: #78aad1;
}
.spot_list a.prodName{
    display: none;
}
.sub-cat {
    padding: 0 10px;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.2s ease-out;
    width: 85%;
    margin: 3px auto;
    font-weight: normal;
    background: #ececec;
}

.sub-cat a {
    display: block;
    cursor: pointer;
    text-decoration: none;
}
.sub-cat a:hover {
    text-decoration: underline;
}
.cat-drop.multi-cats, .cat-drop.single-cat {
    flex: 1 0 5%;
    /* margin: 0px 6px 0 0; */
    min-height: 22px;
    margin: auto;
    align-self: center;
    cursor: pointer;
    color: #000000;
}
.multi-cats::before {
    content: '\002B';
    font-weight: bold;
}

.multi-cats.active::before {
    content: "\2212";
}
.company-desc font, .company-desc span, .company-desc a {
    color: black;
    text-decoration: none!important;
    background-color: transparent!important;
}
.company-desc a, .company-desc a * {
    color: #0000FF;
    text-decoration: none!important;
    background-color: transparent!important;
}
.company-desc a:hover * {
    color: inherit;
}
.desc_boarder{
    border: 1px solid #00572D;
    border-radius: 4px;
}
.company-desc {
    background-color: #eeeeee;
    padding: 15px;
	overflow: auto;
}
.desc_header {
    color: #ffffff;
    background-color: #00572D;
    border-color: #4c4d4f;
    font-family: 'Montserrat', sans-serif;
    padding: 6px;
    border-bottom: 1px solid transparent;
}

@font-face {
    font-family: 'Glyphicons Halflings';
    src: url('../fonts/glyphicons-halflings-regular.eot');
    src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
  }
.desc_boarder.showcats .company-desc.catlist.collapse{
    display: none !important;
    height: 0 !important;
}
.glyphicon{
    font-family: 'Glyphicons Halflings';
    color: #FFF;
    float: right;
    cursor: pointer;
}
.glyphicon-chevron-down{
    margin: 4px 8px 0;
}
.glyphicon-chevron-up{
    margin: 0px 8px 4px;
}
.glyphicon-chevron-down:before {
    content: "\e114";
}
.glyphicon-chevron-up:before {
    content: "\e113";
}
.catlist.collapse.in{
    display: block !important;
}
.catlist.collapsing {
    position: relative;
    margin: auto;
    height: 0;
    max-height: 235px;
    padding:15px 15px 0;
    overflow: hidden;
    -webkit-transition: height 0.35s ease-in;
            transition: height 0.35s ease-in;
}
.desc_boarder.showcats {
    margin-top: 1em;
}
.desc_boarder.showcats .company-desc.catlist.collapse.in {
    height: auto !important;
    max-height: 220px !important;
    min-height: 75px !important;
    overflow: auto;
    display: block !important;
}
@media print{
    .desc_boarder.showcats .company-desc.catlist.collapse.in {
        height: fit-content !important;
        max-height: unset !important;
        overflow: auto;
        display: block !important;
    }
    .int-guidenotes{
        display: none !important;
    }
}
dl.licat {
    margin: 0;
}
.licat dt {
    font-weight: bold;
    display: inline-block;
}
.licat dt::after {content: "::";margin: 0 6px;}
.licat dd {
    display: inline-block;
    margin: auto;
}
h4.li-cat-sec {
    font-size: 16px;
    text-align: left;
    padding: 0;
    width: fit-content;
    margin: 6px 0;
    text-decoration: underline;
}
ul.sub-cat-list li{
    font-weight: bold;
}
h5.li-pcat {
    font-size: 14px;
    margin: 6px 4px;
    width: fit-content;
}
h5.li-pcat::after {
    content: ':';
}
.licat ul li:before {
    content: '\2012';
    margin-right: 3px;
}

.main-single .listing-grid {
    display: grid;
    grid-template-columns: minmax(auto, 100%);
    grid-template-areas:
        "topRow"
        "bottomRow";
    margin-top: 2em;
    margin-bottom: 1em;
    padding: 0 10px;
}
.listing_row.top_row {
    grid-area: topRow;
    display: grid;
    grid-template-areas: "dImages dInfo";
    grid-template-columns: 50% 50%;
    margin-bottom: 1em;
}
.listing_row.bottom_row {
    grid-area: bottomRow;
    grid-template-areas: "dDesc dMap";
    grid-auto-columns: minmax(auto, 85%) minmax(auto, 15%);
    display: grid;
}
.sponsor-logo img {
    max-width: 73px;
}
.sponsor-logo {
    text-align: end;
}
.listing-desc .sponsor-logos img {
    margin-left: 5px;
}
.listing-grid .image-container {
    grid-area: dImages;
}
.listing-grid .company-info {
    grid-area:dInfo
}
.listing-grid .listing-imgs.single-img {
    width: 100%;
    max-width: 480px;
    margin: auto;
    display: block;
}
.listing-grid .listing-imgs.extra-imgs {
    width: 100%;
    max-width: 480px;
    display: grid;
    margin: 6px auto 3px;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 3px;
    gap: 4px;
    align-content: space-between;
}
.listing-grid .listing-imgs.extra-imgs img {
    width: 100%;
    box-sizing: border-box;
}
.listing-grid .listing-desc {
    padding: 0 16px 0 8px;
    color: #000000;
    font-size: 1em;
    height: fit-content;
}
.listing-grid .long-desc {
    grid-area: dDesc;
}
/* .company-name h2 {
    float: left;
} */
.associate .descr {
    display: none;
}
.associate .company-name a {
    cursor: pointer;
    pointer-events: none;
}
.listing-grid .listing-desc h2 {
    margin-top: 0;
    line-height: 1;
    font-size: 32px;
    margin-bottom: 15px;
    margin-right:5px;
}
.listing-logos {
    /* margin-left: auto; */
    grid-area: l-logos;
}
.company-name .member-logo img {
    width: auto;
    height: auto;
}
.listing-grid .display-map {
    grid-area: dMap;
}
.displayfalse {
    display: none !important;
}

a.listing-link {
    grid-area: l-link;
    align-self: flex-end;
}
.product-link {
    grid-area: l-link;
    align-self: flex-end;
    justify-self: right;
}
.listing-desc.company-info {
    padding: 0;
    display: block;
    min-width: fit-content;
    word-break: break-word;
    max-width: 100%;
    margin: 0 8px;
    /* grid-template-areas:
        "dName dName"
        "dContact ."
        "dsmi l-link";
    grid-auto-columns: fit-content(100%) auto; */
}
/*
.listing-grid .listing-desc {
    padding: 0 16px 0 8px;
    color: var(--gen-font-color, #ffffff);
    font-size: 1em;
}
    */

.listing-desc.company-info .company-contact li {
    margin: 3px 0;
}
.listing-desc.company-info .company-smi {
    grid-area: dsmi;
}
.listing-desc.company-info ul {
    margin: auto 0 0;
    padding: 0 16px 0 8px;
    list-style-position: inside;
    list-style-type: none;
    gap: 19px;
}
.listing-desc.company-info .company-smi li {
    margin-top: 2px;
    padding: 0 3px;
}
.company-contact img {
    width: 25px;
    height: 25px;
    padding-right: 3px;
    vertical-align: text-bottom;
}
.listing-desc.company-info .company-smi img {
    width: 37px;
    vertical-align: text-bottom;
    padding-bottom: 8px;
}
.listing-desc.company-info .company-smi li img:hover {
    /* filter: invert(1); */
    border-bottom: 2px solid blue;
    padding-bottom: 6px;
    cursor: pointer;
}
.company-contact a {
    color:black;
    text-decoration:none;
}
a.bodytext.hyperlinks {
    color: white!important;
    text-decoration:none;
}
ul.company-smi {
    /* display: grid;
    grid-template-columns: 40px 40px 40px 40px;
    grid-template-rows: 40px 40px;
    grid-auto-flow: column; */
    display: flex;
}
.company-name {
    grid-area: dName;
    display: flex;
    /* flex-wrap: wrap; */
    justify-content: space-between;
}
ul.company-contact {
    grid-area: dContact;
}

.requestInfo input[type="submit"] {
    color: #333333;
    background-color: #ffffff;
    border-color: #cccccc;
}

.requestInfo input[type="submit"] {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.428571429;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid black;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
.requestInfo input[type="submit"]:hover {
    color: #333333;
    background-color: #ebebeb;
    border-color: #adadad;
}

.scroll-btns{
    cursor:pointer;margin:auto; -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                                supported by Chrome and Opera */
    color: #1609d6;
}

.report-page h1.ptitle {
    text-align-last: center;
}

@media (max-width: 1254px) {
    .gui-logo-name {
       font-size:  30px!important
    }
}

@media (max-width: 948px) {
    .gui-logo-name {
       font-size:  23px!important
    }
}
.int-guidenotes{
    position:absolute;bottom:0;left:0;display:block;padding:3px;font-size:40px;
}
.int-guidenotes a{
    border:1px dashed red;width:55px;height:55px;display:inline-block;
}
.int-guidenotes .gndesc{
    font-size: 15px;
    display: inline-block;
    padding: 5px;
    font-weight: bold;
    text-shadow: 0px 1px white, -1px 0px white, 0px -1px white, 0px -1px white, 1px 0px white;
}
.int-guidenotes a:hover{
    border-color: blue;
    background-color: aquamarine;
}

/*** HIDE STYLES FOR PFDing/PRINTING ***/
.proofpdf .usp-style{
    display: none;
}
@media print {
    .usp-style{
        display: none !important;
    }
    body{
        transform: scale(.9);
    }
    .homepopup{
        display: none;
    }
    .proofpdf .usp-style + br, .usp-style + br {
        display: none;
    }
}


.membrochure-scroll .ptitle {
    color: black;
    text-align: center;
    margin: 0px 0px 20px 0px;
    margin-top: 20px;
}
.membrochureWrapper object {
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.membrochureWrapper iframe {
    width: 100%;
    height: 100vh;
    overflow: hidden;
}


.assoc {
    margin-top: 30px;
}
img.cimg {
    width: 200px;
}

/* ======== Multi-listing behavior/Deduplication =========== */
/* ===========================
   Multi-listing (core behavior)
   Shared by row + tile layouts
   =========================== */

.multi-listing {
    display: block;
    position: relative;
    /*  match listing-item spacing*/
    margin: 0 0 16px 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;

    /* accordion-style animation for non-tile layouts */
    max-height: 300px;          /* enough for root row */
    overflow: hidden;
    transition:
        max-height 0.25s ease,
        opacity 0.2s ease;
}

.listing-item.multi-listing.collapsed {
    background: transparent;
    margin: 0;
}

.multi-listing .listing-item.multi-root {
    /* border: unset; */
    min-height: 115px;
}

.multi-listing.collapsed {
    max-height: 350px;
}

.multi-listing.expanded {
    /* inline accordion expansion for row layouts */
    max-height: 2000px;         /* comfortably above any realistic height */
}


.multi-listing.expanded .listing-item.multi-child {
    display: grid;              /* matches base .listing-item grid */
    margin-top: 12px;
}

/* Row layout: root ALWAYS stays visible */
body:not(.tile-layout) .listings-list
.multi-listing.expanded 
.listing-item.multi-root {
    display: grid; /* or block, but grid keeps alignment */
    background-color: transparent;
}

body:not(.tile-layout) .listings-list .multi-listing .listing-item.multi-root {
    margin: unset;
}

/* neutral default for wrapper of the children; tile overrides it */
.multi-children-wrapper {
    display: block;
}


/* ===== Row layout only (non-tile) ===== */
body:not(.tile-layout) .listings-list .multi-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
}

body:not(.tile-layout) .listings-list .multi-listing.expanded .multi-panel {
    /* JS will set max-height inline */
}

/* Toggle row styling: full width under the root card */
body:not(.tile-layout) .listings-list .multi-toggle-row {
    margin-top: 22px;
    margin-bottom: 12px;
    padding-left: 33px;
    /* if multi-placeholder is a grid, ensure it spans */
    grid-column: 1 / -1;
}

body:not(.tile-layout) .listings-list .multi-toggle {
    width: 100%;
    border: 1px solid var(--multi-border);
    border-radius: 999px;
    background: linear-gradient(to bottom,
    #ffffff,
    #f6f7f9);
    font-weight: 600;
    color: #1f2937;
    border-color: rgba(15, 23, 42, 0.18);
    cursor: pointer;
    padding: 6px 10px;
    text-align: center;
    font: inherit;

    /* https://getcssscan.com/css-box-shadow-examples #21 */
    box-shadow: 
        rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, 
        rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, 
        rgba(255, 255, 255, 0.08) 0px 1px 0px inset;
}

body:not(.tile-layout) .listings-list .multi-toggle:hover {
    background: #eef2f7;
}

body:not(.tile-layout) .listings-list .multi-panel {
    margin: 12px;
    padding-left: 12px;
    border-left: 2px solid rgba(15, 23, 42, 0.08);
}

.listing-item.multi-child .member-logo img {
    transform: scale(0.9);
    opacity: 0.85;
}

.multi-toggle[aria-expanded="true"] span.label::before {
    content: "⮝ ";
}

.multi-toggle[aria-expanded="false"] span.label::before {
    content: "⮟ ";
}

body:not(.tile-layout).listings-list .multi-toggle-row[aria-expanded="true"] {
    margin-bottom: 0;
    margin-top: 16px;
    border-width: 1px 1px 0 1px;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

body:not(.tile-layout) .listings-list .multi-panel {
    transition:
        max-height 0.25s ease,
        opacity 0.2s ease;
}

.multi-listing.expanded .multi-panel {
    opacity: 1;
}

.multi-listing.collapsed .multi-panel {
    opacity: 0.98;
    display: none;
    /* tiny fade, avoids “snap” feel */
}

/* ==============================
   Row layout blur overlay
   (NOT tile layout)
   ============================== */

/* Base overlay element exists in DOM */
body:not(.tile-layout) .multi-overlay {
    position: fixed;
    inset: 0;
    opacity: 0;
    pointer-events: none; /* off by default */
    transition: opacity 160ms ease, visibility 0s linear 160ms;
    /* must sit above page, below expanded panel */
    z-index: 1000;

    /* the blur effect */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    
    /* optional wash so blur reads better */
    background: rgba(255, 255, 255, 0.25);
}

body.multi-open:not(.tile-layout) .multi-overlay {
    opacity: 1;
    pointer-events: auto; /* so click-to-close works */
    cursor: pointer;
}

/* Ensure the expanded multi panel sits above the overlay */
body.multi-open:not(.tile-layout) .multi-listing.expanded {
    position: relative;
    z-index: 1001;
}

/* ==============================
   Row layout shadow effect
   (NOT tile layout)
   ============================== */
body:not(.tile-layout) .multi-root {
    cursor: pointer;
    box-shadow:
            rgba(30, 64, 175, 0.55) 0px 0px 0px 2px inset,
    
            rgba(255, 255, 255, 0.85) 6px 6px 0px -3px,
            rgba(86, 132, 168, 0.70) 6px 6px,
    
            rgba(255, 255, 255, 0.85) 12px 12px 0px -3px,
            rgba(146, 168, 96, 0.70) 12px 12px,
    
            rgba(255, 255, 255, 0.85) 18px 18px 0px -3px,
            rgba(179, 132, 106, 0.70) 18px 18px;
}

.multi-listing:not(.tile-layout) {
    overflow: visible;
}

.pop-content {
    max-height: fit-content;
}