.v2.fields {
    display: flex;
    flex-direction: column;
    --v2-fields-row-label-width: 100px;
    --v2-fields-row-content-width: 400px;
    --v2-fields-row-extra-width: max-content;
    --v2-fields-margin-top:15px;
    overflow-wrap: break-word;
}

.v2.fields.content-width-auto {
    --v2-fields-row-content-width: auto;
}

    .v2.fields:not(:first-child) {
        margin-top: var(--v2-fields-margin-top);
    }

.v2.fields > .header {
    font-size: 1.2em;
}

    .v2.fields > .header:not(:first-child) {
        margin-top: var(--v2-fields-margin-top);
    }

.v2.fields > .row {
    display: grid;
    grid-template-columns: [row-label] var(--v2-fields-row-label-width) [row-content] var(--v2-fields-row-content-width);
    grid-gap: 0px 10px;
    align-items: center;
}

.v2.fields.with-extra-column > .row {
    grid-template-columns: [row-label] var(--v2-fields-row-label-width) [row-content] var(--v2-fields-row-content-width) [row-extra] var(--v2-fields-row-extra-width);
}

.v2.fields > .row:not(:first-child) {
    margin-top: 10px;
}

.v2.fields.compact > .row:not(:first-child) {
    margin-top: 4px;
}

.v2.fields > .row.multi-line {
    align-items: flex-start;
}

.v2.fields > .row.multi-line-label-top {
    align-items: flex-start;
}

.v2.fields > .row > label,
.v2.fields > .row > .row-label {
    grid-column: row-label;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    text-align: end;
}

.v2.fields > .row.multi-line > label,
.v2.fields > .row.multi-line > .row-label {
    grid-column: row-label;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    text-align: right;
    margin-top: 6px;
}

.v2.fields > .row.multi-line-label-top > label,
.v2.fields > .row.multi-line-label-top > .row-label {
    grid-column: row-label;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    text-align: right;
}

.v2.fields > .row.multi-line > .row-content > .radiobutton:first-child,
.v2.fields > .row.multi-line > .row-content > .checkbox:first-child
{
     margin-top:5px;
}


.v2.fields > .row > .row-content {
    grid-column: row-content;
}

.v2.fields > .row > .row-extra {
    grid-column: row-extra;
    grid-row: 1 / span 2;
}

.v2.input-overlay-wrapper {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    width: -moz-available;
    width: -webkit-fill-available;
}

/* v2-text-input */

.v2.text-input {
    box-sizing: border-box;
    width: -moz-available;
    width: -webkit-fill-available;
    height: 27px;
    color: var(--v2-theme-text-color);
    background-color: white !important;
    border: var(--v2-scaled-border-width) solid var(--v2-theme-border-strong-color) !important;
    padding: 0 0 0 8px !important;
    margin: 0 !important;
    border-radius: 2px;
    box-shadow: none !important;
}

.v2.text-input.disabled {
    color: var(--v2-theme-text-disabled-color);
    background-color: var(--v2-theme-background-disabled-color) !important;
    border: var(--v2-scaled-border-width) solid var(--v2-theme-border-light-color) !important;
}

.v2.text-input.validation-failed {
    border: var(--v2-scaled-border-width) solid var(--v2-theme-validation-failed-color) !important;
    box-shadow: 0 0 1px var(--v2-theme-validation-failed-color) !important;
}

.v2.text-input-overlay {
    position: absolute;
    right: 5px;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.v2.text-input-overlay .required-text {
    color: var(--v2-theme-validation-failed-color);
}

/* v2-text-area */
.v2.text-area {
    box-sizing: border-box;
    width: -moz-available;
    width: -webkit-fill-available;
    height: -moz-available;
    height: -webkit-fill-available;
    color: var(--v2-theme-text-color);
    background-color: var(--v2-theme-background-color) !important;
    border: var(--v2-scaled-border-width) solid var(--v2-theme-border-strong-color) !important;
    padding: 8px !important;
    margin: 0 !important;
    border-radius: 2px;
    box-shadow: none !important;
    resize: both;
}

    .v2.text-area.disabled {
        box-sizing: border-box;
        color: var(--v2-theme-text-disabled-color);
        background-color: var(--v2-theme-background-disabled-color) !important;
        border: var(--v2-scaled-border-width) solid var(--v2-theme-border-light-color) !important;
    }

.v2.text-area.validation-failed {
    border: var(--v2-scaled-border-width) solid var(--v2-theme-validation-failed-color) !important;
    box-shadow: 0 0 1px var(--v2-theme-validation-failed-color) !important;
}

.v2.text-area.collapsible {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.v2.text-area.collapsible:not(:focus) {
    height: 50px !important;
}
.v2.text-area-overlay {
    position: absolute;
    right: 5px;
    top: 9px;
    height: 100%;
    display: flex;
    align-items: flex-start;
    color: var(--v2-theme-validation-failed-color);
    pointer-events: none;
}

/* v2-dropdown-select */

.v2.dropdown-select-overlay {
    position: absolute;
    right: 30px;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    color: var(--v2-theme-validation-failed-color);
    pointer-events: none;
}

.v2.fields > .row > .row-extra.overflow {
    position: relative;
    align-self: start;
}

.v2.fields > .row > .row-extra.overflow > * {
    position: absolute;
}

/* v2-date-input (v-calendar customization) */
.vc-container {
    --rounded-full: 3px !important;
    --rounded-lg: 3px !important;
    --blue-600: var(--v2-theme-primary-highlight-color) !important;
    --purple-700: #bbb !important;
    --shadow: 0 0 10px red;
    --shadow-lg: 1px 1px 6px #999 !important;
}
