
.contact .contain { margin-left: auto; margin-right: auto; max-width: 1272px;position:relative;}
.contact .contain.indent:not(.cup) { padding: 0 24px; }

#contact1 button.processing { background-color: #ccc; color:rgba(0,0,0,0.33); }
#contact1 button.processing::before { content:""; position: absolute; right: 12px; top: 6px; width:32px; height:32px; border-radius: 32px; border:solid 4px #000; border-right-color: transparent; animation: spinner linear infinite 0.75s }

@keyframes processing {
0% {background-position: left top;}
100% {background-position: 82px top;}
}
@keyframes spinner {
0% {transform: rotateZ(0);}
100% {transform: rotateZ(360deg);}
}

@media (min-width: 480px) and (max-width: 992px) {
.contact .secondary.light { margin-left: 16px !important; margin-right: 16px; }
}
@media (max-width: 480px) {
.secondary .background { border-radius:0 !important; }
#contact1 .cmain { margin-bottom: 24px }
}

#contact1.step1 button.prev { opacity:0.5; }

#contact1 .req { position: relative; margin-left: 12px; }
#contact1 .req::before { content:"*"; position: absolute; display:inline-block; width:12px; margin-left: -12px; font-size: 12px; font-weight:500; vertical-align:top; color: #e00; }
#contact1 p.req { clear:left; float:right; }
#contact1 label a { text-decoration: underline; }

#contact1, #contact2 { margin:0; }
#contact1 .main { width: 72%; max-width: 760px; float:left; margin: 12px 0; padding-left: 24px;}
.fancybox-content #contact1 .main, body>.contain #contact1 .main { width: auto; margin: 12px 24px;}
#contact1 .cmain { display: flex; flex-wrap:wrap; justify-content: space-between; }
#contact1::after { content:" "; display: block; clear: both; }
#contact1 label { margin: 8px 0; }
#contact1 label>span { display:block; font-size: 14px; font-weight: 500;}
#contact1 label>span.small { font-size: 12px; margin-bottom: 6px;}
#contact1 label select { box-sizing:border-box; width: 100%; padding: 8px 12px; }
#contact1 select { display:block; position:relative; z-index:4; font-size: 14px; color:#444; border: 1px solid #a7a7a7; border-bottom-color:#999; border-radius:4px; background: transparent; appearance:none; -webkit-appearance:none; -moz-appearance:none; }
#contact1 select::-ms-expand { display: none; }
#contact1 span.select { position: relative; z-index:1; display: block; background: #fff; margin-top: 2px;}
#contact1 span.select::after { content:""; display:block; position: absolute; z-index:0; right:0; top:0; bottom:0; width: 32px; background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggdmVjdG9yLWVmZmVjdD0ibm9uLXNjYWxpbmctc3Ryb2tlIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGQ9Ik0yMiw3TDEyLDE3TDIsNyI+PC9wYXRoPjwvc3ZnPg==) no-repeat center center/12px}

#contact1 input.text { box-sizing:border-box; width: 100%; padding: 8px 12px; font-size: 14px; margin: 2px 0 0; color: #444; border: solid 1px #a7a7a7; border-bottom-color:#999; border-radius:4px; background: #fff;}
#contact1 textarea { box-sizing:border-box; width: 100%; padding: 8px 12px; font-size: 14px; margin: 2px 0 0; color:#444; border: solid 1px #a7a7a7; border-bottom-color:#999;border-radius:4px;  background: #fff;}
#contact1.formStarted input:invalid:not(:focus):not(:placeholder-shown) { border-color: #e77000; border-bottom-width:2px; margin-bottom:0px;}
#contact1 select:hover,#contact1 input.text:hover,#contact1 textarea:hover, #contact1 label input:invalid:focus { border-color: #000; }

#contact1 #db_data_container { margin:0; padding:0; }

label.OptIn { position: relative; margin-left: 24px !important; padding-left: 12px; }
label.OptIn>input { position: absolute; left: -12px; margin-right: 6px; }

 label.GDPR { display: none;  }
input.privacy { vertical-align: middle; }
label.privacy { position: relative; width: auto; flex-direction: column;}
label.privacy>input { position: relative; float:left; margin: 3px 12px 0 0; }
#contact1 label.GDPR xselect { width: 112px; }
.GDPR label.GDPR { display: block; }
 label .GDPR, .GDPR label .nogdpr { display: none; }
.GDPR label .GDPR { display: inline; }
.GDPR label.nogdpr { display: none; }

#contact1 option.h { display: none; }
#contact1.step1 .step2, #contact1.step2 .step1 { display: none; }
form.short .long { display: none; }
form.nonus .usonly, form.usonly .nonus { display: none; }
form.nonus .nonus { display: inherit; }
label.address { display: none; }
form.long .address { display: block; }
form.wl .state { display: block; }
form.wl .jobtitle { display: none; }
form.ent .entonly { display: inherit; }
form:not(.ent):not(.GDPR) .entonly { display:none; }
form:not(.vbm) .vbm { display:none; }
form:not(.ent):not(.vbm) .entvbm { display:none; }
form.vbm label.vbm+label.long { display:none; }
form.vbm .jobtitle { display:none; }
#contact1.nonus .city { clear:left; }
form.wl .rightPhone { display: none; }
form .right .support p { display: none; }
form.wl .right .support p { display: block; }
form.help.step2 label, #contact1.help .submit { display:none; }
form #account-help { display:none; clear:left; }
form.help.step2 #account-help { display:block; }

