table.table-iqz > thead > tr > th {
    text-align: left;
    font-weight: bolder;
    background-color: #eaeaea;
    padding: 5px 8px;
}

table.table-iqz > tbody > tr:nth-child(2n) {
    background-color: #eaeaea;
}

table.table-iqz > tbody > tr > td, table.table-iqz > tbody > tr > th[scope="row"] {
    text-align: left;
    vertical-align: top;
}

table.table-iqz {
    font-size: 0.70em;
}

table.table-iqz > tfoot > tr > td {
    border-top: 1px solid #eaeaea;
}

/* Sidebar UL */
.iqz-sidebar-list, .iqz-sidebar-list-full {
    list-style: none;
    padding: 0;
}

.iqz-sidebar-list li, .iqz-sidebar-list-full li {
    padding: 5px 0;
}

.iqz-sidebar-list li {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.iqz-sidebar-list-item {
    font-size: 0.9em;
}

.iqz-sidebar-list-title {
    font-weight: bold;
}

/* Form Reset CSS */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

input, select, textarea, button {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
}

/* Form Container */
.form-container {
    margin: 0 auto;
    background-color: rgb(255, 255, 255);
    color: rgb(26, 32, 44);
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    padding: 2rem;
    border-radius: 8px;
    max-width: 100%;
}

/* Form Group */
.form-group {
    margin-bottom: 1.5rem;
}

/* Form Labels */
.form-label {
    margin: 0 0 0.5rem 0;
    display: block;
    color: rgb(74, 85, 104);
    font-size: 0.875rem;
    font-weight: 500;
}

/* Text Inputs */
.form-input,
.form-textarea,
.form-select {
    width: 100%;
    background-color: #f7fafc;
    color: #1a202c;
    border: 1px solid #e2e8f0;
    border-radius: 0;
    padding: 0.75rem;
    margin: 0 0 1.5rem 0;
    font-family: inherit;
    font-size: inherit;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    border-color: #4a5568;
    outline: none;
    box-shadow: 0 0 0 3px rgba(74, 85, 104, 0.25);
}

/* Textarea */
.form-textarea {
    min-height: 120px;
    resize: vertical;
}

/* Select Dropdown */
.form-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4L6 8L10 4' stroke='%231a202c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
}

/* Checkboxes and Radio Buttons Container */
.form-check {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    cursor: pointer;
}

/* Custom Checkbox and Radio Styling */
.form-check-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.form-check-label {
    display: inline-flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    padding-left: calc(1.25rem + 0.5rem);
    color: #4a5568;
}

.form-check-label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    background-color: #f7fafc;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
}

.form-check-input[type="checkbox"] + .form-check-label:before {
    border-radius: 0;
}

.form-check-input[type="radio"] + .form-check-label:before {
    border-radius: 50%;
}

.form-check-input:checked + .form-check-label:before {
    background-color: #1a202c;
    border-color: #1a202c;
}

.form-check-input[type="checkbox"]:checked + .form-check-label:after {
    content: '';
    position: absolute;
    left: calc(1.25rem / 4);
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
    width: calc(1.25rem / 3);
    height: calc(1.25rem / 2);
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
}

.form-check-input[type="radio"]:checked + .form-check-label:after {
    content: '';
    position: absolute;
    left: calc(1.25rem / 4);
    top: 50%;
    transform: translateY(-50%);
    width: calc(1.25rem / 2);
    height: calc(1.25rem / 2);
    border-radius: 50%;
    background-color: #000;
}

/* Buttons */
.form-button {
    background-color: #1a202c;
    color: #ffffff;
    border: 1px solid #1a202c;
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    cursor: pointer;
    transition: undefined;
}

.form-button:hover {
    background-color: #2d3748;
}

.form-button-primary {
    background-color: rgb(26, 32, 44);
    color: rgb(255, 255, 255);
    border: none;
    border-radius: 0px;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    cursor: pointer;
}

.form-button-primary:hover {
    background-color: #2d3748;
}

/* Button Group */
.form-buttons {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

/* Validation Styling */
.form-input.is-invalid,
.form-textarea.is-invalid,
.form-select.is-invalid {
    border-color: #e53e3e;
}

.form-input.is-valid,
.form-textarea.is-valid,
.form-select.is-valid {
    border-color: #38a169;
}

.form-feedback-invalid {
    color: #e53e3e;
    font-size: 0.85em;
    margin-top: 0.25rem;
}

.form-feedback-valid {
    color: #38a169;
    font-size: 0.85em;
    margin-top: 0.25rem;
}

.form-error {
    color: red;
    background-color: rgb(255 0 0 / 20%);
    border: 1px solid red;
    padding: 0.5rem;
    text-align: left;
}
.form-success {
    color: green;
    background-color: rgb(0 255 0 / 20%);
    border: 1px solid green;
    padding: 0.5rem;
    text-align: left;
}

.hide {
    display: none;
}

/* Required Field Indicator */
.required:after {
    content: '*';
    color: #e53e3e;
    margin-left: 0.25rem;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .form-container {
        padding: 1.5rem;
    }

    .form-buttons {
        flex-direction: column;
    }

    .form-button {
        width: 100%;
    }
}

.iqz-logo {
    border: 1px solid #eaeaea;
    padding: 5px;
}
.iqz-logo-img {
    display: block;
    max-width:100%;
    max-height:150px;
    width: auto;
    height: auto;
}
.iqz-public-label {
    font-weight: bold;
    display: block;
}

span.wpcf7-iqz-form-label {
    display: block;
    margin-right: 5px;
    font-weight: bold;
    float: left;
}