.modal-backdrop {
  --bs-backdrop-zindex: 9999;
  --bs-backdrop-bg: var(--black);
  --bs-backdrop-opacity: 0.3;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
body:has(.modal-backdrop){
  overflow: hidden;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}
.modal-open{
  overflow: hidden;
}
.modal{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
  display: none;
}
.modal.show{
  display: block;
}
.modal.fade .modal-dialog {
  --bs-modal-margin: 1.75rem;
  --bs-modal-width: 24.4791vw;
  position: relative;
  width: 100%;
  margin: var(--bs-modal-margin);
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin)* 2);
  max-width: var(--bs-modal-width);
  margin-right: auto;
  margin-left: auto;
  -webkit-transform: translate(0, -50px);
  -moz-transform: translate(0, -50px);
  transform: translate(0, -50px);
  -moz-transition: transform .3s ease-out;
  -webkit-transition: transform .3s ease-out;
  transition: transform .3s ease-out;
}
.modal.fade .modal-dialog.sm{
  --bs-modal-width: 55rem;
}
.modal.show .modal-dialog {
  -webkit-transform: none;
  -moz-transform: none;
  transform: none;
}
.modal-content{
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  outline: 0;
  background: var(--black);
  padding: 1.8229vw 1.9791vw 2.2916vw;
}
.modal-head button{
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.modal-head{
  margin-bottom: 1.25vw;
}
.btn-close{
  height: 2.0833vw;
  width: 2.0833vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-close img{
  width: 1.25vw;
  height: auto;
  filter: brightness(0) invert(1);
}
.modal-head .fw-40{
  color: var(--dark-gray);
}
.modal-content form label, .wpcf7 form .wpcf7-response-output{
 color: var(--dark-gray)!important;
}
.modal-content form .form-input .form-control {
  color: var(--dark-gray)!important;
  border: 1px solid var(--dark-gray)!important;
}

#promo-baner .modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: calc(100% - 60px);
  max-height: calc(100vh - 60px);
  pointer-events: auto;
  width: auto;
  background-color: var(--white);
  background-clip: padding-box;
  padding: 0;
}
#promo-baner .btn.btn-sm {
  position: absolute;
  max-width: 20vw;
  right: 2.5vw;
  bottom: 2.5vw;
}
#promo-baner .btn-modal-close {
  position: absolute;
  top: -4.2rem;
  right: -1.7rem;
  width: 3.4rem;
  height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border: 0.13rem solid var(--gold);
  border-radius: 1rem 0 1rem 0;
}
#promo-baner.modal.fade .modal-dialog {
  max-width: 73.4791vw;
  justify-content: center;
}
@media(min-width:1360px) and (max-width:1559.98px){
  .modal.fade .modal-dialog {
    --bs-modal-width: 31.4791vw;
  }
}
@media(min-width:768px) and (max-width:1359.98px){
  .modal.fade .modal-dialog {
    --bs-modal-width: 47rem;
  }
  .modal-content {
    padding: 2.4rem;
  }
  .btn-close img {
    width: 2.4rem;
  }
}
@media(max-width:767.98px){
  .modal.fade .modal-dialog {
    --bs-modal-width: calc(100% - 3rem);
  }
  .modal-head {
    margin-bottom: 2rem;
  }
  .modal-content {
    padding: 2rem;
  }
  .btn-close img {
    width: 2.4rem;
  }
  .modal-body .btn{
    width: 100%;
  }
  #promo-baner.modal.fade .modal-dialog {
    max-width: 90.4791vw;
  }
  #promo-baner .btn.btn-sm {
    max-width: calc(100% - 5vw);
  }
}