﻿/* Copyright 2018-2024 Epic Systems Corporation */
/* #region Selectable definitions */
.selectable {
  cursor: pointer;
  padding-left: 0.8rem;
}

a.card.selected:before {
  background-color: #246fb5;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0.3rem;
}

.readonly .selectable {
  pointer-events: none;
}

a.card {
  transition-property: opacity, box-shadow;
  transition-duration: 0.5s;
}

/* #endregion */
/* #region Slots step styles */
/* #region Individual slot styles */
.slot {
  width: 100px;
  line-height: 22px;
  padding: 1px 2px;
  background-color: #ffffff;
  color: #0091ea;
  text-align: center;
  cursor: pointer;
  border: 1px solid #cccccc;
  border-radius: 0.125rem;
  font-size: 0.95rem;
  display: block;
}
.slot.selected {
  background-color: #0091ea;
  color: #ffffff;
}
.slot:hover {
  border: 1px solid #0091ea;
  text-decoration: none;
}

/* #endregion */
/* #region Slot group styles */
.slotgroup {
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
  text-align: center;
  margin: 0 0.6rem 0.5rem 0;
  width: 5rem;
  height: 2.5rem;
}

/* #endregion */
/* #region Provider and location header styles */
.providerheader {
  min-height: 2.2rem;
}
.providerheader .provider {
  margin-left: 2.3rem;
  font-size: 1.2rem;
  height: 2rem;
}

.providerinfo {
  width: calc(75% - 0.5rem);
  display: inline-block;
}

span.address {
  display: block;
}

.slotsstep .locationheader {
  font-size: 1rem;
  padding-bottom: 0.25rem;
}

.locationssection.cardline.partial {
  max-width: calc(100% - 3.75rem);
}

.slotsstep .providerheader + .locationssection {
  width: calc(100% - 2.5rem);
  margin-left: 2.5rem;
}

.slotsstep .slotssection + .providerheader,
.slotsstep .slotssection + .locationheader {
  margin-top: 1rem;
}

/* #endregion */
/* #region Provider photo-related styles */
.card .photo,
.card .cardline.partial.photo {
  width: 3rem;
  height: 3rem;
  border-radius: 1.5rem;
  border: 1.5px solid #246fb5;
  float: left;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  vertical-align: top;
  margin-right: 0.75rem;
  background-color: #246fb5;
}

.slotsstep .cardline.photo {
  padding: 0.25rem 0.5rem 0 0;
  width: 7rem;
}

