.pp-main-content,
.pp-side-content,
.modal {
    --pp-form-bg: #f6f9fd;
    --pp-form-border: #d9e2ef;
    --pp-form-border-hover: #adc0d6;
    --pp-form-focus: rgba(242, 140, 18, .22);
    --pp-form-text: #152033;
    --pp-form-muted: #6b7280;
}

.pp-main-content .form-control,
.pp-main-content .form-select,
.modal .form-control,
.modal .form-select,
.pp-main-content input[type=text]:not(.btn):not(.form-control),
.pp-main-content input[type=email]:not(.btn):not(.form-control),
.pp-main-content input[type=tel]:not(.btn):not(.form-control),
.pp-main-content input[type=url]:not(.btn):not(.form-control),
.pp-main-content input[type=search]:not(.btn):not(.form-control),
.pp-main-content input[type=password]:not(.btn):not(.form-control),
.pp-main-content input[type=number]:not(.btn):not(.form-control),
.pp-main-content input[type=date]:not(.btn):not(.form-control),
.pp-main-content input[type=file]:not(.btn):not(.form-control),
.pp-main-content textarea:not(.form-control),
.pp-main-content select:not(.form-select),
.pp-side-content .form-control,
.pp-side-content .form-select,
.pp-side-content input[type=text]:not(.btn):not(.form-control),
.pp-side-content input[type=email]:not(.btn):not(.form-control),
.pp-side-content input[type=tel]:not(.btn):not(.form-control),
.pp-side-content input[type=url]:not(.btn):not(.form-control),
.pp-side-content input[type=search]:not(.btn):not(.form-control),
.pp-side-content input[type=password]:not(.btn):not(.form-control),
.pp-side-content input[type=number]:not(.btn):not(.form-control),
.pp-side-content input[type=date]:not(.btn):not(.form-control),
.pp-side-content input[type=file]:not(.btn):not(.form-control),
.pp-side-content textarea:not(.form-control),
.pp-side-content select:not(.form-select),
.modal input[type=text]:not(.btn):not(.form-control),
.modal input[type=email]:not(.btn):not(.form-control),
.modal input[type=tel]:not(.btn):not(.form-control),
.modal input[type=url]:not(.btn):not(.form-control),
.modal input[type=search]:not(.btn):not(.form-control),
.modal input[type=password]:not(.btn):not(.form-control),
.modal input[type=number]:not(.btn):not(.form-control),
.modal input[type=date]:not(.btn):not(.form-control),
.modal input[type=file]:not(.btn):not(.form-control),
.modal textarea:not(.form-control),
.modal select:not(.form-select) {
    width: 100%;
    min-height: 3rem;
    padding: .82rem 1rem;
    color: var(--pp-form-text);
    background-color: var(--pp-form-bg);
    border: 1px solid transparent;
    border-bottom-color: var(--pp-form-border);
    border-radius: .55rem .55rem .2rem .2rem;
    box-shadow: inset .28rem 0 0 rgba(49, 78, 125, .08);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.pp-main-content textarea,
.pp-main-content textarea.form-control,
.pp-side-content textarea,
.pp-side-content textarea.form-control,
.modal textarea,
.modal textarea.form-control {
    min-height: 8rem;
    resize: vertical;
}

.pp-main-content .form-control-sm,
.pp-side-content .form-control-sm,
.modal .form-control-sm {
    min-height: 2.35rem;
    padding-top: .42rem;
    padding-bottom: .42rem;
    font-size: .95rem;
}

.pp-main-content .form-control:hover,
.pp-main-content .form-select:hover,
.pp-main-content input:not(.btn):not([type=hidden]):not([type=checkbox]):not([type=radio]):hover,
.pp-main-content textarea:hover,
.pp-main-content select:hover,
.pp-side-content .form-control:hover,
.pp-side-content .form-select:hover,
.pp-side-content input:not(.btn):not([type=hidden]):not([type=checkbox]):not([type=radio]):hover,
.pp-side-content textarea:hover,
.pp-side-content select:hover,
.modal .form-control:hover,
.modal .form-select:hover,
.modal input:not(.btn):not([type=hidden]):not([type=checkbox]):not([type=radio]):hover,
.modal textarea:hover,
.modal select:hover {
    border-color: var(--pp-form-border-hover);
    background-color: #fff;
}

.pp-main-content .form-control:focus,
.pp-main-content .form-select:focus,
.pp-main-content input:not(.btn):not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,
.pp-main-content textarea:focus,
.pp-main-content select:focus,
.pp-side-content .form-control:focus,
.pp-side-content .form-select:focus,
.pp-side-content input:not(.btn):not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,
.pp-side-content textarea:focus,
.pp-side-content select:focus,
.modal .form-control:focus,
.modal .form-select:focus,
.modal input:not(.btn):not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,
.modal textarea:focus,
.modal select:focus {
    border-color: var(--pp-orange);
    background-color: #fff;
    box-shadow: inset .32rem 0 0 var(--pp-orange), 0 0 0 .22rem var(--pp-form-focus);
    outline: 0;
}

.pp-main-content .form-control::placeholder,
.pp-main-content input::placeholder,
.pp-main-content textarea::placeholder,
.pp-side-content .form-control::placeholder,
.pp-side-content input::placeholder,
.pp-side-content textarea::placeholder,
.modal .form-control::placeholder,
.modal input::placeholder,
.modal textarea::placeholder {
    color: var(--pp-form-muted);
    opacity: .78;
}

.pp-main-content label,
.pp-side-content label,
.pp-main-content .form-label,
.pp-side-content .form-label,
.modal label,
.modal .form-label {
    color: var(--pp-blue);
    font-weight: 700;
}

.pp-main-content .form-check,
.pp-side-content .form-check,
.modal .form-check,
.modal .checkbox label {
    display: flex;
    align-items: center;
    gap: .55rem;
}

.pp-main-content .form-check-input,
.pp-side-content .form-check-input,
.pp-main-content input[type=checkbox],
.pp-side-content input[type=checkbox],
.pp-main-content input[type=radio],
.pp-side-content input[type=radio],
.modal .form-check-input,
.modal input[type=checkbox],
.modal input[type=radio] {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0;
    border-color: var(--pp-form-border-hover);
    accent-color: var(--pp-orange);
}

.pp-main-content .form-check-input:checked,
.pp-side-content .form-check-input:checked,
.modal .form-check-input:checked {
    background-color: var(--pp-orange);
    border-color: var(--pp-orange);
}

.pp-main-content .input-group,
.pp-side-content .input-group,
.modal .input-group {
    border-radius: .85rem;
    box-shadow: 0 .35rem 1.3rem rgba(31, 45, 68, .06);
}

.pp-main-content .input-group > .form-control,
.pp-main-content .input-group > .form-select,
.pp-side-content .input-group > .form-control,
.pp-side-content .input-group > .form-select,
.modal .input-group > .form-control,
.modal .input-group > .form-select {
    box-shadow: none;
}

.pp-main-content .input-group-text,
.pp-side-content .input-group-text,
.modal .input-group-text {
    color: var(--pp-blue);
    font-weight: 700;
    background: #f5f8fc;
    border-color: var(--pp-form-border);
}

.pp-main-content .form-control:disabled,
.pp-main-content .form-select:disabled,
.pp-main-content input:disabled,
.pp-main-content textarea:disabled,
.pp-main-content select:disabled,
.pp-side-content .form-control:disabled,
.pp-side-content .form-select:disabled,
.pp-side-content input:disabled,
.pp-side-content textarea:disabled,
.pp-side-content select:disabled,
.modal .form-control:disabled,
.modal .form-select:disabled,
.modal input:disabled,
.modal textarea:disabled,
.modal select:disabled {
    color: #7b8494;
    background-color: #f3f6fa;
    border-color: #d8e0ec;
    box-shadow: none;
}

.pp-main-content [id*=Validator],
.pp-main-content .field-validation-error,
.pp-main-content .validation-summary-errors,
.pp-side-content [id*=Validator],
.pp-side-content .field-validation-error,
.pp-side-content .validation-summary-errors,
.modal [id*=Validator],
.modal .field-validation-error,
.modal .validation-summary-errors {
    display: block;
    margin-top: .35rem;
    color: #b42318;
    font-size: .925rem;
    font-weight: 700;
}

.modal .modal-content {
    border: 0;
    border-radius: .75rem;
    box-shadow: 0 2.2rem 5rem rgba(21, 32, 51, .28);
    overflow: hidden;
}

.modal .modal-header,
.modal .modal-footer {
    padding: 1.2rem 2rem;
    background: #fff;
}

.modal .modal-header {
    border-bottom: 0;
    box-shadow: inset 0 -.22rem 0 rgba(49, 78, 125, .08);
}

.modal .modal-body {
    padding: 2rem;
    background:
        linear-gradient(90deg, rgba(242, 140, 18, .16), transparent 7rem),
        linear-gradient(180deg, #fff, #f7faff);
}

.modal .modal-title {
    color: var(--pp-blue);
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    letter-spacing: 0;
}

.modal .btn-close {
    opacity: .58;
    transform: scale(1.08);
}

.modal .modal-footer {
    gap: 1rem;
    justify-content: space-between;
    border-top-color: rgba(205, 215, 230, .7);
}

.modal .modal-footer .btn {
    min-width: min(100%, 16rem);
}

.modal .modal-footer a {
    font-weight: 700;
    text-decoration: none;
}

.modal .form-group + .form-group {
    margin-top: .85rem;
}

.modal .form-check {
    padding: .75rem 0 0;
}
