input.error, select.error {
  border-color: #d00000 !important;
}

.invalid-tooltip {
  position: absolute;
  background: #ffe5e5;
  color: #d00000;
  font-size: 13px;
  padding: 4px 8px;
  max-width: 300px;
  border: 1px solid #d00000;
  border-radius: 4px;
  z-index: 9999;
}

html {
  height: 100%;
}

body {
  font-family: Montserrat, arial, verdana, sans-serif;
}

a {
  text-decoration: none;
}

.hidden {
  display: none;
}

form.insurance-calculator .progressbar {
  width: 1222px;
  max-width: 95%;
  counter-reset: step;
  margin: auto;
  padding: 0 53px;
  display: flex;
  gap: 1px;
  margin-bottom: 29px;
}

form.insurance-calculator .progressbar span {
  padding: 17px 17px 17px 53px;
  flex: 1 1 0;
  position: relative;
  display: block;
  background-color: #fff;
  border-radius: 5px;
  font-size: 16px;
  line-height: 20px;
  color: #939598;
  text-transform: uppercase;
  cursor: default;
}

form.insurance-calculator .progressbar span::before {
  content: counter(step);
  counter-increment: step;
  color: #939598;
  font-size: 24px;
  line-height: 20px;
  position: absolute;
  left: 21px;
  top: 15px;
}

form.insurance-calculator .progressbar span.active {
  background-color: #2B2C72;
  color: #fff;
}

form.insurance-calculator .progressbar span.active::before {
  color: #fff;
}

form.insurance-calculator h2 {
  margin-bottom: 24px;
  text-align: center;
  font-size: 25px;
  color: #514E4E;
  margin-bottom: 24px;
  text-align: center;
  font-weight: 400;
}

form.insurance-calculator .insurance-calculator__row {
  background-color: #fff;
  border-radius: 5px;
  padding-top: 40px;
  padding-bottom: 7px;
  flex-direction: row;
  gap: 15px;
}

form.insurance-calculator .row {
  display: flex;
  gap: 28px;
}

