





/*--- COMMON VALUES/VARIABLES --------------------------------------------*/

:root {

/*--- NEUTRAL COLORS ---*/
    --neutral-black-color:#000;
    --neutral-dark-color:#383838;
    --neutral-medium-color:#767676;
    --neutral-light-color:#929292;
    --neutral-white-color:#fff;


/*--- THEME COLORS (blue + yellow) ---*/
    --theme-dark-color:#004372;
    --theme-medium-color:#1272b6;
        --theme-medium-variant-color:#137ac3;
    /*--theme-light-color:#45a9f0; (original)*/
    --theme-very-light-color:#7ba1ed;

    --theme-secondary-color:#d6e382;


}







/*--- COMMON ELEMENTS --------------------------------------------------------------------------*/
html {}
    body {min-width:300px;font-family:'Saira Semi Condensed', sans-serif;color:var(--neutral-black-color)}

    @media (min-width:1430px) {
        body {overflow-x:hidden}
    }


    /*--- skip to content ---*/
    #skiptocontent a {background-color:#bf1722}


    /*--- container ---*/
    .container {width:auto;max-width:1430px}


    /*--- links ---*/
    a {color:var(--theme-medium-color);transition:color .2s}
        a:hover, a:focus {color:var(--theme-dark-color)}


    /*--- paragraph text ---*/
    p {font-size:1.25em;margin:0 0 1.5em}
        p a {font-weight:bold}
            p a:hover, p a:focus {text-decoration:none}


    /*--- headings ---*/
    h1, h2, h3, h4 {line-height:1.1;font-weight:600;margin:0 0 1rem}
        h1, h1.entity-page-header, h1.product-page-header {font-size:clamp(2em, 6vw, 2.5em)}
        h2 {font-size:clamp(1.6em, 4vw, 2em)}
        h3 {font-size:1.5em}

    /*--- mulitlevel heading ---*/
    .multilevel-heading {font-size:clamp(2.5em, 5vw, 3.875em);text-align:center;margin:0 0 8rem}
        .multilevel-heading b, .multilevel-heading strong {display:block;font-size:.5em;font-weight:400;color:var(--neutral-dark-color);margin:0 0 .6em}
        .multilevel-heading span {display:inline-block}

            .multilevel-heading + .btn {display:block;width:fit-content;margin:-5rem auto 2em}


    /*--- responsive images ---*/
    img {display:block;max-width:100%;height:auto}


    /*--- breadcrumb ------------------*/
    .breadcrumb {padding:1.5rem 0 0;font-size:.875em;font-weight:500;font-style:normal;color:var(--neutral-medium-color);margin:0}
        .breadcrumb a {color:var(--theme-medium-color);text-decoration:none;font-weight:600}
            .breadcrumb a:hover, .breadcrumb a:focus {color:var(--theme-medium-variant-color)}








    /*--- FORMS -------------------------*/

        /*--- inputs ---*/
        input, .form-control, textarea, select {height:auto;padding:.8em 1em;font-size:1.125em;border:1px solid var(--neutral-black-color);border-radius:0;box-shadow:none;text-overflow:ellipsis}
            input:focus, .form-control:focus, textarea:focus, select:focus {border-color:var(--theme-medium-color);box-shadow:none}

            /*--- placeholder ---*/
            input::placeholder, .form-control::placeholder {color:var(--neutral-medium-color)}

                /*--- focus state ---*/
                input:focus::placeholder, .form-control:focus::placeholder {opacity:.5;transition:opacity .5s .5s}


        /*--- buttons ---------------*/
        .btn {padding:.8em .8em;border:0;border-radius:0;line-height:1;font-weight:500;color:var(--neutral-black-color)}

            /*--- default & primary ---*/
            .btn-default, .btn-primary {color:var(--neutral-white-color)}
            .btn-default:hover, .btn-default:focus, .btn-primary:hover, .btn-primary:focus {color:var(--neutral-white-color)}

                /*--- default ---*/
                .btn-default {background-color:var(--neutral-black-color);text-transform:uppercase}
                    .btn-default:hover, .btn-default:focus {background-color:var(--neutral-dark-color)}

                /*--- primary ---*/
                .btn-primary, input[type="submit"], input[type="button"] {padding:1em 2em;background-color:var(--theme-medium-color);border:1px solid transparent;font-size:1.25em}
                    .btn-primary:hover, .btn-primary:focus, input[type="submit"]:hover, input[type="submit"]:focus, input[type="button"]:hover, input[type="button"]:focus {background-color:var(--theme-medium-variant-color);border-color:var(--neutral-white-color)}

                /*--- update ---*/
                .update-button {padding:.8em !important;font-size:1em !important;text-transform:uppercase !important}


            /*--- success ---*/
            .btn-success {font-size:1.25em;color:var(--neutral-white-color)}



    /*--- video --------------------------------*/
    .video {border:.05em solid var(--neutral-white-color);box-shadow:0 0 0 .05em #bbb;position:relative;margin:0 auto 4em}
        .video::before {display:block;padding-top:56.25%;content:""}

        /*--- link and iframe ---*/
        .video a, .video iframe {display:block;width:100%;height:100%;position:absolute;top:0}
            .video iframe {border:0}

            /*--- play button ---*/
            .video a::before {box-sizing:border-box;display:block;height:1em;width:1em;background-color:rgba(0,0,0,0.6);border:.05em solid var(--neutral-white-color);border-radius:50%;box-shadow:0 0 0.15em 0 rgba(0,0,0,0.6);position:absolute;top:50%;left:50%;z-index:1;font-size:3em;margin:-.5em 0 0 -.5em;transition:background-color .2s;content:""} /*--- circle ---*/
            .video a::after {display:block;width:0;height:0;border:0 solid transparent;border-width:.2em 0 .2em .3em;border-left-color:var(--neutral-white-color);position:absolute;top:50%;left:50%;z-index:1;font-size:3em;margin:-.2em 0 0 -.1em;content:""} /*--- triangle ---*/
                .video a:hover::before,.video a:focus::before {background-color:var(--theme-medum-color)}

            /*--- image ---*/
            .video img {object-fit:cover;height:100%;width:100%}








/*--- SLICK ROTATORS/CAROUSELS -------------------------------------------------------------*/
.slick-slider {box-sizing:border-box;display:block;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}

    .slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}

    /*---slide item outer wrapper---*/
    .slick-slider .slick-list {display:block;width:100%;padding:0;position:relative;overflow:hidden;margin:0}
        .slick-slider .slick-list.dragging {cursor:pointer;cursor:hand}

    /*---slide item inner wrapper---*/
    .slick-slider .slick-track {display:block;position:relative;left:0;top:0;/*margin-left:auto;margin-right:auto*/}
        .slick-slider .slick-track:before, .slick-slider .slick-track:after {display:table;content:""}
        .slick-slider .slick-track:after {clear:both}

    /*---slide item---*/
    .slick-slider .slick-slide {display:none;float:left;/* ***SAFARI BUG***  height:100%*/;min-height:1px}
    [dir="rtl"] .slick-slider .slick-slide {float:right}
    .slick-slider .slick-slide > img {display:block}
    .slick-slider .slick-slide.slick-loading img {display:none}
    .slick-slider .slick-slide.dragging img {pointer-events:none}

    /*---states---*/
    .slick-slider.slick-initialized .slick-slide {display:block}
    .slick-slider.slick-loading .slick-track {visibility:hidden}
    .slick-slider.slick-loading .slick-slide {visibility:hidden}
    .slick-slider.slick-vertical .slick-slide {display:block;height:auto;border:1px solid transparent}


    /*---navigation---------------------------------------*/

        /*--- prev/next ------------------*/
        .slick-slider .slick-arrow {display:block;height:1em;width:1em;padding:0;background-color:var(--neutral-black-color);border:0;font-size:2.25em;color:var(--neutral-white-color);position:absolute;top:-1.4em;right:0;right:calc((clamp(.125em, 1vw, .25em)) - 1px);z-index:10;overflow:hidden;transition:background-color .2s}
            .slick-slider .slick-arrow::before {display:block;clear:both;height:200%;content:""}
            .slick-slider .slick-arrow::after {display:block;width:1em;height:1em;border:0 solid var(--neutral-white-color);border-width:.3rem .3rem 0 0;font-size:.4em;position:absolute;top:0;bottom:0;left:.5em;right:0;margin:auto;transform:rotate(225deg);content:""}
            .slick-slider .slick-arrow:hover, .slick-slider .slick-arrow:focus {background-color:var(--theme-medium-color)}

            /*--- prev ---*/
            .slick-slider .slick-prev {right:calc(1.1em + clamp(.125em, 1vw, .25em))}

            /*--- next ---*/
            .slick-slider .slick-next::after {left:0;right:.5em;transform:rotate(45deg)}

            /*--- hidden ---*/
            .slick-slider .slick-arrow.slick-hidden, .slick-slider .slick-arrow.slick-disabled {display:none !important}


        /*--- pager ----------------------*/
        .slick-slider .slick-dots {}
            .slick-slider .slick-dots li {}
                .slick-slider .slick-dots li.active {}










