body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

p:empty{display:none;}

.bg-dark-purple{background:#1b1642;}

.bg-pattern1,.bg-pattern-1{background-image: url("../patterns/pattern-1.svg");}
.bg-pattern2,.bg-pattern-2{background-image: url("../patterns/pattern-2.svg");}

body > main > section > :is(.wp-block-columns,.wp-block-group){
    padding-left:15px;
    padding-right:15px;
}
/*-----------Clips-------------------*/
body{
    --clip-a: 30%;
    --clip-b: 70%;
}

.angle-medium{
    --clip-a: 20%;
    --clip-b: 80%;
}
.angle-thin{
    --clip-a: 10%;
    --clip-b: 90%;
}
.angle-thinner{
    --clip-a: 5%;
    --clip-b: 95%;
}

.clip-tl-bl{ clip-path: polygon(0 var(--clip-a), 100% 0, 100% 100%, 0 var(--clip-b)); } /* ◀ */
.clip-tl-br{ clip-path: polygon(0 var(--clip-a), 100% 0, 100% var(--clip-b), 0 100%); } /* ◢◤ */

.clip-tr-br{ clip-path: polygon(0 0, 100% var(--clip-a), 100% var(--clip-b), 0 100%); } /* ► */
.clip-tr-bl{ clip-path: polygon(0 0, 100% var(--clip-a), 100% 100%, 0 var(--clip-b)); } /* ◥◣ */

/*
clip-path: polygon(0 0, 100% var(--clip-a), 100% 100%, 0 var(--clip-b));
*/

/*Single*/
.clip-tl{ clip-path: polygon(0 var(--clip-a), 100% 0, 100% 100%, 0 100%); } /* ◣ */
.clip-tr{ clip-path: polygon(0 0, 100% var(--clip-a), 100% 100%, 0 100%); } /* ◢ */
.clip-br{ clip-path: polygon(0 0, 100% 0, 100% var(--clip-b), 100% 100%); } /* ◥	 */
.clip-bl{ clip-path: polygon(0 0, 100% 0, 100% 100%, 0 var(--clip-b)); } /* ◤ */

@media(max-width:768px){
    .center-mobile{
        text-align:center;
        margin:0 auto;
        float:none !important;
        width:100%;
    }
    .no-clip-mobile, .no-clip-mobile [class*="clip-"]{clip-path:unset !important;}
}
/*
Clips should have margins, otherwise cutting off above/below
*/

/*
TODO: Background that fills but is on different layer
*/
.styled-bg{
    position:relative;
    z-index:1;
    max-width:unset !important;
    width:100%;
}
.styled-bg .bg{
    background-color:currentColor;
    max-width:unset;
    position:absolute;
    top:-1px; /*Bugfix to prevent thin line*/
    bottom:0;
    left:0;
    width:100%;
    height:100%;
    z-index:-1;
    padding:75px 0;
}
.styled-bg .bg.half{
    height:50%;
    margin-top:25%;
}

/*TODO: Shrink decoration on mobile*/
.styled-bg .decoration-container{
    position:absolute;
    overflow:hidden;
}
.pos-br{bottom:-95px;right:5px;}
.pos-bl{bottom:-95px;left:5px;}

.pos-tr{top:-45px;right:5px;}
.pos-tl{top:-45px;left:5px;}

/*
TODO: If clip is on the side of the decoration, we need to move decoration up
*/

@media(max-width:992px){
    .jaro-shaped-container .bg{
        width:120vw;
        margin:0 -1em;
    }
}
.jaro-shaped-container + section{
    position:relative;
    z-index:1;
}

@media(min-width:992px){
    .float-md-right{
        float:right;
    }
}

.text-black{color:black !important;}

/*-----------------Search Styling-----------*/
.searchandfilter ul li{
    padding:15px;
}

@media(max-width:992px){
    .searchandfilter ul li{
        display:inline-block;
    }
    .searchandfilter > ul{
        padding:0;
        flex-direction: column;
    }
    .searchandfilter .meta-slider{
        margin:14px auto;
    }
}

@media(min-width:992px){
    a.search-filter-reset{
        margin-top:2em;
    }
}

.searchandfilter .noUi-connect{
    background-color:#3795d3;
}


.searchandfilter li{text-align:center;}

.searchandfilter > ul{
    display:flex;
    justify-content: center;
    gap:15px;
}
.searchandfilter .sf-field-reset{
    display:flex;
    align-items: center;
}
.searchandfilter input[type=text]{
    border-radius:5px;
    border: 1px solid transparent;
    border-radius: var(--bs-border-radius-sm) 0 var(--bs-border-radius-sm) 0;
    box-shadow: 0 0;
    box-shadow: 0 0;
    color: var(--bs-body-color);
    display: block;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6;
    padding: 0.75rem 1.25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    width: 100%;
}

.arrow-after-link a{
    color:#6658EA;
}
.arrow-after-link a::after{
    position:relative;
    top:1px;
    content:'';
    padding-left:10px;
    font-family: Feather!important;
}

body{
    --decoration-offset-x:-15%;
    --decoration-offset-y:-15%;
}
.gk-decoration .top-start{
    top:var(--decoration-offset-y,-15%) !important;
    left:var(--decoration-offset-x,-15%) !important;
}

.gk-decoration .top-end{
    top:var(--decoration-offset-y,-15%) !important;
    right:var(--decoration-offset-x,-15%) !important;
}

.gk-decoration .bottom-start{
    bottom:var(--decoration-offset-y,-15%) !important;
    left:var(--decoration-offset-x,-15%) !important;
}

.gk-decoration .bottom-end{
    bottom:var(--decoration-offset-y,-15%) !important;
    right:var(--decoration-offset-x,-15%) !important;
}

.position-absolute.bottom-end{
    bottom:-10% !important;
}


#page-header nav{
    /*box-shadow:0 0 24px rgba(27,22,66,.04), 0 44px 74px rgba(27,22,66,.06);*/
    box-shadow: 0 0 0.25rem #d0d5dd;
}
@media(max-width:992px){
    body.jaro-body{padding-top:60px}
    #page-header nav{
        padding:5px;
    }
}
@media(min-width:992px){
    body.jaro-body{
        padding-top:84px;
    }
    #page-header nav{
        padding:10px 0;
        /*box-shadow:0 0 24px rgba(27,22,66,.04),0 44px 74px rgba(27,22,66,.06);*/
    }
}

