@media (min-width: 320px) {
.main-banner .carousel-control-next, .main-banner .carousel-control-prev {
    width: 5%;
}
.Tile-ListContainer .ListView .List-Price-Group {
    max-width: 400px;
    width: 400px;
}
.TL-Price-Container .TL-Info.TL-Price {
    padding-bottom: 16px;
}
.TL-AddToCart Section:before, .DetailLineCompare section:before {
    content: "Qty";
    margin-right: 2px;
}
span.pdf-title.d-block {
    color: initial;
    line-height: 1.35;
    margin-top: .5rem;
    font-size: 15px;
}
.results-group {
    margin-bottom: 8px!important;
}	
.results-wrapper {
    margin-bottom: 8px!important;
    padding: 0px 0px!important;
    border-bottom: 1px solid #e9e9e9!important;
}
/*** fatener view ************************/		
	
.product-table-list {
    font-size: 0.875rem;
}
thead.text-nowrap th {
    position: sticky;
    top: 52px;
    background: white;
    z-index: 8;
}
.product-table-list tbody > tr > td, .product-table-list thead > tr > th {
    padding: .25rem 0.75rem;
    text-align: left !important;
}
.product-table-list th, .product-table-list td {
    vertical-align: top;
    border-top: 1px solid #e9e9e9;
}
.product-table-list > thead > tr > th {
    border-bottom: 0px !important;
    padding-top: 16px;
    padding-bottom: 12px;
}
.product-table-list tr:nth-child(even) {
    background-color: #f6f6f6;
}
.product-table-list a {
    text-decoration: underline!important;
    color: #dc352f !important;
    cursor: pointer!important;
}
tr.cursor-pointer {
    position: relative;
}
div#exampleModal-1 {
    padding-right: 0px!important;
}
.modal-header .close {
    outline: none;
}
.modal.fade.show {
    opacity: 1;
    background: rgb(0 0 0 / 30%);
}
.modal-sm.product-modal {
    max-width: 500px;
}
.product-modal .modal-header {
    padding: 5px 15px;
    border-bottom: 0px solid #e9ecef;
}
.product-modal .modal-body {
    padding-top: 0px;
}
.modal-dialog.product-modal {
    margin: 15vh auto!important;
}
.product-modal .tile--product {
    width: calc(100%/1)!important;
    border: none!important;
    padding: 9px;
    padding-top: 0px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.product-modal .picture--wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
}
.product-modal .List-Price-Group {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 55%;
            flex: 0 0 55%;
    margin-left: 5%;
}
.product-modal .image-wrapper.image-wrapper--product {
    height: 140px;
    margin: 0px;
    margin-bottom: 8px!important;
    border-right: 1px solid gainsboro;
}
.product-modal .TL-Info-Container {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 55%;
    flex: 0 0 55%;
    padding-left: 5%;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
}
.product-modal .TL-Info {
    padding-bottom: 8px;
    font-size: 13px;
}
.product-modal .product-sku a:before {
    content: "Part #";
    color: black;
    font-weight: 500;
}
.product-modal .TL-Info.Short.Description:before {
    content: "Description";
    color: black;
    font-weight: 500;
    display: block;
    margin-bottom: 3px;
    font-size: 14px;
}
.product-modal .CompareRow {
    display: none;
}
.product-modal label.variation--label {
    background: #f7f7f7;
}
.product-modal .modal-body .btn-addtocart {
    margin: 0;
    margin-bottom: 8px;
    text-align: center;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    -webkit-box-flex: 1;
    flex-grow: 1;
    max-width: 100%;
    min-width: 112px;
    height: 40px;
    display: block;
}
a.view-details-btn {
    padding: 6px 10px;
    border-radius: 5px;
    background: transparent;
    color: #29166f;
    display: block;
    font-size: 14px;
    text-decoration: underline;
    text-align: center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
}
a.view-details-btn:hover {
    color: #d80000;
}


	
	.quick-order {
    margin-top: 2rem;
}
body {
   font-family: 'Roboto', sans-serif;
   font-family: franklin-gothic-atf, sans-serif;
   color: #28343c;
   font-size: 16px;
   line-height: 1.5em;
   -webkit-font-smoothing: antialiased;
}
.container {
    max-width: 1380px;
}
.header-wrap-contain {
}
.content-max {
    width: 100%;
    /* max-width: 1440px; */
    margin-left: auto;
    margin-right: auto;
    background: white;
}

.cBodyTable.container {
	background: #fff!important;	   
}

