{% load crispy_forms_field %}
{% if field.is_hidden %}
{{ field }}
{% else %}
{% if field|is_checkbox %}
{% if label_class %}
{% endif %}
{% endif %}
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="{% if not field|is_checkbox %}w3-input{% if 'form-horizontal' in form_class %} row{% endif %}{% else %}{%if use_custom_control%}{% if tag != 'td' %}custom-control {%endif%} custom-checkbox{% else %}form-check{% endif %}{% endif %}{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
{% if field.label and not field|is_checkbox and form_show_labels %}
{# not field|is_radioselect in row below can be removed once Django 3.2 is no longer supported #}
{% endif %}
{% if field|is_checkboxselectmultiple %}
{% include 'w3/layout/checkboxselectmultiple.html' %}
{% endif %}
{% if field|is_radioselect %}
{% include 'w3/layout/radioselect.html' %}
{% endif %}
{% if not field|is_checkboxselectmultiple and not field|is_radioselect %}
{% if field|is_checkbox and form_show_labels %}
{%if use_custom_control%}
{% if field.errors %}
{% crispy_field field 'class' 'custom-control-input is-invalid' %}
{% else %}
{% crispy_field field 'class' 'custom-control-input' %}
{% endif %}
{% else %}
{% if field.errors %}
{% crispy_field field 'class' 'form-check-input is-invalid' %}
{% else %}
{% crispy_field field 'class' 'form-check-input' %}
{% endif %}
{% endif %}
{% include 'w3/layout/help_text_and_errors.html' %}
{% elif field|is_file and use_custom_control %}
{% include 'w3/layout/field_file.html' %}
{% else %}
{% if field|is_select and use_custom_control %}
{% if field.errors %}
{% crispy_field field 'class' 'custom-select is-invalid' %}
{% else %}
{% crispy_field field 'class' 'custom-select' %}
{% endif %}
{% elif field|is_file %}
{% if field.errors %}
{% crispy_field field 'class' 'form-control-file is-invalid' %}
{% else %}
{% crispy_field field 'class' 'form-control-file' %}
{% endif %}
{% else %}
{% if field.errors %}
{% crispy_field field 'class' 'form-control is-invalid' %}
{% else %}
{% crispy_field field 'class' 'form-control' %}
{% endif %}
{% endif %}
{% include 'w3/layout/help_text_and_errors.html' %}
{% endif %}
{% endif %}
{% if tag %}{{ tag }}{% else %}div{% endif %}>
{% if field|is_checkbox %}
{% if label_class %}