div.details-wrapper { 
  padding: 1.5rem !important; 
}

.webform-signature-pad .button { 
  top: .75rem; 
  right: .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: .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: .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: .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: .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 .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;
}

/* END custom css */