div.newsletter_signup {
  width: 180px;
  background-color: #cc9;
  color: #000;
  border: 1px dotted #333;
  padding: 5px;
  margin: 0px auto 20px auto;
}

div.newsletter_signup a:hover {
  color: #666;
  text-decoration: none;
}
div.newsletter_signup a {
  color: #000;
  text-decoration: none;
}

div.newsletter_signup span.success {
  display: block;
  text-align: center;
}

div.newsletter_signup div.row div.rownotes a {
  border-bottom: 0px;
}

div.newsletter_signup div.row div.rownotes a:hover {
  border-bottom: 1px solid #666;
}

div.newsletter_signup div.row {
  clear: both;
  padding-top: 3px;
  margin: 0px auto;
}

div.newsletter_signup div.rowinput {
  width: 180px;
  text-align: center;
  padding: 0px;
  margin: 0px auto;
}

div.newsletter_signup div.rownotes {
  font-size: 120%;
}

div.newsletter_signup h3 {
  clear: both;
  color: #222;
  margin-top: 10px;
  margin-bottom: 15px;
  text-align: center;
}

div.newsletter_signup div.row span.label {
  width: 140px;
  text-align: right;
  padding-top: 3px;
  font-weight: bold;
}

div.newsletter_signup div.row span.input {
  width: 190px;
  text-align: left;
}       

div.newsletter_signup div.row span.input span.status {
  font-size: 0.7em;
  padding-left: 2px;
  vertical-align: 12%;
}

span.status span.status-good { color: green; font-weight: bold; }
span.status span.status-bad { color: red; font-weight: bold; }
span.status span.status-pending { color: #555; }
span.status span.status-error { color: #F0F; font-weight: bold; }
input.input-status-bad { background-color: #faa; }

div.newsletter_signup div.row span.readonlytext {
  float: right;
  width: 295px;
  text-align: left;
  padding-top: 3px;
  color: #555;
}

div.newsletter_signup div.row span.input input {
  border: 1px solid black;
  height: 1.4em;
  width: 13em;
  padding-left: 3px;
}

div#paymenterror {
  width: 60%;
  text-align: center;
  font-size: 0.8em;
  margin-left: 22px;
  color: #f00;
}

div.newsletter_signup div.button {
  width: 100px;
  margin: 8px auto 0px auto;
  text-align: center;
}

div.newsletter_signup button {
  border: 1px solid;
  margin-top: 5px;
  padding: 2px;
  cursor: pointer;
}

div.newsletter_signup img.newsletterbusy {
  display: none;
  vertical-align: 0px;
  padding-left: 0px;
  padding-top: 5px;
}

div.rowtitle {
  font-weight: bold;
  text-align: center;
}

div.newsletter_signup div.rownotes {
  clear: both;
  width: 100%;
  padding-top: 0px;
  font-weight: bold;
  text-align: center;
  margin: 0px auto 5px auto;
}

div.newsletter_signup div.rowerror {
  padding-top: 0px;
}

noscript {
  display: block;
  clear: both;
  text-align: center;
  font-size: 1em;
  font-weight: bold;
  width: 90%;
  margin: 10px auto;
  color: #f00;
}

div#posterror {
  display: none;
  clear: both;
  text-align: center;
  font-size: 1em;
  font-weight: bold;
  width: 90%;
  margin: 10px auto;
  color: #f00;
}

span.paymentname {
  font-weight: bold;
  font-size: 1.1em;
  padding-right: 0.5em;
}

span.error {
  display: none;
  color: #f00;
}

form.newsletter_signup { 
  display: inline-block;
}

img.newsletterbusy {
  display: none;
  vertical-align: 0px;
  padding-left: 0px;
  padding-top: 5px;
}

span.newsletter_signup {
  display: none;
}

span.newsletter_signup img.newsletterbusy {
  display: none;
  vertical-align: -6px;
  padding-left: 6px;
  padding-top: 0px;
}

@media handheld, only screen and (max-width: 800px), only screen and (max-device-width: 800px) {
  span.newsletter_signup {
    display: flex;
    justify-content: center;
    width: 100%;
    background-color: #cc9;
    color: #000;
    border-top: 1px dotted #333;
    border-bottom: 1px dotted #333;
    padding: 3px 0 3px 0;
  }
  span.newsletter_signup span.labeltext {
    font-size: 110%;
    margin-right: 0.5em;
  }
  span.newsletter_signup input { 
    font-size: 1em;
  }
  span.newsletter_signup button { 
    margin-left: 1em;
  }
  span.newsletter_signup div.rowerror {
    text-align: center;
  }
}