.Brian.MainTable .mainTableBgrnd {
    background: #fff;
}
.umb-grid {
    
}
.umb-grid-wrap {
    /* max-width: 1400px; */
    margin: auto;
    background: #fff;
    padding: 3rem 0 6rem 0;
    /* box-shadow: 0px -18px 18px #f1f1f1; */
}
.page-heading {
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top: 1px solid #000000;
    position: relative;
    background: #23106a;
}
.page-heading:before {
    top: 0;
    right: 0;
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(320deg, hsl(252.81deg 53.98% 34.4% / 60%) 20%, transparent 20%), linear-gradient(219deg, hsl(0deg 0% 71.58% / 36%) 20%, transparent 20%);
}
.heading-title {
    position: relative;
}
.page-heading h1 {
    text-transform: none;
    font-size: clamp(1.75rem, -0.875rem + 8.333vw, 2.25rem);
    color: #ffffff;
    font-weight: 700;
    display: inline-block;
    margin: 0px 0 8px 0;
    margin-left: 0px;
    letter-spacing: normal;
}
p.heading-intro {
    color: #fff;
    font-size: 1.125rem;
    margin: 0;
    max-width: 700px;
}
.cms-image {
    content: "";
    position: absolute;
    display: flex;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.cms-image img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: auto;
}
a {
    color: #dc352f;
}
a:hover {
    color: #29166f;
}
a.btn:hover {
    color: #fff;
}
.btn:hover {
    background: #29166f;
}
.btn, button {
    background: #d80000;
    padding: .75rem 1.5rem;
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border: 0px;
    color: #FFFFFF;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
	transition: all .3s;
}
.white {
    color: #ffffff!important;
}
.red {
    color: #dc352f;
}
.blue {
    color: #29166f;
}
.bg-gray {
    background: #f6f6f6;
}
.bg-blue {
    background: #29166f;
}
.h1, .h2, .h3, .h4, .h5, h1, h2, h3, h4, h5 {
    color: #252a2e;
}
.h1, .h2, h1, h2 {
    font-weight: 700;
}
.h3, .h4, .h5, h3, h4, h5 {
    font-weight: 600;
}
h4 {
    font-size: 1.5rem;
}
h5 {
    font-size: 1rem;
}
.lead {
    font-size: 1.25rem;
	line-height: 1.5;
}
.fancy-title {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1rem;
}
.learn-more {
    text-transform: uppercase;
    color: #dc352f;
    font-weight: 600;
    font-size: 1rem;
}
.learn-more a:hover {
    text-decoration: none;
	color: #29166f;
}
.learn-more i {
    margin-left: 6px;
	font-size: 12px;
}
	
	
.owl-theme .owl-dots {
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    position: absolute;
    bottom: .5rem;
    width: 100%;
}
.owl-theme .owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background: #999999;
}
.owl-theme .owl-dots .owl-dot span {
    width: 16px;
    height: 16px;
    margin: 5px 6px;
    background: #f3f3f3;
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity .2s ease;
    border-radius: 30px;
}
.owl-prev, .owl-next {
    position: absolute;
    top: 0%;
    background-color: transparent;
    height: 100%;
    line-height: 55px;
    width: 0px;
    text-align: center;
}
.owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.owl-prev {
    left: -15px;
}
.owl-next {
    right: -15px;
}
.owl-prev i, .owl-next i {
    color: #d6d6d6;
    font-size: 24px;
    /* background: rgb(0 0 0 / 25%); */
    border-radius: 2px;
    border-radius: 100%;
    width: 35px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 35px;
    flex: 0 0 35px;
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

}

/*** banner message ************************/	
section.opening-message {
    background: #29166f;
    padding: 1rem 0;
    color: white;
}
.opening-message p {
    margin: 0;
    line-height: 1.4;
}
.opening-message a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}
/*** banner hero ************************/
.carousel-fade .carousel-item {
 opacity: 0;
 transition-duration: .6s;
 transition-property: opacity;
}

