html {
    font-size: 12px;
}
@media (min-width: 992px) {
    html {
        font-size: 10px;
    }
}
@media (min-width: 1200px) {
    html {
        font-size: 12px;
    }
}
@media (min-width: 1400px) {
    html {
        font-size: 14px;
    }
}
@media (min-width: 1600px) {
    html {
        font-size: 16px;
    }
}
:root {
    --app-primary: #3b3092;
    --app-secondary: #003776;
    --app-lighter-gray: #ededed;
    --app-light-gray: #d9d9d9;
    --app-mid-gray: #8d8d8d;
    --app-dark-gray: #4b4950;
    --app-mid-dark-gray: #434343;
    --app-darker-gray: #333333;
    --app-danger: #ff0000;
    --app-light-danger: #ffece6;
    --app-card-shadow: 0px 4px 0.5625rem rgba(51, 51, 51, 0.1);
}
.lh-normal {
    line-height: normal !important;
}
.text-app-secondary {
    color: var(--app-secondary) !important;
}
.bg-app-lighter-gray {
    background-color: var(--app-lighter-gray);
}
.text-app-lighter-gray {
    color: var(--app-lighter-gray);
}
.text-app-light-gray {
    color: var(--app-light-gray);
}
.text-app-mid-gray {
    color: var(--app-mid-gray);
}
.text-app-dark-gray {
    color: var(--app-dark-gray);
}
.text-app-mid-dark-gray {
    color: var(--app-mid-dark-gray);
}
.text-app-darker-gray {
    color: var(--app-darker-gray);
}
.border-app-lighter-gray {
    border: 1px solid var(--app-lighter-gray);
}
.border-app-light-gray {
    border: 1px solid var(--app-light-gray);
}
.font-calibri {
    font-family: "Calibri", Arial, Helvetica, sans-serif;
}
.radius-lg {
    border-radius: 1.5rem !important;
}
.fw-light {
    font-weight: 300;
}
.fw-regular {
    font-weight: 400 !important;
}
.fw-bold {
    font-weight: 700;
}
.btn-close, .btn-scroll {
    position: absolute;
    right: 1.5rem;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    background-size: cover;
}
.btn-close {
    top: 1.5rem;
}
.btn-scroll {
    bottom: 1.5rem;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M7 13L12 18L17 13" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 6L12 11L17 6" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>')
        center/110% auto no-repeat;
}
.btn-unstyled,
.btn-icon {
    background-color: transparent;
    border: 0;
    padding: 0;
    outline: unset;
    line-height: normal;
}
.btn-icon {
    display: inline-block;
}

.mb-2rem {
    margin-bottom: 2rem;
}
.mt-2rem {
    margin-top: 2rem;
}

.form-group-inline {
    display: inline-block;
    margin: 0;
}
/*  LABELS */
.form-label-disabled,
.form-label-disabled::after {
    color: var(--app-mid-gray) !important;
}
.form-label {
    font-weight: 700;
    font-size: 1rem;
    color: var(--app-secondary);
}
.form-label-required {
    padding-right: 0.6rem;
}
.form-label-required::after {
    content: "*";
    display: inline-block;
    right: 0;
    top: 0;
    font-size: 1rem;
    color: var(--app-secondary);
}
/*  CHECKBOX, RADIO BUTTONS */
.form-check-inline-flex {
    display: inline-flex;
    align-items: center;
}
.form-check-inline-flex .form-check-input {
    flex-shrink: 0;
}
.form-check-inline-flex .form-check-label {
    margin-left: 0.75rem;
    line-height: normal !important;
    text-align: start;
}
.form-check.form-check-sm {
    padding-left: 2rem;
}
.form-check.form-check-sm .form-check-input {
    width: 1.5rem;
    height: 1.5rem;
    margin-left: -2rem;
    border-radius: 0.5rem;
}
.form-check.form-check-sm .form-check-label {
    line-height: 1.5rem;
}
.form-check {
    padding-left: 2.5rem;
}
.form-check .form-check-input {
    width: 2rem;
    height: 2rem;
    border-color: var(--app-primary) !important;
    border-radius: 0.625rem;
    margin-top: 0;
    margin-left: -2.5rem;
}
.has-error.has-danger .form-check-input {
    border-color: var(--app-danger) !important;
}
.form-check .form-check-input:checked[type="checkbox"],
.form-check-input.was-checked {
    background-image: url('data:image/svg+xml,<svg width="23" height="16" viewBox="0 0 23 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.5174 0.460669C23.1592 1.07391 23.1592 2.06492 22.5174 2.67816L9.37455 15.2374C8.73281 15.8506 7.69576 15.8506 7.05402 15.2374L0.481152 8.95778C-0.160384 8.34453 -0.160384 7.35353 0.481152 6.74029C1.12279 6.12704 2.16292 6.12704 2.80467 6.74029L8.16808 11.9063L20.1969 0.460669C20.8386 -0.153556 21.8757 -0.153556 22.5174 0.460669Z" fill="white"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 70%;
}
.form-check .form-check-input:checked {
    background-color: var(--app-primary);
}
.form-check .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem#3B309240;
}
.form-check .form-check-label {
    color: #434343;
    line-height: 2rem;
}
.has-error .form-control,
.has-error .form-select {
    background-color: var(--app-light-danger);
    border-color: var(--app-danger);
}
.has-error .control-label,
.with-errors {
    font-size: 1rem !important;
    font-style: italic;
    color: var(--app-danger);
    margin-top: 0.25rem;
}
.form-control::placeholder,
.form-select:invalid {
    font-style: italic;
    color: var(--app-dark-gray) !important;
}

.job__card__list {
    list-style-type: none;
    padding-left: 0;
    padding-right: 1rem;
}
.job__card__list li {
    position: relative;
    padding-left: 3rem;
}
.job__card__list li::before {
    --marker-width: 0.75rem;
    content: "";
    position: absolute;
    top: 0.35rem;
    left: 1.125rem;
    display: inline-block;
    width: var(--marker-width);
    height: var(--marker-width);
    border-radius: 50%;
    background-color: var(--app-light-gray);
}
.job__card__list li:not(:last-child) {
    margin-bottom: 1rem;
}
.job__card__list .job__vacancy__title {
    color: var(--app-darker-gray);
    font-weight: 400;
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.375;
}
.job__card__list p {
    color: #7B7978;
    margin: 0;
}

.form-group {
    position: relative;
}
.area-char-count {
    position: absolute;
    right: 0;
    bottom: -0.25rem;
    transform: translateY(100%);
    color: var(--app-mid-gray);
    font-size: 1.125rem;
    font-weight: 400;
}
.form-group.has-error .area-char-count {
    transform: unset;
    bottom: 0;
}
.char-count-max::before {
    content: "/";
    display: inline-block;
    margin: 0 0.25rem;
}