form.insurance-calculator .form-floating {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

form.insurance-calculator .form-floating input {
  width: 100%;
  height: 58px;
  border-radius: 50px;
  border: 1px solid #D9D9D9;
  padding: 20px 20px 0 20px;
  font-weight: 700;
  color: #5EA100;
  background: transparent;
  font-size: 14px;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}

form.insurance-calculator .form-floating input::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

form.insurance-calculator .form-floating input::placeholder {
  opacity: 0;
}

form.insurance-calculator .form-floating label {
  position: absolute;
  line-height: 58px;
  font-size: 14px;
  color: #514E4E;
  top: 0;
  left: 0;
  z-index: -1;
  padding-left: 20px;
  transition: all .3s;
}

form.insurance-calculator .col-md-6 {
  width: 45%;
  flex: auto;
}

form.insurance-calculator .col-md-4 {
  width: 26%;
  flex: auto;
}

form.insurance-calculator .col-md-3 {
  width: 20%;
  flex: auto;
}

form.insurance-calculator .col-md-7 {
  width: 50%;
  flex: auto;
}

form.insurance-calculator .col-md-5 {
  width: 50%;
  flex: auto;
}

form.insurance-calculator .form-select:not(:placeholder-shown) ~ label,
form.insurance-calculator .form-control:not(:placeholder-shown) ~ label {
  transform: translateY(-0.5rem);
}

form.insurance-calculator .form-floating > .form-control:focus ~ label {
  transform: translateY(-0.5rem);
}

form.insurance-calculator .icon-date:before {
  content: "";
  position: absolute;
  right: 26px;
  top: 17px;
  display: block;
  width: 23px;
  height: 25px;
  background-image: url("data:image/svg+xml,%3Csvg width='23' height='25' viewBox='0 0 23 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_596_85)'%3E%3Cpath d='M4.48008 2.13994C4.53008 3.32994 4.33008 4.73994 6.11008 4.84994C7.14008 4.90994 7.50008 4.23994 7.69008 2.12994C10.2101 2.12994 12.7401 2.12994 15.3301 2.12994C15.3701 3.34994 15.1701 4.75994 16.9701 4.84994C17.9601 4.89994 18.2701 4.29994 18.5101 2.17994C20.0401 1.86994 21.9701 3.02994 22.6301 4.71994C22.8301 5.23994 22.9501 5.82994 22.9501 6.38994C22.9801 11.1499 22.9701 15.9199 22.9601 20.6799C22.9501 23.1099 21.1501 24.9699 18.7201 24.9799C13.9001 25.0099 9.07008 25.0099 4.25008 24.9799C1.83008 24.9599 0.0200822 23.0999 0.0100822 20.6699C8.21613e-05 15.8999 -0.00991784 11.1399 0.0100822 6.37994C0.0200822 3.90994 2.10008 1.94994 4.48008 2.13994ZM21.2401 8.18993C14.7401 8.18993 8.28008 8.18993 1.78008 8.18993C1.77008 8.46993 1.75008 8.70994 1.75008 8.94993C1.75008 12.7699 1.75008 16.5799 1.75008 20.3999C1.75008 22.2899 2.76008 23.2899 4.67008 23.2899C9.19008 23.2899 13.7101 23.2899 18.2401 23.2899C20.2601 23.2899 21.2701 22.2799 21.2701 20.2599C21.2701 16.4899 21.2701 12.7299 21.2701 8.95994C21.2701 8.71994 21.2501 8.47993 21.2401 8.18993Z' fill='%235EA100'/%3E%3Cpath d='M6.90991 2.1099C6.90991 2.5299 6.92991 2.9599 6.89991 3.3799C6.86991 3.8799 6.57991 4.1499 6.07991 4.1599C5.57991 4.1599 5.25991 3.8999 5.23991 3.3999C5.20991 2.5299 5.15991 1.6499 5.26991 0.799896C5.30991 0.499896 5.74991 0.0898962 6.06991 0.0298962C6.55991 -0.0601038 6.89991 0.299896 6.91991 0.839896C6.92991 1.2599 6.91991 1.6899 6.90991 2.1099C6.91991 2.1099 6.91991 2.1099 6.90991 2.1099Z' fill='%235EA100'/%3E%3Cpath d='M16.05 2.07997C16.05 1.67997 16.04 1.27997 16.05 0.889973C16.06 0.359973 16.36 0.0299735 16.87 0.00997347C17.39 -0.0100265 17.73 0.289973 17.74 0.819973C17.77 1.65997 17.76 2.50997 17.74 3.34997C17.73 3.83997 17.45 4.13997 16.94 4.14997C16.4 4.15997 16.1 3.86997 16.06 3.33997C16.03 2.92997 16.05 2.49997 16.05 2.07997Z' fill='%235EA100'/%3E%3Cpath d='M10.36 10.3301C10.36 11.0401 10.36 11.7101 10.36 12.4201C9.67005 12.4201 9.01005 12.4201 8.30005 12.4201C8.30005 11.7401 8.30005 11.0601 8.30005 10.3301C8.96005 10.3301 9.61005 10.3301 10.36 10.3301Z' fill='%235EA100'/%3E%3Cpath d='M14.6799 10.3201C14.6799 11.0301 14.6799 11.7101 14.6799 12.4301C13.9899 12.4301 13.3299 12.4301 12.6299 12.4301C12.6299 11.7201 12.6299 11.0401 12.6299 10.3201C13.3199 10.3201 13.9799 10.3201 14.6799 10.3201Z' fill='%235EA100'/%3E%3Cpath d='M16.98 12.4301C16.98 11.7101 16.98 11.0301 16.98 10.3101C17.66 10.3101 18.3 10.3101 19 10.3101C19 11.0001 19 11.6901 19 12.4301C18.33 12.4301 17.67 12.4301 16.98 12.4301Z' fill='%235EA100'/%3E%3Cpath d='M12.6201 16.7199C12.6201 16.0299 12.6201 15.3599 12.6201 14.6599C13.3101 14.6599 13.9701 14.6599 14.6801 14.6599C14.6801 15.3399 14.6801 15.9999 14.6801 16.7199C14.0001 16.7199 13.3201 16.7199 12.6201 16.7199Z' fill='%235EA100'/%3E%3Cpath d='M16.97 16.7199C16.97 16.0299 16.97 15.3699 16.97 14.6599C17.66 14.6599 18.32 14.6599 19.02 14.6599C19.02 15.3399 19.02 15.9999 19.02 16.7199C18.35 16.7199 17.67 16.7199 16.97 16.7199Z' fill='%235EA100'/%3E%3Cpath d='M8.26001 16.7399C8.26001 16.0199 8.26001 15.3799 8.26001 14.6799C8.95001 14.6799 9.63001 14.6799 10.34 14.6799C10.34 15.3699 10.34 16.0299 10.34 16.7399C9.66001 16.7399 9.00001 16.7399 8.26001 16.7399Z' fill='%235EA100'/%3E%3Cpath d='M3.91992 16.7199C3.91992 16.0099 3.91992 15.3699 3.91992 14.6699C4.61992 14.6699 5.28992 14.6699 6.01992 14.6699C6.01992 15.3499 6.01992 15.9999 6.01992 16.7199C5.33992 16.7199 4.65992 16.7199 3.91992 16.7199Z' fill='%235EA100'/%3E%3Cpath d='M6.01996 21.08C5.29996 21.08 4.65996 21.08 3.95996 21.08C3.95996 20.4 3.95996 19.74 3.95996 19.01C4.61996 19.01 5.29996 19.01 6.01996 19.01C6.01996 19.69 6.01996 20.34 6.01996 21.08Z' fill='%235EA100'/%3E%3Cpath d='M8.27002 21.06C8.27002 20.35 8.27002 19.71 8.27002 19.01C8.94002 19.01 9.59002 19.01 10.32 19.01C10.32 19.66 10.32 20.33 10.32 21.06C9.66002 21.06 9.00002 21.06 8.27002 21.06Z' fill='%235EA100'/%3E%3Cpath d='M12.6101 21.05C12.6101 20.35 12.6101 19.71 12.6101 19.01C13.2901 19.01 13.9601 19.01 14.6801 19.01C14.6801 19.68 14.6801 20.34 14.6801 21.05C14.0101 21.05 13.3501 21.05 12.6101 21.05Z' fill='%235EA100'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_596_85'%3E%3Crect width='22.97' height='25' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

form.insurance-calculator .icon-arrow:before {
  content: "";
  position: absolute;
  right: 28px;
  top: 24px;
  display: block;
  width: 19px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='12' viewBox='0 0 19 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_596_101)'%3E%3Cpath d='M16.03 2L9.01 9.01L2 2' stroke='%235EA100' stroke-width='4' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_596_101'%3E%3Crect width='18.03' height='11.84' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

form.insurance-calculator select {
  width: 100%;
  height: 58px;
  border-radius: 50px;
  border: 1px solid #D9D9D9;
  padding: 20px 20px 0 20px;
  font-weight: 700;
  color: #5EA100;
  background: transparent;
  font-size: 14px;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}

form.insurance-calculator select::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

form.insurance-calculator .form-check {
  margin-bottom: 4px;
}

form.insurance-calculator .form-check:last-child {
  margin-bottom: 0;
}

form.insurance-calculator .form-check input {
  display: none;
}

form.insurance-calculator .form-check label {
  font-size: 14px;
  line-height: 18px;
  color: rgba(81, 78, 78, 0.698);
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 8px;
}

form.insurance-calculator .form-check label:before {
  content: "";
  width: 27px;
  height: 27px;
  display: block;
  border-radius: 27px;
  border: 1px solid #D9D9D9;
  flex: none;
}

form.insurance-calculator .form-check input:checked + label {
  color: #000;
}

form.insurance-calculator .form-check input:checked + label:before {
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='16' height='16' rx='8' fill='%235EA100' stroke='%23D9D9D9'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px;
  border-color: #5EA100;
}

form.insurance-calculator .btn-primary {
  height: 65px;
  background: #CFD3E5;
  border-radius: 5px;
  font-size: 24px;
  color: #fff;
  text-transform: uppercase;
  width: 100%;
  cursor: pointer;
  transition: all .3s;
}

form.insurance-calculator .btn-primary:hover {
  background-color: #2B2C72;
}

form.insurance-calculator .btn-secondary {
  color: #5EA100;
}

form.insurance-calculator .btn-secondary:hover {
  text-decoration: underline;
}

form.insurance-calculator .form-search {
  position: relative;
}

form.insurance-calculator .form-search .spinner-border {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 9999;
  width: 1rem;
  height: 1rem;
  display: none;
}

form.insurance-calculator .form-search__list {
  position: absolute;
  background: #fff;
  z-index: 9999;
  left: 0;
  width: 100%;
  top: calc(100% + 5px);
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 0;
  margin: 0;
  max-height: 300px;
  overflow: auto;
  display: none;
}

form.insurance-calculator .form-search__list li {
  list-style: none;
  padding: 10px;
  border-bottom: 1px solid #D9D9D9;
  cursor: pointer;
}

form.insurance-calculator .form-search__list li:hover {
  color: #5EA100;
}

form.insurance-calculator .card_osago_drivers {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

form.insurance-calculator .remove_driver {
  display: block;
  text-align: center;
  border: 1px solid #d00000;
  color: #d00000;
  line-height: 40px;
  border-radius: 5px;
}

form.insurance-calculator .remove_driver:hover {
  border-color: #5EA100;
}

form.insurance-calculator .addDrivers-button {
  line-height: 40px;
  border: 1px solid #CFD3E5;
  border-radius: 5px;
  font-size: 15px;
  color: rgba(81, 78, 78, 0.698);
  padding: 0px 15px;
  cursor: pointer;
  transition: all .3s;
}

form.insurance-calculator .addDrivers-button:hover {
  background-color: #2B2C72;
  border-color: #2B2C72;
  color: #fff;
}

form.insurance-calculator .card_osago_addDriver,
form.insurance-calculator .card_osago_driver {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

form.insurance-calculator .card_osago_addDriver h2,
form.insurance-calculator .card_osago_driver h2 {
  margin-bottom: 10px;
}

.insurance-calculator__footer-full {
  width: calc(100% + 106px);
  margin-left: -53px;
  padding-top: 15px;
}

.insurance-calculator__footer-full .btn {
  margin-bottom: 12px;
}

.insurance-calculator__footer-full p {
  font-size: 12px;
  line-height: 100%;
}

.insurance-calculator__footer-full p a {
  color: #5EA100;
}

.insurance-calculator__footer-full p a:hover {
  text-decoration: underline;
}

.insurance-calculator__footer {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
}

.insurance-calculator__footer .btn-primary {
  width: 230px !important;
}

.insurance-calculator__footer > div {
  display: flex;
  gap: 15px;
  align-items: center;
}

.insurance-calculator__load-results {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 35px 0;
  margin-top: 30px;
  border-radius: 10px;
  border: 1px solid #ccc;
  gap: 15px;
}

.insurance-calculator__load-errors {
  display: none;
  align-items: center;
  text-align: center;
  justify-content: center;
  padding: 35px 0;
  margin-top: 30px;
  border-radius: 10px;
  border: 1px solid #ccc;
  gap: 15px;
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -.125em;
  border: .25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  -webkit-animation: .75s linear infinite spinner_border;
  animation: .75s linear infinite spinner_border;
}

@keyframes spinner_border {
  to {
    transform: rotate(360deg);
  }
}

#card_4.card_osago .footer {
  display: flex;
  align-items: center;
  height: 60px;
  justify-content: center;
  gap: 20px;
}

.insurance-calculator__load-results {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 35px 0;
  margin-top: 30px;
  border-radius: 10px;
  border: 1px solid #ccc;
  gap: 15px;
}

.insurance-calculator__item {
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.insurance-calculator__item .top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
}

.insurance-calculator__item .logo img {
  width: 200px;
}

.insurance-calculator__item:last-child {
  border: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.insurance-calculator__price {
  text-align: right;
}

.insurance-calculator__price .cost {
  font-size: 18px;
  font-weight: 500;
}

.insurance-calculator__spinner {
  display: flex;
  justify-content: center;
}

.insurance-calculator__item h5 {
  margin-top: 20px;
  margin-bottom: 10px;
}

.calculation .top .action-button {
  padding: 10px 30px;
  font-size: 16px;
}

.insurance-calculator__item .params {
  display: flex;
}

.insurance-calculator__item .params span {
  width: 100%;
  text-align: center;
  border: 1px solid #ccc;
  padding-bottom: 15px;
  margin-left: -1px;
}

.insurance-calculator__item .params strong {
  display: block;
  padding: 15px 5px;
  margin-bottom: 10px;
  background: #f0f0f0;
}

.insurance-calculator__messang {
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
  margin-top: 20px;
  display: none;
}

.insurance-calculator__messang p {
  display: block;
  padding: 10px 15px;
  background: #f0f0f0;
  margin: 0;
}

.insurance-calculator__messang span {
  display: block;
  padding: 10px 15px;
}

@media (max-width: 990px) {
  form.insurance-calculator .progressbar {
    padding: 0;
  }
  .insurance-calculator__container {
    padding: 0;
  }
  .insurance-calculator__footer-full {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 770px) {
  form.insurance-calculator .row {
    flex-wrap: wrap;
  }
  form.insurance-calculator .row > div {
    width: 100%;
  }
  form.insurance-calculator .progressbar span {
    font-size: 14px;
    text-transform: none;
    padding: 17px 17px 17px 30px;
  }
  form.insurance-calculator .progressbar span::before {
    left: 10px;
  }
}

@media (max-width: 550px) {
  form.insurance-calculator .progressbar {
    flex-wrap: wrap;
  }
  form.insurance-calculator .progressbar span {
    width: 40%;
    flex: auto;
  }
}
