/* Shared presentation for public CMS pages and the contact form. */
.mbp-content-page,
.mbp-contact-page {
    width: 100%;
    box-sizing: border-box;
    padding: 0 18px 24px;
    color: #28343d;
}
.mbp-content-page__header,
.mbp-contact-page__header {
    margin: 0 -18px 18px;
    padding: 18px 18px 15px;
    background: #f0f6fa;
    border-bottom: 1px solid #c6dbe8;
}
.mbp-content-page__header h1,
.mbp-contact-page__header h1 {
    margin: 0;
    color: #195b85;
    font-size: 18pt;
    line-height: 1.2;
}
.mbp-contact-page__header p { margin: 7px 0 0; color: #52636e; font-size: 10pt; }
.mbp-content-page__body { max-width: 900px; margin: 0 auto; padding: 4px 8px 12px; font-size: 10pt; line-height: 1.65; }
.mbp-content-page__body h1,
.mbp-content-page__body h2,
.mbp-content-page__body h3 { color: #195b85; line-height: 1.3; margin: 1.2em 0 .45em; }
.mbp-content-page__body h1:first-child,
.mbp-content-page__body h2:first-child,
.mbp-content-page__body h3:first-child,
.mbp-content-page__body p:first-child { margin-top: 0; }
.mbp-content-page__body p { margin: .65em 0; }
.mbp-content-page__body img { max-width: 100%; height: auto; }
.mbp-content-page__body table { max-width: 100%; }
.mbp-content-page__body li { margin: .3em 0; }
.mbp-contact-page__form { max-width: 780px; margin: 0 auto; }
.mbp-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.mbp-contact-field { display: flex; flex-direction: column; gap: 5px; color: #425563; font-size: 9pt; font-weight: bold; }
.mbp-contact-field--message { grid-column: 1 / -1; }
.mbp-contact-field input,
.mbp-contact-field textarea,
.mbp-contact-captcha input { box-sizing: border-box; width: 100%; border: 1px solid #b9cbd6; border-radius: 3px; background: #fff; color: #26343d; font: inherit; padding: 8px 9px; }
.mbp-contact-field textarea { resize: vertical; min-height: 150px; }
.mbp-contact-field input:focus,
.mbp-contact-field textarea:focus,
.mbp-contact-captcha input:focus { border-color: #195b85; outline: 2px solid #c9e1ef; }
.mbp-contact-captcha { margin: 20px 0 0; padding: 12px 14px 14px; border: 1px solid #c6dbe8; background: #f7fafc; }
.mbp-contact-captcha legend { padding: 0 5px; color: #195b85; font-weight: bold; }
.mbp-contact-captcha__row { display: flex; align-items: center; gap: 18px; }
.mbp-contact-captcha img { max-width: 100%; cursor: pointer; }
.mbp-contact-captcha label,
.mbp-contact-captcha small { display: block; color: #52636e; font-size: 8.5pt; }
.mbp-contact-captcha input { width: 150px; margin: 5px 0; }
.mbp-contact-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 16px; color: #52636e; font-size: 8.5pt; }
.mbp-contact-actions input { cursor: pointer; }
.mbp-content-page--popup { padding: 12px 16px 20px; }
.mbp-content-page--popup .mbp-content-page__header { margin: -12px -16px 16px; }
@media screen and (max-width: 600px) {
    .mbp-content-page,
    .mbp-contact-page { padding: 0 10px 18px; }
    .mbp-content-page__header,
    .mbp-contact-page__header { margin: 0 -10px 15px; padding: 15px 10px 13px; }
    .mbp-content-page__body { padding: 0; font-size: 9.5pt; }
    .mbp-contact-fields { grid-template-columns: 1fr; gap: 12px; }
    .mbp-contact-field--message { grid-column: auto; }
    .mbp-contact-captcha__row { align-items: flex-start; flex-direction: column; gap: 10px; }
    .mbp-contact-captcha input { width: 100%; max-width: 220px; }
    .mbp-contact-actions { align-items: stretch; flex-direction: column; }
    .mbp-contact-actions input { align-self: flex-start; }
}
