html.modal-open {
  overflow: hidden;
  padding-right: 17px;
}
.modal-element {
  float: right;
}
#header .modal-element {
  float: none;
}
@media (min-width: 980px) {
  #body-1 #main .modal-element {
    display: none;
  }
  #body-1 #right .modal-element {
    display: block;
    margin-right: 1rem;
  }
  #header .modal-btn.appointment {
    position: relative;
    left: 7rem;
    top: .5rem;
    z-index: 20;
  }
  .is-sticky #header .modal-btn.appointment {
    left: 5rem;
    top: 5rem;
  }
}
@media (min-width: 1441px) {
  #header .modal-btn.appointment {
    position: absolute;
    left: 19.5rem;
    top: .6rem;
    z-index: 20;
  }
}
@media (max-width: 979px) {
  #body-1 #main .modal-element {
    display: block;
  }
  #body-1 #right .modal-element {
    display: none;
  }
  #header .modal-btn.appointment {
    position: absolute;
    left: 4.25rem;
    top: 4rem;
    z-index: 20;
  }
}
@media (min-width: 980px) and (max-width: 1144px) {
  #header .modal-btn.appointment {
    position: relative;
    left: 4rem;
    top: .5rem;
    z-index: 20;
  }
}
@media (max-width: 890px) {
  #header .modal-btn.appointment {
    position: absolute;
    left: .5rem;
    top: 6.5rem;
    z-index: 20;
    transition: top .25s;
  }
  .is-sticky #header .modal-btn.appointment {
    top: 3.75rem;
  }
}
@media (max-width: 767px) {
  #site {
    margin-top: 5rem;
  }
  .modal-element {
    float: right;
    width: 100%;
    margin: 1rem 0;
    text-align: right;
  }
}
.modal-btn.appointment {
  border: none;
  font-weight: bold;
  background: #dfb56b;
  box-shadow: none;
  padding: .35rem .75rem;
  margin-right: .35rem;
  border-radius: 3rem;
  text-shadow: none;
}
.modal-btn.appointment:hover,
.modal-btn.appointment:focus {
  background: #222;
  color: #fff;
}
.modal.appointment, .modal-info {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10011;
}
.modal.appointment .modal-box {
  height: 750px;
  width: 90%;
  max-width: 750px;
  margin: 0 auto;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 1rem rgba(0,0,0,0.25);
  border-radius: .25rem;
}
.modal.appointment .modal-box .modal-content {
  width: 100%;
  height: 100%;
}
.modal.appointment .modal-box .modal-content iframe {
  width: 100%;
  height: 100%;
}
.modal.appointment .modal-box svg.modal-close {
  width: 2rem;
  height: 2rem;
  fill: #222;
  position: absolute;
  top: -.5rem;
  right: -.5rem;
  background: #fff;
  border-radius: 1.5rem;
  padding: .5rem;
}
.modal.appointment.maxheight .modal-box svg.modal-close {
  top: .5rem;
  right: .5rem;
}
.modal.appointment .modal-box svg.modal-close:hover {
  cursor: pointer;
  fill: #34a665;
}
.modal.appointment.maxheight .modal-box {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -ms-transform: none;
  transform: none;
  max-height: 750px;
}
