.contact-form-field-error {
    border-color: #dc3545 !important;
}

.contact-form-field-error:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15) !important;
}

#contactForm .invalid-feedback {
    color: #dc3545;
    font-size: 14px;
    margin-top: 6px;
}

#contactForm .form-control.contact-form-field-error ~ .invalid-feedback {
    display: block;
}

#contactForm button[type="submit"]:disabled {
    cursor: not-allowed;
    opacity: 0.75;
}

.contact-submit-loader {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0, 32, 85, 0.25);
    border-top-color: #002055;
    border-radius: 50%;
    display: inline-block;
    margin-left: 10px;
    vertical-align: -3px;
    animation: contact-submit-spin 0.75s linear infinite;
}

@keyframes contact-submit-spin {
    to {
        transform: rotate(360deg);
    }
}

.notfound-block {
    padding: 120px 0 140px;
}

.notfound-content {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.notfound-content span {
    display: block;
    color: #002055;
    font-size: 96px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 20px;
}

.notfound-content h1 {
    color: #002055;
    font-size: 48px;
    line-height: 1.15;
    margin-bottom: 18px;
}

.notfound-content p {
    color: #5f6673;
    font-size: 18px;
    line-height: 1.7;
    margin: 0 auto 34px;
    max-width: 560px;
}

.notfound-content .btn-style-3 {
    margin: 0 auto;
}

@media (max-width: 767px) {
    .notfound-block {
        padding: 80px 0 100px;
    }

    .notfound-content span {
        font-size: 72px;
    }

    .notfound-content h1 {
        font-size: 36px;
    }

    .notfound-content p {
        font-size: 16px;
    }
}
