/*
AJAX SEARCH PRO FOR WORDPRESS PLUGIN BASIC CSS
*/

/*
CONTENTS:
    0. ANIMATIONS AND TRANSITIONS
	1. GENERICS AND CSS RESET - Some basic CSS classes and reset
	2. INPUT BOX - input box and form layout
	3. ICONS - loading, closing, magnifier, settings icons
	4. RESULT STYLES
	    4.1 GENERAL RESULT STYLES
	    4.2 VERTICAL RESULT STYLES
	    4.3 HORIZONTAL RESULT STYLES
	    4.4 ISOTOPIC RESULT STYLES
	    4.5 POLAROID RESULT STYLES
	5. SETTINGS STYLES
	6. COLUMN STYLES
	7. CUSTOM FIELD FIELDSETS
	8. NO-UI DRAGGER STYLES
	9. SUGGESTED KEYWORDS
    10. SCROLLBAR STYLES
    11. JQUERY UI STYLES
    12. AUTOCOMPLETE STYLES
    13. RTL SPECIFIC STYLES AND CHANGES
    14. CHOSEN SCRIPT STYLES
    15. ARROW BOX
    16. MISC


SHORTHAND CLASSES
    .asp_w -> Main class, each element is a descendant
    .asp_m .asp_m_1 .asp_m_1_1 -> Main search box class, with instance ID, with instance and count ID
    .asp_s .asp_s_1 .asp_s_1_1 -> Settings box class, with instance ID, with instance and count ID
    .asp_r .asp_r_1 .asp_r_1_1 -> Results box class, with instance ID, with instance and count ID
    .asp_sb -> Block settings layout
    .asp_rb -> Block results layout
*/

/*  *******************************************************************************************************************\
    0. ANIMATIONS AND TRANSITIONS
\**********************************************************************************************************************/

@keyframes aspAnFadeIn {
    0%   {opacity: 0;}
    50%  {opacity: 0.6;}
    100% {opacity: 1;}
}

@-webkit-keyframes aspAnFadeIn {
    0%   {opacity: 0;}
    50%  {opacity: 0.6;}
    100% {opacity: 1;}
}

@keyframes aspAnFadeOut {
    0%   {opacity: 1;}
    50%  {opacity: 0.6;}
    100% {opacity: 0;}
}

@-webkit-keyframes aspAnFadeOut {
    0%   {opacity: 1;}
    50%  {opacity: 0.6;}
    100% {opacity: 0;}
}

@keyframes aspAnFadeInDrop {
    0%   {opacity: 0; transform: translate(0, -50px);}
    100% {opacity: 1; transform: translate(0, 0);}
}

@-webkit-keyframes aspAnFadeInDrop {
    0%   {opacity: 0; transform: translate(0, -50px); -webkit-transform: translate(0, -50px);}
    100% {opacity: 1; transform: translate(0, 0); -webkit-transform: translate(0, 0);}
}

@keyframes aspAnFadeOutDrop {
    0% {opacity: 1; transform: translate(0, 0); -webkit-transform: translate(0, 0);}
    100%   {opacity: 0; transform: translate(0, -50px); -webkit-transform: translate(0, -50px);}
}

@-webkit-keyframes aspAnFadeOutDrop {
    0% {opacity: 1; transform: translate(0, 0); -webkit-transform: translate(0, 0);}
    100%   {opacity: 0; transform: translate(0, -50px); -webkit-transform: translate(0, -50px);}
}

div.ajaxsearchpro.asp_an_fadeIn,
div.ajaxsearchpro.asp_an_fadeOut,
div.ajaxsearchpro.asp_an_fadeInDrop,
div.ajaxsearchpro.asp_an_fadeOutDrop {
    -webkit-animation-duration: 100ms;
    animation-duration: 100ms;
    -webkit-animation-fill-mode: forwards; /* Chrome, Safari, Opera */
    animation-fill-mode: forwards;
}

.asp_an_fadeIn,
div.ajaxsearchpro.asp_an_fadeIn {
    animation-name: aspAnFadeIn;
    -webkit-animation-name: aspAnFadeIn;
}

.asp_an_fadeOut,
div.ajaxsearchpro.asp_an_fadeOut {
    animation-name: aspAnFadeOut;
    -webkit-animation-name: aspAnFadeOut;
}

div.ajaxsearchpro.asp_an_fadeInDrop {
    animation-name: aspAnFadeInDrop;
    -webkit-animation-name: aspAnFadeInDrop;
}

div.ajaxsearchpro.asp_an_fadeOutDrop {
    animation-name: aspAnFadeOutDrop;
    -webkit-animation-name: aspAnFadeOutDrop;
}

div.ajaxsearchpro.asp_main_container {
    transition: width 130ms linear;
    -webkit-transition: width 130ms linear;
}


/*  *******************************************************************************************************************\
    1. GENERIC CSS RESET
\**********************************************************************************************************************/

div.asp_w.ajaxsearchpro,
div.asp_w.asp_r,
div.asp_w.asp_s,
div.asp_w.asp_sb,
div.asp_w.asp_sb * {
    -webkit-box-sizing: content-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: content-box; /* Firefox, other Gecko */
    -ms-box-sizing: content-box;
    -o-box-sizing: content-box;
    box-sizing: content-box;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    text-transform: none;
    text-shadow: none;
    box-shadow: none;
    text-decoration: none;
    text-align: left;
    text-indent: initial;
    letter-spacing: normal;
}