#wpadminbar{
    height:2px;
    overflow:hidden;
}
#wpadminbar:hover{
    height:auto;
    overflow:unset !important;
}



@media(max-width:768px){
    .hide-decoration-mobile .decoration-container{
        display:none !important;
    }
    :where(.wp-block-group.has-background) {
        padding: 1.25em 1em;
    }
    .flickity-button {
        bottom:-10px !important;
        width:2.5em;
        height:2.5em;
    }
}

@media(max-width:992px){
    .wp-block-group.has-background .jaro-shaped-container{
        /*
        margin-left:-2.375em !important;
        margin-right:-2.375em !important;
        */
        /*margin:0 -2.375em !important; */
        /*This looks bad on automotive page, but corrects issue on about-us*/
    }    
}

.modal-wide{
    --bs-modal-width:600px;
}

.fw-bold{font-weight:bold !important;}


/*------------------------------------------------*/
.searchandfilter > ul{
    flex-direction:column;
}
.searchandfilter ul li{
    text-align:left;
    padding:0 0 5px 15px;
}
.searchandfilter li[data-sf-field-input-type="checkbox"] > ul{
    max-height:700px;
    overflow:auto;
}
.searchandfilter ul{padding:0;}

.searchandfilter ul ul{
    border-radius:5px;
    padding:5px;
    background:white;
}
.searchandfilter ul ul li{
    display:block;
    font-size:14px;
}

.searchandfilter .sf-count{float:right;}

.sf-label-checkbox{width:90%}


.sf-field-taxonomy-product_categories ul{
    display:flex;
    flex-direction: column;
}
/* #Ordering doesn't work when hierarchal
.sf-field-taxonomy-product_categories li{order:2;}
.sf-field-taxonomy-product_categories li.sf-option-active{order:1;}
*/

@media(min-width:992px){
    .sf-field-taxonomy-product_categories{padding-right:0 !important;}

    .search-filter-results{
        padding:0 15px;
    }

    .product_search_sidebar{
        top:120px;
    }
    .product_sidebar{
        padding-right:0;
    }
}

.searchandfilter h4{
    display:inline-block;
    min-width:70px;
    padding-bottom:0;
}

.searchandfilter input.sf-input-range-number{min-width:70px;}
.searchandfilter ul li > div{display:inline-block;}


.sf-field-taxonomy-product_categories ul li{padding:0 !important;}

.searchandfilter input.sf-input-range-number{
    border-radius:5px;
    border-color:transparent;
}

/*Hide Top Level Categories - NOTE: Issue when hiding empty and parent is empty, breaks hierarchy */
.product_search_sidebar .sf-field-taxonomy-product_categories .sf-level-0 > :is(input,label){display:none;} 
.product_search_sidebar .sf-level-0 > .children{margin-left:0;}

.product_search_sidebar .sf-field-taxonomy-product_categories .sf-item-156 > :is(input,label){display:inline-block;}
.product_search_sidebar .sf-field-taxonomy-product_categories .sf-item-169 > :is(input,label){display:inline-block;}

