*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html,
body {
  height: 100%;
}
body {
  display: flex;
  display: flex;
  flex-direction: column;
  font-family: "PT Sans", sans-serif;
}
/* header */
.header {
  margin: 10px 0;
}
.header .logo {
  margin: 5px 0;
}
.header .logo img {
  width: 100%;
  max-width: 301px;
  height: auto;
}
.header .search {
  margin: 20px 0;
  padding: 20px;
  background-color: #f0f2f0;
  border-radius: 6px;
}
/* content */
.content {
  flex: 1 0 auto;
  margin: 10px 0;
  min-height: 300px;
}
.content .basket-all {
  display: inline-block;
  padding: 8px;
  font-weight: 600;
  background-color: #f0e7d8;
  border-radius: 4px;
}
.content .basket-all label {
  cursor: pointer;
}
.content .catalog-list {
  margin: 20px 0;
  width: 100%;
  height: 450px;
  overflow: scroll;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: hsl(0 0% 50%);
  -webkit-overflow-scrolling: touch;
}
.content .catalog-list::-webkit-scrollbar {
  width: 8px;
}
.content .catalog-list::-webkit-scrollbar-thumb {
  background-color: #cdcdcd;
}
.content .catalog-list::-webkit-scrollbar-track {
  background-color: #f0f0f0;
}
.content .catalog-img img {
  width: 100%;
  height: auto;
  border: 1px solid #000;
}
.content .catalog-price {
  margin: 10px 0;
}
.content .catalog-price .price-new {
  font-weight: 600;
}
.content .catalog-price .old-price {
  font-size: 14px;
  text-decoration: line-through;
}
.content .catalog-name {
  margin-bottom: 10px;
  flex: 1 1 auto;
  font-size: 15px;
  font-weight: 500;
}
.content .catalog-add-basket {
  padding: 8px;
  font-weight: 600;
  background-color: #f0e7d8;
  border-radius: 4px;
}
.content .catalog-add-basket label {
  cursor: pointer;
}
.content .basket-step {
  padding: 20px 0;
  width: 100%;
  background-color: #f0f2f0;
  text-align: center;
}
.content .basket .table th,
.content .basket .table td {
  font-size: 15px;
}
.content .basket img {
  width: 100%;
  height: auto;
}
.content .basket input[type="text"],
.content .basket input[type="number"] {
  width: 80px;
  font-size: 14px;
}
.content .kp-step {
  margin-top: 15px;
}
/* footer */
.footer {
  margin: 20px 0;
  padding: 20px 0;
  background-color: #f0f2f0;
}
.footer .copy {
  font-size: 15px;
  font-weight: 300;
  text-align: center;
}
/* form */
input.error,
textarea.error {
  border: 1px solid red !important;
}
span.error {
  padding: 3px 0;
  color: red;
  font-size: 12px;
  font-weight: normal;
}
.form-group {
  margin: 15px 0;
}
.form-group label {
  margin-bottom: 5px;
  font-weight: 600;
}
.form-group small {
  margin: 3px 0;
  font-size: 80%;
}
/* hide input placeholder */
.form-control:focus::placeholder {
  opacity: 0;
}
.form-control:focus::-webkit-input-placeholder {
  opacity: 0;
}
.form-control::focus:-ms-input-placeholder {
  opacity: 0;
}
.select2-selection,
.select2-selection:hover,
.select2-selection:active,
.select2-selection:focus,
textarea:hover,
input:hover,
select:hover,
textarea:active,
input:active,
select:active,
textarea:focus,
input:focus,
select:focus,
button:focus,
button:active,
button:hover {
  box-shadow: none !important;
}
