/* ==========================================================================
Variables
========================================================================== */
:root {

    /* Globals */
    --primary: #2A8BF6;
    --primary-h: #237FE5;
    --secondary: #F0F0F0;
    --secondary-h: #E8E8E8;
    --white: #ffffff;
    --color: #333;

    --container: 1280px;
    --container--sm: 1080px;

    /* Form label */
    --form-label-margin: 10px 0;
    --form-label-color: #333;
    --form-label-font-size: 16px;
    --form-label-font-weight: 600;

    /* Form input */
    --form-input-border: 1px solid #ccc;
    --form-input-border-radius: 5px;
    --form-input-padding: 15px;
    --form-input-color: #333;
    --form-input-background: #fff;
    --form-input-font-size: 16px;
    --form-input-font-weight: 300;

    /* Form button */
    --form-btn-border: 0px solid transparent;
    --form-btn-border-radius: 5px;
    --form-btn-padding: 10px 25px;
    --form-btn-color: #fff;
    --form-btn-background: var(--primary);
    --form-btn-font-size: 16px;
    --form-btn-font-weight: 500;
    --form-btn-background-h: var(--primary-h);
    --form-btn-color-h: #fff;
    --form-btn-border-h: 0px solid transparent;


    /* Primary buttons */
    --recruiterwp-primary-btn-border: 0px solid transparent;
    --recruiterwp-primary-btn-border-radius: 5px;
    --recruiterwp-primary-btn-padding: 8px 25px;
    --recruiterwp-primary-btn-color: #fff;
    --recruiterwp-primary-btn-background: var(--primary);
    --recruiterwp-primary-btn-font-size: 16px;
    --recruiterwp-primary-btn-font-weight: 500;
    --recruiterwp-primary-btn-background-h: var(--primary-h);
    --recruiterwp-primary-btn-color-h: #fff;
    --recruiterwp-primary-btn-border-h: 0px solid transparent;

    /* Secondary buttons */
    --recruiterwp-secondary-btn-border: 0px solid transparent;
    --recruiterwp-secondary-btn-border-radius: 5px;
    --recruiterwp-secondary-btn-padding: 8px 25px;
    --recruiterwp-secondary-btn-color: #333;
    --recruiterwp-secondary-btn-background: var(--secondary);
    --recruiterwp-secondary-btn-font-size: 16px;
    --recruiterwp-secondary-btn-font-weight: 500;
    --recruiterwp-secondary-btn-background-h: var(--secondary-h);
    --recruiterwp-secondary-btn-color-h: #333;
    --recruiterwp-secondary-btn-border-h: 0px solid transparent;

}


/* ==========================================================================
Globals
========================================================================== */
html, body{
    overflow-x: hidden;
    font-size: 16px;
    box-sizing: border-box;
}


/* ==========================================================================
Inputs & Forms
========================================================================== */
.gform_wrapper.gravity-theme .gfield_label{
    font-size: var(--form-label-font-size);
    font-weight: var(--form-label-font-weight);
    color: var(--form-label-color);
    margin: var(--form-label-margin);
}

.gform_wrapper.gravity-theme .ginput_container input,
.gform_wrapper.gravity-theme .ginput_container .ts-wrapper .ts-control{
    width: 100%;
    box-sizing: border-box;
    transition: all ease 350ms;
    border: var(--form-input-border);
    border-radius: var(--form-input-border-radius);
    padding: var(--form-input-padding);
    color: var(--form-input-color);
    background: var(--form-input-background);
    font-size: var(--form-input-font-size);
}

.gform_wrapper.gravity-theme .ginput_container input[type="file"]{
    padding: 12px 15px;
}

.gform_wrapper.gravity-theme .gform_footer input.gform_button.button{
    box-sizing: border-box;
    transition: all ease 350ms;
    cursor: pointer;
    border: var(--form-btn-border);
    border-radius: var(--form-btn-border-radius);
    padding: var(--form-btn-padding);
    color: var(--form-btn-color);
    background: var(--form-btn-background);
    font-size: var(--form-btn-font-size);
    font-weight: var(--form-btn-font-weight);
}

.gform_wrapper.gravity-theme .gform_footer input.gform_button.button:hover{
    transition: all ease 350ms;
    cursor: pointer;
    color: var(--form-btn-color-h);
    background: var(--form-btn-background-h);
    border: var(--form-btn-border-h);
}


