/* First-party browser defaults and layout support for retained PHP templates. */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; }
main, header, footer, nav, section, article, aside, figure { display: block; }
[hidden] { display: none !important; }
img { border: 0; max-width: 100%; height: auto; }
svg:not(:root) { overflow: hidden; }
button, input, select, textarea { margin: 0; color: inherit; font: inherit; }
button, select { text-transform: none; }
button, [type="button"], [type="submit"], [type="reset"] { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; }
input, textarea, select { max-width: 100%; }
textarea { overflow: auto; resize: vertical; }
input[type="checkbox"], input[type="radio"] { width: auto; padding: 0; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
table { border-collapse: collapse; border-spacing: 0; }
th { text-align: left; }
td, th { padding: 0; }
fieldset { min-width: 0; }
legend { max-width: 100%; padding: 0; }
hr { box-sizing: content-box; height: 0; border: 0; border-top: 1px solid #dce4e8; }
summary { display: list-item; cursor: pointer; }
progress { vertical-align: baseline; }
abbr[title] { text-decoration: underline dotted; }
small { font-size: 80%; }
sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
sup { top: -.5em; } sub { bottom: -.25em; }

/* Existing database content can contain these historical layout classes. */
.cp-site .container { width: calc(100% - 32px); max-width: 1170px; margin-inline: auto; }
.cp-site .row { display: flex; flex-wrap: wrap; margin-inline: -15px; }
.cp-site .row > [class*="col-"] { min-width: 0; width: 100%; padding-inline: 15px; }
.cp-site .col-xs-6 { flex-basis: 50%; max-width: 50%; }
.cp-site .col-xs-12 { flex-basis: 100%; max-width: 100%; }
.cp-site .clearfix::after { content: ""; display: table; clear: both; }
.cp-site .text-center { text-align: center; }
.cp-site .text-right { text-align: right; }
.cp-site .pull-right { float: right; }
.cp-site .pull-left { float: left; }
.cp-site .img-responsive { display: block; max-width: 100%; height: auto; }
.cp-site .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cp-site .form-control { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #bacbd5; border-radius: 4px; background: #fff; }
.cp-site .input-field { position: relative; margin-block: 16px; }
.cp-site .browser-default { display: block; width: 100%; min-height: 44px; background: #fff; border: 1px solid #bacbd5; border-radius: 4px; padding: 8px 12px; }
@media (min-width: 768px) {
  .cp-site .row > .col-sm-3 { flex-basis: 25%; max-width: 25%; }
  .cp-site .row > .col-sm-4 { flex-basis: 33.333333%; max-width: 33.333333%; }
  .cp-site .row > .col-sm-6 { flex-basis: 50%; max-width: 50%; }
  .cp-site .row > .col-sm-12 { flex-basis: 100%; max-width: 100%; }
}
@media (min-width: 992px) {
  .cp-site .row > .col-md-3 { flex-basis: 25%; max-width: 25%; }
  .cp-site .row > .col-md-4 { flex-basis: 33.333333%; max-width: 33.333333%; }
  .cp-site .row > .col-md-6 { flex-basis: 50%; max-width: 50%; }
  .cp-site .row > .col-md-8 { flex-basis: 66.666667%; max-width: 66.666667%; }
  .cp-site .row > .col-md-9 { flex-basis: 75%; max-width: 75%; }
  .cp-site .row > .col-md-12 { flex-basis: 100%; max-width: 100%; }
}
