@keyframes promptIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes arrowIn {
    0% {
        opacity: 0;
        left: -20px;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        left: -60px
    }
}

@keyframes arrowUp {
    0% {
        opacity: 0;
        top: 80%;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        top: -25%;
    }
}


/***** hide all by default until check for logge din *****/
.listHide, .listShow, .contractorList {
   display:none; 
}

/***** filters ****************************************************/

.listFilters {
    margin-bottom: 30px;
    border: 1px solid #e5e5e5;
}

.listFilters h4 {
    margin: 5px 0;
    color: #58595b;
    text-transform: none;
    font-size: 18px;
}

.listFilters .filterExpand i {
    display: none;
    float: right;
    margin-top: 8px;
    transform: scaleY(-1) translateY(4px);
    transition: transform 300ms;
}

.listFilters .filterExpand.collapsed i {
    transform: scaleY(1) translateY(0);
}

.listFilters label {
    font-size: 14px;
    color: #58595b;
    font-weight: normal;
    margin: 0 0 10px;
}
.filterMobile {
    display:none;
}
a.filterExpand {
    display: block;
}

.filterBtns .btn,
.filterBtns .btn:focus {
    display: block;
    margin: 10px 0 0;
    padding: 8px 5px;
    width: 100%;
}

.filterBox {
    border-top: 1px solid #e5e5e5;
    padding: 10px 20px;
    position: relative;
}
.filterBox.filterAlert {
    background-color: rgba(235,173,48,0.3);
    border-color: rgba(235,173,48,1);
    transition:background-color 300ms, border-color 300ms;
}

.filterBox.filterZIP {
    border: none;
}

.promptZIP {
    margin-top: 50px;
    background: #fff;
    color: #58595b;
    border-radius: 5px;
    border: 2px solid #ebad30;
    position: relative;
    padding: 10px 15px 10px 15px;
    opacity: 0;
    animation: promptIn 1s 3s forwards;
    position: absolute;
    top: 15px;
    right: -130%;
    width: 120%;
}

.promptZIP .promptArrow {
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    font-size: 3.5em;
    line-height: 1;
    left: -30px;
    color: #ebad30;
    opacity: 0;
    animation: arrowIn 500ms 3s forwards;
}

.filterZIP input {
    font-size: 2em;
    text-align: center;
    height: auto;
    background: #f2f2f2;
    border: 3px solid #ebad30;
    font-weight: bold;
    color: #00548e;
}

.filterBtnWrap a {
    text-align: center;
    margin: 0 10px 10px 0;
    border-radius: 5px;
    border: 2px solid;
    position: relative;
    display: block;
    float: left;
    font-size: 0.7em;
    line-height: 1.2;
    color: #00548e;
    background-color: #fff;
    width: 100%;
    height: 65px;
    transition: background-color 300ms;
}

.filterBtnWrap a .catTitle,
.filterBtnWrap a .svcTitle {
    position: absolute;
    left: 5px;
    right: 5px;
    margin: 0 auto;
    top: 50%;
    transform: translateY(-50%);
}

.filterBtnWrap a>span:before,
.filterBtnWrap a>span:before {
    font-family: icomoon;
    font-size: 2.3em;
    font-size:25px;
    display: block;
}

.filterBtnWrap a.active {
    background: #00548e;
    color: #fff;
}

.filterBtnWrap a:hover {
    cursor: pointer;
    background: #f2f2f2;
    color: #00548e;
}

.filterBtnWrap a.active:hover {
    background: #003f71;
    color: #fff;
}

/* service icons called out with results */

.filterCatBtns a.filterCat-Mitigation .catTitle:before {
    content: "\e916";
}

.filterCatBtns a.filterCat-Restoration .catTitle:before {
    content: "\e94a";
}

/* svc btns info */



.filterBox .tooltip-inner {
    text-align: left;
    padding: 5px 10px;
}


.filterBtnWrap a i {
    position: absolute;
    top: 3px;
    right: 2px;
    font-size: 1.5em;
    color: #00548e;
}

.filterBtnWrap a.active i {
    color: #fff;
}

.filterBtnWrap a i:hover {
    color: #ebad30;
}