/*--- HEADER --------------------------------------------------------------------------*/
header.site {display:grid;align-items:center;gap:.5em 1em;padding:.5em 15px;background-color:var(--theme-dark-color);border-bottom:1px solid var(--theme-very-light-color);box-shadow:-1300px -1px 0 var(--theme-dark-color), -2600px -1px 0 var(--theme-dark-color), -3900px -1px 0 var(--theme-dark-color), 1300px -1px 0 var(--theme-dark-color), 2600px -1px 0 var(--theme-dark-color), 3900px -1px 0 var(--theme-dark-color), -1300px 0 0 var(--theme-very-light-color), -2600px 0 0 var(--theme-very-light-color), -3900px 0 0 var(--theme-very-light-color), 1300px 0 0 var(--theme-very-light-color), 2600px 0 0 var(--theme-very-light-color), 3900px 0 0 var(--theme-very-light-color);color:var(--neutral-white-color);position:relative;z-index:1;margin:0 -15px;transition:background-color 2s, border-color 2s, box-shadow 2s}

    @media (min-width:992px) {
        header.site {grid-template-columns:max-content max-content;justify-content:space-between}
    }

    @media (min-width:1200px) {
        header.site {grid-template-columns:max-content 1fr max-content}
            /**/header.site:has(~ .main-content-wrapper .heading-banner) {background-color:transparent;border-color:transparent;box-shadow2:none;--theme-dark-color:transparent;--theme-very-light-color:transparent}
    }

    /*@media (min-width:1200px) and (min-height:500px) {
        header.site {position:sticky;top:0}
    }*/


    /*--- logo ----------------*/
    header.site > a {justify-self:center;display:block;width:16em;height:2.32em;background:url(../img/bridgeport-logo.svg) no-repeat center;background-size:contain;color:var(--neutral-white-color);overflow:hidden;transition:opacity .2s}
        header.site > a::before {display:block;height:200%;content:""}
        header.site > a:hover, header.site > a:focus {opacity:.8}


    /*--- menu -----------------*/
    header.site nav {}
        header.site nav ul {list-style:none;display:flex;flex-wrap:wrap;justify-content:center;padding:0;margin:0}
            header.site nav ul li {}
                header.site nav a {display:block;padding:.25em clamp(.5em, 2vw, 1em);color:var(--neutral-white-color);text-transform:uppercase;font-weight:600;text-decoration:none;letter-spacing:.025em;transition:box-shadow .2s}
                    header.site nav a:hover, header.site nav a:focus {box-shadow:inset 0 -2px 0 var(--neutral-white-color)}

                /*--- account item ---*/
                header.site nav ul > li:nth-child(7) a {width:2em;height:1.95em;padding-left:.5em;padding-right:.5em;position:relative;overflow:hidden}
                    header.site nav ul > li:nth-child(7) a::before {display:block;height:100%;content:""}
                    header.site nav ul > li:nth-child(7) a::after {display:block;width:1em;height:1em;font-family:'FontAwesome';font-weight:normal;line-height:1;text-align:center;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;content:"\f007"}

                /*--- cart item ---*/
                header.site nav ul > li:nth-child(8) a {padding-left:.5em;padding-right:.5em}

        @media (min-width:992px) {
            header.site nav a {padding-left:clamp(1em, 1.75vw, 1.5em);padding-right:clamp(1em, 1.75vw, 1.5em)}
        }

        @media (min-width:1200px) {
            header.site nav {justify-self:end}
                header.site nav a {padding-left:clamp(0.8em, calc(0.8em + ((1vw - 0.75em) * 5.6)), 1.5em);padding-right:clamp(0.8em, calc(0.8em + ((1vw - 0.75em) * 5.6)), 1.5em)}
        }


    /*--- search ------------------*/
    header.site form {display:flex;padding:0 0 0 1em;border:2px solid var(--neutral-white-color);border-radius:2em}

        /*--- icon---*/
        header.site form::before {display:flex;align-items:center;width:1em;font-family:'Fontawesome';font-weight:normal;/*color:#99b1c4*/;color:var(--theme-secondary-color);transition:color .2s;content:"\f002"}
            /*header.site form:hover::before, header.site form:focus-within::before {color:var(--neutral-white-color)}*/

        /*--- label ---*/
        header.site form label {position:absolute;clip:rect(0 0 0 0)}

        /*--- input ---*/
        header.site form input {flex:1;padding:.5em .5em;background-color:transparent;border:0;color:var(--neutral-white-color);font-weight:500}
            header.site form input::placeholder {/*color:#99b1c4*/;color:var(--theme-secondary-color)}

        /*--- button ---*/
        header.site form button {display:block;min-width:2.8em;background-color:var(--theme-medium-color);border:0;border-radius:50%;text-transform:uppercase;font-weight:600;color:var(--neutral-white-color);margin:0;opacity2:0;clip-path:inset(50%);transition:background-color .2s}
            header.site form:hover button, header.site form button:hover, header.site form button:focus {background-color:var(--theme-medium-variant-color);opacity2:1;clip-path:none}
            header.site form input:focus + button {opacity2:1;clip-path:none}


        @media (min-width:768px) {
            header.site form {}

                /*--- input ---*/
                header.site form input {padding-top:.4em;padding-bottom:.4em;font-size:.875em}

                /*--- button ---*/
                header.site form button {min-width:2em}
        }

        @media (min-width:992px) {
            header.site form {grid-column:1/3}
        }


        @media (min-width:1200px) {
            header.site form {grid-column:auto}

                /*--- input ---*/
                header.site form input {max-width:10em}
        }










