body {
  font-family: helvetica, arial, sans-serif;
}

header.header {
  padding: 1em;
}

header.header .flex {
  align-items: center;
  justify-content: space-between;
}

.logo {
  line-height: 1;
}

.logo a {
  display: inline-block;
  width: 300px;
  height: 40px;
  background-image: url(https://logos.napco.com/napco_media/horizontal/color_black/napco_media_horizontal_color_k_rgb_300.png);
  background-size: 100%;
  background-position: center center;
  background-repeat: no-repeat;
}

.page-header-home .buttons {
  margin: 40px;
}

.header-wrapper {
  background-size: 100% 100%;
  background-position: center center;
  background-color: #CE3338;
  background-size: cover;
  background-repeat: no-repeat;
}

.home .header-wrapper {
  background-size: cover;
}

.page-header-home.holder {
  font-size: 1.5em;
  line-height: 2em;
  color: #fff;
  padding: 10em 0;
  padding: 14vh 0;
  z-index: 1;
  position: relative;
  text-align: center;
}

.page-header-home .text {
  margin: 0 auto;
  text-shadow: 1px 1px 1px #000;
  font-size: 2em;
  line-height: 1.1;
}

h1.page-title {
  font-size: 3em;
  line-height: 1.1;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  text-shadow: 1px 1px 1px #000;
}

.flex-item {
  display: inline;
  width: 25%;
}

.inner-small {
  max-width: 600px;
  margin: 0 auto;
}

.holder.text-band .text-band-text ul {
  max-width: 750px;
  margin: 1em auto;
}

.holder.text-band .text-band-text ul li {
  text-align: left;
  margin-bottom: 1em;
  background-image: url(../images/bullet.png);
  background-repeat: no-repeat;
  padding-left: 28px;
  background-position-y: 1px;
  min-height: 26px;
  line-height: 1.25em;
}

.flex.term-grid {
  align-items: center;
}

.flex.term-grid article {
  margin: 1em;
}

.people .person {
  cursor: pointer;
}

.taxonomy-grid .term-level {
  border-bottom: 1px #ccc solid;
  padding-bottom: 2em;
  margin-bottom: 1em;
}

.taxonomy-grid .term-level .flex {
  align-items: center;
}

.taxonomy-grid .term-level h3 {
  margin: 1em 0;
}

.add-to-calendar-agenda {
  margin-bottom: 2em;
}

.add-to-calendar-agenda a {
  text-decoration: none;
}

.gallery-block img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

.posts-lists {
  border: 1px #000 solid;
  background-color: #fff;
  padding: .5em;
  box-sizing: border-box;
  text-align: left;
}

.holder.gallery-preview {
  min-height: 270px;
  line-height: 270px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2.5em 1em;
}

.gallery-module-wrap {
  max-width: 1000px;
  margin: 0 auto;
}

.text-band-extra-content .gform_heading h3 {
  text-align: center;
}

.text-band.account-intro {
  text-align: left;
  min-width: 600px;
}

.text-band.account-intro .inner-small {
  max-width: 1200px;
}


.text-band.account-intro {
  max-width: 600px;
  float: left;
}

.text-band.account-intro .text-band-extra-content {
  max-width: 500px;
}

.text-band.account-intro h4 {
  margin: 1em 0;
  font-size: 1.5em;
  text-transform: uppercase;
}

.text-band.account-intro .gform_wrapper {
  margin: 0;
}

.text-band.account-intro .gform_wrapper textarea {
  height: 60px;
}

.text-band.account-intro .gform_wrapper .field_description_below .gfield_description {
  padding-top: 0;
  margin-top: -1em;
}

.account-content {
  width: 300px;
  float: left;
}

#account_password_form .padding > div {
  margin-top: .5em;
}


.password-reset-form label,
.forgot-password-form label,
.account-login-form label,
#account_password_form label {
  display: block;
  font-size: .75em;
  font-weight: bold;
  text-transform: uppercase;
}

.password-reset-form form > div,
.forgot-password-form form > div,
.account-login-form form > div,
#account_password_form form > div {
  margin: .5em 0;
}

.ajax-result {
  display: none;
  border: 1px #090 solid;
  color: #090;
  background-color: #cfc;
  padding: 3px;
  line-height: 1;
}

.password-reset-form img,
.forgot-password-form-result img,
#password_update_result img {
  vertical-align: middle;
}

.ajax-result-error {
  border: 1px #f00 solid;
  color: #f00;
  background-color: #fcc;
  display: inline-block;
}

.ajax-result-waiting {
  border: 1px #00f solid;
  color: #00f;
  background-color: #ccf;
  display: inline-block;
}

.member-login-result.ajax-result {
  margin-top: .3em;
}

.forgot-password-form {
  margin: 1em 0;
}