.filterBtnWrap a .dataInfo {
    display: none;
    position: absolute;
    bottom: 105%;
    width: 200%;
    left: -25%;
    right: -25%;
    background: #ebad30;
    color: #fff;
    border: 1px solid;
    width: auto;
    width: 150%;
    padding: 5px;
    font-size: 1.2em;
    border-radius: 5px;
}

.filterExpand.expandBottom {
    display: none;
}


/***** results ****************************************************/
.itemCountMsg {
    display:block;
    background:#f2f2f2;
    padding:5px 15px;
    font-size:16px;
    margin-bottom:10px;
}

.resultsWrapper {
    font-size: 18px;
}

.resultsWrapper section {
    padding: 0 15px;
}

.resultsWrapper {
    visibility:visible;
}

.resultsWrapper.firstView {
    visibility:hidden;
    max-height:500px;
    overflow:hidden;
}

.contractorItemWrap {
    display: none;
} 

.contractorItemWrap.filterShow {
    display: block;
}

.contractorItem { 
    background: #fff;
    margin: 0 0 20px;
    padding: 15px 0 10px;
    border: 1px solid #e5e5e5;
    position:relative;

}


h3.contractorName {
    margin: 0 0 5px;
    font-size: 1.3em;
    color: #58595b;
    line-height: 1.2;
}

.noResult span {
    font-weight: bold;
}
.noResult .single-line {
    border-color:#fff;
    border-width:2px;
}
.noResult .noResReset:hover {
    cursor:pointer;
}


/* always hide deleted */
.contractorItemWrap.contractorDeleted, .contractorItemWrap.contractorDeleted.filterShow {
    display:none;
}




/***** category *****/
section.listCategory {
    border-bottom: 1px solid #e5e5e5;
    margin: 0 15px;
    padding: 0 0 10px;
}

.listCategory .setData {
    margin: 0 5px;
    font-weight: bold;
    color: #00548e;
}

.listCategory .setData:hover {
    color: #003f71;
    cursor: pointer;
}

.listCategory .setData:first-child {
    margin: 0;
}

.listCategory .setData::before {
    content: ' + ';
    margin-right: 5px;
    color: #58595b;
}

.listCategory .setData:first-child::before {
    content: '';
    margin: 0;
}

/***** phone *****/
section.listPhones {
    padding: 15px 15px 5px;
}

.contractorPhone,
.contractorPhoneAlt {
    position: relative;
    font-size: 1.1em;
    margin-top: 10px;
}

.contractorPhone:before,
.contractorPhoneAlt:before {
    color: #82796f;
    font-size: 0.6em;
    position: absolute;
    top: -15px;
    left: 5px;
}

.contractorPhone:before {
    content: 'Primary';
}

.contractorPhoneAlt.type-cell:before {
    content: 'Cell';
}

.contractorPhoneAlt.type-emergency:before {
    content: 'Emergency Service 24/7';
}

.contractorPhoneAlt.type-business:before {
    content: 'Business Office';
}

/***** email & URL *****/

section.listWeb {
    margin: 5px 15px 0;
    padding: 0;
}

.contractorEmail a,
.contractorURL a,
.contractorPhone a,
.contractorPhoneAlt a {
    background: #f2f2f2;
    padding: 5px 10px;
    border-radius: 5px;
    margin-bottom: 15px;
    display: block;
    transition: background 300ms;
}

.contractorEmail a:hover,
.contractorURL a:hover,
.contractorPhone a:hover,
.contractorPhoneAlt a:hover {
    text-decoration: none;
    background: #bcbec0;
}

.contractorEmail a i::before,
.contractorURL a i::before {
    color: #00548e;
}

.contractorEmail a i,
.contractorURL a i {
    display: block;
    float: left;
    margin: 5px 7px 0 0;
}

/***** services *****/

section.listServices {
    margin: 10px 0 0 -10px;
}

.setData.dataType-svc {}

.setData.dataType-svc>span {
    text-align: center;
    border-radius: 5px;
    position: relative;
    display: block;
    float: left;
    background: #7db6d1;
    color: #fff;
    width: 8%;
    height: 30px;
    margin: 0 0 10px 10px;
    transition: background 300ms;
}

.dataType-svc>span:before {
    font-family: icomoon;
    font-size: 1.3em;
    line-height: 1.3;
    display: block;
}

