* {padding:0;margin:0;outline:0!important;font-family:Roboto,sans-serif;box-sizing:border-box}
:after {box-sizing:border-box}
body {background:#f5fafe url("img/hb_bg.jpg") 50% no-repeat fixed;overflow-x:hidden;background-size:cover}
body.electricians #_outerContainer {background-image:url("img/landing/prof/electrician.jpg");background-color:#F1F2F7}
body.flooring #_outerContainer {background-image:url("img/landing/prof/flooring.jpg");background-color:#F1F2F7}
body.contractors #_outerContainer {background-image:url("img/landing/prof/general.jpg");background-color:#F1F2F7}
body.cleaners #_outerContainer {background-image:url("img/landing/prof/house_cleaning.jpg");background-color:#F1F2F7}
body.hvac #_outerContainer {background-image:url("img/landing/prof/hvac.jpg");background-color:#F1F2F7}
body.inspectors #_outerContainer {background-image:url("img/landing/prof/inspection.jpg");background-color:#F1F2F7}
body.landscapers #_outerContainer {background-image:url("img/landing/prof/landscape.jpg");background-color:#F1F2F7}
body.painters #_outerContainer {background-image:url("img/landing/prof/painter.jpg");background-color:#F1F2F7}
body.pestcontrol #_outerContainer {background-image:url("img/landing/prof/pest_control.jpg");background-color:#F1F2F7}
body.plumbers #_outerContainer {background-image:url("img/landing/prof/plumber.jpg");background-color:#F1F2F7}
body.roofers #_outerContainer {background-image:url("img/landing/prof/roofer.jpg");background-color:#F1F2F7}

a {color:#0084ff;text-decoration:underline;cursor:pointer}
a:hover {color:#007ec4;text-decoration:none}
img {border:0}

.container {width:1000px;position:relative;margin:auto}
.container:after {content:'';clear:both;display:table}

.col {margin:0 -2%}
.col:after {content:'';clear:both;display:table}
.col-40 {float:left;width:36%;margin:0 2%}
.col-50 {float:left;width:46%;margin:0 2%}
.col-60 {float:left;width:56%;margin:0 2%}

#wrapper {min-height:calc(100vh - 51px)}

#header_hb {background:#fff;border-bottom:1px solid #ccc}
#logo {background:url("img/logo.png") left center no-repeat;width:80px;height:50px;display:block;background-size:auto 44px;float:left}
.top_nav {float:right}
.top_nav a {display:inline-block;line-height:50px;padding:0 10px;color:#007ec4;text-decoration:none;text-transform:uppercase;font-weight:500;font-size:13px}
.top_nav a:hover {background:#eee;color:#000}


/* billy form */
.form_container {background:#fff;box-shadow:0 1px 5px #B5B9CB;padding:40px 2vw}
.form_container:after {content:'';clear:both;display:table}
.billy_text {float:left;width:55%;background:url("img/logo.png") no-repeat;min-height:350px;padding:150px 30px 20px 0;position:relative;background-size:140px auto}
.billy_text:after {content:"Whatever you need. It's handled.";position:absolute;top:20px;left:170px;right:30px;font-size:20px;font-weight:500}
.billy_text h1 {color:#007ec4;font-weight:400;margin-bottom:30px;line-height:30px;font-size:28px}
.billy_text p {color:#3d456f;margin-bottom:10px;line-height:22px}
.billy_text b {color:#007ec4;font-weight:500}
.billy_form {float:left;border-left:1px solid #e3e6f5;width:45%;min-height:350px;padding:20px 0 20px 30px}
.showAvProv_p {display:none}

/* providers list */
.providers_wrapper {clear:both}
.billy_providers {background:#fbfbfc;border-top:1px solid #d6d9e4;margin:40px -2vw -40px;padding:30px 2vw 50px}
.formCaption {color:#007ec4;font-size:18px;line-height:30px;margin-bottom:20px}

._changeProviderBut {float:right;cursor:pointer;text-decoration:underline;font-size:14px}

.providers_list {display:flex;flex-wrap:wrap;margin:-10px}
.providers_list.disabled .bookBtn {position:relative}
.providers_list.disabled .bookBtn:after {content:'';position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(255,255,255,.7)}
.provider_block {padding:20px;line-height:20px;font-size:14px;border:1px solid #E3E6F5;margin:10px;width:calc(33.333% - 20px);background:#fff}
.provider_block:after {content:'';clear:both;display:table}

.provider_block ._name {color:#007ec4;font-weight:500}
.provider_block ._company {color:#3d456f}
.provider_block ._description {color:#777;border-top:1px solid #eee;padding-top:10px;margin-top:10px;min-height:30px;font-size:13px}
.provider_block ._description:empty {display:none}
.provider_block .bookBtn {float:right}
.provider_block dl {clear:both;text-align:left;border-top:1px solid #eee;margin-top:10px;padding-top:10px;line-height:24px}
.provider_block dl:after {content:'';clear:both;display:table}
.provider_block dt {color:#888;clear:left}
.provider_block dd {color:#000;font-weight:500}
.provider_block dd span+span {margin-left:5px}
.provider_block.selected {width:auto;margin:0}
.provider_block.selected ._description,
.provider_block.selected dl {border-color:#d6d6d2}

/* request container */
.request_wrapper {clear:both}
.request_container {background:#FFFAF0;border-top:1px solid #E2DACA;padding:30px 2vw 50px;margin:40px -2vw -40px}
.request_container:after {content:'';clear:both;display:table}
.request_title {color:#007ec4;padding-bottom:20px;line-height:30px;font-size:18px}
.request_description {color:#555;font-size:14px;word-wrap:break-word;white-space:pre-wrap}
.request_attach:not(:empty) {border-top:1px dotted #aaa;margin-top:20px;padding-top:10px}
.request_attach span {font-size:12px!important;background:#ddd;padding:2px 4px;border-radius:4px;margin-right:5px;margin-bottom:2px;white-space:nowrap;display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.editRequestBut {float:right;cursor:pointer;text-decoration:underline;font-size:14px;margin-left:20px}


/* services */
.services_container {display:flex;flex-wrap:wrap;margin:0 -10px}
.services_container:after {content:'';clear:both;display:table}
.services_container > label {float:left;width:calc(25% - 20px);margin:10px;border:1px solid #ccc;padding:30px 10px 30px 80px;color:#000;background-color:#fafafa;background-position:30px 50%;background-repeat:no-repeat;cursor:pointer}
.services_container > label > input {display:none}
.services_container > label.inspectors {background-image:url("img/landing/ico/inspections_ico.png")}
.services_container > label.flooring {background-image:url("img/landing/ico/flooring_ico.png")}
.services_container > label.plumbers {background-image:url("img/landing/ico/plumber_ico.png")}
.services_container > label.cleaners {background-image:url("img/landing/ico/cleaner_ico.png")}
.services_container > label.hvac {background-image:url("img/landing/ico/hvac_ico.png")}
.services_container > label.pestcontrol {background-image:url("img/landing/ico/pest_control_ico.png")}
.services_container > label.landscapers {background-image:url("img/landing/ico/landscaper_ico.png")}
.services_container > label.electricians {background-image:url("img/landing/ico/electrician_ico.png")}
.services_container > label.painters {background-image:url("img/landing/ico/painter_ico.png")}
.services_container > label.contractors {background-image:url("img/landing/ico/contractor_ico.png")}
.services_container > label.roofers {background-image:url("img/landing/ico/roofer_ico.png")}
.services_container > label.moving {background-image:url("img/landing/ico/moving_ico.png")}
.services_container > label:hover {box-shadow:0 2px 5px rgba(0,0,0,0.2)}

/* page */
.page {display:none}
#_outerContainer {padding:100px 0 200px;min-height:calc(100vh - 51px);background-position:50% 100%;background-repeat:no-repeat}
#_outerContainer.page0 .page.page0,
#_outerContainer.page1 .page.page1,
#_outerContainer.page2 .page.page2,
#_outerContainer.page3 .page.page3,
#_outerContainer.page4 .page.page4,
#_outerContainer.page_thanks .page.page_thanks {display:block}

#_outerContainer div.proposal,
#_outerContainer div.appointment {display:none}
#_outerContainer.proposal div.proposal,
#_outerContainer.appointment div.appointment {display:block}
#_outerContainer.proposal.noproviders div.proposal.noproviders {display:block}
#_outerContainer.proposal.noprovidersattime div.proposal.noprovidersattime {display:block}
#_outerContainer.proposal div.proposal.noproviders,
#_outerContainer.proposal div.proposal.noprovidersattime,
#_outerContainer.proposal.noproviders div.proposal.hasproviders,
#_outerContainer.proposal.noproviders div.proposal.noprovidersattime,
#_outerContainer.proposal.noprovidersattime div.proposal.hasproviders,
#_outerContainer.proposal.noprovidersattime div.proposal.noproviders {display:none}


/* page 2 */
#_outerContainer.proposal.noproviders .page.page2 .billy_providers,
#_outerContainer.proposal.noprovidersattime .page.page2 .billy_providers {display:none}

/* page 3 */
#_outerContainer.appointment .page.page3 .billy_form {padding-top:40px}
#_outerContainer.proposal .page.page3 .billy_providers {display:none}
#_outerContainer.proposal .page.page3 .request_container {margin:40px -2vw -40px}

/* page 4 */
#_outerContainer.appointment .page.page4 .billy_form {padding-top:40px}
#_outerContainer.proposal .page.page4 .billy_providers {display:none}
#_outerContainer.proposal .page.page4 .request_container {margin:40px -2vw -40px}
#_credentialsView .novalidate .form-control + label.error {display:none!important}

/* page thanks */
.page.page_thanks .billy_form {padding-top:80px}
.page.page_thanks .form-group p {font-size:16px;text-align:center}
.createRequestBtn {margin-left:20px;cursor:pointer;text-decoration:underline;font-size:15px}



/* checkbox & radio & toggle */
label.radio,
label.checkbox,
label.toggle {display:inline-block;min-height:20px;font-weight:bold;line-height:34px;font-size:14px;clear:both;text-align:left;cursor:pointer}
label *, :before, :after {box-sizing:border-box}
.radio+.radio, .checkbox+.checkbox, .toggle+.toggle {margin-top:-5px}

.radio input,
.checkbox input,
.toggle input {visibility:hidden;position:absolute}
.radio input~span,
.checkbox input~span,
.toggle input~span {position:relative;margin:7px 5px 7px 0;display:inline-block;float:left;width:20px;height:20px}
.toggle input~span {margin:7px 0 7px 5px;float:right}

.radio input~span:after {content:'';position:absolute;width:20px;height:20px;background:#fff;border:1px solid #bbb;border-radius:50%}
.radio input~span:before {content:'';position:absolute;width:10px;height:10px;top:5px;left:5px;background:#007ec4;border-radius:50%;z-index:1;transform:scale(0);transition:all .15s ease-in-out}
.radio input:hover+span:after {border-color:#999;box-shadow:0 0 0 3px rgba(218, 218, 218, .5)}
.radio input:checked~span:before {transform:scale(1)}

.checkbox input~span:after {content:'';position:absolute;width:20px;height:20px;background:#fff;border:1px solid #bbb}
.checkbox input~span:before,
.checkbox.grayed input~span:before {content:'\2714';position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;text-align:center;color:#007ec4;font-size:13px;line-height:20px;z-index:1;transform:scale(0);transition:all .15s ease-in-out}
.checkbox.grayed input~span:before {color:#aaa}

.checkbox input:checked~span:before {transform:scale(1)}

.checkbox input:hover~span:after {border-color:#999;box-shadow:0 0 0 3px rgba(218, 218, 218, .5)}
.checkbox.fillbox input~span:before,
.checkbox.fillbox.grayed input~span:before {content:'';width:10px;height:10px;background:#007ec4}
.checkbox.fillbox.grayed input~span:before {background:#aaa}

.toggle input~span {width:40px}
.toggle input~span:after {content:'';position:absolute;width:100%;height:12px;background:#ccc;border-radius:6px;top:4px;transition:all .15s ease-in-out}
.toggle input~span:before {content:'';position:absolute;width:20px;height:20px;background:#fff;border:1px solid #ccc;border-radius:50%;z-index:1;right:20px;transition:all .15s ease-in-out}
.toggle input:checked~span:after {background:rgba(102, 175, 233, .3)}
.toggle input:checked~span:before {right:0;background:#007ec4;border-color:#007ec4}
.toggle input:hover~span:before {border-color:#999;box-shadow:0 0 0 3px rgba(218, 218, 218, .5)}
.toggle input:checked:hover~span:before {border-color:#007ec4;box-shadow:0 0 0 3px rgba(64, 129, 190, .2)}
.toggle.fillbox input~span:after {height:20px;top:0;border-radius:10px}
.toggle.fillbox input~span:before {width:18px;height:18px;top:1px;border-color:#fff}
.toggle.fillbox input:checked~span:before {right:1px;border-color:#007ec4}
.toggle.left input~span {float:left;margin:7px 5px 7px 0}

.disabled .radio,
.disabled .checkbox,
.disabled .toggle,
.radio.disabled,
.checkbox.disabled,
.toggle.disabled {color:#bbb;cursor:default}
.disabled .radio input~span:after,
.disabled .checkbox input~span:after,
.radio.disabled input~span:after,
.checkbox.disabled input~span:after {background:transparent;border-color:#ddd}
.disabled .radio input~span:before,
.disabled .checkbox input~span:before,
.radio.disabled input~span:before,
.checkbox.disabled input~span:before {opacity:.5}
.disabled .radio input:hover~span:after,
.disabled .checkbox input:hover~span:after,
.radio.disabled input:hover~span:after,
.checkbox.disabled input:hover~span:after {border-color:#ddd!important;box-shadow:none!important}
.disabled .toggle input~span:after,
.toggle.disabled input~span:after {background:#eee}
.disabled .toggle input~span:before,
.toggle.disabled input~span:before {background:#fafafa;border-color:#ddd!important}
.disabled .toggle input:checked~span:after,
.toggle.disabled input:checked~span:after {background:rgba(156, 202, 239, .3)}
.disabled .toggle input:checked~span:before,
.toggle.disabled input:checked~span:before {background:#77B6D9;border-color:#77B6D9!important}
.disabled .toggle input:hover~span:before,
.toggle.disabled input:hover~span:before {box-shadow:none!important}

label.radio,
label.checkbox,
label.toggle {color:#007ec4}


/* input */
.form-control {display:block;width:100%;height:40px;padding:8px 12px;font-size:14px;line-height:20px;border:1px solid #b7c6de;color:#000;transition:border-color, box-shadow 0.15s ease-in-out}
.form-control[input] {-webkit-appearance:none}
.form-control:hover {border-color:#aaa!important;box-shadow:0 0 0 3px rgba(218, 218, 218, .5)!important}
.form-control:focus {border-color:#66afe9!important;box-shadow:0 0 0 3px rgba(102, 175, 233, .3)!important}
.select {position:relative}
.select .form-control~span {display:block;background:#fff;border-radius:0 4px 4px 0;position:absolute;top:1px;right:1px;bottom:1px;width:30px}
.select .form-control~span:after {content:'';position:absolute;top:14px;right:12px;border:6px solid transparent;border-top-color:#555}
textarea.form-control {height:auto;min-height:40px;resize:vertical}
.form-control[disabled], .form-control[readonly] {cursor:default;background-color:rgba(0, 0, 0, 0.05);border-color:#ccc!important;box-shadow:none!important}


/* button */
.btn {cursor:pointer;background:#007ec4;border:0;border-radius:4px;height:40px;padding:10px 20px;font-size:14px;line-height:20px;color:#fff;display:inline-block;text-decoration:none}
.btn:hover {box-shadow:inset 0 0 0 50px rgba(255,255,255,0.2);color:#fff}
.btn:focus {box-shadow:inset 0 0 0 50px rgba(0,0,0,0.2);color:#fff}


.form-control-date_time {padding:0 10px}
.form-control-date_time input._date,
.form-control-date_time input._time {height:32px;border-radius:4px}
.form-control-date_time.disabled {background:rgba(0, 0, 0, 0.05);border-color:#ccc}
.form-control-date_time.disabled:hover {box-shadow:none!important;border-color:#ccc!important}
.form-control-date_time input {border:0;background:transparent}
.form-control-date_time > div {width:50%;float:left}

.dropdown-menu {position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;box-shadow:0 6px 12px rgba(0, 0, 0, .2);border-radius:4px}
.bootstrap-timepicker {position:static}
.bootstrap-timepicker [class*="icon-"] {position:relative;display:inline-block;font-style:normal;font-weight:bold;line-height:1}
.bootstrap-timepicker .icon-chevron-up:before {content:"\25b2"}
.bootstrap-timepicker .icon-chevron-down:before {content:"\25bc"}
.bootstrap-timepicker-widget.dropdown-menu {left:auto;bottom:35px;top:auto}
.bootstrap-timepicker-widget.dropdown-menu:before {content:'';border-bottom:0!important;border-top:7px solid rgba(0, 0, 0, 0.2);top:auto!important;bottom:-7px}
.bootstrap-timepicker-widget.dropdown-menu:after {content:'';border-bottom:0!important;border-top:6px solid #fff;top:auto!important;bottom:-6px}
.bootstrap-timepicker-widget table td input {width:100%!important}

textarea._descriptionInput {height:160px}
textarea._descriptionInput:focus ~ .descriptionUploadContainer {display:none}
.descriptionUploadContainer {margin:0 20px 0 12px;padding:5px 0;border-top:1px dashed #ccc;position:absolute;bottom:2px;left:0;right:0;background:#fff;box-shadow:0 -3px 3px 2px #fff}
.descriptionUploadContainer:after {content:'';clear:both;display:table}
.descriptionUploadContainer .fileUploadBut {float:left;margin-right:10px}
.descriptionUploadContainer .fileUploadBut label {display:inline-block;font-weight:normal;line-height:10px}
.descriptionUploadContainer .fileUploadBut input {display:none}
.descriptionUploadContainer .fileUploadBut span {border:0;background:transparent!important;color:#777!important;padding:0!important;height:34px!important;line-height:34px}
.descriptionUploadContainer .fileUploadBut span:hover {color:#000!important}
.descriptionUploadContainer ._filesUploadContainer {max-height:45px;overflow:auto;position:relative;min-height:34px}
.descriptionUploadContainer ._filesUploadContainer:empty:after {content:'...documents or images';position:absolute;line-height:34px;font-size:14px;color:#aaa}
.descriptionUploadContainer ._filesUploadContainer > div {background:#ddd;padding:0 4px;border-radius:4px;margin-right:5px;margin-bottom:2px;white-space:nowrap;display:inline-block}
.descriptionUploadContainer ._filesUploadContainer > div ._fileUploadItem {display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.descriptionUploadContainer ._filesUploadContainer > div ._delCtl {cursor:pointer;margin-left:10px;float:right;font-size:20px;line-height:16px;color:#777}
.descriptionUploadContainer ._filesUploadContainer > div ._delCtl:hover {color:#D34646}

label.error {color:#C46565;font-size:12px;position:absolute;background:#FFEFEF;padding:5px;border:1px solid #D67676;border-radius:3px;font-weight:normal;margin:3px 15px 0 0;z-index:2}
label.error:before {content:'';position:absolute;border:5px solid transparent;z-index:1;border-top-width:0;border-bottom-color:#FFEFEF;top:-4px;left:6px}
label.error:after {content:'';position:absolute;border:5px solid transparent;border-top-width:0;border-bottom-color:#D67676;top:-5px;left:6px}

.form-group {margin-bottom:15px;position:relative}
.form-group div.error {font-size:14px;color:#C46565}
.form-group p {color:#3d456f;margin-bottom:10px}
.form-group label + div > p {margin-left:25px}
.form_footer {text-align:center;margin-top:40px}


/* footer */
.copyright {position:absolute;left:15px;right:15px;margin:auto;bottom:15px;text-align:center;font-size:12px;text-transform:uppercase;font-weight:bold;color:#555}


/* animation */
#_outerContainer.animate .form_container {animation-delay:1.0s;animation-duration:0.5s;animation-fill-mode:both;animation-name:fadeInBottom;animation-timing-function:ease-in-out}
@keyframes fadeInBottom {
0% {
opacity: 0;
transform: translateY(10px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}


/* mobile */
@media (max-height: 900px){
#_outerContainer {padding-top:40px}
}
@media (max-width: 1020px){
.container {width:auto;margin:auto 20px}
#_outerContainer {padding-top:40px}
.billy_text,
.billy_form {width:50%}
.provider_block {width:calc(50% - 20px)}
.services_container > label {width:calc(33.333% - 20px)}
}
@media (max-width: 760px){
.form_container {padding:20px}
#_outerContainer {padding-top:0;padding-bottom:50px;background-size:200%}
#_outerContainer .container {margin:auto}
.billy_text,
.billy_form {width:100%;min-height:0;border:0;padding-left:0;padding-right:0}
.billy_text {background:none;padding-top:20px}
.billy_text:after {top:-10px;left:0;right:0;font-size:16px;text-align:center}
.billy_form {border-top:1px solid #e3e6f5}
.col-40, .col-50, .col-60 {width:96%;margin-bottom:15px}
.request_title {clear:both;padding-top:10px}
.showAvProv_p {display:inline-block}
.billy_providers,
.request_container {margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
.services_container > label {width:calc(50% - 10px);padding:15px 10px 15px 65px;background-position:15px 50%;margin:5px}
#_outerContainer.proposal .page.page3 .request_container {margin:20px -20px -20px}
.form_footer {margin-top:20px}
}
@media (max-width: 340px){
#_outerContainer {padding-top:1px;padding-bottom:100px}
.form_container {box-shadow:none;border-bottom:1px solid #B5B9CB}
.billy_text {background-position:50% 0}
.provider_block {width:calc(100% - 20px)}
.page.page_thanks .billy_form {padding-top:20px;border-top:1px solid #eee}
.services_container > label {width:calc(100% - 10px)}
}

@media (max-width: 420px){
.top_nav a {font-size:11px;padding-right:0}
}
@media (max-width: 380px){
#welcome {padding-top:111px}
}

._addressStreetInput.select2-container {display:block}
._addressStreetInput.select2-container .select2-choice {border-radius:0;background:#fff;padding:8px 12px;line-height:20px;height:40px;border:1px solid #b7c6de;box-shadow:none!important;font-size:14px;text-decoration:none!important;color:#000!important;}
._addressStreetInput.select2-container .select2-choice:hover {border-color:#aaa!important;box-shadow:0 0 0 3px rgba(218, 218, 218, .5)!important}
._addressStreetInput.select2-container .select2-default {color:#999!important}
._addressStreetInput.select2-container.select2-dropdown-open .select2-choice {border-color:#6DA1D2!important;box-shadow:0 0 0 3px rgba(64, 129, 190, .2)!important}
._addressStreetInput.select2-container .select2-choice .select2-arrow {background:none;border:0}
._addressStreetInput.select2-container .select2-choice .select2-arrow b {background-position:0 6px}
._addressStreetInput.select2-container .select2-choice abbr {top:12px}
.select2-drop-active {margin-top:-39px;font-size:14px;border-radius:0;}
.select2-search input {min-height:40px;border:0!important;background:none}
.select2-results .select2-result-label {line-height:28px;text-align:left;}