.modals_wrap{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background-color: rgba(0,0,0,0.4); */
  z-index: -1;
  visibility:hidden;
  opacity: 0;
  overflow: auto;
  text-align: center;
  padding: 20px;
}
.modals_wrap.active{
  visibility: visible;
  opacity: 1;
  z-index: 12;
}
.modals_wrap .overlay{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.modal{
  display: inline-grid;
  text-align: left;
  margin: 20px 0px;
  grid-template-columns: 124px 97px 1fr;
  align-items: start;
  grid-gap: 15px 0;
  max-width: 587px;
  background-color: #fff;
  border-radius: 2px;
  box-shadow: 0 16px 20px rgba(41, 4, 4, 0.1);
  padding: 53px 33px 40px 54px;
  background-color: #fff;
}
.modal>*{
  grid-column: 1/-1;
}
.modal .close{
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 999;
}
.modal .title{
  font-family: "Proxima Nova Rg-700";
  font-size: 26px;
  line-height: 38px;
  max-width: 350px;
  padding-right: 20px;
}
.modal .subtitle{
  color: #8d8686;
  font-family: "Proxima Nova - Regular";
  line-height: 24px;
  margin-bottom: 14px;

}
.modal input[type="checkbox"]{ display: none; }
.modal label {
  color: #000000;
  font-family: "Proxima Nova - Regular";
  font-size: 12px;
  letter-spacing: 0.2px;
  line-height: 18px;
}
.modal input[type="checkbox"] + label{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
}
.modal input[type="checkbox"] + label::before{
  content: "";
  min-width: 15px;
  height: 15px;
  border-radius: 2px;
  border: 1px solid #999999;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
  box-shadow: inset 0 0 0 2px #fff;
}
.modal input[type="checkbox"]:checked + label::before{
  background-color: #999999;
}
.modal button{
  border: unset;
  max-width: 110px;
  justify-self: end;
  padding: 8px 20px;
  color: #ffffff;
  font-family: "Proxima Nova Semibold - 600";
  line-height: 24px;
  background-color: #b81d23;
  border-radius: 2px;
}
.modal .dop_info{
  max-width: 479px;
  color: #909090;
  font-size: 12px;
  line-height: 18px;
}
.modal .dop_info a{
  color: #000;
  text-decoration: underline;
}
.modal .input_text{
  border-radius: 2px;
  border: 1px solid #909090;
  background-color: #fff;
  padding: 11px;
  transition: unset;
  color: #681c23;
  font-size: 12px;
  line-height: 18px;
  max-width: 271px;
  grid-column: 2/-1;
}
.modal .input_text.big{
  max-width: 374px;
  grid-column: 1/-1;
}
.modal .input_text::placeholder{
  color: #909090;
  opacity: 1;
}
.modal input.input_text{
  font-family: "Proxima Nova - Regular";
}
.modal textarea.input_text{
  resize: vertical;
  min-height: 42px;
  margin-bottom: 15px;
}
.modal label.for_input_text{
  top: 20px;
  transform: translateY(-50%);
  padding-right: 27px;
  grid-column: 1/2;
}
.modal label.dop_check{
  margin-top: -5px;
}
.modal label.dop_check:nth-of-type(2n+2){ grid-column: 1/3 }
.modal label.dop_check:nth-of-type(2n+1){ grid-column: 3/4 }
#modal_add_cart .modal {text-align: center}
.modal .error li {list-style: none}
.modal .error {color: #b81d23}
#modal_add_cart .close_span {text-transform: uppercase;cursor: pointer;
  text-decoration: underline;}
@media (max-width:800px) {
  .modal{ grid-template-columns: 1fr; padding: 10px;}
  .modal > *{ font-size: 80%; grid-column: 1/-1!important;}
}