/*
.product_search_sidebar .sf-field-taxonomy-product_categories .sf-level-0 > ul > li > ul{margin-left:0;}
*/

.has-light-background-color .form-control{background:white;}

@media(max-width:992px){
    #main_content{

    }
    .product_search_sidebar{margin-top:65px;margin-bottom:25px;}
    .sf-field-search{display:none !important;}
    li[class*=sf-field-post-meta]{display:none !important;}
    .product-row{padding:0 25px;}
    #contact_icons{
        font-size:16px;
        gap:4px;
    }
}

h1.page-heading{font-size: 2em;line-height: 1.08;}
@media(min-width:992px){
    h1.page-heading{
        font-size:2.5em;
        line-height:1.03;
    }
}
@media (min-width: 1200px){
    h2.display-4{font-size:2.25em;}
}

@media(max-width:992px){
    .product_search_sidebar{display:none;}    
}

nav .dropdown{
    --bs-dropdown-min-width-lg: 35rem;
    --bs-dropdown-min-width-xl: 60rem;
}

#product_search_bar{
    margin:15px 0;
}
#product_search_bar form > ul {
    flex-direction:row;
    align-items: center;
}
#product_search_bar .sf-input-text{
    width:300px;
    border:1px solid #dedede;
}

@media (max-width: 992px) {
    #product_search_bar .searchandfilter ul li{display:block !important;}
    #product_search_bar form > ul{
        flex-direction:column;
    }
}

.product_search_sidebar form [data-sf-field-input-type="range-select"] label{float:right;}

.product_search_sidebar .sf-field-search label{width:100%;}

.product_search_sidebar select.sf-input-select{
    position:relative;
    -webkit-appearance: none;
    appearance: none;
    border:1px solid transparent;
    padding:4px;
    min-width:150px;
}

.product_search_sidebar h4{font-size:16px;}
.product_search_sidebar{
    --caret-small:url("data:image/svg+xml,%3Csvg fill='%23323232' height='13px' width='13px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 407.437 407.437' stroke='%23000000' stroke-width='20.779287000000004'%3E%3Cg stroke-width='0'/%3E%3Cg stroke-linecap='round' stroke-linejoin='round'/%3E%3Cg %3E%3Cpolygon points='386.258,91.567 203.718,273.512 21.179,91.567 0,112.815 203.718,315.87 407.437,112.815 '/%3E%3C/g%3E%3C/svg%3E");
}
.product_search_sidebar label:has(select){position:relative;}
.product_search_sidebar label:has(select):after{
    width:1em;
    height:1em;
    color:#595959;
    display:inline-block;
    content: var(--caret-small);
    position:absolute;
    right:0.25em;
    z-index:10;
    top:0.25em;
    pointer-events: none;
}

@media(max-width:1700px){
    .searchandfilter h4{display:block !important;}
    .product_search_sidebar form [data-sf-field-input-type="range-select"] label{
        width:100%;
        float:none;
    }
    .product_search_sidebar form [data-sf-field-input-type="range-select"] select{width:100%}
}

.product_search_sidebar{
    li{font-size:14px;}
    .sf-field-post-meta-filterable_data_width::before{
        content:'Step 2: Set Parameters';
        display:block;
        font-weight:500;
        font-size:16px;
        line-height:26px;
        font-family: "DM Serif Display", serif;
    }
    .sf-field-post-meta-filterable_data_width::after{content:'(For Fans & Heatsinks)'; display:block;width:100%;white-space: nowrap;padding-top:5px;}
    .sf-field-post-meta-filterable_data_voltage_min::after{content:'(For Fans Only)'; display:block;width:100%;padding-top:5px;}
    .sf-field-post-meta-filterable_data_airflow_min::after{content:'(For Fans Only)'; display:block;width:100%;padding-top:5px;}
    .sf-field-post-meta-filterable_data_pressure_min::after{content:'(For Fans Only)'; display:block;width:100%;padding-top:5px;}
    .sf-field-post-meta-filterable_data_noise_min::after{content:'(For Fans Only)'; display:block;width:100%;padding-top:5px;}
    .sf-field-taxonomy-product_categories h4{font-size:20px;}
}

/* Temporary Bugfixes for WP 6.6 Breaking Changes */
.wp-block-button__link.has-primary-color{
    color:white !important;
}
.wp-block-button__link.has-text-color{
	background-color:transparent;
}

.is-style-outline .has-primary-color{
    color:#489ed7 !important;
}
.dropdown-menu-xl {
  min-width: 95vw !important;
}
.dropdown-positioner {
  max-width: 95vw;
}
.dropdown-header {
    white-space: normal;
}
@media (max-width: 991px) {
	.dropdown-menu {
		--bs-dropdown-font-size: .9rem;
	}
	.dropdown-menu-body {
		padding: .5rem;
	}
}