/* @author Mark Sorensen */
div.details-wrapper {
  padding: 1.5rem !important;
}

.webform-signature-pad .button {
  top: 0.75rem;
  right: 0.75rem;
}

ul.fix-bullets,
ol.fix-bullets {
  margin: 0 0 1rem 1rem;
}

ul.fix-sub-bullets {
  margin: 0 0 0 2.5rem !important;
}

.main ul.fix-sub-bullets li {
  list-style-type: circle !important;
}

@media only screen and (min-width: 600px) {
  .half-width {
    width: 50%;
    padding-right: 0.5rem;
  }
}

.callout {
  background-color: #efefef !important;
  border: 0 !important;
}

.form-alert .status__list.info::before {
  content: "Information" !important;
}

/* MMS 05-05-2023 */
/* restyles radio options to stack and fill 100% width */
.form-item--radios {
  display: inline-block !important;
}

/*
For each radio options block, to make it stack and fit the full width, do this:
Edit in the radio field, select 'Advanced' tab > Element Attributes > Element CSS classes > Custom... > type 'radio-wide'
*/
.wide-radios > .form-item--radios > div {
  max-width: 100% !important;
}

/* remove padding from step number in progress bar */
.progress-marker::before {
  padding-bottom: 0;
}

/* restore default margin after radio options so it's not so close to next question */
.form-fieldset {
  margin-bottom: 24px !important;
}

/* large green success box on form confirmation page */
.callout.form-success {
  background-color: #1e824c !important;
  color: #fff;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.85rem;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  padding: 1.5rem;
  margin-bottom: 0.5rem;
}

@media screen and (min-width: 768px) {
  .callout.form-success {
    width: 60%;
  }
  .webform-progress {
    margin-top: 32px;
  }
  .webform-submission-form .form-actions {
    margin-left: 0 !important;
  }
}

[type="checkbox"] + label,
[type="radio"] + label {
  display: initial !important;
}

details > .details-wrapper {
  padding: 1rem;
}

.knox-webform details[open] .details-wrapper {
  background-color: #f4f4f5;
  margin-bottom: 1rem;
}

div.webform-element-description h2:first-of-type,
div.webform-element-description h3:first-of-type {
  margin-top: 0;
}

div.webform-element-description ul,
div.webform-element-description ol {
  margin: 1.25rem;
}

ul.categories li {
  margin-bottom: 0.75rem;
}

table.price_summary {
  border: 3px solid #dcdcdc;
  padding-top: 1rem;
}

table.price_summary td:last-of-type {
  text-align: right;
}

table.price_summary tr:last-of-type {
  border: 1px solid #dcdcdc;
  border: 1px 0 0 0;
}

.privacy p,
.privacy li {
  font-size: 0.875rem;
  line-height: 1.4;
}

/*
input:focus, select:focus, textarea:focus, .button:focus, .button:hover { 
  box-shadow: none !important;
  outline: 3px solid #00c0f3 !important;
  outline-offset: 1px;
  border-color: #58585a !important;
  border-radius: 1px;
}
*/

/* added fieldset selector because it wasn't showing required label for radio options */
.form-required:after,
fieldset.required legend:after {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0.3em;
  content: "";
  vertical-align: super;
  background-image: url(/themes/contrib/classy/css/components/../../images/icons/ee0000/required.svg);
  background-repeat: no-repeat;
  background-size: 6px 6px;
}

.text-count-wrapper {
  color: #58585a;
  font-size: .9rem;
  margin-left: 5px;
}

.text-count-wrapper.webform-counter-warning {
  color: #b22222;
}
.text-count-wrapper.webform-counter-warning::before {
  content: "Check your word count. ";
}

input.webform-counter-warning,
input.form-text.webform-counter-warning,
textarea.webform-counter-warning,
textarea.form-textarea.webform-counter-warning {
  border-color: #b22222;
  background: rgba(162, 52, 52, 0.1);
}

/* END custom css */