hr {
	margin-top: 10px;
	margin-bottom: 10px;
}

hr::after {
	content: '';
	display: table;
	clear: both;
}

.transparent {
	opacity: 0;
}

.content-wrapper {
	display: none;
    margin: 0 20px;
    position: absolute;
    background: #fff;
    z-index: 9999;
    width: 95%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-left: 0;
    margin-right: 0;
    border: 1px solid #ccc;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
    flex-wrap: wrap;
}

.algolia_overlay {
    background: rgba(0,0,0,0.5);
    display: none;
    position: absolute;
    width: 100%;
    height: calc(100% - 200px);
    z-index: 1000;
    top: 200px;
    overflow: hidden;
    bottom: 0;
}

.openbtn {
    position: absolute;
    display: none;
    z-index: 9999;
    border: 1px solid #000;
    background: #fff;
    font-weight: 700;
    color: #1f1f1f;
    padding: 0px 15px;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 30px;
    top: 20px;
}

.rel_openbtn {
    display: none;
    border: 1px solid #303e48;
    background-color: #303e48;
    color: #fff;
    border-bottom: none;
    border-top: none;
    font-size: 16px;
    line-height: 23px;
    font-weight: normal;
    text-transform: uppercase;
    padding: 6px 15px;
    width: 100%;
    margin-top: 20px;
    text-align: left;
}

.closebtn {
    background-color: transparent;
    border: none;
    display: none;
}

.search_open {
    overflow: hidden;
}
.results-wrapper {
	width: 75%;
    padding: 0 10px;
    position: relative;
}

#pagination {
	padding-top: 20px;
    padding-bottom: 100px;
}

#sidebar-faceting {
	width: calc(25% - 20px);
    min-width: 200px;
    background: #fff;
    margin: 0 10px;
    border: none;
    display: flex;
    flex-direction: column;
    height: intrinsic;
    height: -moz-max-content;
    height: -webkit-max-content;
    position: relative;
    margin-top: 20px;
}

#sidebar-faceting .facet-category-title {
	display: block;
    background-color: #303e48;
    color: #fff;
    border-bottom: none;
    border-top: none;
    font-size: 16px;
    line-height: 23px;
    font-weight: normal;
    text-transform: uppercase;
    padding: 6px 15px;
}
#sidebar-faceting .facet-wrapper:nth-child(2) .facet-category-title {
    border-top: none;
}
#sidebar-faceting .facet-wrapper {
	padding-bottom: 12px;
	margin-bottom: 12px;
	font-size: 0.87em;
}

#sidebar-faceting .facet-title {
	font-weight: bold;
	margin: 4px 0;
}

#sidebar-faceting .facet-item,
#sidebar-faceting a {
	color: #000;
	font-size: 12px;
	line-height: 22px;
	display: flex;
	border: 0;
	margin-bottom: 10px;
    text-transform: uppercase;
    padding-left: 30px;
}

#sidebar-faceting .facet-item:hover,
#sidebar-faceting a:hover {
	color: #f6303e;
	text-decoration: none;
}

#sidebar-faceting .facet-item.active,
#sidebar-faceting a.active {
	font-weight: bold;
}

#sidebar-faceting .facet-item input,
#sidebar-faceting a input {
	margin-right: 10px;
	margin-top: 4px;
}

#sidebar-faceting .facet-name {
	width: 100%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	display: inline-block;
    text-transform: uppercase;
}

#sidebar-faceting .facet-count {
	margin-left: 4px;
	color: #000;
}

#results-topbar {
	display: flex;
    width: 100%;
    line-height: 22px;
    align-items: center;
}

#results-topbar::after {
	content: '';
	display: table;
	clear: both;
}

#results-topbar .sort-by {
	order: 2;
    width: 120px;
    text-align: right;
}

.ais-SortBy-select {
    padding: 0.5rem 2rem 0.5rem 1.3rem !important;
}

#results-topbar label {
	font-weight: normal;
	font-size: 0.8em;
}

#results-topbar #sort-by {
	display: inline-block;
}

#clear-refinements {
	display: block;
	margin-bottom: 15px;
	order: 99;
	padding: 0 15px;
}

.ais-Stats-text {
	font-size: 26px !important;
	line-height: 54px;
	color: #000;
}
#clear-refinements .btn {
	font-size: 13px;
	padding: 0;
}

