/** Visforms css used in form views with layout "Default" **/
/*
*,
*:before,
*:after {
    box-sizing: border-box;
}
*/

:root {
    --form-control-color: #e0001e;
}

.visform input::-webkit-outer-spin-button,
.visform input::-webkit-inner-spin-button {
    display: none;
    margin: 0;
}

#visformcontainer-return {
    display: flex;
}

.visform_tooltip,
.visform_tooltipcss {
    margin-top: 13px;
    margin-left: 5px;
}

.VisPopoverContainer {
    display: none;
    max-width: 100%;
}

.VisPopover {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.file.VisPopover .visIconHelios {
    top: 10px;
    right: 0;
    margin-right: 5px;
}

.visforms .visIconHelios {
    fill: #333;
    position: absolute;
    display: inline-block;
    right: 7px;
    top: 7px;
    width: 1rem;
    height: 1rem;
    cursor: pointer;
}

.visforms .visIconHelios:hover {
    fill: #e0001e;
}

.visforms .popover-header {
    font-weight: 500;
    border-bottom: 1px solid rgb(51, 51, 51);
}

.visforms .bs-popover-end>.popover-arrow {
    bottom: -9px;
    right: 6px;
    border-bottom: 1px solid #d1d5db;
    border-right: 1px solid #d1d5db;
    transform: translate(-50%, -50%) rotate(45deg);
    height: 0.5rem;
    width: 0.5rem;
    position: absolute;
}

.visforms .black {
    background-color: rgb(51, 51, 51);
    color: whitesmoke;
}

.visforms .VisPopoverContainer.black.file {
    left: -30px;
}

.visforms .VisPopoverContainer .popover-arrow.black.file {
    left: 15px;
}

.custom-radio .col-12.col-form-label.custom-control-label::before,
.custom-radio .col-12.col-form-label.custom-control-label::after,
form#visform_plg4_0 div.required .col-form-label.font-weight-bold::after {
    display: none;
}

.custom-control-label.form-check-label.col-form-label-sm {
    padding-top: inherit;
    padding-bottom: inherit;
    font-size: inherit;
    line-height: inherit;
}

label[id*="generation"],
label[id*="inbetriebnahmedurch"] {
    min-width: 130px !important;
}

.visforms .upload-wrapper.file-input {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    z-index: 9;
}

label[id*='unterlagen'] {
    margin-left: 2rem;
}

.clear-selection {
    display: flex;
    position: absolute;
    width: 1rem;
}

.clear-selection .visIcon-container {
    top: -25px;
    position: absolute;
}

.clear-selection .visIconHelios.clearFile {
    width: 0.8rem;
    height: 0.8rem;
    position: relative !important;
    display: block !important;
    top: 25px !important;
    margin-left: 7px !important;
}

#form-error-msg {
    width: 100%;
}

.visIconHelios.clearFile {
    width: 0.8rem;
    height: 0.8rem;
    position: relative !important;
    display: block !important;
    top: 0 !important;
    margin-left: 7px !important;
}

.uploadedfile {
    display: inline;
    margin-left: 1rem;
}

.visforms .form-group.form-row.justify-content-center {
    justify-content: space-around !important;
}

#contact .visforms .form-group.form-row.justify-content-center {
    width: 100%;
    justify-content: space-between !important;
}

.visform {
    margin-top: 10px;
}

.visforms.visforms-form>h1 {
    display: none;
}

#contact .visforms.visforms-form>h1 {
    display: block;
}

.vismodal .modal-dialog {
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
    min-width: 45rem !important;
    margin: 0;
}

.visform textarea {
    height: auto;
}

.visform input,
.visform select,
.visform textarea {
    border: 1px solid #e8e8e8;
}

.visforms .alert-danger {
    width: 100%;
}

.visforms .errorcontainer {
    margin-top: -1rem;
}

.visforms .error {
    margin-top: 0.25rem;
    font-size: 80%;
    color: #e0001e;
}

.visCustomText {
    color: #e0001e;
}

