.heading-form {
    margin-top: 50px;
}

.heading-form > p:first-child {
    color: #3aa3ae;
    font-size: 23px;
    letter-spacing: 0;
    text-align: center;
}

.project-form-heading {
    margin-top: 34px;
    text-align: center;
}

.project-form-heading > p:first-child {
    color: #2f7482;
    font-size: 22px;
    margin-bottom: 8px;
}

.project-form-heading .heading-title {
    width: min(860px, 100%);
    margin: 22px auto 0;
    padding: 18px 24px;
    border: 1px solid #dbe8f0;
    border-radius: 8px;
    background: #f4f8fb;
    color: #1f4f75;
    font-size: 18px;
    font-weight: 700;
}

#project_form {
    margin-bottom: 20px;
    margin-top: 40px;
}

#project_form label.required::after {
    content: " *";
    color: red;
}

#project_form.project-form-page {
    max-width: 860px;
    margin: 28px auto;
    color: #243746;
}

#project_form.project-form-page .form-group {
    margin-bottom: 22px;
}

#project_form.project-form-page .mb-3 {
    margin-bottom: 0 !important;
}

#project_form.project-form-page .project-step-1-fields {
    margin-right: -22px;
    margin-left: -22px;
}

#project_form.project-form-page .project-step-1-fields > [class*="col-"] {
    margin-bottom: 20px;
    padding-right: 22px;
    padding-left: 22px;
}

#project_form.project-form-page label {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 6px;
    color: #243746;
    font-weight: 600;
    line-height: 1.35;
}

#project_form.project-form-page input:not([type="checkbox"]):not([type="submit"]),
#project_form.project-form-page textarea {
    width: 100%;
    border: 1px solid #d5e2ec;
    border-radius: 8px;
    background: #fff;
    color: #243746;
    box-shadow: none;
    transition: border-color .2s, box-shadow .2s;
}

#project_form.project-form-page input:not([type="checkbox"]):not([type="submit"]) {
    height: 44px;
    padding: 8px 12px;
}

#project_form.project-form-page textarea {
    min-height: 150px;
    padding: 12px 14px;
}

#project_form.project-form-page .form-text {
    margin-top: 6px;
    color: #657c8b;
    font-size: 14px;
    line-height: 1.4;
}

#project_form.project-form-page input:not([type="checkbox"]):not([type="submit"]):focus,
#project_form.project-form-page textarea:focus {
    border-color: #8db8d5;
    box-shadow: 0 0 0 3px rgba(141, 184, 213, .22);
    outline: 0;
}

#project_form.project-form-page .highlight {
    display: block;
    margin: -2px 0 8px;
    color: #6b7f8c;
    font-size: 13px;
}

#project_form.project-form-page .project-form-back {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 16px;
    border: 1px solid #bdd3e1;
    border-radius: 999px;
    background: #f8fbfd;
    color: #1f4f75;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s;
}

#project_form.project-form-page .project-form-back:hover,
#project_form.project-form-page .project-form-back:focus {
    border-color: #8db8d5;
    background: #eef6fa;
    color: #173d5b;
}

#project_form.project-form-page .acceptRule {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 8px;
    padding: 14px 16px;
    border: 1px solid #dbe8f0;
    border-radius: 8px;
    background: #f8fbfd;
}

#project_form.project-form-page .acceptRule .form-check-input {
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    float: none;
    margin: 2px 0 0;
    border: 1px solid var(--bs-border-color);
    border-radius: .25em;
    outline: none;
    transform: none;
}

#project_form.project-form-page .acceptRule .form-check-label {
    margin: 0;
    line-height: 1.35;
}

#project_form.project-form-page .project-actions {
    margin-top: 34px;
}

#project_form.project-form-page .project-actions-link {
    margin-top: 14px;
}

#project_form.project-form-page .project-actions-link a {
    color: #1f4f75;
    font-size: 15px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

#project_form.project-form-page .project-actions-link a:hover,
#project_form.project-form-page .project-actions-link a:focus {
    color: #173d5b;
}

#project_form.project-form-page .project-actions-buttons {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

