.tx-seam-formwizard .form-row {
    margin-right: -15px;
    margin-left: -15px;
}

.tx-seam-formwizard .form-row > .col, .form-row > [class*="col-"] {
    padding-left: 15px;
    padding-right: 15px;
}

.stepper {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    flex-wrap: wrap;
}

.stepper .step {
    text-align: center;
    flex: 0 0 25%;
    max-width: 25%;
}

.stepper .step .bubble, .bubble-row .bubble {
    background-color: #D7E1E5;
    border: 3px solid #FFFFFF;
    opacity: 1;
    width: 50px;
    height: 50px;
    text-align: center;
    font: normal normal bold 23px/22px Fira Sans;
    letter-spacing: 0;
    color: #FFFFFF;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    position: relative;
}

.stepper .step .bubble::after {
    content: '';
    width: 220px;
    position: absolute;
    top: 50%;
    left: 100%;
    height: 3px;
    background-color: #D7E1E5;
    margin-left: 3px;
}

.stepper .step:last-child .bubble::after {
    display: none;
}

.stepper .step.active .bubble {
    background-color: #37687B;
}

.stepper .step.done .bubble {
    background-color: #20c4b2;
}

.stepper .step.done .bubble::after {
    background-color: #20c4b2;
}

.stepper .step .label {
    margin-top: 15px;
}

.tx-seam-formwizard .form-container {
    margin-top: 25px;
}

.form-steps .step-group {
    background-color: #D7E1E5;
    padding: 35px;
    margin-bottom: 5px;
}

.formWizard-form {
    max-width: none;
}

.flex-inputs {
    display: flex;
    align-items: baseline;
}

.flex-inputs > *:not(:last-child) {
    margin-right: 20px;
}

.set-type-field {
    margin-right: 10px;
}

.flex-field {
    display: flex;
    align-items: center;
}

.custom-form-field  {
    margin-bottom: 1rem;
}

.custom-form-field .add-button, .custom-form-field .remove-button {
    background-color: #B6C8CF;
    border-radius: 3px;
    color: #37687B;
    width: 100%;
}

.custom-form-field .remove-button {
    width: auto;
    display: none;
    height: 36px;
}

.custom-form-field .form-row .remove-button {
    display: inline;
}

.custom-form-field .add-button:hover, .custom-form-field .remove-button:hover {
    background-color: #c1d1d7;
}

.infotip {
    background-color: #37687B;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: inline-flex;
    justify-content: center;
    cursor: pointer;
    color:#FFFFFF;
    font-size: 12px;
    padding-top: 2px;
}

.infotip i {
    color: #FFFFFF;
    font-weight: normal;
}

.step-group.dark {
    background-color: #37687B;
    color: #FFFFFF;
}

.step-group.dark .infotip {
    background-color: #FFFFFF;
}

.step-group.dark .infotip i {
    color: #37687B;
}

.radio-group#occupation .row {
    height: 45px;
}

.tx-seam-formwizard input.extra-input {
    display: inline;
    width: auto;
    margin-left: 15px;
}

.input-earnings input, .input-earnings input:focus, .input-earnings span.input-group-text {
    background-color: #B6C8CF;
    border: none;
    color: #37687B;
}

#priceResultField {
    font-size: 24px;
    font-weight: bold;
    color:#37687B;
    background-color: #B6C8CF;
    border-radius: 3px;
    display: inline-block;
    padding: 10px 20px;
}

.priceResultSummary {
    color:#37687B;
    background-color: #B6C8CF;
    padding: 5px 10px;
    font-weight: bold;
}

.tx-seam-formwizard .radio-group .form-check-inline {
    height: 36px;
}

.radio-group {
    border: none;
    border-radius: 3px;
    padding-left: 4px;
}

.radio-group.is-invalid {
    border: 1px solid #dc3545;
}

.filupload.is-invalid {
    border: 1px solid #dc3545;
}

.tx-seam-formwizard .step-row .error-col {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    padding-bottom: 22px;
}

.tx-seam-formwizard .footer-messages .error-message {
    display: none;
}