.visforms .required .col-form-label:after {
    color: #333333 !important;
    padding-left: 5px !important;
}

.visform input.error,
.visform textarea.error,
.visform select.error {
    border: 1px solid #e0001e !important;
}

.visforms .custom-control-radio-group {
    display: flex;
    flex-wrap: wrap;
}

.visforms .custom-control.custom-radio {
    margin-bottom: 1rem;
}

.visforms .custom-control.custom-radio .custom-control-label {
    min-width: 80px;
    width: auto;
}

form#visform1 div.required>label.visCSSlabel:after {
    color: inherit;
}

.visCSSinput {
    margin-top: 0;
}

.visCSSlabel {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.875rem;
    line-height: 1.5;
    display: inherit;
    float: inherit;
    margin-top: inherit;
    margin-right: inherit;
    margin-bottom: 0;
    width: 100%;
}

.visCSSlabel100 {
    display: block;
    float: left;
    margin-top: 10px;
    width: 99%;
    font-size: 1em;
}

.visCSSrllst {
    display: inline-block;
    width: 30%;
    margin-right: 1%;
    font-size: 1em;
}

.visCSSrlinl {
    display: inline;
    margin: 4px 4px 0 4px;
    font-size: 1em;
}

.visCSSmargLeft,
.editor {
    margin-left: 30%;
}

.visCSSclear {
    margin: 0px;
    padding: 0px;
    clear: both;
}

.visCSSFloatLeft {
    float: left;
}

.visCSSbot5 {
    margin-bottom: 5px;
}

.visCSStop0 {
    margin-left: 0;
    margin-top: 0;
    padding-top: 10px;
}

.visforms .required,
.visforms .not-required {
    width: 49%;
    margin-bottom: 1rem;
}