.setData.dataType-svc .svcItemLabelWrap {
    display: none;
    position: absolute;
    color: #fff;
    background: #ebad30;
    font-size: 0.7em;
    width: 250%;
    left: -75%;
    right: -75%;
    line-height: 1.3;
    padding: 3px;
    bottom: 105%;
    border-radius: 5px;
}
.setData.dataType-svc .svcItemLabelWrap .svcItemLabel {

}

.setData.dataType-svc>span:hover {
    background: #003f71;
    cursor: pointer;
}

.setData.dataType-svc>span:hover>span {
    display: block;
}

.setData.dataType-svc span.svcItemGo {
    position: relative;
    font-size: 7px;
    display:block;
}
.setData.dataType-cat span.svcItemGo {
    display:none;
}





/* service icons */
.dataName-Emergency>span:before,
.filterSvcBtns a.filterSvc-Emergency .svcTitle:before {
    content: "\e9de";
}

.dataName-General>span:before,
.filterSvcBtns a.filterSvc-General .svcTitle:before {
    content: "\e976";
}

.dataName-Water>span:before,
.filterSvcBtns a.filterSvc-Water .svcTitle:before {
    content: "\e9e0";
}

.dataName-Sewage>span:before,
.filterSvcBtns a.filterSvc-Sewage .svcTitle:before {
    content: "\e9e5";
}

.dataName-Plumbing>span:before,
.filterSvcBtns a.filterSvc-Plumbing .svcTitle:before {
    content: "\e9e4";
}

.dataName-FireSmoke>span:before,
.filterSvcBtns a.filterSvc-FireSmoke .svcTitle:before {
    content: "\e9c3";
}

.dataName-Tree>span:before,
.filterSvcBtns a.filterSvc-Tree .svcTitle:before {
    content: "\e9df";
}

.dataName-Roof>span:before,
.filterSvcBtns a.filterSvc-Roof .svcTitle:before {
    content: "\e9e6";
}

.dataName-BoardUp>span:before,
.filterSvcBtns a.filterSvc-BoardUp .svcTitle:before {
    content: "\e9e1";
}

.dataName-Locks>span:before,
.filterSvcBtns a.filterSvc-Locks .svcTitle:before {
    content: "\e91a";
}

.dataName-Windows>span:before,
.filterSvcBtns a.filterSvc-Windows .svcTitle:before {
    content: "\e9e2";
}


.contractorZIP {
    display: block;
    width: 100%;
    width: 400px;
    font-size: 0.9em;
    line-height: 1.8;
    position: relative;
    top: 0;
}

.display-no,
.contractorZIP, .itemCountMsg {
    display: none;
}

/***** admin view *****/
.resultsWrapper section.admView {
    padding:0 10px;
    font-size:16px;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color:rgba(0,0,0,0);
    transition:background-color 300ms 300ms;
}
.resultsWrapper section.admView.expanded {
    background-color:rgba(0,0,0,0.1);
    height: 100%;
}

.resultsWrapper section.admView h5 {
    padding: 3px 10px;
}
.resultsWrapper section.admView h5 > span {
    display:block;
    float:right;
}
.resultsWrapper section.admView h5:hover {
    cursor:pointer;
}
.resultsWrapper section.admView h5.showView {
    margin: 0 -10px;
    position:absolute;
    width:100%;
    bottom:0;
    color: #00548e;
    background: #f2f2f2;
    border-bottom: 2px solid;
}
.resultsWrapper section.admView h5.hideView {
    margin: 0 -10px 30px;
    background: #00548e;
    color: #fff;
    padding:10px;
}

.resultsWrapper section.admView.alertDanger h5.showView:before, .resultsWrapper section.admView.alertWarning h5.showView:before {
    font-family: 'Material Icons';
    font-size: 20px;
    content: '\e002';
    float: left;
    margin-right: 10px;
}
.resultsWrapper section.admView.alertWarning h5.showView:before {
    color:#8a6d3b;
}
.resultsWrapper section.admView.alertDanger h5.showView:before {
    color:#ef3e42;
}

