﻿.validation-message {
    color: #C01;
    font-family: Roboto;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 158%;
    position: absolute;
    left: 0;
    top: 100%;
}

.cost-form__column .input {
    position: relative;
    margin-bottom: 23px;
}

.cost-form__column > div {
    position: relative;
}

.btn {
    transition: 0.3s all;
    text-decoration: none;
}

.error-message {
    top: 105%;
    position: absolute;
    left: 5px;
    color: #B22222;
    font-family: 'Roboto';
    font-size: 14px;
    line-height: 140%;
    font-weight: 400;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

.online-payment-form__column .input {
    position: relative;
    margin-bottom: 30px;
}

.online-payment-form__column {
    position: relative;
}

.contacts-form__column .input {
    position: relative;
    margin-bottom: 35px
}

    .contacts-form__column .input:last-child {
        margin-bottom: 0;
    }

.success-message {
    color: forestgreen;
    font-family: Roboto;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 158%;
    position: absolute;
    left: 0;
    top: 100%;
}


.loading-spinner {
    text-align: center;
    padding: 2rem;
}

.spinner {
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.not-found {
    text-align: center;
    padding: 2rem;
    max-width: 600px;
    margin: 0 auto;
}

html {
    scroll-behavior: smooth;
}