{% macro render_field_checkbox(form, field, classes) -%}
  <div class="{{ classes.single_value }}">
      <div class="checkbox">
          {% if field.auto_id %}
              <label {% if field.field.required and form.required_css_class %}class="{{ form.required_css_class }}"{% endif %}>
                  {{ field|safe }} <span>{{ field.label }}</span>
              </label>
          {% endif %}
          {% for error in field.errors %}
              <span class="help-block {{ form.error_css_class }}">{{ error }}</span>
          {% endfor %}

          {% if field.help_text %}
              <p class="help-block">
                  {{ field.help_text|safe }}
              </p>
          {% endif %}
      </div>
  </div>
{%- endmacro %}

{% macro render_field_radio(form, field, classes) -%}
  {% if field.auto_id %}
      <label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}">{{ field.label }}</label>
  {% endif %}
  <div class="{{ classes.value }}">
      {% for choice in field %}
          <div class="radio">
              <label>
                  {{ choice.tag()|safe }}
                  {{ choice.choice_label }}
              </label>
          </div>
      {% endfor %}

      {% for error in field.errors %}
          <span class="help-block {{ form.error_css_class }}">{{ error }}</span>
      {% endfor %}

      {% if field.help_text %}
      <p class="help-block">
          {{ field.help_text|safe }}
      </p>
      {% endif %}
  </div>
{%- endmacro %}

{% macro render_field_standard(form, field, classes) -%}
  {% if field.auto_id %}
      <label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}" for="{{ field.auto_id }}">{{ field.label }}</label>
  {% endif %}

  <div class="{{ classes.value }} {% if field|is_multiple_checkbox %}multiple-checkbox{% endif %}">
      {{ field|safe }}

      {% for error in field.errors %}
          <span class="help-block {{ form.error_css_class }}">{{ error }}</span>
      {% endfor %}

      {% if field.help_text %}
          <p class="help-block">
              {{ field.help_text|safe }}
          </p>
      {% endif %}
  </div>
{%- endmacro %}

<div class="form-group{% if field.errors %} has-error{% endif %}">
  {% if field|is_checkbox %}

    {{ render_field_checkbox(form, field, classes) }}

  {% elif field|is_radio %}

    {{ render_field_radio(form, field, classes) }}

  {% else %}

    {{ render_field_standard(form, field, classes) }}

  {% endif %}
</div>