/*--- CONTENT AREA --------------------------------------------------------------------------*/
.main-content-wrapper {padding:2rem 0 4rem}








/*--- FOOTER --------------------------------------------------------------------------*/
.footer-wrapper {padding:1em 0;background-color:var(--theme-dark-color);color:var(--neutral-white-color)}
    .footer-wrapper .container {display:grid;gap:1em;padding-top:2em}
        .footer-wrapper .container::before, .footer-wrapper .container::after {display:none}

    /*--- logo ---*/
    .footer-wrapper .container > a {justify-self:center;display:block;width:1em;height:.145em;background:url(../img/bridgeport-logo.svg) no-repeat center;background-size:contain;font-size:12em;color:var(--neutral-white-color);overflow:hidden;transition:opacity .2s}
        .footer-wrapper .container > a:before {display:block;height:200%;content:""}
        .footer-wrapper .container > a:hover, .footer-wrapper .container > a:focus {opacity:.8}

    /*--- menu ---*/
    .footer-wrapper ul {list-style:none;display:flex;flex-wrap:wrap;justify-content:center;padding:0;margin:0}
        .footer-wrapper li {}
            .footer-wrapper ul a {display:block;padding:.25em .75em;text-transform:uppercase;color:var(--neutral-white-color);font-weight:600;text-decoration:none;transition:box-shadow .2s}
                .footer-wrapper ul a:hover, .footer-wrapper ul a:focus {box-shadow:inset 0 -2px 0 var(--neutral-white-color)}

    /*--- notes ---*/
    .footer-wrapper .container > div {padding:1em 0 0;border-top:1px solid var(--neutral-light-color);text-align:center;margin:2em 0 0}


    @media (min-width:992px) {
        .footer-wrapper .container {grid-template-columns:auto 1fr}

            /*--- menu ---*/
            .footer-wrapper ul {justify-content:end}

            /*--- notes ---*/
            .footer-wrapper .container > div {grid-column:1/3;text-align:left}
    }