div.asp_w.ajaxsearchpro {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

div.asp_w.asp_r,
div.asp_w.asp_r * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

div.asp_w.ajaxsearchpro input[type=text]::-ms-clear {  display: none; width : 0; height: 0; }
div.asp_w.ajaxsearchpro input[type=text]::-ms-reveal {  display: none; width : 0; height: 0; }

div.asp_w.ajaxsearchpro input[type="search"]::-webkit-search-decoration,
div.asp_w.ajaxsearchpro input[type="search"]::-webkit-search-cancel-button,
div.asp_w.ajaxsearchpro input[type="search"]::-webkit-search-results-button,
div.asp_w.ajaxsearchpro input[type="search"]::-webkit-search-results-decoration { display: none; }

div.asp_w.ajaxsearchpro input[type="search"] {
    -webkit-appearance: textfield !important;
}

.clear {
    clear: both;
}

/* This clear class is bulletproof */
.asp_clear {
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: 0 !important;
}

.hiddend {
    display: none !important;
}

div.asp_w.ajaxsearchpro {
    width: 100%;
    height: auto;
    border-radius: 0;
    background: rgba(255, 255, 255, 0);
    overflow: hidden;
}

div.asp_w.ajaxsearchpro.asp_non_compact {
    min-width: 140px;
}

#asp_absolute_overlay {
    width: 0;
    height: 0;
    position: fixed;
    text-align: center;
    background: rgba(255, 255, 255, 0.5);
    top: 0;
    left: 0;
    display: block;
    z-index: 0;
    opacity: 0;
    transition: opacity 200ms linear;
    -webkit-transition: opacity 200ms linear;
}


/*  *******************************************************************************************************************\
    2. INPUT FORM and BOX
\**********************************************************************************************************************/

div.asp_m.ajaxsearchpro .proinput input:before,
div.asp_m.ajaxsearchpro .proinput input:after,
div.asp_m.ajaxsearchpro .proinput form:before,
div.asp_m.ajaxsearchpro .proinput form:after {
    display: none;
}

div.asp_w.ajaxsearchpro textarea:focus,
div.asp_w.ajaxsearchpro input:focus {
    outline: none;
}

/* Remove IE X from the input */
div.asp_m.ajaxsearchpro .probox .proinput input::-ms-clear {
    display: none;
}

div.asp_m.ajaxsearchpro .probox {
    width: auto;
    border-radius: 5px;
    background: #FFF;
    overflow: hidden;
    border: 1px solid #FFF;
    box-shadow: 1px 0 3px #CCCCCC inset;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    direction: ltr;
    align-items: stretch;
}

div.asp_m.ajaxsearchpro .probox .proinput {
    width: 1px;
    height: 100%;
    margin: 0px 0px 0px 10px;
    padding: 0 5px;
    float: left;
    box-shadow: none;
    position: relative;
    flex: 1 1 auto;    /* Let it grow, shrink, auto basis*/
    -webkit-flex: 1 1 auto; /* Let it grow, shrink, auto basis*/
    z-index: 0;
}

div.asp_m.ajaxsearchpro .probox .proinput form {
    height: 100%;
    /* some themes like to add un-removable margin and padding.. */
    margin: 0 !important;
    padding: 0 !important;
}

div.asp_m.ajaxsearchpro .probox .proinput input {
    height: 100%;
    width: 100%;
    border: 0px;
    background: transparent;
    width: auto;
    box-shadow: none;
    margin: -1px;
    padding: 0;
    left: 0;
    padding-top: 2px;
    min-width: 120px;
}

div.asp_m.ajaxsearchpro .probox .proinput input.autocomplete {
    border: 0px;
    background: transparent;
    width: 100%;
    box-shadow: none;
    margin: 0;
    padding: 0;
    left: 0;
}

div.asp_m.ajaxsearchpro .probox .proinput.iepaddingfix {
    padding-top: 0;
}


/*  *******************************************************************************************************************\
    3. ICONS - loading, closing, magnifier, settings icons
\**********************************************************************************************************************/

div.asp_m.ajaxsearchpro .probox .proloading,
div.asp_m.ajaxsearchpro .probox .proclose,
div.asp_m.ajaxsearchpro .probox .promagnifier,
div.asp_m.ajaxsearchpro .probox .prosettings {
    width: 20px;
    height: 20px;
    background: none;
    background-size: 20px 20px;
    float: right;
    box-shadow: none;
    margin: 0;
    padding: 0;
    text-align: center;
    z-index: 1;
}

div.asp_m.ajaxsearchpro .probox .proloading,
div.asp_m.ajaxsearchpro .probox .proclose {
    background-position: center center;
    display: none;
    background-size: auto;
    background-repeat: no-repeat;
    background-color: transparent;
}

div.asp_m.ajaxsearchpro .probox .proloading {
    padding: 2px;
    box-sizing: border-box;
}