.visform [class^="fieldset-"].active {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.visforms .form-control {
    padding: 0.375rem 0.75rem;
}

.visforms .form-control:focus {
    background-color: #f7f7f7 !important;
}

.visBtnCon {
    width: 100%;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.visforms .custom-control.custom-radio,
.visforms .custom-control.custom-checkbox,
.vis_mandatory,
.upload-group,
.din-group {
    width: 100% !important;
}

.visforms .upload-group>div>div {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
}

.visforms .upload-group>.form-group.form-row>div {
    max-width: 50%;
}

.vis_mandatory {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.5;
    color: #333333;
    text-align: left;
    margin-top: 1rem;
}

.visforms .visCheckbox::before,
.visforms .visCheckbox::after {
    margin-top: 5px;
}

.visforms .visCheckbox::after {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: 50%/50% 50% no-repeat;
}

.visCheckbox {
    font-size: 1rem;
}

.visforms .reset-button {
    float: left;
}

.visforms .reset-button,
.visforms .submit-button {
    width: 48%;
    margin-bottom: 1rem;
}

.visforms .submit-button {
    float: right;
}

.visCSSright20 {
    margin-left: 5px;
    margin-right: 1.5em;
}

.visCSScenter {
    text-align: center !important;
    margin-top: 10px !important;
}

.visCustomText {
    margin-top: 10px;
}

form[id^='mod-visform'] .editor {
    clear: left;
    width: 99%;
    margin-left: 0;
}

@media (max-width: 991px) {
    .VisPopoverContainer {
        width: 100%;
    }

    .visforms .VisPopoverContainer.black.file {
        left: 0;
    }

    .visforms .VisPopoverContainer .popover-arrow.black.file {
        right: 5px;
        left: unset;
    }

    .visforms .modal.right .modal-content {
        padding: 0 1rem;
    }

    .visforms .required {
        width: 100%;
    }

    .visforms .reset-button,
    .visforms .submit-button {
        width: 100%;
        margin-bottom: 1rem;
    }

    .visforms .custom-control.custom-radio {
        width: 100%;
    }
}


/* uploads */
.vis-upload-line {
    position: relative;
    display: flex;
    align-items: center;
    gap: 32px;
    /* margin: 10px 0 18px; */
    padding-left: 38px; /* reserved space for X */
}

.vis-upload-line .clear-selection {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;

    display: none;
    align-items: center;
    justify-content: center;

    text-decoration: none;
}

.vis-upload-line .clear-selection.is-visible {
    display: inline-flex;
}

.vis-upload-line .clear-selection svg {
    width: 16px;
    height: 16px;
}

.vis-upload-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    margin: 0;
    border-radius: 4px;
    background: #c9c9c9;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    width: auto;
}

.vis-upload-button input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.vis-upload-button svg.icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.uploadedfile {
    display: inline-block;
    line-height: 24px;
}
/* uploads end */


div.required .asterix-ancor::after {
  color: #333 !important;
  padding-left: 5px !important;
}


/* checkbox */
/* Visforms Bootstrap 5 rounded checkbox */

.visforms-rounded-check {
    min-height: 1.5rem;
    padding-left: 1.6rem;
    margin-bottom: 0;
}

.visforms-rounded-check .visforms-rounded-checkbox {
    width: 1rem;
    height: 1rem;
    margin-top: 0.25rem;
    margin-left: -1.6rem;
    border-radius: 50%;
    border: 1px solid #e20020;
    cursor: pointer;
}

.visforms-rounded-check .visforms-rounded-checkbox:checked {
    background-color: #e20020;
    border-color: #e20020;
}

.visforms-rounded-check .visforms-rounded-checkbox:focus {
    border-color: #e20020;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.visforms-rounded-check .visforms-rounded-checkbox-label {
    cursor: pointer;
    line-height: 1.5;
}

/* Hide the extra Visforms required asterisk if it is generated by CSS */
.visforms-rounded-check .asterix,
.visforms-rounded-check .asterisk,
.visforms-rounded-check .asterix-ancor,
.visforms-rounded-check .asterix-ancor::before,
.visforms-rounded-check .asterix-ancor::after,
.visforms-rounded-check .visforms-rounded-checkbox-label::before,
.visforms-rounded-check .visforms-rounded-checkbox-label::after {
    content: none !important;
    display: none !important;
}
/* checkbox end */

.form-check-input:checked {
  background-color: #e20020 !important;
  border-color: #e20020 !important;
}

input.form-check-input.visforms-rounded-checkbox:checked {
  background-color: #e20020 !important;
  border-color: #e20020 !important;
}

input.form-check-input.visforms-rounded-checkbox:focus {
  border-color: #e20020 !important;
  box-shadow: 0 0 0 0.25rem rgba(88, 219, 0, 0.25) !important;
}

/* buttons submit and reset */

.visforms .submit-button {
    float: none;
}

.visforms .reset-button,
.visforms .submit-button {
    width: 100%;
    margin-bottom: 1rem;
}
/* buttons submit and reset end */

.vis_mandatory {
    color: #333333 !important;
}

/* captcha */
.visform img[src*="refresh"],
.visform input[type="image"] {
    width: auto !important;
    height: auto !important;
    /* max-width: 32px !important; */
    display: inline-block;
    vertical-align: middle;
}

.vis_mandatory {
  margin-left: 1rem;
}


.visforms .visIconHelios {
  fill: #333;
  position: absolute;
  display: inline-block;
  right: 15px;
  top: 15px;
  width: 1rem;
  height: 1rem;
  cursor: pointer;
}

/* upload kwl garantie */

#visform_plg4_0 .vis-upload-line {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-left: 0;
}

#visform_plg4_0 .vis-upload-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    margin: 0;
    border-radius: 4px;
    background: #c9c9c9;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    flex: 0 0 auto;
    min-width: 160px;
    white-space: nowrap;
}

#visform_plg4_0 .vis-upload-line .uploadedfile {
    display: block !important;
    color: #333 !important;
    margin-left: 0 !important;
    line-height: 1.4;

    max-width: 260px;
    overflow-wrap: anywhere;
    word-break: break-word;
}