/*--- HEADING BANNER -------------------------------------------------------------*/
.heading-banner {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2em;min-height:50vh;padding:6rem .5em;background-color:var(--neutral-black-color);color:var(--neutral-white-color);position:relative;z-index:0;margin:-2rem -15px 8rem}

    /*--- overlay version ---*/
    .heading-banner.overlay {padding-bottom:14rem}

    /*--- gradient ---*/
    .heading-banner::before {display:block;width:100%;height:100%;background-image:linear-gradient(to top, rgba(31, 61, 83, .6) 30%, rgba(8, 21, 31, 1));position:absolute;top:0;left:0;z-index:-1;content:""}


    @media (min-width:1200px) /*and (min-height:500px)*/ {
        .heading-banner {padding-top:12rem;margin-top:-8rem}
    }

    @media (min-width:1430px) {
        .heading-banner {padding-left:calc(((100vw - 1430px) / 2) + 15px);padding-right:calc(((100vw - 1430px) / 2) + 15px);margin-left:calc(((-100vw + 1430px) / 2) - 15px);margin-right:calc(((-100vw + 1430px) / 2) - 15px)}
    }


    /*--- faux background image ---*/
    .heading-banner img {object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0;z-index:-2}

    /*--- heading ---*/
    .heading-banner h1 {font-size:clamp(2.25em, 6vw, 5em);text-align:center;font-weight:500;line-height:1}
        .heading-banner h1 b, .heading-banner h1 strong {display:block;font-size:.5em;font-weight:400;color:var(--theme-secondary-color);margin:0 0 .8em}
        .heading-banner h1 span {display:inline-block}

    /*--- link ---*/
    .heading-banner > a {}