div.asp_m.ajaxsearchpro .probox .proclose {
    position: relative;
    cursor: pointer;
    z-index: 2;
}

div.asp_m.ajaxsearchpro .probox .promagnifier .innericon,
div.asp_m.ajaxsearchpro .probox .prosettings .innericon,
div.asp_m.ajaxsearchpro .probox .proclose .innericon {
    background-size: 20px 20px;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: transparent;
    width: 100%;
    height: 100%;
    line-height: initial;
    text-align: center;
    overflow: hidden;
}

div.asp_m.ajaxsearchpro .probox .promagnifier .innericon svg,
div.asp_m.ajaxsearchpro .probox .prosettings .innericon svg,
div.asp_m.ajaxsearchpro .probox .proloading svg {
    height: 100%;
    width: 22px;
    vertical-align: baseline;
    display: inline-block;
}

div.asp_m.ajaxsearchpro.asp_msie .probox .proloading .asp_loader {
    height: 0;
    width: 0;
    display: none !important;
}

div.asp_m.ajaxsearchpro .probox .proclose svg  {
    background: #333333;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 50%;
    margin-left: -10px;
    fill: #fefefe;
    padding: 4px;
    box-sizing: border-box;
    box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9);
}


/*  *******************************************************************************************************************\
    4. RESULT STYLES
\**********************************************************************************************************************/


/*      4.1 GENERAL RESULT STYLES
\**********************************************************************************************************************/

.opacityOne {
    opacity: 1;
}

.opacityZero {
    opacity: 0;
}

div.asp_w.asp_s [disabled].noUi-connect,
div.asp_w.asp_s [disabled] .noUi-connect {
    background: #B8B8B8;
}
div.asp_w.asp_s [disabled] .noUi-handle {
    cursor: not-allowed;
}

div.asp_w.asp_r p.showmore {
    display: none;
    margin: 5px 0;
}
div.asp_w.asp_r.asp_more_res_loading p.showmore a,
div.asp_w.asp_r.asp_more_res_loading p.showmore a span{
    color: transparent !important;
}

@-webkit-keyframes shm-rot-simple {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        opacity: 1;
    }
    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        opacity: 0.85;
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
        opacity: 1;
    }
}

@keyframes shm-rot-simple {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        opacity: 1;
    }
    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        opacity: 0.85;
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
        opacity: 1;
    }
}
div.asp_w.asp_r div.asp_showmore_container {
    position: relative;
}
div.asp_w.asp_r. div.asp_moreres_loader {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.2);
}
div.asp_w.asp_r.asp_more_res_loading div.asp_moreres_loader {
    display: block !important;
}
div.asp_w.asp_r div.asp_moreres_loader-inner {
    height: 24px;
    width: 24px;
    animation: shm-rot-simple 0.8s infinite linear;
    -webkit-animation: shm-rot-simple 0.8s infinite linear;
    border: 4px solid #353535;
    border-right-color: transparent;
    border-radius: 50%;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    margin: -12px auto auto -12px;
    left: 50%;
}

div.asp_hidden_data,
div.asp_hidden_data * {
    display: none;
}

div.asp_w.asp_r {
    display: none;
}

div.asp_w.asp_r * {
    text-decoration: none;
    text-shadow: none;
}

div.asp_w.asp_r .results {
    overflow: hidden;
    width: auto;
    height: 0;
    margin: 0;
    padding: 0;
}

div.asp_w.asp_r .results .asp_nores {
    overflow: hidden;
    width: auto;
    height: auto;
    line-height: initial;
    text-align: center;
    margin: 0;
    background: #FFF;
    padding: 10px 3px;
    color: #222;
}

div.asp_w.asp_r .results .item {
    overflow: hidden;
    width: auto;
    margin: 0;
    padding: 3px;
    position: relative;
    background: #f4f4f4;
    border-left: 1px solid rgba(255, 255, 255, 0.6);
    border-right: 1px solid rgba(255, 255, 255, 0.4);
}

div.asp_w.asp_r .results .item,
div.asp_w.asp_r .results .asp_group_header {
    animation-delay: 0s;
    animation-duration: 0.5s;
    animation-fill-mode: both;
    animation-timing-function: ease;
    backface-visibility: hidden;
    -webkit-animation-delay: 0s;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    -webkit-backface-visibility: hidden;
}

div.asp_w.asp_r .results .item .asp_image {
    overflow: hidden;
    background: transparent;
    padding: 0;
    float: left;
    background-position: center;
    background-size: cover;
    position: relative;
}

div.asp_w.asp_r .results .asp_image canvas {
    display: none;
}

div.asp_w.asp_r .results .asp_image .asp_item_canvas {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: block;
    opacity: 1;
    background-position: inherit;
    background-size: inherit;
    transition: opacity 0.5s;
}

div.asp_w.asp_r .results .item:hover .asp_image .asp_item_canvas,
div.asp_w.asp_r .results figure:hover .asp_image .asp_item_canvas{
    opacity: 0;
}