input.error {
  background-color: #fcc !important;
  border: 1px #f00 solid !important;
  color: #f00 !important;
}

.holder.text-band.contact-intro.gray {
  background-color: transparent;
}

.account-content {
  margin-top: 2.25em;
}

.account-content h3 {
  color: #EB008B;
  margin-bottom: .5em;
}

.account-content .widget {
  padding: 0;
  box-sizing: border-box;
  margin: 1em 0;
  border: 1px #bbb solid;
  background-color: #efefef;
  text-align: left;
}

.account-content .widget:first-of-type {
  margin-top: 0;
}

.account-content .widget h3 {
  padding: .5em;
  margin: 0;
  background-color: #ccc;
  color: #000;
  border-bottom: 1px #bbb solid;
}

.account-content .widget .padding {
  padding: .5em;
}

.account-content .widget .account-cart {
  margin-bottom: 1em;
  padding: .5em;
  border: 1px #999 solid;
  background-color: #fff;
}

.account-content .widget .account-cart:last-of-type {
  margin-bottom: 0;
}

.account-content .widget .account-cart .buttons {
  margin-top: .5em;
}

.account-content .widget.account-carts .padding,
.account-content .widget.account-entries .padding {
  max-height: 350px;
  overflow-y: auto;
}

.account-content .widget input[type=text],
.account-content .widget input[type=password] {
  width: 100%;
  box-sizing: border-box;
}

.account-content .widget.account-entries .entry-type {
  font-size: .75em;
  display: block;
  margin-bottom: .25em;
  font-family: verdana, sans-serif;
  font-weight: bold;
}

.account-content .widget .account-entry {
  margin-bottom: 1em;
  padding: .5em;
  border: 1px #999 solid;
  background-color: #fff;
  display: block;
  text-decoration: none;
}

.account-content .widget .account-entry:last-of-type {
  margin-bottom: 0;
}

.account-content .widget.account-entries .account-entry:hover,
.account-content .widget.account-entries .account-entry:active {
  background-color: #ffc;
  cursor: pointer;
}

.account-content .widget.account-entries small {
  font-size: .75em;
  display: block;
  margin-top: .25em;
}

.holder .awards-message {
  color: #00f;
  border: 1px #00f solid;
  background-color: #ccccff;
  padding: 1em;
  margin: 1em 0;
  width: 91%;
}

.holder .awards-message.alert-message {
  color: #f00;
  border: 1px #f00 solid;
  background-color: #ffcccc;
}

.holder .awards-message p {
  padding-bottom: 0;
}

.holder .awards-message h3 {
  color: #00f;
  margin-bottom: .25em;
}

.holder .awards-message.alert-message h3 {
  color: #f00;
}

.inner .awards-message h3:last-of-type {
  padding-bottom: 0;
}

.awards-entry.holder .login-options div.flex {
  justify-content: space-between;
}

.awards-entry.holder .login-options div.flex > div {
  width: 45%;
}

.password-reset-form {
  text-align: left;
}

.password-reset-form form input[type=text],
.password-reset-form form input[type=password] {
  font-size: 1.5em;
  padding: .25em;
  width: 280px;
}

#password-strength-meter-spinner {
  display: none;
}

#account_password_form #password-strength-meter {
  font-size: .75em;
}

#account_password_form #password-strength-meter-spinner {
  height: 1.35em;
}

#password-strength-meter {
  display: none;
  background-color: #fcc;
  color: #f00;
  border: 1px #f00 solid;
  padding: 0.5em;
  line-height: 1;
}

#password-strength-meter.strong_password {
  background-color: #cfc;
  border-color: #090;
  color: #090;
}

#password-toggle {
  margin-left: -30px;
  margin-right: 20px;
}












.holder.entry-edit {
  max-width: 580px;
  float: left;
  text-align: left;
  margin-right: 1em;
}

.widget-button a {
  text-align: center;
  display: block;
  box-sizing: border-box;
  line-height: 1.25;
  padding: .5em;
  font-size: 1em;
  text-decoration: none;
  font-weight: bold;
  background-color: #00AAEF;
  color: #fff;
}
.widget-button a:hover {
  background-color: #FFF200;
  color: #000;
}

.holder .membership-questions {
  background-color: #ffc;
  border: 1px #ff0 solid;
  padding: 0.5em;
  margin: 1em 0;
  display: none;
  font-weight: bold;
  font-size: 1.25em;
  text-align: center;
}

.holder .membership-questions p {
  padding-bottom: 0;
}

.holder .membership-questions p .button {
  font-size: .75em;
}

body.page.account .member-search {
  max-width: 400px;
}

.ajax-error {
  border: 1px #f00 solid;
  color: #f00;
  background-color: #fcc;
}

a.pua-find-out-more {
  font-size: .75em;
  text-decoration: none;
}

a.pua-find-out-more:hover {
  color: #EB008B;
}