#clear-refinements .btn .ais-ClearRefinements-link > button {
	margin: 6px 12px;
}

.ais-RefinementList-searchBox > * {
	margin-bottom: 10px !important;
}

#price .ais-Panel-body {
	padding: 0 15px;
}

#hits {
	margin: 0;
}

#hits::after {
	content: '';
	display: table;
	clear: both;
}

.ais-Hits-list {
	margin-top: 0;
}

.ais-Hits-item,
.ais-InfiniteHits-item,
.ais-InfiniteResults-item,
.ais-Results-item {
	padding: 0;
	border: none;
	box-shadow: none;
}

.hit {
	padding: 15px;
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.hit .product-picture-wrapper {
	display: table;
	table-layout: fixed;
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}

.hit .product-picture {
	display: table-cell;
	vertical-align: middle;
	margin: 0 auto;
	position: relative;
}

.hit .product-picture img {
	transition: opacity 500ms cubic-bezier(0.19, 1, 0.22, 1);
	height: 150px;
	max-width: 100%;
}

.hit .product-desc-wrapper {
	height: 100%;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
}

.hit .product-name {
	font-weight: bold;
	color: #000000;
	margin: 0 0 8px;
	min-width: 120px;
	line-height: 1.4;
	font-size: 16px;
	overflow: hidden;
	padding-bottom: 2px;
	margin-bottom: 2px;
}

[class^=ais-] {
	font-size: inherit !important;
}

.hit .product-type {
	font-size: 13px;
	margin-bottom: 5px;
	color: #aaa;
	text-transform: uppercase;
	font-weight: 600;
}

.hit .product-rating {
	margin-bottom: 10px;
}

.hit .product-price {
	font-size: 16px;
	font-weight: bold;
	color: #f6303e;
	width: 50%;
}

.hit mark {
	color: #000000;
	font-style: normal;
	background-color: #ffbe61;
}

.ais-RangeInput-submit {
	display: block;
	float: right;
	width: 22px;
	height: 22px;
	padding: 0;
	margin-left: 4px;
	font-size: 10px;
	line-height: 20px;
	border: solid 1px #888;
	border-radius: 50%;
	text-align: center;
	background: none;
	color: #000000;
}

.ais-Panel-header {
	margin: 0 !important;
	clear: both;
	padding: 0 !important;
	border-bottom: none !important;
}

.ais-SearchBox-input {
	padding: .5rem 2.5rem !important;
}

.ais-SearchBox-form {
	margin-bottom: 5px;
}

.ais-Panel-header h5 {
	font-weight: bold;
    text-transform: none;
    font-size: 15px;
    padding: 10px 0px 10px;
    margin: 0;
    color: #000;
}

.ais-Panel-body .ais-RangeSlider {
	margin: 2rem 15px !important;
}

.ais-RangeSlider .rheostat-handle {
	border-color: #000 !important;
	background: #000 !important;
	width: 25px;
	height: 25px;
}

.ais-RangeSlider .rheostat-background {
	border-color: #000 !important;
	height: 5px !important;
	top: 3px !important;
}

.ais-RangeSlider .rheostat-progress {
	background-color: #000 !important;
	top: 4px !important;
	height: 3px !important;
}

.ais-RangeSlider .rheostat-marker {
	background-color: #000 !important;
	top: 9px;
}

.ais-Stats-text {
	padding-left: 10px;
	font-size: 0.8em;
}

.rheostat-value {
	font-size: 12px !important;
	color: #000;
	opacity: .6;
}

#search-button {
	background: #000;
	z-index: 100;
	height: 38px;
	width: 38px;
	padding: 11px;
	-o-transition: color .3s, background .3s, border-color .3s;
	-ms-transition: color .3s, background .3s, border-color .3s;
	-moz-transition: color .3s, background .3s, border-color .3s;
	-webkit-transition: color .3s, background .3s, border-color .3s;
	transition: color .3s, background .3s, border-color .3s;
	position: relative;
	border: 1px solid #ddd;
}

#search-button svg {
	fill: #fff;
}

#search-button:hover svg {
	fill: #fff;
}

#search-button:hover {
	background: #f6303e;
}

#searchbox {
	width: 100%;
}