.carousel-fade  .carousel-item.active,
.carousel-fade  .carousel-item-next.carousel-item-left,
.carousel-fade  .carousel-item-prev.carousel-item-right {
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade  .active.carousel-item-right {
 opacity: 0;
}

.carousel-fade  .carousel-item-next,
.carousel-fade .carousel-item-prev,
.carousel-fade .carousel-item.active,
.carousel-fade .active.carousel-item-left,
.carousel-fade  .active.carousel-item-prev {
 transform: translateX(0);
 transform: translate3d(0, 0, 0);
}
.main-banner .carousel {
    height: 44vh;
    min-height: 400px;
}
.main-banner .carousel-inner, .main-banner .carousel-item {
    height: 100%;
}
.cta-main-img {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
    height: 100%;
    background-position: center!important;
}
.cta-main-box {
    position: relative;
    height: 100%;
}
.media-body {
    padding: 2rem;
    padding-left: 5%;
    max-width: 780px;
    margin-top: auto;
    margin-bottom: auto;
}
	.main-banner-box {
    width: 100%;
    z-index: 1;
    align-items: center;
    margin-top: auto;
    margin-bottom: auto;
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
}
.cta-main-img:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(320deg, hsl(252.81deg 66.92% 26.08% / 60%) 20%, hsl(0deg 0% 0% / 10%) 20%), linear-gradient(219deg, hsl(0deg 0% 92.42% / 36%) 20%, rgb(0 0 0 / 10%) 20%);
}
.media.d-block {
    background-color: #000000 !important;
}
.section-title-lg {
    color: #ffffff;
    font-weight: 800;
    font-size: clamp(2rem, -0.875rem + 8.333vw, 3.25rem);
    line-height: 1.2;
    text-transform: uppercase;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.section-title-text {
    display: inline-block;
	/* text-shadow: 0px 0px 6px rgb(0 0 0 / 45%);*/
}	
section.main-banner a.btn[href="/"] {
    cursor: not-allowed;
	pointer-events: none;
	display: none;
}	

	
/*** intro ************************/		
section.opening-about {
    padding: 4rem 0rem 4rem 0rem;
    line-height: 1.5;
    text-align: center;
}
.sub-opening p {
    font-size: 18px;
}
/*** Cta box cards ************************/		
section.cta {
    padding: 2rem 0 2rem 0;
    /* background: #fcfcfc; */
}
section.cta .col-sm-6 {

}
section.cta .learn-more {
    display: none;
}
section.cta .cta-card {
    border: 0px solid gainsboro;
    height: 100%;
    background: transparent;
}	
section.cta .cta-card:hover {
    text-decoration: none;
}
section.cta .cta-card:hover .learn-more{
    text-decoration: underline;
}
.block-overlay {
    position: relative;
}	
.block-overlay:before {
    content: "";
    background: rgb(0 0 0 / 8%);
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 0px;
    position: absolute;
	transition: all .3s;
}
section.cta .cta-card:hover .block-overlay:before {
    background: rgb(0 0 0 / 15%);
}
.block-overlay img {
    /* height: 322px; */
    border-radius: 0px;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}	
.card-body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 0 0rem;
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    text-align: center;
    /* background: transparent; */
}	
.title4 {
    color: #29166f;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-weight: 700;
    font-size: 1.5rem;
    text-transform: uppercase;
}
.block-contents {
    color: initial;
    margin-bottom: 1rem;
}	
	
	
/*** Featured Products ************************/
section.home-section.featured-section {
    padding: 2rem 0 4rem 0;
    /* border-left: 1px solid #ebebeb; */
    /* border-right: 1px solid #ebebeb; */
}
.card-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 103px;
}
.product-box {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 20px;
    padding-top: 8px;
    /* padding-bottom: 0px; */
    transition: all .3s;
}
.product-box:hover {
    border: 1px solid #000;
}
.product-box .item {
    text-decoration: none;
}
.product-box-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 185px;
    margin-bottom: 8px;
    padding: 12px;
}
.product-box-img img {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    max-height: 100%;
    max-width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: auto!important;
}
h4.card-title.title2 {
    font-size: 16px;
    margin-bottom: 8px;
    font-weight: 600;
    transition: all .3s;
    /* text-align: center; */
}
h4.card-title.title3 {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0px;
}
	