div.asp_w.asp_r a.asp_res_image_url,
div.asp_w.asp_r a.asp_res_image_url:hover,
div.asp_w.asp_r a.asp_res_image_url:focus,
div.asp_w.asp_r a.asp_res_image_url:active {
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

div.asp_w.asp_r .results .item .asp_image_auto {
    width: auto !important;
    height: auto !important;
}

div.asp_w.asp_r .results .item .asp_image img {
    width: 100%;
    height: 100%;
}

div.asp_w.asp_r .results a span.overlap {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

div.asp_w.asp_r .resdrg {
    height: auto;
}

div.asp_w.ajaxsearchpro .asp_group_header:first-of-type {
    margin: 0px 0 -3px !important;
}


/*      4.2 VERTICAL RESULT STYLES
\**********************************************************************************************************************/
/*[vertical]*/
div.asp_w.asp_r.vertical .results .item:first-child {
    border-radius: 0;
}

div.asp_w.asp_r.vertical .results .item:last-child {
    border-radius: 0;
    margin-bottom: 0;
}

div.asp_w.asp_r.vertical .results .item:last-child:after {
    height: 0;
    margin: 0;
    width: 0;
}
/*[vertical]*/

/*      4.3 HORIZONTAL RESULT STYLES
\**********************************************************************************************************************/


/*      4.4 ISOTOPIC RESULT STYLES, ISOTOPIC NAVIGATION
\**********************************************************************************************************************/
/*[isotopic]*/
div.asp_w.asp_r.isotopic>nav,
div.asp_w.asp_r.isotopic nav.asp_navigation {
    display: none;
    background: rgba(255, 255, 255, 0.6);
    margin: 0;
    position: relative;
}

div.asp_w.asp_r.isotopic nav.asp_navigation[style='display: block;']+.results {
    margin-top: 2px;
    margin-bottom: 2px;
}

div.asp_w.asp_r.isotopic a.asp_prev,
div.asp_w.asp_r.isotopic a.asp_next {
    display: block;
    float: left;
    z-index: 100;
    max-height: 36px;
    position: relative;
    word-wrap: nowrap;
}

div.asp_w.asp_r.isotopic a.asp_next {
    float: right;
}

div.asp_w.asp_r.isotopic nav.asp_navigation a svg {
    -webkit-backface-visibility: hidden;
}

div.asp_w.asp_r.isotopic nav.asp_navigation a.asp_prev,
div.asp_w.asp_r.isotopic nav.asp_navigation a.asp_next {
    background: #3F3F3F;
    height: 36px;
    padding: 0 10px;
    cursor: pointer;
}

div.asp_w.asp_r.isotopic nav.asp_navigation ul {
    float: left;
    word-wrap: nowrap;
    overflow: hidden;
    max-height: 36px;
    z-index: 0;
    position: absolute;
    left: 36px;
    top: 0;
    width: 300000px;
    -webkit-transition: left 120ms linear;
    transition: left 120ms linear;
}

div.asp_w.asp_r.isotopic nav.asp_navigation a.asp_next {
    float: right;
}

div.asp_w.asp_r.isotopic nav.asp_navigation a.asp_prev svg,
div.asp_w.asp_r.isotopic nav.asp_navigation a.asp_next svg {
    fill: #eee;
    height: 100%;
    width: 18px;
}

div.asp_w.asp_r.isotopic nav.asp_navigation a.asp_prev svg {
    -moz-transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

div.asp_w.asp_r.isotopic nav.asp_navigation ul li {
    display: inline-block;
    list-style-type: none;
    margin: 0;
    height: 36px;
    width: 36px;
    cursor: pointer;
    text-align: center;
}

div.asp_w.asp_r.isotopic nav.asp_navigation ul li.asp_active {
    background: rgba(255, 255, 255, 0.6);
}

div.asp_w.asp_r.isotopic nav.asp_navigation ul li:hover {
    background: rgba(255, 255, 255, 0.6);
}

div.asp_w.asp_r.isotopic nav.asp_navigation ul li span {
    font-family: sans-serif;
    font-size: 11px;
    vertical-align: middle;
    color: #333;
    line-height: 36px;
    font-weight: bold;
    text-shadow: none;
}

div.asp_w.asp_r.isotopic .results .item {
    box-sizing: border-box;
    background-clip: padding-box;
    border: 0px solid rgba(0, 0, 0, 0);
}

div.asp_w.asp_r.isotopic .results .item .asp_item_overlay,
div.asp_w.asp_r.isotopic .results .item .asp_item_overlay_m{
    width: 100%;
    height: 100%;
    position: absolute;
    text-align: center;
    background: rgba(0, 0, 0, 0.2);
    top: 0;
    left: 0;
    display: none;
    z-index: 4;
    cursor: pointer;
}

div.asp_w.asp_r.isotopic .results .item .asp_item_overlay_m {
    display: block;
    background: transparent;
}

div.asp_w.asp_r.isotopic .results .item .asp_item_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70px;
    height: 70px;
    margin: -35px 0 0 -35px;
    background: #ddd;
    box-sizing: padding-box;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.7);
    text-align: center;
    z-index: 2;
    line-height: 66px;
}

div.asp_w.asp_r.isotopic .results .item .asp_item_inner svg,
div.asp_w.asp_r.isotopic .results .item .asp_item_inner img {
    height: 100%;
    width: 32px;
    fill: #fff;
    display: inline-block;
}

div.asp_w.asp_r.isotopic .results .item .asp_item_inner img {
    height: 32px;
    vertical-align: middle;
    display: inline-block;
}


div.asp_w.asp_r.isotopic .results .item .asp_content  {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    border: 0;
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
    box-sizing: border-box;
    z-index: 3;
    padding: 4px 6px;
}

div.asp_w.asp_r.isotopic .results .item .asp_image+.asp_content  {
    height: auto;
    top: auto;
    bottom: 0;
}

div.asp_w.asp_r.isotopic .results .item .asp_image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    background-size: cover;
    background-position: center;
}