#project_form.project-form-page .btn-action {
    display: inline-block;
    width: auto;
    min-width: 260px;
    height: auto;
    padding: 14px 28px;
    border: 0;
    border-radius: 999px;
    background: #2f7482;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: background .2s, box-shadow .2s, transform .2s;
}

#project_form.project-form-page .btn-action:hover,
#project_form.project-form-page .btn-action:focus {
    background: #245d68;
    box-shadow: 0 8px 18px rgba(36, 93, 104, .18);
    transform: translateY(-1px);
}

#project_form.project-form-page .project-actions-buttons .btn-action.btn-action-danger {
    background: #c83e36;
    color: #fff;
}

#project_form.project-form-page .project-actions-buttons .btn-action.btn-action-danger:hover,
#project_form.project-form-page .project-actions-buttons .btn-action.btn-action-danger:focus {
    background: #a33029;
    color: #fff;
    box-shadow: 0 8px 18px rgba(163, 48, 41, .2);
}

#project_form.project-form-page .project-actions-buttons .btn-action.btn-action-disabled,
#project_form.project-form-page .project-actions-buttons .btn-action.btn-action-disabled:hover,
#project_form.project-form-page .project-actions-buttons .btn-action.btn-action-disabled:focus {
    background: #aebdc8;
    color: #fff;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

#project_form.project-form-page .uploader {
    min-height: 105px;
    padding: 16px 18px;
    border: 1px dashed #bdd3e1;
    border-radius: 8px;
    background: #f8fbfd;
}

.uploader .dropper {
    border: 0;
    min-height: 0;
    padding: 0;
}

.uploader .uploader-zone-content {
    display: block;
    padding: 12px 0;
}

.uploader .form-upload-container {
    text-align: center;
}

#project_form.project-form-page .uploader .form-upload-container label {
    color: #5f7482;
    font-weight: 400;
}

#project_form.project-form-page .uploader .form-upload-container img {
    width: 42px;
    opacity: .72;
}

.uploader-file-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
}

.uploader-file-row {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #fff;
}

.uploader-file-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border: 1px solid #e1e8f0;
    border-radius: 6px;
    background: #f4f7fb;
    color: #3e8ad0;
}

.uploader-file-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.uploader-file-icon {
    font-size: 22px;
}

.uploader-file-thumb.has-preview .uploader-file-icon {
    display: none;
}

.uploader-file-meta {
    flex: 1 1 auto;
    min-width: 0;
}

.uploader-file-name {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #1f2933;
    text-decoration: underline;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.uploader-file-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 12px;
}

.uploader-file-actions a {
    color: #111;
    line-height: 1;
    text-decoration: none;
}

.uploader-file-actions a:hover,
.uploader-file-actions a:focus {
    color: #3e8ad0;
}

.uploader-file-actions .fa-download {
    margin-right: 0;
}

.project-confirmation {
    max-width: 600px;
    margin: 50px auto;
    text-align: center;
}

.project-confirmation > img {
    display: block;
    max-width: min(180px, 60vw);
    height: auto;
    margin: 0 auto 24px;
}

.project-confirmation .heading-form {
    margin-top: 0;
}

.project-confirmation p:first-child {
    color: #2f7482;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}

.project-confirmation .btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 260px;
    min-height: 54px;
    margin-top: 35px;
    padding: 14px 28px;
    border-radius: 999px;
    background: #2f7482;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: background .2s, box-shadow .2s, transform .2s;
}

.project-confirmation .btn-action:hover,
.project-confirmation .btn-action:focus {
    background: #245d68;
    box-shadow: 0 8px 18px rgba(36, 93, 104, .18);
    color: #fff;
    transform: translateY(-1px);
}

@media screen and (max-width: 575.98px) {
    .project-form-heading {
        margin-top: 24px;
    }

    .project-form-heading .heading-title {
        padding: 15px 16px;
    }

    #project_form.project-form-page {
        margin-top: 22px;
    }

    #project_form.project-form-page .project-step-1-fields {
        margin-right: -15px;
        margin-left: -15px;
    }

    #project_form.project-form-page .project-step-1-fields > [class*="col-"] {
        margin-bottom: 18px;
        padding-right: 15px;
        padding-left: 15px;
    }

    #project_form.project-form-page .btn-action {
        width: 100%;
        min-width: 0;
    }
}
