
/* -------------------------------------------------------------------------- */
/* ROOT VARS
/* -------------------------------------------------------------------------- */

:root {
    --custom-bg-color: #FFFFFF;
    --custom-text-color: #000000;
    --custom-form-required-color: #D2322DFF;
}

/* -------------------------------------------------------------------------- */
/* COMMON CLASSES
/* -------------------------------------------------------------------------- */

/* NO CLASSES */
.noDisplay {
    display: none !important;
}
.noWrap {
    white-space: nowrap !important;
}
.noEvent {
    pointer-events: none !important;
}
.noSelect {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

/* ANIMATION CLASSES */
.animate,
.animate::before,
.animate::after,
.animate *,
.animate *::before,
.animate *::after {
    -webkit-transition: all 0.6s ease !important;
    -moz-transition: all 0.6s ease !important;
    -o-transition: all 0.6s ease !important;
    transition: all 0.6s ease !important;
}
.noAnimate,
.noAnimate::before,
.noAnimate::after,
.noAnimate *,
.noAnimate *::before,
.noAnimate *::after {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-transition-property: none !important;
    -moz-transition-property: none !important;
    -o-transition-property: none !important;
    transition-property: none !important;
    -webkit-transition-duration: 0s !important;
    -moz-transition-duration: 0s !important;
    -o-transition-duration: 0s !important;
    transition-duration: 0s !important;
}

/* DISPLAY CLASSES */
.dContainer > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.dContainer > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.dBlock { display: block; }
.dMobile { display: block; }
.dDesktop { display: none; }

@media (min-width: 768px) {
    .dMobile { display: none; }
    .dDesktop { display: block; }
}

/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */

#bioterm_fve_cleaning_form {
    max-width: 100%;
    margin: 2.5em auto 6.5em auto;
}

#bioterm_fve_cleaning_form .formPart {
    margin-bottom: 2rem;
}

#bioterm_fve_cleaning_form .partCaption {
    margin: 0 0 1rem;
    padding: 0;
    font-size: 22px;
    font-weight: 600;
}

#bioterm_fve_cleaning_form .formRow {
    margin-bottom: 1rem;
}

#bioterm_fve_cleaning_form .rowTitle {
    margin-bottom: .35rem;
}

#bioterm_fve_cleaning_form .rowInputs {
    min-width: 0;
}

#bioterm_fve_cleaning_form .formInput {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: .65rem .75rem;
    border: 1px solid #aaa;
    border-radius: 3px;
    font: inherit;
    color: inherit;
    background: #fff;
}

/* Jednotná výška textových polí a selectů; textarea a souborový input beze změny. */
#bioterm_fve_cleaning_form input.formInput.textField,
#bioterm_fve_cleaning_form select.formInput.selectInput {
    height: 48px;
    min-height: 48px;
    margin: 0;
}

#bioterm_fve_cleaning_form .fileInputNote {
    margin-bottom: .75rem;
    line-height: 1.7;
}

#bioterm_fve_cleaning_form .fileInputElement {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

#bioterm_fve_cleaning_form .fileInput {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    opacity: 0;
    overflow: hidden;
}

#bioterm_fve_cleaning_form .fileInputLabel {
    display: flex;
    align-items: stretch;
    max-width: 100%;
    min-height: 40px;
    cursor: pointer;
    font: inherit;
}

#bioterm_fve_cleaning_form .fileInputNames {
    display: block;
    box-sizing: border-box;
    width: 185px;
    max-width: 45vw;
    padding: 8px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    border: 1px solid #303134;
    background: #fff;
}

#bioterm_fve_cleaning_form .fileInputButton {
    display: flex;
    align-items: center;
    padding: 7px 16px;
    background: #303134;
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
}

#bioterm_fve_cleaning_form .fileInput:focus-visible + .fileInputLabel {
    outline: 2px solid #303134;
    outline-offset: 3px;
}

#bioterm_fve_cleaning_form .fileInputMessage {
    margin-top: .5rem;
    line-height: 1.5;
    color: #16703b;
}