div.asp_w.asp_r.isotopic .results .item .asp_item_overlay_img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    filter: url('#aspblur');
    -moz-filter: url('#aspblur');
    -webkit-filter: url('#aspblur');
    -ms-filter: url('#aspblur');
    -o-filter: url('#aspblur');
    display: none;
    cursor: pointer;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: center;
}
/*[isotopic]*/

/*      4.4 POLAROID RESULT STYLES
\**********************************************************************************************************************/


/*  *******************************************************************************************************************\
    5. SETTINGS STYLES
\**********************************************************************************************************************/

div.asp_w.asp_s.searchsettings {
    width: auto;
    height: auto;
    position: absolute;
    display: none;
    z-index: 11001;
    border-radius: 0 0 3px 3px;
    visibility: hidden;
    opacity: 0;
    overflow: visible;
}

div.asp_w.asp_sb.searchsettings {
    display: none;
    visibility: hidden;
    direction: ltr;
    overflow: visible;
    position: relative;
    z-index: 1;
}

div.asp_w.asp_s.searchsettings form,
div.asp_w.asp_sb.searchsettings form {
    display: flex;
    flex-wrap: wrap;
    /* some themes like to add un-removable margin and padding.. */
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

div.asp_w.asp_s.searchsettings .asp_option_inner,
div.asp_w.asp_sb.searchsettings .asp_option_inner,
div.asp_w.asp_sb.searchsettings input[type='text']{
    margin: 2px 10px 0 10px;
    *padding-bottom: 10px;
}

div.asp_w.asp_s.searchsettings input[type='text']:not(.chosen-search-input),
div.asp_w.asp_sb.searchsettings input[type='text']:not(.chosen-search-input) {
    width: 86% !important;
    padding: 8px 6px !important;
    margin: 0 0 0 10px !important;
    background-color: #FAFAFA !important;
    font-size: 13px;
    border: none !important;
    line-height: 17px;
    height: 20px;
}

div.asp_w.asp_s.searchsettings.ie78 .asp_option_inner,
div.asp_w.asp_sb.searchsettings.ie78 .asp_option_inner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

div.asp_w.asp_s.searchsettings div.asp_option_label,
div.asp_w.asp_sb.searchsettings div.asp_option_label {
    font-size: 14px;
    line-height: 20px !important;
    margin: 0;
    width: 150px;
    text-shadow: none;
    padding: 0;
    min-height: 20px;
    border: none;
    background: transparent;
    float: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

div.asp_w.asp_s.searchsettings .asp_label,
div.asp_w.asp_sb.searchsettings .asp_label {
    line-height: 24px !important;
    vertical-align: middle;
    display: inline-block;
    cursor: pointer;
}

div.asp_w.asp_s.searchsettings input[type=radio],
div.asp_w.asp_sb.searchsettings input[type=radio] {
    vertical-align: middle;
    margin: 0 6px 0 17px;
    display: inline-block;
    appearance: normal;
    -moz-appearance: normal; /* Firefox */
    -webkit-appearance: radio; /* Safari and Chrome */
}


/* SQUARED THREE */
div.asp_w.asp_s.searchsettings .asp_option_inner input[type=checkbox],
div.asp_w.asp_sb.searchsettings .asp_option_inner input[type=checkbox] {
    display: none !important;
}

div.asp_w.asp_s.searchsettings.ie78 .asp_option_inner input[type=checkbox],
div.asp_w.asp_sb.searchsettings.ie78 .asp_option_inner input[type=checkbox]{
    display: block;
}

div.asp_w.asp_s.searchsettings.ie78 div.asp_option_label,
div.asp_w.asp_sb.searchsettings.ie78 div.asp_option_label{
    float: right !important;
}

div.asp_w.asp_s.searchsettings .asp_option_inner,
div.asp_w.asp_sb.searchsettings .asp_option_inner {
    width: 17px;
    height: 17px;
    position: relative;
    flex-grow: 0;
    -webkit-flex-grow: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
}

div.asp_w.asp_sb.searchsettings .asp_option_inner {
    border-radius: 3px;
    background: rgb(66, 66, 66);
    box-shadow: none;
}

div.asp_w.asp_s.searchsettings .asp_option_inner label,
div.asp_w.asp_sb.searchsettings .asp_option_inner label {
    cursor: pointer;
    position: absolute;
    width: 17px;
    height: 17px;
    top: 0;
    padding: 0;
    border-radius: 2px;
    box-shadow: none;
    font-size: 0px !important;
    color: rgba(0, 0, 0, 0);
}

div.asp_w.asp_s.searchsettings.ie78 .asp_option_inner label,
div.asp_w.asp_sb.searchsettings.ie78 .asp_option_inner label {
    display: none;
}

div.asp_w.asp_s.searchsettings .asp_option_inner label:before,
div.asp_w.asp_sb.searchsettings .asp_option_inner label:before{
    display: none !important;
}

div.asp_w.asp_s.searchsettings .asp_option_inner label:after,
div.asp_w.asp_sb.searchsettings .asp_option_inner label:after{
    opacity: 0;
    font-family: 'asppsicons2';
    content: "\e800";
    background: transparent;
    border-top: none;
    border-right: none;
    box-sizing: content-box;
    height: 100%;
    width: 100%;
    padding: 0 !important;
    position: absolute;
    top: 0;
    left: 0;
}

div.asp_w.asp_s.searchsettings.ie78 .asp_option_inner label:after,
div.asp_w.asp_sb.searchsettings.ie78 .asp_option_inner label:after{
    display: none;
}

div.asp_w.asp_s.searchsettings .asp_option_inner label:hover::after,
div.asp_w.asp_sb.searchsettings .asp_option_inner label:hover::after{
    opacity: 0.3;
}

div.asp_w.asp_s.searchsettings .asp_option_inner input[type=checkbox]:checked ~ label:after,
div.asp_w.asp_sb.searchsettings .asp_option_inner input[type=checkbox]:checked ~ label:after {
    opacity: 1;
}

/* foundation.min.js compatibility */
div.asp_w.asp_sb.searchsettings span.checked ~ label:after,
div.asp_w.asp_s.searchsettings span.checked ~ label:after {
    opacity: 1 !important;
}

div.asp_w.asp_s.searchsettings fieldset,
div.asp_w.asp_sb.searchsettings fieldset {
    position: relative;
    float: left;
}

div.asp_w.asp_s.searchsettings fieldset,
div.asp_w.asp_sb.searchsettings fieldset {
    background: transparent;
    font-size: 0.9em;
    /* some themes like to add un-removable margin and padding.. */
    margin: 12px 0 0 !important;
    padding: 0 !important;
    width: 200px;
    min-width: 200px;
}
div.asp_w.asp_sb.searchsettings fieldset:last-child {
    margin: 5px 0 0 !important;
}

div.asp_w.asp_sb.searchsettings fieldset {
    margin: 10px 0 0;
}

div.asp_w.asp_sb.searchsettings fieldset legend {
    padding: 0 0 0 10px;
    margin: 0;
    font-weight: normal;
    font-size: 13px;
}

div.asp_w.asp_sb.searchsettings .asp_option,
div.asp_w.asp_s.searchsettings .asp_option {
    display: flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    align-items: flex-start;
    margin: 0 0 10px 0;
    cursor: pointer;
}

div.asp_w.asp_s.searchsettings .asp_option.asp-o-last,
div.asp_w.asp_s.searchsettings .asp_option:last-child {
    margin-bottom: 0;
}

div.asp_w.asp_s.searchsettings fieldset .asp_option,
div.asp_w.asp_s.searchsettings fieldset .asp_option_cat,
div.asp_w.asp_sb.searchsettings fieldset .asp_option,
div.asp_w.asp_sb.searchsettings fieldset .asp_option_cat {
    width: auto;
    max-width: none;
}

div.asp_w.asp_s.searchsettings fieldset .asp_option_cat_level-1,
div.asp_w.asp_sb.searchsettings fieldset .asp_option_cat_level-1 {
    margin-left: 12px;
}

div.asp_w.asp_s.searchsettings fieldset .asp_option_cat_level-2,
div.asp_w.asp_sb.searchsettings fieldset .asp_option_cat_level-2 {
    margin-left: 24px;
}

div.asp_w.asp_s.searchsettings fieldset .asp_option_cat_level-3,
div.asp_w.asp_sb.searchsettings fieldset .asp_option_cat_level-3 {
    margin-left: 36px;
}

div.asp_w.asp_s.searchsettings fieldset div.asp_option_label,
div.asp_w.asp_sb.searchsettings fieldset div.asp_option_label {
    width: 70%;
    display: block;
}

div.asp_w.asp_s.searchsettings fieldset div.asp_option_label {
    width: auto;
    display: block;
    box-sizing: border-box;
}

div.asp_w.asp_s.searchsettings fieldset .asp_option_cat_level-2 div.asp_option_label {
    padding-right: 12px;
}

div.asp_w.asp_s.searchsettings fieldset .asp_option_cat_level-3 div.asp_option_label {
    padding-right: 24px;
}

div.asp_w.asp_s select,
div.asp_w.asp_sb select {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    padding: 4px !important;
    background-color: #fff;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #fff), color-stop(50%, #f6f6f6), color-stop(52%, #eee), to(#f4f4f4));
    background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
    background-clip: padding-box;
    -webkit-box-shadow: none;
    box-shadow: none;
    margin: 0;
    border: 1px solid #e6e6e6;
    color: #111;
    margin-bottom: 0px !important;
    box-sizing: border-box;
    line-height: initial;
}

div.asp_w.asp_s select[multiple],
div.asp_w.asp_sb select[multiple] {
    background: #ffffff;
}

div.asp_w.asp_s select:not([multiple]),
div.asp_w.asp_sb select:not([multiple]) {
    overflow: hidden !important;
}

/*  *******************************************************************************************************************\
    6. COLUMN STYLES
\**********************************************************************************************************************/

.asp_two_column {
    margin: 8px 0 12px 0;
}

.asp_two_column .asp_two_column_first,
.asp_two_column .asp_two_column_last {
    width: 48%;
    padding: 1% 2% 1% 0;
    float: left;
    box-sizing: content-box;
}

.asp_two_column .asp_two_column_last {
    padding: 1% 0% 1% 2%;
}

.asp_shortcodes_container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -10px 0 12px -10px;
    box-sizing: border-box;
}

.asp_shortcodes_container .asp_shortcode_column {
    -webkit-flex-grow: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 1;
    flex-shrink: 1;
    min-width: 120px;
    padding: 10px 0 0 10px;
    flex-basis: 33%;
    -webkit-flex-basis: 33%;
    box-sizing: border-box;
}


/*  *******************************************************************************************************************\
    7. CUSTOM FIELD FIELDSETS
\**********************************************************************************************************************/

div.ajaxsearchpro.searchsettings  fieldset.asp_custom_f {
    margin-top: 9px;
}

/* Give the legend elements some margin... */
div.ajaxsearchpro.searchsettings  fieldset legend {
    margin-bottom: 8px !important;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* .. but exclude some cases where checkboxes are presented */
div.ajaxsearchpro.searchsettings  fieldset legend + div.asp_option_inner {
    margin-top: 0px !important;
}
div.ajaxsearchpro.searchsettings .asp_sett_scroll > .asp_option_cat:first-child > .asp_option_inner {
    margin-top: 0px !important;
}

div.ajaxsearchpro.searchsettings  fieldset .asp_select_single,
div.ajaxsearchpro.searchsettings  fieldset .asp_select_multiple {
    padding: 0 10px;
}


/*  *******************************************************************************************************************\
    8. NO-UI DRAGGER STYLES
\**********************************************************************************************************************/


/*  *******************************************************************************************************************\
    9. SUGGESTED KEYWORDS
\**********************************************************************************************************************/

p.asp-try {
    color: #555;
    font-size: 14px;
    margin-top: 5px;
    line-height: 28px;
    font-weight: 300;
    visibility: hidden;
}

p.asp-try a {
    color: #FFB556;
    margin-left: 10px;
    cursor: pointer;
    display: inline-block;
}

/*  *******************************************************************************************************************\
    10. SCROLLBAR STYLES
\**********************************************************************************************************************/
/*[simplebar]*/
/* NEW SIMPLEBAR SCROLLBAR */
[data-asp_simplebar] {
    position: relative;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start;
}

.asp_simplebar-wrapper {
    overflow: hidden;
    width: inherit;
    height: inherit;
    max-width: inherit;
    max-height: inherit;
}

.asp_simplebar-mask {
    direction: inherit;
    position: absolute;
    overflow: hidden;
    padding: 0;
    margin: 0;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: auto !important;
    height: auto !important;
    z-index: 0;
}

.asp_simplebar-offset {
    direction: inherit !important;
    box-sizing: inherit !important;
    resize: none !important;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 0;
    margin: 0;
    -webkit-overflow-scrolling: touch;
}

.asp_simplebar-content-wrapper {
    direction: inherit;
    box-sizing: border-box !important;
    position: relative;
    display: block;
    height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
    width: auto;
    visibility: visible;
    max-width: 100%; /* Not required for horizontal scroll to trigger */
    max-height: 100%; /* Needed for vertical scroll to trigger */
    scrollbar-width: none;
}

.asp_simplebar-content-wrapper::-webkit-scrollbar,
.asp_simplebar-hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.asp_simplebar-content:before,
.asp_simplebar-content:after {
    content: ' ';
    display: table;
}

.asp_simplebar-placeholder {
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    pointer-events: none;
}

.asp_simplebar-height-auto-observer-wrapper {
    box-sizing: inherit !important;
    height: 100%;
    width: 100%;
    max-width: 1px;
    position: relative;
    float: left;
    max-height: 1px;
    overflow: hidden;
    z-index: -1;
    padding: 0;
    margin: 0;
    pointer-events: none;
    flex-grow: inherit;
    flex-shrink: 0;
    flex-basis: 0;
}

.asp_simplebar-height-auto-observer {
    box-sizing: inherit;
    display: block;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 1000%;
    width: 1000%;
    min-height: 1px;
    min-width: 1px;
    overflow: hidden;
    pointer-events: none;
    z-index: -1;
}

.asp_simplebar-track {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
}

[data-asp_simplebar].asp_simplebar-dragging .asp_simplebar-content {
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
}

[data-asp_simplebar].asp_simplebar-dragging .asp_simplebar-track {
    pointer-events: all;
}

.asp_simplebar-scrollbar {
    position: absolute;
    right: 2px;
    width: 7px;
    min-height: 10px;
}

.asp_simplebar-scrollbar:before {
    position: absolute;
    content: '';
    background: rgba(0, 0, 0, 0.5);
    border-radius: 7px;
    left: 0;
    right: 0;
    opacity: 0;
    transition: opacity 0.2s linear;
}

.asp_simplebar-scrollbar.asp_simplebar-visible:before {
    /* When hovered, remove all transitions from drag handle */
    opacity: 1;
    transition: opacity 0s linear;
}

.asp_simplebar-track.asp_simplebar-vertical {
    top: 0;
    width: 11px;
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

.asp_simplebar-track.asp_simplebar-vertical .asp_simplebar-scrollbar:before {
    top: 2px;
    bottom: 2px;
}

.asp_simplebar-track.asp_simplebar-horizontal {
    left: 0;
    height: 11px;
    margin-left: 12px !important;
    margin-right: 12px !important;
}

.asp_simplebar-track.asp_simplebar-horizontal .asp_simplebar-scrollbar:before {
    height: 100%;
    left: 2px;
    right: 2px;
}

.asp_simplebar-track.asp_simplebar-horizontal .asp_simplebar-scrollbar {
    right: auto;
    left: 0;
    top: 2px;
    height: 7px;
    min-height: 0;
    min-width: 10px;
    width: auto;
}

/* Rtl support */
[data-asp_simplebar-direction='rtl'] .asp_simplebar-track.asp_simplebar-vertical {
    right: auto;
    left: 0;
}

.hs-dummy-scrollbar-size {
    direction: rtl;
    position: fixed;
    opacity: 0;
    visibility: hidden;
    height: 500px;
    width: 500px;
    overflow-y: hidden;
    overflow-x: scroll;
}

.asp_simplebar-hide-scrollbar {
    position: fixed;
    left: 0;
    visibility: hidden;
    overflow-y: scroll;
    scrollbar-width: none;
}
/*[simplebar]*/
/*  *******************************************************************************************************************\
    11. DATEPICKER STYLES
\**********************************************************************************************************************/


/*  *******************************************************************************************************************\
    12. AUTOCOMPLETE STYLES
\**********************************************************************************************************************/


/*  *******************************************************************************************************************\
    13. RTL SPECIFIC STYLES AND CHANGES
\**********************************************************************************************************************/
.rtl .asp_content,
.rtl .asp_nores,
.rtl .asp_content *,
.rtl .asp_nores *,
.rtl .searchsettings form {
    text-align: right !important;
    direction: rtl !important;
}

.rtl .asp_nores >* {
    display: inline-block;
}

.rtl .searchsettings .asp_option  {
    flex-direction: row-reverse !important;
    -webkit-flex-direction: row-reverse !important;
}

.rtl .asp_option {
    direction: ltr; /* Needs to stay like this */
}

.rtl .asp_label,
.rtl .asp_option div.asp_option_label {
    text-align: right !important;
}

.rtl .asp_label {
    max-width: 1000px !important;
    width: 100%;
    direction: rtl !important;
}

.rtl .asp_label input[type=radio] {
    margin: 0 0 0 6px !important;
}

.rtl .asp_option_cat_level-0 div.asp_option_label {
    font-weight: bold !important;
}

.rtl fieldset .asp_option_cat_level-1 {
    margin-right: 12px !important;
    margin-left: 0;
}

.rtl fieldset .asp_option_cat_level-2 {
    margin-right: 24px !important;
    margin-left: 0;
}

.rtl fieldset .asp_option_cat_level-3 {
    margin-right: 36px !important;
    margin-left: 0;
}

.rtl .searchsettings legend {
    text-align: right !important;
    display: block;
    width: 100%;
}


.rtl .searchsettings input[type=text],
.rtl .searchsettings select {
    direction: rtl !important;
    text-align: right !important;
}

.rtl div.asp_w.asp_s.searchsettings form,
.rtl div.asp_w.asp_sb.searchsettings form {
    flex-direction: row-reverse !important;
}

.rtl div.horizontal.asp_r div.item {
    float: right !important;
}

.rtl p.asp-try {
    direction: rtl;
    text-align: right;
    margin-right: 10px;
    width: auto !important;
}

/*  *******************************************************************************************************************\
    14. CHOSEN SCRIPT STYLES
\**********************************************************************************************************************/
/*
    On column layout the list of the results breaks to a new column, if the select box is on the bottom of the form.
    The relative position will add to the column height, instead of breaking in middle.
    Avoid column break rules will not work in this case..
*/
.asp-fss-column .chosen-container-active.chosen-with-drop .chosen-drop {
    position: relative !important;
}

/*  *******************************************************************************************************************\
    15. ARROW BOX
\**********************************************************************************************************************/
.asp_arrow_box {
    position: absolute;
    background: #444;
    padding: 12px;
    color: white;
    border-radius: 4px;
    font-size: 14px;
    max-width: 240px;
    display: none;
    z-index: 99999999999999999;
}
.asp_arrow_box:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: transparent;
    border-top-color: #444;
    border-width: 6px;
    margin-left: -6px;
}

.asp_arrow_box.asp_arrow_box_bottom:after {
    bottom: 100%;
    top: unset;
    border-bottom-color: #444;
    border-top-color: transparent;
}

/*  *******************************************************************************************************************\
    16. Misc
\**********************************************************************************************************************/
.asp_elementor_nores {
    text-align: center;
}