.resultsWrapper section.admView .admViewInner {
    background:#fff;
    position:absolute;
    width:100%;
    left:0;
    bottom:0;
    padding:0 10px;
    display:none;
    box-shadow:0px -2px 3px rgba(0,0,0,0.3);
    border-bottom:2px solid #e5e5e5;
}
.resultsWrapper section.admView > .admViewInner > div {
    position: relative;
    margin:10px 0 30px;
}
.resultsWrapper section.admView > .admViewInner > div:before {
    color: #82796f;
    font-size: 0.8em;
    position: absolute;
    top: -18px;
    left: 0;
    border-bottom: 1px dotted #82796f;
    width: 100%;
}


a.admExpand {
    display: block;
    width: 100%;
    height: 30px;
    position: absolute;
    top: -20px;
    right: 0;
    text-align: right;
}

.admExpand:hover {
    text-decoration:none;
    cursor:pointer;
}
a.admExpand:before {
    content: 'Collapse';
    position: absolute;
    right: 20px;
    font-size: 0.7em;
    top: 1px;
}
a.admExpand.collapsed:before {
content: 'Expand'
}
a.admExpand i, .admView h5.hideView span i {
    display:block;
    transform: scaleY(1) translateY(0);
    transition: transform 300ms;
}   
a.admExpand.collapsed i, .admView h5.showView span i {
    display:block;
    transform: scaleY(-1) translateY(4px);
}
.admComments {
    min-height:10px;
}
.admDate {
    padding:3px 5px;
}
.admDateInner {
    position:relative;
}
.admInvestigation:before {
    content: 'Investigation type';
}
.admReviewer:before {
    content: 'Reviewer';
}
.admAdjusters:before {
    content: 'Associated Adjuster';
}
.admComments:before {
    content: 'Comments';
}
.admDate:before {
    content: 'Next Review';
}
.admDateInner:before, .admDateInner:after {
    font-size: 0.8em;
    position: absolute;
 
}
.admDateInner:before {
    font-family: 'Material Icons';
    font-size: 20px;
    left: 0;
    top:105%;
}
.admDateInner:after {
    left:25px;
    top:130%;
}

.alert-warning .admDateInner:before, .alert-danger .admDateInner:before {
    content:'\e002';
}
.alert-warning .admDateInner:after {
    content:'Item up for review soon! Please alert the Reviewer.'
}
.alert-danger .admDateInner:after {
    content:'Item past due for review! Please alert the Reviewer.'
}

main#mp-main-content section {
    margin-left: 15px;
    margin-right: 15px;
}