#bioterm_fve_cleaning_form .fileInputMessage.isError {
    color: #b42318;
}

#bioterm_fve_cleaning_form .fileInput.isInvalid + .fileInputLabel .fileInputNames {
    border-color: #b42318;
}

#bioterm_fve_cleaning_form .formGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

#bioterm_fve_cleaning_form .formInput.isInvalid {
    border-color: #d69b9b;
    background-color: #fbe5e5;
    outline-color: #b42318;
}

#bioterm_fve_cleaning_form .formNavigation {
    margin: 2rem 0;
}

#bioterm_fve_cleaning_form .buttonSubmit {
    cursor: pointer;
    padding: 15px 20px;
    color: #FFFFFF !important;
    border: 1px solid #1e524e!important;
    border-radius: 100px;
    font: inherit;
    font-size: 16px;
    font-family: 'Nunito Sans', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    background-color: #1e524e;
}
#bioterm_fve_cleaning_form .buttonSubmit:hover {
    color: #FFFFFF !important;
    border: 1px solid #29bc5b!important;
    background-color: #29bc5b;
}
#bioterm_fve_cleaning_form .buttonSubmit:disabled {
    cursor: wait;
    opacity: .65;
}
#bioterm_fve_cleaning_form span.isRequired {
    color: var(--custom-form-required-color);
}

#bioterm_fve_cleaning_message:not(:empty),
#bioterm_fve_cleaning_result:not(:empty) {
    margin: 2.5em auto 6.5em auto;
}

#bioterm_fve_cleaning_message.isError {
    color: #b42318;
}

#bioterm_fve_cleaning_message.isSuccess {
    color: #16703b;
}

@media (max-width: 767px) {
    #bioterm_fve_cleaning_form .formGrid {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem 0;
    }
}

/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */

#bioterm_fve_cleaning_result .biotermFveResultContent {
    box-sizing: border-box;
    width: 100%;
    margin: 2.5em auto 6.5em auto;
    color: inherit;
}
#bioterm_fve_cleaning_result .resultTitle {
    margin: 0 0 1.5rem;
    font-size: 26px;
    font-weight: 600;
}
#bioterm_fve_cleaning_result .resultIntro {
    margin-bottom: 2rem;
}
#bioterm_fve_cleaning_result .resultSections {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
#bioterm_fve_cleaning_result .resultSection {
    min-width: 0;
}
#bioterm_fve_cleaning_result .resultTable {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    border: 1px solid #d9dfde;
}
#bioterm_fve_cleaning_result .resultTable thead th {
    padding: 0.5em 1em;
    background: #303134;
    color: #fff;
    font-weight: 600;
    text-align: left;
    border: 0;
}
#bioterm_fve_cleaning_result .resultTable tbody th,
#bioterm_fve_cleaning_result .resultTable tbody td {
    width: 50%;
    padding: 0.5em 1em;
    border-top: none;
    border-bottom: 1px solid #e2e6e5;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}
#bioterm_fve_cleaning_result .resultTable tbody th {
    font-weight: 600;
}
#bioterm_fve_cleaning_result .resultTable tbody tr:last-child th,
#bioterm_fve_cleaning_result .resultTable tbody tr:last-child td {
    border-bottom: 0;
}
#bioterm_fve_cleaning_result .resultSectionFull {
    margin-top: 2rem;
}
#bioterm_fve_cleaning_result .resultSectionFull .resultSectionTitle {
    margin: 0 0 1rem;
    font-size: 26px;
    font-weight: 600;
}
#bioterm_fve_cleaning_message .biotermReloadButton {
    margin: 2.5em 0 0 0;
    padding: .7rem 1.5rem;
    cursor: pointer;
}
@media (max-width: 767px) {
    #bioterm_fve_cleaning_result .resultTable thead th,
    #bioterm_fve_cleaning_result .resultTable tbody th,
    #bioterm_fve_cleaning_result .resultTable tbody td {
        padding: .6rem .7rem;
    }
}