#contact1 .steps { display: none; flex-basis: 100%; margin-top:-4px;}
#contact1.step1 .steps, #contact1.step2 .steps, #contact1.step3 .steps { display: block; }
#contact1 .steps:after { content:""; display:block; clear:left; }
#contact1 .steps>label { margin: 0 48px 12px 0; display:block;  position:relative; float:left; padding: 6px 0 0; box-sizing:border-box; font-size: 19.8px; font-weight: bold; text-align: center; color: #999; border-bottom: solid 2px #fff;}
#contact1.step1 .steps>label:first-child,
#contact1.step2 .steps>label:nth-child(2),
#contact1.step3 .steps>label:nth-child(3) { color: #000; border-bottom-color: #cd040b; }
#contact1.step2 .steps>label:first-child { color: #000; cursor:pointer;}
#contact1 .steps>label:before { content: "\2192"; position: absolute; right: 100%; font-size: 16px; margin: 6px; }
#contact1 .steps>label:first-child:before { display:none; }
#contact1 .steps>label.appt {display:none;}
#contact1.ent .steps>label.appt { display:block; }
#contact1:not(.usonly) .button.appt { display:none;}
#contact1.wl .button.appt { display:none;}

.cup #cfBack { position: absolute; top:40px; }
.cup #contact1 .steps>label { border:none; display:none; text-align: left; float:none; padding:0; }
.cup #contact1.step1 .steps>label:first-child,
.cup #contact1.step2 .steps>label:nth-child(2) { display: block; }
.cup #contact1 .steps>label::before { content:""; position: relative; right: auto; font-weight: normal; margin:0;}
.cup #contact1.step1 .steps>label:first-child:before { content: "Step 1 of 2"; display:block; }
.cup #contact1.step2 .steps>label:nth-child(2):before { content: "Step 2 of 2"; display:block; margin-top:24px;}

#contact1.step3 .main>label, #contact1.step3 p.small, #contact1.step3 p.small+div { display:none; }
#contact1:not(.step3) .thanks { display:none;}
#contact1.cp-r::after { content:"|"; opacity: 0.2; position: absolute; bottom:0; right:6px;}
#contact1:not(.cp-r) .cppr { display:none; }
div.contact:not(.cp-r) .cppr { display:none; }
div.contact.cp-r .suppr { display:none; }