.ais-Panel-header {
	margin-bottom: 0;
	margin-top: 0;
	padding-bottom: 0;
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
}

.ais-Panel-body {
	padding: 10px 15px;
}

.ais-SearchBox-input {
	border: 1px solid #ddd !important;
	font-size: 14px !important;
}

.ais-SearchBox-input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #aaa !important;
}

.ais-SearchBox-input::-moz-placeholder { /* Firefox 19+ */
	color: #aaa !important;
}

.ais-SearchBox-input:-ms-input-placeholder { /* IE 10+ */
	color: #aaa !important;
}

.ais-SearchBox-input:-moz-placeholder { /* Firefox 18- */
	color: #aaa !important;
}

.ais-Hits-item, .ais-InfiniteHits-item, .ais-InfiniteResults-item, .ais-Results-item {
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	width: calc((100% - 4rem) / 4) !important;
}

.ais-Pagination-item--selected .ais-Pagination-link {
	background-color: #f6303e !important;
	border-color: #f6303e !important;
    color: #fff !important;
}

.ais-Pagination-link {
	padding: 5px 10px !important;
	font-size: 13px !important;
	border: 1px solid #ccc !important;
}

.savings-container.algolia-promo {
	right: 0px;
	left: auto;
	top: -10px;
}

.product-bottom {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

body .ais-HierarchicalMenu-showMore, body .ais-RefinementList-showMore, #clear-refinements .ais-ClearRefinements-button, body .ais-HierarchicalMenu-showMore:focus {
    color: #000;
    background-color: transparent;
    border-color: grey !important;
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 10px 10px;
    font-size: 14px !important;
    line-height: 1.5;
    border-radius: 0px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
body .ais-HierarchicalMenu-showMore:hover, body .ais-RefinementList-showMore:hover, #clear-refinements .ais-ClearRefinements-button:hover { 
    color: #333;
    background-color: #e6e6e6;
}
#alg-content .ais-Hits-item {
    border: none !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
}
#alg-content .ais-Hits-item a {
    color: #000;
    padding: 0 !important;
    font-size: 13px;
}
#alg-content .ais-Hits-item a:hover {
    color: #30a6d4;
}
#stats {
    width: calc(100% - 120px);
}
#alg-content .ais-Panel-footer {
    position: absolute;
    right: 15px;
    top: 20px;
}
#alg-content .ais-Panel-body {
    padding: 0;
    padding-top: 10px;
}
#alg-content .ais-Hits-item, #alg-content .ais-Hits-list {
    margin-top: 0;
}
.close_btn {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #000;
    display: block;
    text-align: center;
    line-height: 22px;
    color: #fff;
}
#alg-content .ais-Hits-list {
    display: flex;
    flex-direction: column; 
    margin-left: 0;
}
#alg-content {
    background-color: #fafafa;
    border: 1px solid #e1dfdf;
    padding: 15px;
    margin-top: 20px;
}
#alg-content .ais-Panel-header span {
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    color: #000;
    padding-bottom: 10px;
    text-transform: capitalize;
}
.rheostat-value {
    padding-left: 8px;
    font-size: 13px !important;
}
.rheostat-value:before {
    content: "$";
    position: absolute;
    left: 0;
}
.rheostat-tooltip {
    font-size: 12px !important;
}
#sidebar-faceting.close_sidebar {
    display: none;
}
#sidebar-faceting.open_sidebar {
    display: flex;
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 300px;
    margin: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
    left: 0;
}
#sidebar-faceting .npopup-btn-close {
    top: 8px;
    right: 8px;
}
.results_open_sidebar {
    filter: brightness(75%);
    background: rgba(0,0,0,0.25);
}
.product_brand {
    height: 60px;
    width: 60px;
    background-position: center;
    background-size: contain;
    margin-left: auto;
    background-repeat: no-repeat;
}
#sidebar-faceting .facet-wrapper:nth-child(3) .facet-category-title {
    border-top: none;
}
#alg-content .ais-Hits-item {
    display: flex;
    align-items: center;
    margin-bottom: 5px !important;
}
#alg-content .ais-Hits-item .pd-related-image {
    margin-right: 10px;
}
.ais-RefinementList-list input[type="checkbox"], .ais-HierarchicalMenu-list input[type="checkbox"] {
    position: absolute;
    left: -9999px;
    width: auto;
}
.ais-RefinementList-list a.facet-item:before, .ais-HierarchicalMenu-list a.facet-item:before {
    content: "";
    border-radius: 3px;
    background-color: #fefefe;
    position: absolute;
    width: 22px;
    height: 22px;
    padding: 2px;
    top: -1px;
    left: 0;
    border: 1px solid #999;
}
.ais-RefinementList-item, .ais-HierarchicalMenu-item {
    position: relative;
}
.ais-RefinementList-list .ais-RefinementList-item--selected a.facet-item:before, .ais-HierarchicalMenu-list .ais-HierarchicalMenu-item.ais-HierarchicalMenu-item--selected a.facet-item:before {
    content: '✔';
    font-size: 13px;
    line-height: 18px;
    top: 0px;
    left: 0px;
    position: absolute;
    color: #666;
    text-align: center;
    
}
.ais-HierarchicalMenu-list .ais-HierarchicalMenu-item:not(.ais-HierarchicalMenu-item--selected) a.facet-item:before {
    content: "";
}
.ais-SortBy-select {
    background-image: none !important;
}
.ais-SortBy:after {
    content: "\f0d7";
    font-family: FontAwesome;
    position: absolute;
    z-index: 2;
    right: 15px;
    top: 50%;
    margin-top: -10px;
    pointer-events: none;
    color: #000;
    font-size: 15px;
}
.ais-SortBy {
    position: relative;
    width: 100%;
    height: 34px;
    overflow: hidden;
    background: #fff;
    font-size: 13px;
    border: 1px solid #ddd;
    border-radius: 0;
}
.ais-SortBy-select {
    border: none !important;
}
.search_open .wrapper-top-links {
    display: none;
}
.results-wrapper .npopup-btn-close {
    top: 40px;
    right: 0px;
}
.ais-Hits-item .ais-Highlight-highlighted, .ais-Hits-item .ais-Snippet-highlighted {
    background-color: transparent;
    color: #f6303e;
    padding: 0;
}
.ais-Breadcrumb-link, .ais-HierarchicalMenu-link, .ais-Menu-link, .ais-Pagination-link, .ais-RatingMenu-link {
    color: #f6303e !important;
}
.pd-related-image {
    height: 45px;
    width: 65px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.wrapper-thumbnail form.buying_options_mobile {
    display: none;
}
.nsearchinput-pl {
    display: none !important;
}
.product-options.colour-options a {
    margin: 0 2px;
}
.ais-Hits-item .label {
    margin: 0 2px;
}
.sku-container {
    position: absolute;
    top: 0;
    left: 0;
}
.pd-search {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 3px;
    width: 100% !important;
}
.flex-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.pd-search button {
    padding: 5px 10px !important;
}
.pd-search input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #979797;
}
.pd-search input::-moz-placeholder { /* Firefox 19+ */
  color: #979797;
}
.pd-search input:-ms-input-placeholder { /* IE 10+ */
  color: #979797;
}
.pd-search input:-moz-placeholder { /* Firefox 18- */
  color: #979797;
}
.thumbnail .caption h4 {
    margin-top: 0;
    font-size: 15px;
}
#categories-topbar .ais-Panel-header span {
    display: block;
    background-color: #303e48;
    color: #fff;
    border-bottom: none;
    border-top: none;
    font-size: 16px;
    line-height: 23px;
    font-weight: normal;
    text-transform: uppercase;
    padding: 6px 15px;
    margin-left: 1px;
    width: calc(100% - 2px);
    margin-top: 20px;
}
#categories-topbar .ais-Panel-body .ais-Hits-list {
    display: flex;
}
#categories-topbar .ais-Panel-body .ais-Hits-item {
    display: flex;
    align-items: center;
    width: calc((100% - 2rem) / 2) !important;
    margin-left: 0;
}
.pd-related-title {
    display: flex;
    align-items: center;
}
.pd-related-title p {
    margin-bottom: 0;
    display: flex;
    color: #333;
}
.pd-related-title p a {
    color: grey !important;
    margin-bottom: 0 !important;
    font-size: 14px !important;
    line-height: 24px !important;
    padding-left: 0 !important;
    text-transform: inherit !important;
}
.pd-related-title p a:hover, .pd-related-title p a:hover span {
    color: rgba(247, 50, 63, 1) !important;
} 
.pd-related-title p a span {
    margin-left: 5px;
    color: #333;
}
.ais-HierarchicalMenu-showMore--disabled, .ais-RefinementList-showMore--disabled, .ais-ClearRefinements-button--disabled {
    display: none !important;
}
.pd-sku {
    font-size: 12px;
    color: grey;
    font-weight: bold;
}