.tx-seam-formwizard .error-message {
    color: #E04C4C;
}

.tx-seam-formwizard .text-templates {
    display: none;
}

.form-step {
    display: none;
}

.form-step.active {
    display: block;
}

.formWizard-form .footer-buttons {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
}

.formWizard-form .footer-buttons .footer-button {
    display: none;
}

.formWizard-form  .footer-buttons > *:not(:last-child) {
    margin-right: 20px;
}


.popover, .popover-header {
    border-radius: 0;
    background-color: #37687B;
    border-color: #37687B;
    color: #ffffff;
    font-size: 14px;
}

.popover-header {
    padding: 1.2rem 1.5rem 0.5rem 1.5rem;
}

.popover-body {
    color: #ffffff;
    padding: 0 1.5rem 1.0rem 1.5rem;
}

.popover-body a {
    color: #20c4b2;
}

.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before,
.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #37687B;
}

.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before,
.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #37687B;
}

.formWizard-form .summary-sub {
    font: normal normal bold 16px/24px Fira Sans;
    letter-spacing: 0;
    margin-top: 25px;
    padding: 0 15px;
}

.formWizard-form .edit-step {
    text-align: right;
}

.formWizard-form a:not(.btn), .step-group a:not(.btn) {
    text-decoration: underline;
    font: normal normal normal 16px/19px Fira Sans;
    color: #37687B;
}

.formWizard-form a:not(.btn):hover, .step-group a:not(.btn):hover {
    color: #20C4B2;
}


.formWizard-form .summary-entry {
    margin-bottom: 10px;
}

.formWizard-form .summary-entry .label {
    font-weight: 700;
    text-align: right;
}

.formWizard-form .newsletter {
    margin-top: 20px;
}

.formWizard-form .newsletter-info {
    padding-left: 14px;
}

.formWizard-form .fw-bold {
    font-weight: bold;
}

.formWizard-form .radio-group input[type="radio"] {
    transform: scale(1.5);
}

/*
.formWizard-form .radio-group .radio-label {
    display: inline-block;
}


.formWizard-form .radio-group .form-check {
    display: block;
    padding: 0 0 5px 5px;
    clear: both;
}

.formWizard-form .radio-group .form-check span {
    display: block;
    padding-left: 20px;
    cursor: inherit;
}

.formWizard-form .radio-group .form-check label {
    font-size: rem-calc(16);
}

.formWizard-form .radio-group .form-check input {
    float: left;
    width: 20px;
    margin-left: -20px;
    margin-top: 6px; // vertically align radio with text
    padding: 0;
    -webkit-appearance: radio;
    transform: scale(1.4);
}
*/


.formWizard-form .form-check-label.radio {
    margin-left: 4px;
}

.formWizard-form #undefined_filebutton {
    background-color: transparent;
    padding-left: 37px;
}

.formWizard-form .filupload {
    padding-left: 27px;
}

.formWizard-form .filupload .control-label {
    padding-top: 20px;
}

.formWizard-form .filupload .form-group .form-group-seam {
    margin-bottom: 0px;
}

.formWizard-form .filupload .form-group  {
    margin-bottom: 0px;
}




.formWizard-form .checkbox input[type="checkbox"] {
    margin-top: 5px;
    margin-right: 5px;
    -webkit-appearance: checkbox;
    -webkit-border-radius: 2px;
    flex: 0 0 20px;
    transform: scale(1.4);
}

.formWizard-form .checkbox label {
    display: flex;
    align-items: flex-start;
}

.formWizard-form .checkbox .checkbox-label {
    display: inline-block;
}

.success-step {
    padding: 20px 35px;
}

.bubble-row {
    display: flex;
    align-items: flex-start;
    margin-top: 30px;
}

.bubble-row .bubble {
    background-color: #20C4B2;
    border:none;
    flex-shrink: 0;
}

.bubble-row .bubble-text {
    padding-left: 15px;
    padding-top: 5px;
}

.bubble-row .bubble-text p {
    margin: 0;
}

.mT-50 {
    margin-top: 50px;
}

.fw-bold {
    font-weight: bold;
}