/***** media queries ****/
@media screen and (max-width:1199px) {
    /*** filters ***/
    .promptZIP {
        right:-135%;
    }
    .listFilters {
        border: none;
        margin: 0;
    }

    .listFilters h5 {
        color: #58595b;
    }

    .listFilters .filterExpand h4 {
        color: #00548e;
    }

    .listFilters .filterExpand i {
        display: block;
        font-size: 1.3em;
        margin: 3px 10px 0 0;
    }

    .listFilters .filterZIP h4 {
        color: #58595b;
    }    

    .filterBox {
        border-top: 3px solid #e5e5e5;
        padding: 10px 0;
    }

    .filterBox.filterCat,
    .filterBox.filterSvc {
        border-width: 1px;
    }

    .filterBox.filterSvc {
        padding-bottom: 0;
    }


    .filterBtnWrap a {
        text-align: left;
        height: 40px;
        font-size: 0.8em;
        border-radius: 0;
        border-width: 1px;
        margin: 0 0 15px;
    }

    .filterBtnWrap a.active {
        border: 1px solid #00548e;
    }

    .filterBtnWrap a .svcTitle,
    .filterBtnWrap a .catTitle {
        padding: 0 20px 0 30px;
    }

    .filterBtnWrap a>span:before {
        position: absolute;
        left: -1px;
        font-size: 1.8em;
        top: 50%;
        line-height: 1.72;
        transform: translateY(-50%);
    }

    .filterBtnWrap a i {
        background: #bcbec0;
        color: #fff;
        height: 100%;
        top: 0;
        right: 0;
        padding: 10px 4px;
    }

    .filterBtnWrap a i:active {
        color: #fff;
    }

    .filterBtnWrap .tooltipMobile {
        position: absolute;
        right: 16px;
        top: 1px;
        background: #bcbec0;
        color: #fff;
        height: 100%;
        width: 25px;
        height: 38px;
        padding: 8px 0 0;
        text-align: center;
    }

    .filterBtnWrap .tooltipMobile i {
        font-size: 16px;
    }


    /*** results ***/

    .resultsWrapper.firstView {
        display:none;
    }

    .resultsWrapper section {
        padding: 0 10px;
    }

    section.listCategory {
        margin: 0 10px;
        padding: 0;
    }

    section.listPhones {
        padding: 10px 10px 15px;
    }

    section.listWeb {
        margin: 0 0 0 10px;
        padding: 0;
    }

    .contractorPhone,
    .contractorPhoneAlt,
    .contractorEmail,
    .contractorURL {
        font-weight: bold;
        position: relative;
    }

    .contractorPhone:before,
    .contractorPhoneAlt:before,
    .contractorEmail:before,
    .contractorURL:before {
        font-weight: normal;
        left: 0;
        top: -10px;
        font-size: 11px;
    }

    .contractorEmail:before,
    .contractorURL:before {
        color: #82796f;

        position: absolute;
    }

    .contractorEmail:before {
        content: 'Email';
    }

    .contractorURL:before {
        content: 'Website';
    }

    .contractorEmail a,
    .contractorURL a,
    .contractorPhone a,
    .contractorPhoneAlt a {
        background: none;
        padding: 0;
    }

    .contractorPhone a,
    .contractorPhoneAlt a {
        margin-bottom: 5px;
    }

    .contractorEmail a i,
    .contractorURL a i {
        display: none;
    }

    .setData.dataType-svc>span {
        width: 10%;
        border-radius:0;
        height:35px;
        padding:5px 0 0;
    }
    .setData.dataType-svc>span:hover {
        transform: scale(1.5);
        transition:transform 300ms; 
    }
    .setData.dataType-svc .svcItemLabelWrap {
        border-radius: 0;
        font-size: 8px;
        width: 200%;
        left: -50%;
        right: -50%;
    }
    .setData.dataType-svc span.svcItemGo {
        font-size: 4px;
    }
}
@media screen and (max-width:767px) {
    /*** head *****/
    .headText {
        padding:0;
        border-bottom:2px solid #e5e5e5;
    }
    .headDemo {
        display:none;
    }
    /*** filters ***/
    .filterZIP input {
        font-size: 1.5em;
    }
    .promptZIP {
        position: relative;
        top: 0;
        margin: 0;
        right: 0;
        width: auto;
        animation: promptIn 1s 3s forwards;
        padding: 0 0 0 80px;
        border: none;
    }

    .promptZIP .promptArrow {
        top: 80%;
        left: 0;
        transform: rotate(90deg);
        opacity: 0;
        animation: arrowUp 500ms 3s forwards;
    }

    .listFilters h4,
    .listFilters h5 {
        float: left;
    }

    .listFilters label {
        font-style: italic;
        margin-top: 2px;
    }

    .listFilters .filterZIP label {
        margin: 6px 0 10px 20px;
        display: inline-block;
    }
    .listFilters .filterZIP h4 {
        padding-bottom: 5px;
    }   

    .filterCat label,
    .filterSvc label {
        margin: 10px 0 0 20px;
    }
    .filterBtns .btn,
    .filterBtns .btn:focus {
        margin: 0;
    }

    .filterBtns .btn.disabled,
    .filterBtns .btn.disabled:focus {
        display: none;
    }

    .filterBtns .btn.firstView.disabled {
        display: block;
    }
    .filterExpand.expandBottom {
        display: block;
        text-align: center;
        background: #00548e;
        color:#fff;
        margin: 0 -15px;
    }

    .filterExpand.expandBottom i {
        float: none;
    }

    /*** results ***/
    .resultsWrapper {
        background: #f2f2f2;
        border-top: 5px solid #58595b;
        border-bottom: 2px solid #58595b;
        margin: 0 -15px;
        font-size: 16px;
        display:block;
    }
    .contractorItem {
        padding: 15px 5px 5px;
        margin: 10px 0;
        border:none;
    }
    .itemCountMsg {
        font-size: 14px;
        margin-bottom: -10px;
        font-style: italic;
    }

}