.slotsstep .providerimage {
  width: 2rem;
  height: 2rem;
  border: 1px solid #000000;
  border-radius: 1.5rem;
  float: left;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* #endregion */
/* #region Loading overlay styles */
.loadingoverlay {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  height: auto;
  margin-top: 2.5rem;
  width: calc(100% - 2.5rem);
}
.loadingoverlay .loadingspinner {
  width: 64px;
  display: block;
  margin: 0 auto;
}
.loadingoverlay .loadingmessage {
  margin: 0 auto;
  text-align: center;
  width: 20%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.5rem;
  padding: 0.5rem;
}

/* #endregion */
/* #region Date range styles */
.daterangecontainer {
  height: 4.5rem;
}

.datepickercontainer {
  width: 17%;
  float: left;
}

/* #endregion */
/* #region Misc. styles */
.slotsstep {
  min-height: 15rem;
}

.day .card {
  min-height: 3rem;
}

div.slotsData {
  max-height: 650px;
  overflow-y: auto;
  overflow-x: hidden;
}

.slotsData .cardline.name.heading {
  padding-bottom: 0.5rem;
}

/* #endregion */
/* #endregion */
/* #region Confirmation step styles */
.confirmationstep {
  position: static;
}
.confirmationstep .appointmentsummary {
  padding: 0.25rem 0.25rem 0.75rem 0.25rem;
}
.confirmationstep .additionalinfo .infoheader {
  margin-left: 2.5rem;
}
.confirmationstep .appointmentsummary .visitwith > .appointmentlabel {
  display: inline-block;
  width: 85%;
  margin-left: 0.5rem;
}
.confirmationstep .providerphoto {
  background-repeat: no-repeat;
  background-size: cover;
  border: 1.5px solid #767676;
  border-radius: 4rem;
  height: 4rem;
  overflow: hidden;
  vertical-align: top;
  width: 4rem;
  background-position: center center;
  display: inline-block;
  float: left;
  margin-right: 0.5rem;
}
.confirmationstep .buttoncontainer .button {
  color: #ffffff;
  width: 15rem;
  text-align: center;
  font-size: 1.1em;
  font-weight: 600;
  cursor: pointer;
  background-image: none;
  border-radius: 0;
  background-color: #246fb5;
  margin: auto;
  display: block;
}
.confirmationstep .header {
  font-size: 1.3rem;
  padding: 0;
}
.confirmationstep .col3 {
  width: calc(33% - 0.1rem);
  display: inline-block;
  vertical-align: top;
  margin-left: 0.25rem;
}
.confirmationstep .card .providerphoto ~ .additionalinfo .col3 {
  width: calc(33% - 1.5rem);
}
.confirmationstep .additionalinfo {
  margin-left: 0.25rem;
  padding-bottom: 0.75rem;
  margin-top: 0.5rem;
}
.confirmationstep .appointmentsummary + .additionalinfo {
  margin-top: 0;
}
.confirmationstep .summaryImg {
  background-size: 2rem;
  height: 2rem;
  width: 2rem;
  display: inline-block;
  vertical-align: top;
}

.summaryImg.when {
  background-image: url("../images/visits/clock.png");
}

.summaryImg.where {
  background-image: url("../images/visits/directions.png");
}

.summaryImg.what {
  background-image: url("../images/visits/whyicon.png");
}

.confirmationstep .summaryInfo {
  display: inline-block;
  width: calc(100% - 2.5rem);
  margin-left: 0.5rem;
}
.confirmationstep .summaryInfo span {
  display: block;
}
.confirmationstep .summarycontainer {
  display: inline-block;
}
.confirmationstep .summaryInfo p {
  margin-left: 0;
}
.confirmationstep .button.schedule {
  display: inline-block;
  margin-top: 17px;
}
.confirmationstep .button.schedule.disabled {
  pointer-events: none;
}

.ghostInput textarea {
  padding: 0.875rem 0.25rem 0;
}

.schedulebutton {
  text-align: center;
  margin-bottom: 1rem;
}
.schedulebutton .button.schedule {
  width: 30%;
}

.commentssection {
  width: 66%;
  margin: 0.5rem auto 0;
}

/* #endregion */
/* #region Legacy Scheduling */
p.ptInstructions {
  padding: 0.5rem;
  border-radius: 5px;
  margin: 1rem 0 1rem 0;
}

#schedulewith {
  display: none;
}

.dateSelector .dtSelWrapper label.dateslabel {
  margin: -0.25rem 0 0.25rem;
}

.timeTable,
.dateSelector {
  margin: 1.5rem 0 0 0;
}

.moreslotsbuttons {
  text-align: center;
}
.moreslotsbuttons .button {
  width: auto;
  display: inline-block;
  margin: 0.25rem;
}

input#useteams {
  margin-bottom: 0.5rem;
}

.card .time {
  width: 20%;
  display: inline-block;
  vertical-align: initial;
  height: 50%;
  left: 0;
  position: absolute;
  top: calc((100% - 2.5rem) / 2);
}

.card .provinfo {
  display: inline-block;
  width: 78.5%;
  margin-left: 20%;
}

span.time .hour,
span.time .AMPM {
  display: inline-block;
  width: 100%;
  text-align: center;
}
span.time .hour {
  font-size: 1.25rem;
  font-weight: 600;
}