.social-media-footer {
    background-color: #37687B;
    padding: 30px;
    color: #ffffff;
    font-weight: bold;
}

.social-media-text {
    padding-top: 6px;
    padding-bottom: 10px;
}

.social-media-footer .social-media-icon {
    font-size: 40px;
    display: inline-block;
    padding-right: 0px;
}

.social-media-footer .social-media-icon:last-child {
    padding-right: 0;
}

.social-media-footer .social-media-icon a {
    color: #ffffff;
}

.grecaptcha-badge {
    margin: 0px auto;
}

.form-footer .footer-messages .required-fields {
    text-align: right;
    font-size: 0.9rem;
}

.footer-help {
    text-align: center;
    margin-top: 30px;
}

.footer-help p {
    font-size: 16px;
}

.desktop-only, .hide-on-desktop {
    display: none;
}

.tx-seam-formwizard .alert p {
    margin-top: 15px;
}

.tx-seam-formwizard .alert-danger a {
    color: #721c24;
    font-weight: bold;
    text-decoration: underline;
}

.tx-seam-formwizard .alert-danger a:hover {
    color: #721c24;
    font-weight: bold;
    text-decoration: none;
}

.conditional-field-container {
    display: none;
}

.number-field{
    width: 140px;
}


@media screen and (min-width: 1380px) {
    .desktop-only {
        display: block;
    }
}

@media screen and (max-width: 1379px) {
    .hide-on-desktop {
        display: block;
    }

    .stepper .step .bubble::after {
        width: 150px;
    }

    .tx-seam-formwizard .step-row .error-col {
        display: none;
    }

    .form-footer .footer-messages {
        text-align: center;
    }

    .form-footer .footer-messages .error-message {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 990px) {
    .formWizard-form .summary-entry .label {
        text-align: left;
    }

    .formWizard-form .edit-step {
        margin-bottom: 10px;
    }

    .priceResultSummary {
        margin-top: 5px;
        display: inline-block;
    }

    .form-footer .footer-messages .required-fields {
        text-align: center;
    }

    .formWizard-form .footer-buttons {
        justify-content: space-between;
        margin: 20px;
    }

    .formWizard-form  .footer-buttons .footer-button {
        margin-right: 0;
    }

    .formWizard-form .footer-buttons .footer-button:not(.back-button) {
        margin-left: auto;
    }
}

@media screen and (max-width: 767px) {
    .tx-seam-formwizard .form-container, .tx-seam-formwizard .text-container {
        margin: 0 -15px;
    }

    .stepper .step .bubble::after {
        width: 100px;
    }

    .form-steps .step-group {
        padding: 20px;
    }

    .radio-group#occupation .row {
        height: auto;
    }

    .tx-seam-formwizard input.extra-input {
        margin-left: 5px;
        max-width: 170px;
    }

    .flex-field > *:not(:last-child) {
        margin-right: 0px;
    }

    .success-step {
        text-align: center;
    }

    .success-step .bubble-row {
        display: block;
    }

    .success-step .bubble-row .bubble {
        margin-bottom: 10px;
    }

    .text-container p {
        font-size: 16px;
    }

    .step-group .bubble-row .bubble {
        width: 35px;
        height: 35px;
        font: normal normal bold 17px/15px Fira Sans;
    }

    .text-container h3 {
        font: normal normal bold 24px/28px Fira Sans;
        margin-top: 15px;
    }

    .social-media-footer .icons {
        text-align: center;
        margin-top: 10px;
    }
}

@media screen and (max-width: 600px) {
    .stepper {
        margin-bottom: 30px;
        margin-top: 50px;
        overflow: hidden;
    }

    .stepper .step {
        flex: 0 0 50px;
        max-width: 50px;
    }

    .stepper .step:not(.active) .label {
        display: none;
    }

    .stepper .step .label {
        margin-top: 10px;
        white-space: nowrap;
        text-align: left;
        float: left;
        padding-left: 5px;
    }

    .stepper .step:nth-child(n+3) .label {
        text-align: right;
        float: right;
        padding-left: 0;
        padding-right: 5px;
    }
}