/* Contact page - Bootstrap 3 compatible. Typography intentionally inherits the site's global font. */
.contact-page { background:#fff; color:#202a3b; overflow:hidden; }
/* Breadcrumb / navigation: restrained text interaction */
.category-banner {
    padding: 20px 0;
    background: #172033;
    color: #fff
}

    .category-banner .mini-nav {
        font-size: 12px;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: #cdd5df
    }

    .category-banner a {
        position: relative;
        display: inline-block;
        color: #cdd5df;
        text-decoration: none;
        transition: color .25s ease
    }

        .category-banner a:after {
            content: "";
            position: absolute;
            left: 0;
            right: 100%;
            bottom: -3px;
            height: 1px;
            background: #fff;
            transition: right .25s ease
        }
.contact-page *, .contact-page *:before, .contact-page *:after { box-sizing:border-box; }
.contact-page a { transition:color .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.contact-page a:focus, .contact-page button:focus, .contact-page input:focus, .contact-page select:focus, .contact-page textarea:focus { outline:3px solid rgba(242,92,39,.28); outline-offset:2px; }
.contact-page .container { position:relative; }
.contact-hero { padding:78px 0 70px; background:#efefef; border-bottom:1px solid #e7ebf0; }
.contact-hero__inner { display:flex; align-items:flex-end; justify-content:space-between; gap:55px; }
.contact-hero__copy {/* max-width:820px;*/ }
.contact-eyebrow { margin:0 0 14px; color:#2FADDE; font-size:11px; line-height:1.4; font-weight:700; letter-spacing:1.7px; text-transform:uppercase; }
.contact-hero h1 { margin:0 0 21px; /*max-width:790px;*/ color:#172033; font-size:46px; line-height:1.12; font-weight:700; letter-spacing:-.7px; }
.contact-hero__lead { /*max-width:770px;*/ margin:0; color:#5f6b7a; font-size:18px; line-height:1.75; }
.contact-hero__links { display:flex; flex-wrap:wrap; gap:30px; margin-top:31px; }
.contact-text-link { display:inline-flex; flex-direction:column; color:#202a3b; font-size:14px; line-height:1.5; text-decoration:none; }
.contact-text-link:hover,.contact-text-link:focus { color:#2FADDE; text-decoration:none; }
.contact-text-link__label { margin-bottom:3px; color:#7a8492; font-size:11px; letter-spacing:.8px; text-transform:uppercase; }
.contact-hero__note { width:250px; flex:0 0 250px; padding-left:23px; border-left:2px solid #2FADDE; }
.contact-hero__note p { margin:0; color:#667085; font-size:14px; line-height:1.75; }
.contact-main { padding:70px 0 78px; }
.contact-main__row { display:flex; align-items:stretch; }
.contact-form-panel { padding-right:48px; }
.contact-section-heading { margin-bottom:30px; }
.contact-section-heading h2,.contact-details h2,.contact-location h2 { margin:0 0 14px; color:#172033; font-size:30px; line-height:1.25; font-weight:700; }
.contact-section-heading p:last-child { max-width:690px; margin:0; color:#667085; font-size:15px; line-height:1.75; }
.contact-status { margin:0 0 22px; padding:14px 17px; border-left:3px solid; background:#efefef; font-size:14px; line-height:1.6; }
.contact-status strong,.contact-status span { display:block; }
.contact-status strong { margin-bottom:2px; }
.contact-status--success { border-color:#27845b; color:#216e4b; }
.contact-status--error { border-color:#c44343; color:#9f3030; }
.contact-after-submit { display:flex; align-items:flex-start; gap:12px; margin-top:28px; padding-top:20px; border-top:1px solid #e5e9ee; }
.contact-after-submit__icon { display:inline-flex; align-items:center; justify-content:center; width:23px; height:23px; flex:0 0 23px; border:1px solid #cfd6df; border-radius:50%; color:#5f6b7a; font-size:12px; }
.contact-after-submit p { margin:0; color:#697586; font-size:14px; line-height:1.7; }
.contact-sidebar { border-left:1px solid #e2e7ed; }
.contact-details { padding-left:43px; }
.contact-detail { padding:21px 0; border-bottom:1px solid #e7ebf0; }
.contact-detail:first-of-type { padding-top:7px; }
.contact-detail__label { display:block; margin-bottom:7px; color:#7b8491; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.contact-detail a { color:#202a3b; font-size:15px; font-weight:600; text-decoration:none; }
.contact-detail a:hover,.contact-detail a:focus { color:#2FADDE; }
.contact-detail address { margin:0; color:#5f6b7a; font-size:14px; line-height:1.75; font-style:normal; }
.contact-topic-list { margin:0; padding:0; list-style:none; }
.contact-topic-list li { position:relative; margin:0 0 8px; padding-left:17px; color:#5f6b7a; font-size:14px; line-height:1.55; }
.contact-topic-list li:before { content:""; position:absolute; top:.65em; left:0; width:5px; height:5px; border-radius:50%; background:#2FADDE; }
.contact-sidebar-link { display:inline-flex; align-items:center; gap:8px; margin-top:25px; color:#202a3b; font-size:14px; font-weight:700; text-decoration:none; }
.contact-sidebar-link span,.contact-directions span,.contact-button span { transition:transform .25s ease; }
.contact-sidebar-link:hover,.contact-sidebar-link:focus { color:#2FADDE; text-decoration:none; }
.contact-sidebar-link:hover span,.contact-sidebar-link:focus span,.contact-directions:hover span,.contact-directions:focus span,.contact-button:hover span,.contact-button:focus span { transform:translateX(4px); }
.contact-location { padding:66px 0 72px; background:#efefef; border-top:1px solid #e7ebf0; border-bottom:1px solid #e7ebf0; }
.contact-location__heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:25px; }
.contact-location__heading h2 { margin-bottom:0; }
.contact-directions { display:inline-flex; align-items:center; gap:8px; color:#202a3b; font-size:14px; font-weight:700; text-decoration:none; }
.contact-directions:hover,.contact-directions:focus { color:#2FADDE; text-decoration:none; }
.contact-map { position:relative; height:390px; overflow:hidden; background:#e9edf2; border:1px solid #dfe5eb; }
.contact-map iframe { display:block; width:100%; height:100%; border:0; }
.contact-location__footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:17px; color:#667085; font-size:14px; }
.contact-location__footer address { margin:0; font-style:normal; }
.contact-location__footer a { color:#4f5b6b; text-decoration:none; }
.contact-location__footer a:hover,.contact-location__footer a:focus { color:#2FADDE; }
.contact-final { padding:65px 0; background:#172033; }
.contact-final__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.contact-final h2 { max-width:720px; margin-bottom:12px; color:#fff; }
.contact-final .contact-eyebrow { color:#2FADDE; }
.contact-final p:not(.contact-eyebrow) {
    max-width: 680px;
    margin: 0;
    color: #cbd3de;
    font-size: 14px;
    line-height: 1.75;
}
.contact-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:0 21px; border:1px solid transparent; font-size:14px; font-weight:700; line-height:1; text-decoration:none; white-space:nowrap; }
.contact-button--light { background:#fff; color:#172033; }
.contact-button--light:hover,.contact-button--light:focus { background:#2FADDE; border-color:#2FADDE; color:#fff; text-decoration:none; transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.16); }
.contact-page form .form-group { margin-bottom:20px; }
.contact-page form label { display:block; margin-bottom:7px; color:#394454; font-size:14px; font-weight:700; line-height:1.4; }
.contact-page form .form-control { min-height:43px; border-color:#d9dfe6; border-radius:0; box-shadow:none; color:#202a3b; font-size:14px; line-height:1.45; transition:border-color .2s ease,box-shadow .2s ease; }
.contact-page form textarea.form-control { min-height:135px; resize:vertical; }
.contact-page form .form-control:focus { border-color:#2FADDE; box-shadow:0 0 0 2px rgba(242,92,39,.08); }
.contact-page form .form-control::placeholder { color:#98a2b3; opacity:1; }
.contact-page input.contact-field-error,.contact-page select.contact-field-error,.contact-page textarea.contact-field-error,.contact-page .contact-captcha.contact-field-error { border-color:#c44343 !important; box-shadow:0 0 0 2px rgba(196,67,67,.08); }
.contact-inline-error { display:block; margin-top:5px; color:#a52e2e; font-size:12px; line-height:1.5; }
.contact-captcha { margin:2px 0 20px; min-height:78px; }
.contact-captcha--unconfigured { padding:12px 14px; border:1px solid #e2a7a7; background:#fff7f7; color:#9f3030; font-size:12px; line-height:1.55; }
.contact-page form button:disabled,.contact-page form input[type="submit"]:disabled { cursor:wait; opacity:.65; }
@media (hover:hover) and (pointer:fine) {
    .contact-text-link:hover,.contact-text-link:focus,.contact-detail a:hover,.contact-detail a:focus,.contact-sidebar-link:hover,.contact-sidebar-link:focus,.contact-directions:hover,.contact-directions:focus { text-decoration:none; }
}
@media (max-width:991px) {
    .contact-hero h1 { font-size:40px; }
    .contact-hero__inner { gap:35px; }
    .contact-hero__note { width:220px; flex-basis:220px; }
    .contact-form-panel { padding-right:30px; }
    .contact-details { padding-left:30px; }
}
@media (max-width:767px) {
    .contact-hero { padding:48px 0 50px; }
    .contact-hero__inner,.contact-main__row,.contact-final__inner { display:block; }
    .contact-hero h1 { font-size:32px; letter-spacing:-.3px; }
    .contact-hero__lead { font-size:16px; }
    .contact-hero__note { width:auto; margin-top:35px; padding-left:18px; }
    .contact-main { padding:45px 0 52px; }
    .contact-form-panel { padding-right:0; }
    .contact-sidebar { margin-top:45px; border-top:1px solid #e2e7ed; border-left:0; }
    .contact-details { padding:38px 0 0; }
    .contact-section-heading h2,.contact-details h2,.contact-location h2 { font-size:27px; }
    .contact-location { padding:46px 0 52px; }
    .contact-location__heading { display:block; margin-bottom:20px; }
    .contact-directions { margin-top:15px; }
    .contact-map { height:300px; }
    .contact-location__footer { display:block; }
    .contact-location__footer a { display:inline-block; margin-top:9px; }
    .contact-final { padding:48px 0; }
    .contact-button { margin-top:25px; }
}
@media (prefers-reduced-motion:reduce) {
    .contact-page *, .contact-page *:before, .contact-page *:after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
    .contact-button--light:hover,.contact-button--light:focus { transform:none; }
}
