/* Bookings, the client side (piece 2). The look of the request form Dubsado
   served: the wordmark, the dark skyline banner, a plain form on white. */
@font-face{font-family:'Archivo';src:url(/vendor/archivo-var.woff2) format('woff2-variations');font-weight:100 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}
body{margin:0;font-family:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f6f7f8;color:#3c4045;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
.top{text-align:center;padding:26px 16px 14px}
.logo{height:46px;width:auto}
.banner{position:relative;margin:0 auto;max-width:860px;height:300px;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#1b2430 0%,#2b3744 55%,#4a5566 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 24px}
.banner:before{content:'';position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.45))}
.banner:after{content:'';position:absolute;left:8%;right:8%;bottom:0;height:40%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 26px,rgba(255,255,255,0) 26px 44px,rgba(255,255,255,.11) 44px 70px,rgba(255,255,255,0) 70px 92px);clip-path:polygon(0 100%,0 55%,10% 55%,10% 30%,20% 30%,20% 60%,30% 60%,30% 10%,40% 10%,40% 45%,50% 45%,50% 0,60% 0,60% 40%,70% 40%,70% 25%,80% 25%,80% 50%,90% 50%,90% 35%,100% 35%,100% 100%)}
.banner h1{position:relative;z-index:1;margin:0;font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.banner p{position:relative;z-index:1;margin:10px 0 0;font-size:21px;font-weight:600;line-height:1.3;max-width:620px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
main{max-width:860px;margin:0 auto;padding:22px 24px 60px}
.lead{text-align:center;font-size:19px;color:#666d74;margin:0 0 6px}
.sub{font-size:14.5px;color:#666d74;margin:0 0 22px}
h2{font-size:17px;font-weight:800;color:#17181a;margin:18px 0 10px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.grid .full{grid-column:1 / span 2}
.grid3{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px 22px;margin-top:12px}
.f label{display:block;font-size:13.5px;font-weight:700;color:#17181a;margin:0 0 5px}
.f label i{font-style:normal;color:#c3434b}
.f label small{font-weight:600;color:#666d74;margin-left:6px}
input,select{width:100%;min-height:46px;border:1.5px solid #c6ccd2;border-radius:8px;background:#fff;padding:10px 12px;font:inherit;font-size:16px;color:#17181a}
input:focus{outline:2px solid #c3434b;outline-offset:1px;border-color:#c3434b}
input.bad{border-color:#b02a33}
input.ok{border-color:#177639}
.hint{font-size:12.5px;color:#666d74;margin-top:4px;min-height:1em}
.hint.bad{color:#b02a33;font-weight:600}
.hint.ok{color:#177639;font-weight:600}
.hint.sug{color:#17181a;font-weight:600}
.hint.sug button{background:none;border:0;padding:0;color:#c3434b;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.seg{display:flex;border:1.5px solid #c6ccd2;border-radius:8px;overflow:hidden;min-height:46px;background:#fff}
.seg button{flex:1;display:flex;align-items:center;justify-content:center;font:inherit;font-size:15px;font-weight:700;color:#3c4045;padding:8px 6px;text-align:center;background:#fff;border:0;cursor:pointer}
.seg button.on{background:#17181a;color:#fff}
.note{background:#fdf0dc;border-radius:8px;padding:10px 12px;font-size:14px;color:#935800;margin-top:8px}
.err{background:#fbe4e5;color:#b02a33;border-radius:8px;padding:10px 12px;font-size:14.5px;font-weight:600;margin-top:16px}
.actions{display:flex;margin-top:22px}
.btn{display:flex;align-items:center;justify-content:center;min-height:54px;background:#c3434b;color:#fff;font-weight:800;font-size:18px;border-radius:8px;border:0;padding:0 28px;font-family:inherit;cursor:pointer;margin-left:auto;min-width:220px}
.btn[disabled]{opacity:.6;cursor:wait}
.foot{font-size:13px;color:#666d74;margin:14px 0 0;text-align:center}
.testnote{background:#fdf0dc;color:#935800;border-radius:8px;padding:8px 12px;font-size:13.5px;font-weight:700;text-align:center;margin:0 0 14px}
.check{width:72px;height:72px;border-radius:50%;background:#177639;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.thanks h1{font-size:30px;font-weight:800;color:#17181a;text-align:center;margin:0 0 6px;letter-spacing:-.02em}
.thanks .big{text-align:center;font-size:17px;color:#3c4045;margin:0 0 24px}
.steps{list-style:none;margin:0 auto;padding:0;max-width:560px}
.steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 0;border-top:1px solid #e5e8eb;font-size:15.5px;color:#3c4045;align-items:start}
.steps li i{width:28px;height:28px;border-radius:50%;background:#17181a;color:#fff;font-style:normal;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px}
.steps li b{color:#17181a}
.phone-call{display:block;text-align:center;margin:24px auto 0;max-width:420px;background:#fff;border:1.5px solid #c6ccd2;border-radius:8px;padding:14px;font-weight:800;color:#17181a;font-size:18px;text-decoration:none}
.phone-call small{display:block;font-weight:600;color:#666d74;font-size:13.5px}
/* the address list: ours, a plain dropdown under the box (Google's widget goes full screen on phones) */
#address-box{position:relative}
.sug{list-style:none;margin:0;padding:4px 0;position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:30;background:#fff;border:1.5px solid #c6ccd2;border-top:0;border-radius:0 0 8px 8px;box-shadow:0 10px 24px rgba(23,24,26,.12);max-height:290px;overflow:auto}
.sug li{padding:10px 12px;font-size:15px;color:#17181a;cursor:pointer;line-height:1.3}
.sug li:hover,.sug li:active{background:#f1f3f5}
.sug li b{display:block;font-weight:700}
.sug li small{display:block;color:#666d74;font-size:12.5px}
.sug li.by{font-size:11px;color:#666d74;text-align:right;padding:4px 12px 2px;cursor:default;border-top:1px solid #f1f3f5}
.sug li.by:hover{background:none}
@media (max-width:700px){
  .top{padding:20px 16px 10px}.logo{height:36px}
  .banner{height:220px;border-radius:0}.banner h1{font-size:28px}.banner p{font-size:16px}
  main{padding:18px 16px 48px}.lead{font-size:16.5px}
  .grid,.grid3{grid-template-columns:1fr;gap:12px}.grid .full{grid-column:auto}
  .btn{margin:6px 0 0;width:100%}
  .seg.types{display:grid;grid-template-columns:1fr 1fr;border:0;gap:8px;overflow:visible;background:none}
  .seg.types button{border:1.5px solid #c6ccd2;border-radius:8px;min-height:46px}
  .seg.types button.on{border-color:#17181a}
  .seg.types button:last-child{grid-column:1 / span 2}
  .thanks h1{font-size:26px}
}