/*--- CALLOUT BANNER -------------------------------------------------------------*/
.callout-banner {display:grid;justify-items:start;gap:2em 6em;padding:0 calc(clamp(1em, 5vw, 4em) - 15px);margin:0 0 8rem}

    /*--- alternate layout ---*/
    .callout-banner.alt {}

    /*--- image ---*/
    .callout-banner > img {justify-self:center}

    /*--- heading ---*/
    .callout-banner h2 {font-size:clamp(2.5em, 5vw, 3.125em);font-weight:600;line-height:1}
        .callout-banner h2::after {display:block;height:1px;width:10rem;background-color:var(--neutral-black-color);position:relative;top:2rem;left:-4rem;content:""}

    /*--- text ---*/
    .callout-banner p {font-size:clamp(1.25em, 3vw, 1.375em)}
        .callout-banner p:last-of-type  {margin-bottom:0}

    /*--- list ---*/
    .callout-banner ul {list-style:none;display:flex;flex-direction:column;gap:1.75em;padding:0;margin:.5em 0 0}
        .callout-banner li {display:flex;align-items:center;gap:1em;font-size:clamp(1.25em, 4vw, 1.5em);line-height:1.1}
            .callout-banner ul img {}


    @media (min-width:992px) {
        .callout-banner:not(.background) {grid-template-columns:auto 50%;grid-template-rows:1fr auto 1fr}

            /*--- image ---*/
            .callout-banner:not(.background) > img {width:100%;grid-column:2;grid-row:1/-1;justify-self:center}

            /*--- heading ---*/
            .callout-banner h2 {align-self:end}

            /*--- text ---*/
            .callout-banner p {}

            /*--- list ---*/
            .callout-banner ul {grid-column:1}
    }

    @media (min-width:1400px) {
        .callout-banner {padding-right:0}
    }


    /*--- background version --------------*/
    .callout-banner.background {min-height:50vh;padding:clamp(4em, 6vw, 5em) clamp(1em, 5vw, 4em);background-color:var(--neutral-black-color);color:var(--neutral-white-color);position:relative;z-index:0;margin-left:-15px;margin-right:-15px}

        /*--- gradient overlay ---*/
        .callout-banner.background::before {display:block;width:100%;height:100%;background-image:linear-gradient(67deg, #004372 32%, rgba(0,0,0,0));position:absolute;top:0;left:0;z-index:-1;content:""}

            /*--- alternate layout ---*/
            .callout-banner.background.alt::before {background-image:linear-gradient(247deg, #004372 32%, rgba(0,0,0,0))}

        /*--- faux background image ---*/
        .callout-banner.background > img {object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0;z-index:-2}

        /*--- heading & text ---*/
        .callout-banner.background h2::after {background-color:var(--neutral-white-color)}
        .callout-banner.background h2, .callout-banner.background p {text-shadow:0 0 .1em rgba(0,0,0,.5)}

    /*--- list ---*/
    .callout-banner.background ul img {filter:brightness(100)}


        @media (min-width:992px) {
            .callout-banner.background {padding-right:50%}

                /*--- alternate layout ---*/
                .callout-banner.background.alt {padding-right:clamp(1em, 5vw, 4em);padding-left:50%}
        }

        @media (min-width:1400px) {
            .callout-banner.background {margin-left:0;margin-right:0}
        }










/*--- CALLOUT LISTING --------------------------------------------------------------------------*/
.callout-listing {list-style:none;display:grid;grid-template-columns:repeat(auto-fill, minmax(max(18em, min(100%/3)), 1fr));gap:clamp(1em, 4vw, 3em);padding:0;margin:0 0 8rem}

    /*--- overlay version ---*/
    .heading-banner.overlay + .callout-listing {position:relative;margin-top:-16rem}

    /*--- 3 items ---*/
    .callout-listing.three /*:has(> :last-child:nth-child(3))*/ {grid-template-columns:repeat(auto-fill, minmax(clamp(100% / (3 + 1) + 0.1%, (768px - 100vw) * 1000, 100%), auto))}

    /*--- 4 items ---*/
    .callout-listing.four /*:has(> :last-child:nth-child(4))*/ {grid-template-columns:repeat(auto-fill, minmax(clamp(clamp(100% / (4 + 1) + 0.1%, (1200px - 100vw) * 1000, 100% / (2 + 1) + 0.1%), (650px - 100vw) * 1000, 100%), 1fr))}


    .callout-listing li {}
        .callout-listing a {display:flex;flex-direction:column;align-items:center;min-height:100%;padding:clamp(.5em, 3vw, 1em);background-color:#f8f8f8;border-bottom:2px solid var(--theme-dark-color);text-decoration:none;transition:border-color .2s, color .2s}
            .callout-listing a:hover, .callout-listing a:focus {border-color:var(--theme-medium-color)}
            .callout-listing a:not(:hover):not(:focus) {color:var(--neutral-black-color)}

    /*--- title ---*/
    .callout-listing h2 {text-align:center;transition:color .2s}
        .callout-listing h2 span {display:inline-block}
        .callout-listing a:hover h2, .callout-listing a:focus h2 {color:var(--theme-medium-color)}

    /*--- faux button ---*/
    .callout-listing .btn {margin-bottom:.5em}

    /*--- text ---*/
    .callout-listing p {text-align:center;color:var(--neutral-black-color)}
        .callout-listing p:last-of-type {margin-bottom:2rem}

    /*--- image ---*/
    .callout-listing img:first-child {height:110px;object-fit:contain;margin-bottom:1em}
    .callout-listing img:last-child {margin-top:auto}












/*--- ISEARCH --------------------------------------------------------------------------*/
.searchPageWrapper {margin-top:1em}

    /*--- active filters ---*/
    .crumbs {margin:0 0 .5em}
        .crumbs .crumb i {margin:.3em .3em 0 .3em}


    /*--- filter column ---*/
    @media (min-width:1430px) {
        .searchPageWrapper #filterholder {width:18%}
    }

    /*--- content column ---*/
    @media (min-width:1430px) {
        .searchPageWrapper #contentholder {width:82%}
    }


    /*--- skip link ---------*/
    .searchPageWrapper #filterholder > a {display:block;padding:.5em;background-color:var(--theme-medium-color);color:var(--neutral-white-color);position:absolute;clip-path:inset(50%);margin:-1.5em 0 0}
        .searchPageWrapper #filterholder > a:focus {clip-path:none}


    /*--- iSearch filters ------------------*/
    #ISearch3FilterForm {padding:0;background-color:transparent}

        /*--- filter item wrapper ---------*/
        .filtercontainer {background-color:transparent}

            /*--- group title ---*/
            .filtercontainer .filtertitle {font-size:.875em;font-weight:500;color:#1272b6}

            /*--- lists ---*/
            .filterlist {}
                .filterlist li {color:var(--neutral-medium-color)}

        /*--- price selector ---*/
        #ISearch3PriceSlider-Container input {padding-top:.2em;width:calc(100% - 110px);background-color:transparent}
            #ISearch3PriceSlider-Container .reset-slider-link {font-size:.75em}

        /*--- text search ---*/
        #ISearch3TextBoxContainer {}
            #ISearch3TextBoxContainer .filterlist {overflow:visible}
                #ISearch3TextBoxContainer .singlefilter {position:relative}
                    #ISearch3TextBoxContainer input[type=button] {width:5em;min-height:36px}
                    #ISearch3TextBoxContainer input[type=text] {width:calc(100% - 5.2em)}


    /*--- iSearch sort bar ----------------*/
    div#pagecontrols {padding:.5em 0;background-color:#f2f2f2;margin-bottom:1.5em}

        @media (min-width:768px) {
            div#pagecontrols {display:flex;align-items:center;margin-top:0}
        }

        /*--- result count ---*/
        div#pagecontrols > div:first-child {font-weight:bold}

            /*--- time ---*/
            div#pagecontrols #SecondsCount {display:none !important}

        /*--- sorting ---------*/
        div#pagecontrols > div:last-child {text-align:right}
            div#pagecontrols > div b {float:none;margin-right:.5em}








/*--- PRODUCT LISTING --------------------------------------------------------------------------*/
.product-listing {list-style:none;display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%/3, max(14em, 100%/6)), 1fr));gap:clamp(.5em, 2vw, 1em);padding:0;margin:0 0 8rem}
    .product-listing li {}
        .product-listing a {display:flex;flex-direction:column;justify-content:space-between;gap:1em;min-height:100%;padding:clamp(.5em, 2vw, 1em);padding-bottom:1.25rem;border:1px solid var(--neutral-black-color);text-decoration:none}
            .product-listing a:not(:hover):not(:focus) {color:var(--neutral-black-color)}

            /*--- image ---*/
            .product-listing img {margin:0 auto}

            /*--- title ---*/
            .product-listing h2, .product-listing h3 {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;text-overflow:ellipsis;padding:0;font-size:clamp(1em, 4vw, 1.25em);font-weight:600;line-height:1.1;text-align:left;margin:0;overflow:hidden}

            /*--- price -----------*/
            .product-listing .price-wrap {display:flex;flex-wrap:wrap;gap:.5em;font-size:1em;font-weight:600;color:var(--neutral-black-color);margin:0}

                /*--- extra text ---*/
                .product-listing .price-wrap span {position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%)}

                /*--- regular price ---*/
                .product-listing .regular-price {font-size:1em;font-weight:600;color:var(--neutral-medium-color);text-decoration:line-through;margin:0}

                /*--- sale price ---*/
                .product-listing .sale-price {color:var(--neutral-black-color)}

                /*--- button ---*/
                .product-listing .btn {align-self:start;margin:auto 0 0}


    /*--- carousel version----------------------------------------*/
    .product-listing.carousel.slick-initialized {display:block}

        /*--- Slick carousel active ---------------------*/
        .product-listing.slick-initialized {margin-left:clamp(-.5em, -1vw, -.25em);margin-right:calc((clamp(-.5em, -1vw, -.25em)) + 1px)}
            .product-listing .slick-track {display:flex} /*--- all items 100% height ---*/
                .product-listing .slick-slide {padding-left:clamp(.25em, 1vw, .5em);padding-right:clamp(.25em, 1vw, .5em)}
                    .product-listing .slick-slide > div {display:flex;min-height:100%} /*--- all items 100% height ---*/

            /*--- .product-listing items---*/
            .product-listing.slick-initialized .slick-slide > div > div {}

                /*--- nav arrows---*/
                .product-listing .slick-arrow {}









/*--- PRODUCT --------------------------------------------------------------------------*/
.product-page {margin:0 0 4em}

    /*--- column structure --------*/
    @media (min-width:992px) {
        .product-page .product-image-column {}
        .product-page .product-info-column {padding-left:4em}
    }



    /*--- image popup link ---*/
    .product-page .product-image-wrap .pop-large-link {display:none}

    /*--- SKU & part # ---*/
    .product-fullsku {}
    .product-manufacturerpartnumber {margin:0 0 2em}



    /*--- price ---*/
    .product-page .product-info-wrap .price-wrap {font-size:1.5em;font-weight:bold;margin-bottom:1em}

    /*--- description ---*/
    .product-page .product-description-wrap {line-height:1.3;margin:2em 0 0}


    /*--- add to cart group ----------------------*/
    .product-page .add-to-cart-group {display:flex;flex-wrap:wrap;gap:.5em;padding-bottom:2.5em;border-bottom:1px solid var(--neutral-medium-color)}
        .product-page .add-to-cart-group .form-control {height:auto}

        /*--- quantity ---*/
        .product-page .add-to-cart-quantity {display:flex;gap:.5em}
            .product-page .add-to-cart-quantity label {align-self:center;margin:0}
            .product-page .add-to-cart-quantity input {margin:0}

        /*--- option selectors ---*/
        .product-page .add-to-cart-selectors {/*flex:100%*/;display:flex;flex-wrap:wrap;gap:.5em}
            .product-page .add-to-cart-selectors select {width:auto;margin:0}

            /*--- error message ---*/
            .product-page .add-to-cart-selectors .form-validation-message {}

        /*--- buttons ---*/
        .product-page .add-to-cart {box-shadow:none;margin:0}


        /*--- variant group ---*/
        .product-page .product-variant {}


        /*--- documents --------------------------*/
        .product-documents {display:flex;flex-wrap:wrap;gap:.5em;list-style:none;padding:0;margin:1.5em 0 2em}
            .product-documents li {}
                .product-documents a {display:flex;align-items:center;gap:.5em}

                /*--- PDF items---*/
                .product-documents a[href*=".pdf"]::before {font-family:'FontAwesome';font-weight:normal;color:#ff6868;content:"\f1c1"}


        /*--- spec chart --------------------------*/
        .product-genre-attributes {}

            /*--- dl list ---*/
            .pga-table {display:grid;grid-template-columns:auto auto;flex-wrap:wrap;width:fit-content;border:1px solid #d6d6d6;margin:0 0 1.5rem}
                .pga-table dt, .pga-table dd {padding:.5em}
                .pga-table dt:not(:first-of-type), .pga-table dd:not(:first-of-type) {border-top:1px solid #d6d6d6}
                    .pga-table dt:nth-of-type(even), .pga-table dd:nth-of-type(even) {background-color:#f3f3f3}
                    .pga-table dt {padding-right:1em;border-right:1px solid #d6d6d6}
                    .pga-table dd {}






/*--- CONTACT -------------------------------------------------------------*/
.contact-us-page {}

    @media (min-width:768px) {
        .contact-us-page {display:grid;grid-template-columns:1fr minmax(17em, 25%);align-items:start;gap:0 clamp(2rem, 4vw, 5rem)}
    }


    /*--- banner -----------*/
    .contact-us-page .heading-banner {grid-column:1/-1}


    /*--- links --------------*/
    .contact-us-page .heading-banner + div {display:flex;flex-wrap:wrap;gap:0 4em;margin:0 0 6rem}
        .contact-us-page .heading-banner + div h2 {flex:100%}
        .contact-us-page .heading-banner + div a {display:block;padding:.25em 0;font-size:1.6em}
            .contact-us-page .heading-banner + div a:not(:hover):not(:focus) {color:var(--neutral-black-color)}


    /*--- form ------------*/
    .contact-us-page > div:nth-of-type(3), .contact-us-page form {grid-row:2}
        .contact-us-page form .contact-form {display:flex;flex-wrap:wrap;gap:0 .5em}
            .contact-us-page form .contact-form > div:nth-last-of-type(-n + 3) {flex:100%}
            .contact-us-page form .contact-form > div:nth-of-type(-n + 3) {flex:1 0 16em}

    /*--- required ---*/
    .contact-us-page .form-label-suffix-required {position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%)}
        .contact-us-page .form-label-prefix-required + .form-label-wrap::after {color:red;content:" *"}







/*--- MINICART -------------------------------------------------------------*/
.modal-content {border-radius:0}

    /*--- item listing ---*/
    .minicart-item {display:flex}

    /*--- buttons ---*/
    .modal-footer .btn {margin-bottom:0}
        .close-minicart-button {font-size:1.25em;text-transform:none}
        .minicart-checkout-button {padding:.8em .8em}








/*--- CHECKOUT -------------------------------------------------------------*/
.checkout-page {margin:3em 0}

    /*--- common buttons ---*/
    .update-button, .update-cart-button, .purchase-order-submit {padding:.8em !important;text-transform:none}
    .cancel-button, .purchase-order-cancel {font-size:1.25em;text-transform:none}
    .checkout-page .btn-primary {padding:.8em}


    /*--- info sections --------*/
    .checkout-block {margin-bottom:5em}

        /*--- heading ---*/
        .checkout-header {font-size:1.5em;color:#028302}
            .checkout-header span {display:none}


        /*--- email ---*/
        .checkout-page .form .input-group {display:flex}
        .checkout-page .form .input-group .input-group-btn {width:auto;font-size:unset}
            .checkout-page .form .input-group .btn {height:100%}


    /*--- order detail sections --------*/
    .order-details {border-radius:0}
        .order-details .checkout-header {color:var(--neutral-black-color)}


    /*--- payment methods --------*/
    .checkout-block.payment-method {}

        /*--- buttons---*/
        .choose-payment-method-button {background-color:#028302}
            .choose-payment-method-button:hover, .choose-payment-method-button:focus {background-color:#015101}


    /*--- security badges --------*/
    .checkout-security-seal {display:flex;justify-content:center}






/*--- ACCOUNT -------------------------------------------------------------*/


    /*--- address -----------*/
    .address-wrap {margin-bottom:2em}
        .address-wrap > div {margin-bottom:1em}

            /*--- buttons ---*/
            .address-actions .btn-primary {padding:.8em;font-size:1em;text-transform:uppercase}