@media screen and (max-width: 1342px) {
.algolia_overlay {
    height: calc(100% - 150px);
    top: 150px;
}    
}
@media screen and (max-width: 1199px) {
.ais-Hits-item, .ais-InfiniteHits-item, .ais-InfiniteResults-item, .ais-Results-item {
    width: calc((100% - 3rem) / 3) !important;
}    
.results-wrapper .npopup-btn-close {
    top: 18px;
    right: 8px;
}     
.content-wrapper {
    width: 100%;
    left: 0;
    right: 0;
    -webkit-transform: none;
    transform: none;
}
.algolia-header .wrapper-top-links {
    display: none;
}
.algolia-header .wrapper-header {
    padding: 30px 0 15px;
}    
}
@media screen and (max-width: 1013px) {
.algolia_overlay {
    height: calc(100% - 180px);
    top: 180px;
}    
}
@media screen and (max-width: 991px) {
.ais-Hits-item, .ais-InfiniteHits-item, .ais-InfiniteResults-item, .ais-Results-item {
    width: calc((100% - 2rem) / 2) !important;
}
.rel_openbtn {
    display: block;
}    
#categories-topbar .ais-Panel-header span {
    display: none;
}  
#categories-topbar {
    display: none;
}    
#categories-topbar .ais-Panel-body .ais-Hits-item {
    width: calc((100% - 1rem) / 1) !important;
}  
.algolia_overlay {
    top: 180px;
    height: calc(100% - 180px);
}    
#sidebar-faceting {
    width: calc((100% - 60px) / 3);
}
.results-wrapper {
    width: calc(200% / 3);
}
.ais-Hits-item .caption .price {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
}
.wrapper-thumbnail form.buying_options_mobile {
    display: block;
    width: auto;
    margin-left: auto;
}    
}
@media screen and (max-width: 895px) {
.algolia_overlay {
    top: 180px;
    height: calc(100% - 180px);
}  
}
@media screen and (max-width: 891px) {
.algolia_overlay {
    top: 180px;
    height: calc(100% - 180px);
}  
}
@media screen and (max-width: 767px) {
.npopup {
    z-index: 99999;
}  
.ais-Panel-header h5 {
    padding: 10px 10px 10px;
}
.ais-Hits-item .wrapper-thumbnail {
    width: 100%;
}
.wrapper-thumbnail .overlay {
    display: none; 
}    
.wrapper-thumbnail .overlay a.btn.btn-default.btn-block {
    display: none;
}    
.openbtn {
    display: block;
    top: 10px;
    width: calc(100% - 20px);
    background-color: #303e48;
    border-color: #ddd;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 16px;
    padding: 2px 15px;
    font-weight: 400;
}
.ais-Hits-item, .ais-InfiniteHits-item, .ais-InfiniteResults-item, .ais-Results-item {
    width: calc((100% - 2rem) / 2) !important;
}    
.rel_openbtn {
    margin-top: 20px;
}
/*
.algolia_overlay {
    top: 240px;
    height: calc(100% - 240px);
} */   
.algolia_overlay {
    top: 160px;
    height: calc(100% - 160px);
    position:fixed;
}   
.results-wrapper .npopup-btn-close {
    top: 8px;
}
.closebtn {
    display: block !important;
}
#sidebar-faceting {
        display: none;
}
.results-wrapper {
    width: 100%;
    padding-top: 35px;
}
#alg-content .ais-Panel-footer {
    right: 20px;
    top: 25px;
} 
.ais-Hits-item .caption .price span {
    font-size: 18px;
    padding-right: 5px;
}  
.ais-Hits-item .rrp-thumb {
    font-size: 14px !important;
}
.ais-Hits-item .wrapper-thumbnail {
    padding: 0 !important;
}  
.ais-Hits-item .caption {
    padding: 5px;
}        
}