/* ==========================================================================
Buttons
========================================================================== */
a.recruiterwp-btn.primary-btn,
a.recruiterwp-btn.secondary-btn,
a.recruiterwp-btn.primary-btn:hover,
a.recruiterwp-btn.secondary-btn:hover{
    box-sizing: border-box;
    transition: all ease 350ms;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

a.recruiterwp-btn.primary-btn,
input.recruiterwp-btn.primary-btn,
.facetwp-facet-jobs_load_more button.facetwp-load-more{
    border: var(--recruiterwp-primary-btn-border);
    border-radius: var(--recruiterwp-primary-btn-border-radius);
    padding: var(--recruiterwp-primary-btn-padding);
    color: var(--recruiterwp-primary-btn-color);
    background: var(--recruiterwp-primary-btn-background);
    font-size: var(--recruiterwp-primary-btn-font-size);
    font-weight: var(--recruiterwp-primary-btn-font-weight);
}

a.recruiterwp-btn.primary-btn:hover,
input.recruiterwp-btn.primary-btn:hover,
.facetwp-facet-jobs_load_more button.facetwp-load-more:hover{
    color: var(--recruiterwp-primary-btn-color-h);
    background: var(--recruiterwp-primary-btn-background-h);
    border: var(--recruiterwp-primary-btn-border-h);
}

a.recruiterwp-btn.secondary-btn,
input.recruiterwp-btn.secondary-btn{
    border: var(--recruiterwp-secondary-btn-border);
    border-radius: var(--recruiterwp-secondary-btn-border-radius);
    padding: var(--recruiterwp-secondary-btn-padding);
    color: var(--recruiterwp-secondary-btn-color);
    background: var(--recruiterwp-secondary-btn-background);
    font-size: var(--recruiterwp-secondary-btn-font-size);
    font-weight: var(--recruiterwp-secondary-btn-font-weight);
}

a.recruiterwp-btn.secondary-btn:hover,
input.recruiterwp-btn.secondary-btn:hover{
    color: var(--recruiterwp-secondary-btn-color-h);
    background: var(--recruiterwp-secondary-btn-background-h);
    border: var(--recruiterwp-secondary-btn-border-h);
}



/* ==========================================================================
Helpers
========================================================================== */
.job_listing_btn_container{
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 10px 0;
}


/* ==========================================================================
FacetWP Helpers
========================================================================== */
button.recruiterwp-factwp-filter-drop{
    -webkit-appearance: button;
    background: #f0f0f0;
    border: none;
    border-radius: 5px;
    box-shadow: none;
    padding: 10px 15px;
    margin: 15px 0 !important;
    font-size: 18px;
    font-weight: 600;
    position: relative;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-family: var(--wp--preset--font-family--open-sans);
}

button.recruiterwp-factwp-filter-drop:after{
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTI1NiA0MTcuOWwxNy0xN0w0NjUgMjA5bDE3LTE3TDQ0OCAxNTguMWwtMTcgMTctMTc1IDE3NUw4MSAxNzVsLTE3LTE3TDMwLjEgMTkybDE3IDE3TDIzOSA0MDFsMTcgMTd6IiBmaWxsPSIjMDAwIi8+PC9zdmc+Cg==');
    background-size: contain;
    background-repeat: no-repeat;
}

.recruiterwp-facetwp.expanded button.recruiterwp-factwp-filter-drop:after{
    border-color: #242424;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.facetwp-facet{
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
}

.recruiterwp-facetwp.expanded .facetwp-facet{
    max-height: 999px;
    transition: max-height 1s ease-in-out;
    padding-top: 10px 5px;
}

.recruiterwp-facetwp{
    margin-block-start: 0 !important;
}

.recruiterwp-facetwp .facetwp-facet{
    margin: 0;
    transition: all ease 500ms;
}

.recruiterwp-facetwp .facetwp-slider-wrap{
    padding: 0 1px 10px 1px !important;
}

.recruiterwp-facetwp span.facetwp-slider-label{
    font-size: 15px;
}

.recruiterwp-facetwp input.facetwp-slider-reset{
    box-shadow: none;
    border: none;
    color: var(--primary);
    padding: 0;
    font-size: 15px;
}

.recruiterwp-facetwp .facetwp-checkbox{
    margin-bottom: 7px;
    padding-left: 25px;
}

.recruiterwp-home-stats a.mobile-filter-jobs{
    display: none;
}

.recruiterwp-facetwp .facetwp-facet{
    padding: 0 17px;
}

button.recruiterwp-factwp-filter-drop:after{
    width: 16px;
    height: 16px;
    top: 15px;
    right: 20px;
}

.recruiterwp-facetwp.expanded button.recruiterwp-factwp-filter-drop:after{
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.facetwp-facet-job_search{
    max-height: 250px;
    border: 10px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
}

span.facetwp-input-wrap{
    width: 100%;
}

.facetwp-facet-job_search i.facetwp-icon{
    right: 15px;
}

.facetwp-facet-job_search input,
.facetwp-facet-job_search input:focus-visible,
.facetwp-facet-job_search input:focus,
.facetwp-facet-job_search input:active{
    padding: 20px;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
    outline: none;
}

.recruiterwp-facetwp .facetwp-facet{
    padding: 0 17px;
}
    
.recruiterwp-facetwp .facetwp-checkbox:last-child{
    margin-bottom: 0;
}

button.recruiterwp-factwp-filter-drop:after{
    width: 16px;
    height: 16px;
    top: 15px;
    right: 20px;
}
    
.recruiterwp-facetwp.expanded button.recruiterwp-factwp-filter-drop:after{
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}
    
.facetwp-facet-job_search{
    max-height: 250px;
    border: 10px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
}
    
span.facetwp-input-wrap{
    width: 100%;
}
    
.facetwp-facet-job_search i.facetwp-icon{
    right: 15px;
}
    
.facetwp-facet-job_search input,
.facetwp-facet-job_search input:focus-visible,
.facetwp-facet-job_search input:focus,
.facetwp-facet-job_search input:active{
    padding: 20px;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
    outline: none;
}

.facetwp-facet-jobs_load_more{
    max-height: 100%;
}

.recruiterwp-job-alerts-field label.gfield_label.gform-field-label{
    display: inline-block;
}

.recruiterwp-field-group select{
    width: 100%;
    font-size: 15px;
}

.recruiterwp-field-group{
    margin-bottom: 16px;
}


@media only screen and (max-width: 781px) {
    .recruiterwp-home-stats a.mobile-filter-jobs{
        display: block;
        width: 100%;
        text-align: center;
    }

    .recruiterwp-classic-filter-col{
        display: none;
    }
}

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{
    padding: 12px 0;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content{
    padding: 12px;
}

.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{
    border-radius: 5px;
}

.wp-block-navigation .wp-block-navigation-item{
    background: transparent;
    cursor: pointer;
}

.wp-block-navigation .wp-block-navigation-item:hover > a{
    color: var(--primary);
}

.gfield_checkbox .gchoice{
    display: flex;
    align-items: center;
    width: auto;
    justify-content: flex-start;    
}

.gfield_checkbox .gchoice input{
    max-width: 20px !important;
    margin: 0 5px 0 0;
}

nav.gf_login_links{
    margin-top: 5px;
}

#recruiterwp-job-alerts-table-hold{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 50px;
}

.recruiterwp-edit-user-job-alert{
    border-radius: 3px;
    background: #fff;
    padding: 20px;
    border: 1px solid #C6C6C6;
    margin: 15px 0;
}

.recruiterwp-edit-user-job-alert p span{
    font-weight: 600;
    text-transform: capitalize;
    display: block;
    font-size: 16px;
}

.recruiterwp-edit-user-job-alert p{
    font-size: 15px;
    margin: 0 0 15px 0;
}

.recruiterwp-edit-user-job-alert h3{
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 15px;
}

a.job-alert-trash-alert{
    text-decoration: none;
}

a.job-alert-icon svg{
    width: 13px;
}

.job-alert-action-btns{
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 25px;
}

.job-alerts-notice{
    position: fixed;
    bottom: 0px;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9;
    text-align: center;
}

.job-alerts-notice.notice-success{
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
    border-radius: 3px;
    padding: 15px 50px 15px 15px;
}

.job-alerts-notice p{
    margin: 0;
}

.job-alerts-notice.notice-success a{
    color: #3c763d;
    font-weight: 600;   
}