.calculator ul+h2 {
  margin-top: 0 !important;
}

.calculator h3 {
  margin-top: 0 !important;
}

.calculator ul {
  padding-left: 0px !important;
}

.calculator ul li {
  list-style-type: none !important;
  margin-bottom: 0 !important;
}

.calculator .impossible {
  background-color: red;
  color: #fff;
  border-radius: 0px;
  padding-left: 8px;
  padding-right: 8px;
  position: relative;
  left: -8px;
  font-weight: bold;
}

.calculator input[type="radio"] {
  margin-right: 8px;
}

.calculator .notfilled {
  color: red;
  display: none;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 18px;
}

.calculator .notfilled_visible {
  display: block;
}

.calculator .button {
  background-color: #00BB3F;
  color: #fff;
  border: 0;
  padding: 12px 32px;
  font-weight: bold;
  cursor: pointer;
  display: block;
  height: auto;
  box-sizing: border-box;
  line-height: 1;
  margin-top: 24px;
}

.calculator .result {
  margin-top: 32px;
}

.calculator .result__error {
  display: none;
  color: red;
  font-weight: bold;
  font-size: 18px;
}

.calculator .result__error_visible {
  display: block;
}

.calculator .result__success {
  display: none;
}

.calculator .result__success_visible {
  display: block;
}

.calculator .result__scheme {
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.calculator .table-responsive {
  overflow-x: auto;
}

.calculator table {
  border: 1px solid #CFD4E0;
  border-collapse: collapse;
  margin-bottom: 20px;
  width: 100%;
}

.calculator td,
.calculator th {
  border: 2px solid #ededed;
  padding: 20px;
  background-color: #fff;
  text-align: left;
  vertical-align: top;
  font-size: 15px !important;
}

.calculator td a {
  border: 0 !important;
  text-decoration: underline !important;
}

.calculator td .consumable {
  font-size: 14px;
  display: flex;
  align-items: flex-start;
}

.calculator td .consumable::before {
  content: 'Загрузка';
  background-color: #00BB3F;
  color: #fff;
  border-radius: 8px;
  padding: 2px 4px;
  font-size: 9px;
  margin-right: 10px;
  position: relative;
  top: 1px;
}

.calculator table p {
  font-size: 15px !important;
  margin-bottom: 12px;
}

.calculator table p:last-child {
  margin-bottom: 0;
}

.calculator table img {
  width: 327px;
  height: auto;
}

.calculator table .total {
  font-weight: bold;
}

.calculator table .total td:first-child {
  text-align: right;
}

.calculator .print-button {
  margin-bottom: 20px;
  background-color: #071A71;
  color: #fff;
  border: 0;
  padding: 12px 32px;
  cursor: pointer;
  display: block;
  height: auto;
  box-sizing: border-box;
  line-height: 1;
  margin-top: 24px;
  font-size: 20px;
}


.calculator .period {
  display: none;
}

.calculator .period_visible {
  display: block;
}

.calculator .period-button {
  background-color: #00BB3F;
  color: #fff;
  border: 0;
  padding: 12px 32px;
  cursor: pointer;
  display: block;
  height: auto;
  box-sizing: border-box;
  line-height: 1;
  margin-bottom: 20px;
  font-size: 20px;
}

.calculator .period__rows {
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
  display: flex;
}

.calculator .period__row {
  display: flex;
  flex-direction: column;
}

.calculator .period-table {
  display: none;
}

.calculator .period-table_visible {
  display: block;
}

.calculator .period__notfilled {
  color: red;
  display: none;
  margin-bottom: 20px;
}

.calculator .period__notfilled_visible {
  display: block;
}

.calculator input[type="number"] {
  padding: 4px 8px;
}

.calculator .calculator__buttons-row {
  display: flex;
  column-gap: 20px;
  flex-wrap: wrap;
}

.calculator .calculate_business {
  background-color: #071A71;
}

@media screen and (max-width: 576px) {
  .calculator table td,
  .calculator table th {
    padding: 8px;
  }
}