/* #region confirmation */
.confirmation .apptProvider .provider {
  display: inline;
  font-size: 1.2rem;
}
.confirmation .apptProvider img {
  margin: 0 0 0 0.3rem;
  width: 0.7rem;
}

.confirmation.column_3 .apptDateTime,
.confirmation.column_3 .location,
.confirmation.column_3 .copay {
  width: calc(33% - 0.25rem);
}
.confirmation.column_2 .apptDateTime,
.confirmation.column_2 .location,
.confirmation.column_2 .copay {
  width: calc(50% - 0.25rem);
}
.confirmation.column_1 .apptDateTime,
.confirmation.column_1 .location,
.confirmation.column_1 .copay {
  width: 100%;
}
.confirmation .apptDateTime,
.confirmation .location,
.confirmation .copay {
  display: inline-block;
  padding: 0 0 0 3rem;
  vertical-align: top;
  margin: 0 0.25rem 0 0;
  font-size: 1.1rem;
}

.apptDetails .apptDateTime:before,
.apptDetails .location:before,
.apptDetails .copay:before {
  background: transparent none no-repeat scroll center center/2rem 2em;
  content: "";
  height: 2rem;
  margin: 0 0 0 -2.5rem;
  position: absolute;
  width: 2rem;
}
.apptDetails .apptDateTime:before {
  background-image: url("../images/visits/clock.png");
}
.apptDetails .location:before {
  background-image: url("../images/visits/directions.png");
}
.apptDetails .copay:before {
  background-image: url("../images/visits/copay.png");
}

.confirmation .apptProvider {
  margin: 0 0 0.75rem 0;
}

.apptDeptInstructions .section.flat {
  background-color: #edf3f9;
  display: inline-block;
  vertical-align: top;
  margin: 0.25rem;
  border-radius: 5px;
  height: 100%;
  box-shadow: none;
}
.apptDeptInstructions .header {
  padding: 0.25rem 0 0.5rem 0;
  font-size: 1.1rem;
}

/* #endregion */
/* #region sidebar */
.summary .titlebar {
  padding: 0.25rem 0.5rem 0.25rem 0.5rem;
  background-color: #246fb5;
}
.summary .titlebar .title {
  color: #ffffff;
  font-size: 1.2rem;
  margin: 0rem;
}

div.summaryInfo {
  display: block;
}

.summaryInfo span {
  display: inline-block;
}

div.summaryInfo span {
  width: 100%;
  margin: 0 0 0.5rem 0.5rem;
  padding: 0 0.75rem 0 0;
}
div.summaryInfo span.subtitle {
  font-size: 1rem;
  margin: 0.5rem 0 0 0.5rem;
  font-weight: 600;
}

.summary {
  background-color: rgba(255, 255, 255, 0.6);
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
}
.summary .apptProvider .provider {
  font-size: 1.1rem;
  font-weight: 600;
  display: inline;
}
.summary .apptProvider img {
  margin: 0 0 0 0.3rem;
  width: 0.7rem;
}
.summary .apptProvider,
.summary .apptDateTime,
.summary .location {
  padding: 0.25rem 0.5rem;
}
.summary .apptDetails .apptDateTime:before,
.summary .apptDetails .location:before {
  background: transparent none no-repeat scroll center center/1.5rem 1.5em;
  content: "";
  height: 1.5rem;
  margin: 0 0 0 -2rem;
  position: absolute;
  width: 1.5rem;
}
.summary .apptDetails .apptDateTime:before {
  background-image: url("../images/visits/clock.png");
}
.summary .apptDetails .location:before {
  background-image: url("../images/visits/directions.png");
}
.summary .apptDateTime,
.summary .location {
  padding-left: 2.5rem;
}

/* #endregion */
/* #region rescheduling */
.section .content fieldset.reasonList legend.label {
  padding-top: 0.5rem;
}
.section .content fieldset.reasonList.hasrequired {
  margin-left: 0.5rem;
}

/* #endregion */
/* #endregion */
