body.pop-up-open {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
body.pop-up-open .pop-up-callback {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
}

.pop-up-callback {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.pop-up-callback .overlay {
  position: fixed;
  z-index: 999998;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.66);
}
.pop-up-callback .modal {
  position: relative;
  z-index: 999999;
  box-sizing: border-box;
  width: 95%;
  max-width: 750px;
  height: auto;
  padding: 30px 25px;
  background-color: #fff;
}
.pop-up-callback .modal .close {
  position: absolute;
  top: 5px;
  right: 5px;
  cursor: pointer;
}
.pop-up-callback .modal h1 {
  text-align: center;
  background: none;
  margin: 15px 0 25px 0;
}
.pop-up-callback .modal h2 {
  text-align: center;
  background: none;
  margin: 15px 0 25px 0;
}
.pop-up-callback .modal input {
  display: block;
}
.pop-up-callback .modal input[type=tel] {
  padding: 10px 17px;
  text-align: center;
  margin: 15px auto 25px auto;
  font-size: 24px;
  outline: none;
  border: 1px solid #333;
  border-radius: 3px;
}
.pop-up-callback .modal input[type=tel]:read-only {
  background-color: #f0f8fa;
}
.pop-up-callback .modal input[type=button] {
  margin: 15px auto 25px auto;
  position: relative;
  padding: 10px 30px;
  cursor: pointer;
  text-transform: uppercase;
  color: #fff !important;
  border: none;
  background: #59a9c6;
  box-shadow: 4px 4px 0 0 #2284a7;
  font-size: 24px;
}
.pop-up-callback .modal input[type=button]:hover {
  top: 1px;
  left: 1px;
  box-shadow: 3px 3px 0 0 #2284a7;
}
.pop-up-callback .modal input[type=button]:hover:disabled {
  top: 0;
  left: 0;
}
.pop-up-callback .modal input[type=button]:disabled {
  cursor: default;
  box-shadow: 4px 4px 0 0 #5e7e8e;
  background: #88a3ae;
}
.pop-up-callback .modal input[type=button]:disabled.loading {
  background: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMOSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCiAgdmlld0JveD0iMCAwIDEwMCAxMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDAgMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNNzMsNTBjMC0xMi43LTEwLjMtMjMtMjMtMjNTMjcsMzcuMywyNyw1MCBNMzAuOSw1MGMwLTEwLjUsOC41LTE5LjEsMTkuMS0xOS4xUzY5LjEsMzkuNSw2OS4xLDUwIj4KICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gCiAgICAgICAgIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgCiAgICAgICAgIGF0dHJpYnV0ZVR5cGU9IlhNTCIgCiAgICAgICAgIHR5cGU9InJvdGF0ZSIKICAgICAgICAgZHVyPSIxcyIgCiAgICAgICAgIGZyb209IjAgNTAgNTAiCiAgICAgICAgIHRvPSIzNjAgNTAgNTAiIAogICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L3BhdGg+Cjwvc3ZnPg==") center center no-repeat, #88a3ae;
}

@media (max-width: 575px) {
  .pop-up-callback .modal {
    padding: 17px 15px;
  }
  .pop-up-callback .modal input {
    box-sizing: border-box;
  }
  .pop-up-callback .modal input[type=tel] {
    padding: 7px 5px;
    width: 100%;
  }
  .pop-up-callback .modal input[type=button] {
    width: 100%;
    font-size: 21px;
  }
}