.cppr { padding: 12px 16px; margin-top: 64px; border-radius: 8px; background: #333; }
.suppr { padding: 12px 16px; margin-top: 64px; border-radius: 8px; background: #333; }

#xcontact1.step2.wl.long label.AoI { display: block; }
#contact1.step2.wl.long label.address,#contact1.step2.xvbm.long label.address { clear:none; width: 50%; }
@media (max-width: 420px){
#contact1.step2.wl.long label.address { width: 100%; }
}

#contact2 { display:none; border: solid 1px #ccc; background: #fff; opacity: 0.5; position: absolute; top: 24px; left:calc(100% - 320px); max-width: 640px; margin: 24px 0; padding: 6px 0;}
#contact2.New::before { content:" Hidden Marketo Form "; position: absolute; top: -8px; left: 6px; font-size: 12px; color: #ccc; background: #fff; padding: 0 6px; }
#contact2.loading { min-height: 128px; }

#route { display:inline-block; position: absolute; top:0; right:0; padding: 6px; min-width: 60px; border: solid 1px #def; background: #eef7ff; opacity: 0.1; }
#route::before { content:"Route:"; font-size: 9px; position: absolute; top: -6px;}
#route:hover { opacity: 0.75; }

#contact1 .small.req a { display:inline-block; margin-top: 6px; }

#contact1 .right { float:right; width: 25%; }
#contact1 .right>div { margin-bottom: 24px; }
#contact1 .right>div+div { margin-top: 24px; }
#contact1 .right h4 { margin-bottom: 12px; font-size: 18px; }
#contact1 .right .button { margin-left:12px; }
#contact1 p.phonecountry { font-weight: bold;}

#contact1 .errmsg span { display: none; position: absolute; right: 24px; bottom: 108%; padding: 9px 12px; background: #ddd; border: solid 1px #000; max-width: 320px; font-size: 12px; }
#contact1 .errmsg input { display: none; }
#contact1 .errmsg input:checked+span { display: block;}
#contact1 .errmsg>span::before { content:""; display: block; position: absolute; top:100%; right: 12px; border-left: solid 12px transparent; border-right: solid 12px transparent; border-top: solid 12px #000; }
#contact1 .errmsg>span::after { content:""; display: block; position: absolute; top:calc(100% - 1px); right: 12px; border-left: solid 12px transparent; border-right: solid 12px transparent; border-top: solid 12px #ddd; }

#contact1 label.Comments { position: relative; }
#contact1 textarea:focus:invalid { padding-bottom: 16px; }
#contact1 textarea:focus:invalid+span:after { content:"Please be as descriptive as possible so we can find the best person to help with your request."; position: absolute; bottom: 6px; left:12px; color:#999; font-size: 12px; }

@media (max-width: 1280px) {
#contact1 .main.full { width: auto; }
.cup #cfBack { position: absolute; top:3vw; }
}

@media (max-width: 768px) {
 #contact1 .main { float: none; width: auto }
 #contact1 .right { width: auto; clear:right; float:none; margin:32px 0px; padding: 12px; border-top: solid 1px #ccc; }
 #contact1 label { margin-top:0;}
 #contact1 .long { display: none; }
#contact1 .steps>label { margin-right: 32px; font-size: 16px; }
#contact1 .steps>label:before { margin: 4px; font-size: 12px; }
#contact1 .steps>label:nth-child(3) { margin-right:-12px; }
}

#privacynotice div.secondary { position: sticky; bottom:-44px; }

#cfSchedule .clap-blade { min-width: 640px; }
#cfSchedule .dates { display: flex; justify-content:center; position: relative; min-height: 80px; margin-bottom: 12px; }
#cfSchedule .dates.loading::before { content:""; position: absolute; left: 50%; top: 45%; width: 32px; height: 32px; border-radius: 32px; border:solid 4px #000; border-right-color: #fff; animation: spinner linear infinite 0.75s}
#cfSchedule .dates>div { display: flex; flex-basis:25%; flex-grow:1; flex-direction: column; border: solid 1px #666;}
#cfSchedule .dates>div+div { border-left: none; }
#cfSchedule input { display: none; }
#cfSchedule label { font-size: 16px; display: block; border: solid 1px #ccc; border-top: solid 4px #000; padding: 12px 24px; margin: 6px; text-align:center; cursor: pointer; transform: translateY(48px); transition: transform 0.5s ease-out;}
#cfSchedule label>b { display:block; font-size: 24px; margin: 4px 0 -6px; }
#cfSchedule .times { min-height: 80px; margin: 0 -6px; }
#cfSchedule .times>div { display:flex; position: absolute; z-index:0; overflow:hidden; height:0; flex-wrap: wrap; max-width: 720px; opacity:0; transition: opacity 0.25s; transition-delay: 0s;}
#cfSchedule input:checked ~ .dates>label { transform: translateY(0); }
#cfSchedule input:checked ~ .dates>label:not(:hover) { background-color: #ccc; }
#cfSchedule label:hover { border-top-color: #e00; background-color: #f7f7f7; }
#cfSchedule .zone { visibility: hidden; }
#cfSchedule input:checked ~ p .zone { visibility: visible; }
#cfSchedule input#appt0:checked ~ .dates>label:first-child,
#cfSchedule input#appt1:checked ~ .dates>label:nth-child(2),
#cfSchedule input#appt2:checked ~ .dates>label:nth-child(3),
#cfSchedule input#appt3:checked ~ .dates>label:nth-child(4),
#cfSchedule input#appt4:checked ~ .dates>label:nth-child(5){ background-color: #fff; border-color: #333; border-top-color: #e00;}
#cfSchedule input#appt0:checked ~ .times>div:first-child,
#cfSchedule input#appt1:checked ~ .times>div:nth-child(2),
#cfSchedule input#appt2:checked ~ .times>div:nth-child(3),
#cfSchedule input#appt3:checked ~ .times>div:nth-child(4),
#cfSchedule input#appt4:checked ~ .times>div:nth-child(5){ opacity:1; position:relative; height: auto; z-index:1; transition-delay: .3s }
#cfSchedule a { padding: 3px 24px 3px 12px; margin: 6px; min-width: 102px; border: solid 1px #999; background: #f7f7f7; border-radius: 12px; text-align:right; cursor:pointer; outline-offset:2px;}
#cfSchedule a:not(.open) { display:none; background-color: #e8eaea; color: #999; cursor: not-allowed; }
#cfSchedule a.open:not(.on):hover { background-color: #fff; color:#000; font-weight: bold; border-color: #333;}
#cfSchedule a.on { background-color: #e00; color:#fff; font-weight: bold; border: solid 1px #000; }
#cfSchedule button { float: right; }
#contact1 .button.appt { padding-left: 24px; padding-right: 24px; cursor:pointer;}
#contact1 .button.appt>span { display:block; position:relative; top:-8px; }
#contact1 .button.appt>span+span { position: absolute; top:auto; bottom:4px; font-size: 12px; left:12px; right:12px; text-align: center; white-space:nowrap;}

@media (max-width: 760px) {
#cfSchedule { padding: 24px; }
#cfSchedule .clap-blade { min-width: 320px; }
#cfSchedule .times { min-height: 120px; }
#cfSchedule .times>div { max-width: 100%; }
}
@media (max-width: 640px) {
#cfSchedule label { padding: 9px 18px; }
#cfSchedule a { padding: 3px 12px; min-width: 80px; }
#cfSchedule .zone { clear:right; display:block; }
}