/*** video section ************************/	
section.video-section {
    background: #29166f;
    padding: 3rem 0;
}
video.intro-video {
    width: 100%;
    max-width: 100%;
    height: 100%;
    aspect-ratio: 2/1;
    object-fit: cover;
}
.opening-wrap {
    padding: 3rem 0rem;
}	
.section-title {
    font-weight: 800;
    font-size: clamp(2rem, -0.875rem + 8.333vw, 2.75rem);
    line-height: 1.1;
    text-transform: uppercase;
    text-wrap: balance;
}
.opening-p {
    font-size: 1.25rem;
    margin-top: 1.5rem;
    max-width: 620px;
    line-height: 1.8;
    color: whitesmoke;
}
.opening-p:empty {
    display:none;
}	
/*** top category section ************************/
section.cat-products {
    padding: 2rem 0px 0rem 0px;
    /* border-left: 1px solid #ebebeb; */
    border-right: 1px solid #ebebeb;
}
a.p-item-box {
    margin: 0 4px;
    margin-bottom: 24px;
    display: block;
    width: calc((100%/6) - 8px);
    border: 1px solid #ddd;
	transition: all .3s;
}
a.p-item-box:hover {
    border: 1px solid #000;
}
.p-item-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 125px;
    margin: 8px;
    margin-top: 8px;
    padding: 8px;
    background: white;
    border: 0px solid #ddd;
    border-radius: 0px;
}	
.p-item-img img {
    align-self: center;
    max-height: 100%;
    max-width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.p-item-title {
    font-size: 1rem;
    line-height: 98%;
    padding: 0px 8px 20px 8px;
    font-weight: 400;
    color: initial;
    text-align: center;
}	

/*** hydraulic services************************/
.img-wrap img{
    width: 100%;
    aspect-ratio: 4 / 1;
    object-fit: cover;
}	
/*** contact************************/
.contact-form {
    border: 1px solid #c9c9c9;
    background: #fdfdfd;
    padding: 2rem;
}
/*** services page************************/
.service-row h3 {
    text-wrap: balance;
    margin-bottom: 1rem;
}
	
/*** footer ************************/	
footer {
    margin-top: 8rem;
}	
.footer-wrap {
    /* border-top: 2px solid #e3e3e3; */
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.footer-logo {
   width: 170px;
}	
.footer-message {
    font-size: 14px;
}
.footer-wrap2 {
    /* background: #29166f; */
    /* color: whitesmoke; */
    font-size: 12px;
    padding: .875rem 0;
    border-top: 1px solid #eee;
}
.footer-links p {
    margin: 0;
}
.footer-links {
    font-size: 14px;
}
p.copyright {
    margin: 0;
}
.f-pad {
    border-right: 1px solid gainsboro;
}
.footer-wrap1 {
    background: #29166f;
    padding: 1.25rem;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 500;
    /* border-top: 1px solid #dbdbdb; */
    /* border-bottom: 1px solid #29166f; */
}
.barMessage {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
a.social-link {
    background: #29166f;
    color: #ffffff;
    padding: .25rem;
    margin-right: .25rem;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 32px;
    width: 32px;
    border-radius: 100px;
    text-decoration: none;
    transition: all .3s;
}
a.social-link:hover {
	background: #d80000;
	color: #fff;
}
.badge-section p {
    font-size: 14px;
}
img.footer-badge {
    width: 90px;
}
	
}



@media (max-width: 1170px) {
	
	h1 {
		font-size: calc(1.375rem + 1.5vw)!important;
	}
	h2 {
		font-size: calc(1.325rem + .9vw)!important;
	}
	h3 {
    font-size: calc(1.3rem + .6vw)!important;
	}

.title {
    max-width: 85%;
}
}

@media (max-width: 1024px) {

}
	
@media (max-width: 991px) {
 .media-body {
    padding: 1rem 0rem;
    max-width: 700px;
	margin: auto;
    text-align: center;
}
a.p-item-box {
    width: calc((100%/5) - 8px);
}
}
		

@media (max-width: 767px) {
.service-row .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
}
.cms-image {
    position: relative;
    height: auto;
    aspect-ratio: 2/1;
    margin-bottom: 1.5rem;
}
.owl-prev i, .owl-next i {
    color: #201d1e;
    font-size: 19px;
    background: none;
    width: 25px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25px;
    flex: 0 0 25px;
    height: 25px;

}
a.p-item-box {
    width: calc((100%/4) - 8px);
}
.f-pad {
    border-bottom: 1px solid #e9e9e9;
    border-right: none;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
}
.footer-wrap1 {
    font-size: 16px;
	padding: 1rem;
}	
}	

@media (max-width: 650px) {
.img-wrap img {
    aspect-ratio: 2 / 1;
}	

.main-banner .carousel {
    height: 440px;
	min-height: 440px;
}
.opening-wrap {
    padding: 1rem 0rem;
}
section.opening-message {
    font-size: 1rem;
}
.opening-message p {
    font-size: .875rem;
}
section.opening-about {
    padding: 3rem 0rem 3rem 0rem;

}
a.p-item-box {
    width: calc((100%/2) - 8px);
}
.content .breadcrumb-heading {
    margin-bottom: 0px;
    padding: 7px 5px 0px 5px!important;
}
.content .results-wrapper {
    border-bottom: 0px solid #e9e9e9!important;
}
.tile-container .image-wrapper.image-wrapper--category {
    padding: 0px;
    margin-bottom: .5rem;
}
.tile-container a.tile.tile--category {
    margin-bottom: .5rem;
}
}
	
	
	
	