@charset "UTF-8";
/* Copyright 2018-2024 Epic Systems Corporation */
#main > .title {
  position: relative;
}

.pb-small {
  padding-bottom: 0.5rem;
}

.pt-small {
  padding-top: 0.5rem;
}

.pr-small {
  padding-left: 0.5rem;
}

.providerphoto {
  display: block;
  width: 78px;
  height: 78px;
  border-color: #cccccc;
  border-style: solid;
  border-width: 2px;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: center center;
  background-size: cover;
  border-radius: 50%;
  margin: 0 auto;
}
.providerphoto.small {
  height: 52px;
  width: 52px;
  border-width: 1px;
}
.link:hover > .providerphoto {
  border-color: #008dc0;
}

.photostack {
  position: relative;
}
.photostack > .providerphoto, .photostack > .link {
  z-index: 1;
  position: relative;
  right: -0.75rem;
}
.photostack > .providerphoto + .providerphoto, .photostack > .providerphoto + .link, .photostack > .link + .providerphoto, .photostack > .link + .link {
  z-index: 0;
  position: absolute !important;
  top: 0;
  right: calc(50% - 42px + 0.75rem);
}

.soonvisits .date {
  width: 8%;
  display: inline-block;
  vertical-align: top;
  margin-left: 0.5rem;
}
.soonvisits .visitinfo {
  width: 65%;
  display: inline-block;
  vertical-align: top;
}
.soonvisits .visitinfo .timeContainer span {
  display: inline-block;
  margin-left: 0.2rem;
}
.soonvisits .visitwith {
  width: auto;
  display: inline-block;
  vertical-align: top;
  padding-left: 0.6rem;
}
.soonvisits.card {
  margin: 0.25rem 0;
  padding: 24px;
}

.pastvisit.card .buttonList.subtle {
  margin-top: -0.5rem;
}

.popupOwner .selfArrivalBanner,
.popupOwner .telemedicineGuideBanner {
  margin: 0.25rem 0.5%;
  width: 99%;
}

.sevendaysvisits .selfArrivalBanner {
  width: calc(100% + 20px);
  margin: -10px -10px 10px -10px;
  max-width: initial;
}

.selfArrivalBanner .informationalType {
  background-image: url("../images/visits/circlewitharrow.svg");
}
.selfArrivalBanner .warningType {
  background-image: url("../images/visits/bell.svg");
}

.telemedicineGuideBanner .warningType {
  background-image: url("../images/visits/bell.svg");
}

.selfArrivalBanner .banner-text,
.telemedicineGuideBanner .banner-text,
.prewrapWhitespace {
  white-space: pre-wrap;
}

.subtle .bold {
  line-height: 1.25rem;
  font-size: 1rem;
  color: #363636;
  word-wrap: break-word;
}

.column3 > .card {
  width: 32.1%;
}

.nodatalistelement {
  padding-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .visitinfo ~ .actions {
    margin-top: -1rem;
  }
}

.Visits .date div,
.visitdetails .date div {
  text-align: center;
}
.Visits .time,
.visitdetails .time {
  background: url("../images/visits/clock.png") right top 0.2rem no-repeat;
  padding-right: 1.25rem;
  background-size: 1rem;
}
.Visits > .grid,
.visitdetails > .grid {
  margin-top: 0;
}

/* Override some existing fast pass styles so the fast pass offer card is more visually consistent with the 2018 visit details redesign */
.md_visitslist_index #alertspanel-autowaitlist .body,
.md_visitslist_index #alertspanel-autowaitlist .head,
.md_visitdetails_index #alertspanel-autowaitlist .body,
.md_visitdetails_index #alertspanel-autowaitlist .head {
  margin-right: 0.5%;
  margin-left: 0.5%;
  padding-right: 0;
  padding-left: 0;
  width: auto;
}

.md_visitdetails_index div .arrivaltime span {
  padding-left: 0.2rem;
}
.md_visitdetails_index div .popupiconcontainer:not(.proxyRequestInfoBubble) {
  margin: 0 0 0 0;
}
.md_visitdetails_index div .popupiconcontainer.proxyRequestInfoBubble {
  margin: auto 0px auto 5px;
}
.md_visitdetails_index .popupiconcontainer .popupinstructionsicon > img {
  width: 0.9rem;
  height: 0.9rem;
  margin: 0.1rem;
}
.md_visitdetails_index div .arrivaltime * {
  vertical-align: middle;
}

.surgeries {
  background: url("../images/visits/procedures.png") no-repeat;
  padding-right: 1.7rem;
  background-size: 22px;
  background-position: top right;
}

.date .verticalMonth {
  font-size: 1.2rem;
  text-transform: uppercase;
  white-space: nowrap;
}
html[lang=fi] .date .verticalMonth {
  font-size: 0.9rem;
  overflow-wrap: normal;
}
html[lang=ar] .date .verticalMonth {
  font-size: 1.04rem;
}
.date .verticalDateOfMonth {
  font-size: 2.2rem;
  line-height: 2rem;
}
html[lang=ar] .date .verticalDateOfMonth {
  font-size: 1.9066666667rem;
}

.visitcomponent .list {
  position: relative;
}
@media print {
  .visitcomponent .list:not(.noprint):not(.hidden) {
    display: block !important;
  }
}

@media print {
  .timeLineDetails:not(.noprint):not(.hidden) {
    display: block !important;
  }
  .timeLineDetails .cardlist .pastvisit.card:not(.noprint):not(.hidden) {
    display: inline-block !important;
  }
}
.afterList {
  text-align: center;
  font-size: 1em;
}

.splitter {
  width: 50%;
  border: 1px solid #dbdbdb;
  height: 1px;
  margin: 2rem 33%;
}

.upcomingSplitter {
  width: 50%;
  border: 1px solid #dbdbdb;
  height: 1px;
  margin: 2rem 33%;
}

.Visits #pastVisitLoadingHeart.ajaxspinner .loadingmessage {
  color: transparent;
}
.Visits .card.soonvisits .card_icons {
  top: 0.5rem;
  left: 0.5rem;
  position: absolute;
  text-align: left;
  display: inline-block;
  margin-right: 0.5rem;
}
.Visits .card.soonvisits .card_icons .icon {
  padding-bottom: 0.3rem;
  padding-left: 0.3rem;
  display: inline-block;
  width: auto;
}
@media screen and (min-width: 769px) {
  .Visits .card.soonvisits .actions {
    margin-top: 0.75rem;
  }
}
.Visits .card .card_icons svg.echeckin {
  width: 1.7rem;
  height: 1.7rem;
  vertical-align: middle;
}
.Visits .card .buttonList .button {
  overflow-wrap: anywhere;
}
.Visits .smallcard .card {
  padding: 0;
}
.Visits .smallcard .card .mainDetails {
  display: flex;
  padding: 0.5rem;
}
.Visits .smallcard .card .mainDetails .date {
  width: auto;
  padding-left: 0.5rem;
  padding-right: 0.3rem;
}
.Visits .smallcard .card .mainDetails .info {
  padding-left: 2rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-width: 0;
}
.Visits .smallcard .card .mainDetails img {
  margin: auto;
}
.Visits .smallcard .card .card_icons {
  width: auto;
  min-width: 1.5rem;
  position: absolute;
  top: 0.5rem;
  right: calc(100% - 2rem);
}
.Visits .smallcard .card .card_icons:empty {
  min-width: 0;
}
.Visits .smallcard .card .card_icons .icon {
  padding-bottom: 0.3rem;
}
.Visits .showFiltersButton input,
.Visits .clearFiltersButton input {
  line-height: 0.5rem;
}

a.button.topbutton.nextstep {
  display: inline-block;
  vertical-align: top;
}

.Visits .filters {
  display: flex;
  column-gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px 22px;
  background-color: rgba(36, 111, 181, 0.05);
  max-width: calc(100% + 2.5rem);
  width: calc(100% + 2.5rem);
  margin-right: -1.25rem;
}
.Visits .filters.extendedBar {
  background-color: rgba(36, 111, 181, 0.1);
}
.Visits .filters.extendedBar * {
  width: auto;
}
.Visits .filters .filter {
  border: 0;
  min-width: 100px;
  max-width: 250px;
  margin-bottom: 0;
  width: auto;
}
.Visits .filters .filterAction {
  width: auto;
}
.Visits .filters .filterAction button {
  margin: 0;
}
.Visits .filters .canceledShiftedButton {
  margin-right: auto;
}
.Visits .filters .canceledShiftedButton label {
  font-size: inherit;
  margin: 0;
  cursor: pointer;
}
.Visits .filters .canceledShiftedButton label input {
  cursor: pointer;
  display: inline-block;
  margin-left: 0.3rem;
}
.Visits .filters .canceledShiftedButton label::after {
  content: none;
}
.Visits .filters .loadingFilterProgressBar {
  height: 18px;
  width: 18px;
  background: url("../images/spinner_small_transparentbg.gif") no-repeat;
}
.Visits .filters .dropdown {
  position: relative;
}
.Visits .filters .dropdown .tbContainer {
  margin: 0;
}
.Visits .filters .dropdown:not(.open) .dropdown-content {
  display: none;
}
.Visits .filters .dropdown-content {
  position: absolute;
  background-color: #f8f8f8;
  min-width: 300px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 2;
  margin-top: 0.25rem;
  border-radius: 4px;
}
.Visits .filters .dropdown-content .optionsList {
  max-height: 33vh;
  overflow: clip auto;
  overflow-wrap: break-word;
}
.Visits .filters .dropdown-content .optionsList .optionsListItem {
  list-style-type: none;
}
.Visits .filters .dropdown-content .optionsListItem .optionsListItemContainer label {
  cursor: pointer;
  padding: 0.4rem;
  border: none;
  font-size: inherit;
  margin: 0;
  border-radius: 4px;
  word-break: break-all;
}
.Visits .filters .dropdown-content .optionsListItem .optionsListItemContainer label:hover {
  color: #ffffff;
  background-color: #0091ea;
}
.Visits .filters .dropdown-content .optionsListItem .optionsListItemContainer label input {
  cursor: pointer;
  display: inline-block;
  margin: 0.3rem;
  z-index: 1;
}
.Visits .filters .dropdown-content .filterOptionsButtons {
  display: flex;
  background-color: #f2f2f2;
}
.Visits .filters .dropdown-content .filterOptionsButtons button {
  flex: 1;
  margin: 0.25rem;
  word-break: break-word;
}

.drivingdirectionsicon,
.addtocalicon,
.successIcon,
.printBarcodeIcon {
  background-repeat: no-repeat;
  background-position: right;
  display: inline-block;
  background-size: 1rem;
  height: 1rem;
  width: 1rem;
  margin-bottom: -0.25rem;
  margin-left: 0.25rem;
}

.addtocalicon,
.drivingdirectionsicon {
  margin-top: 0.25rem;
  width: auto;
  text-indent: 1.7rem;
}

.printBarcodeIcon {
  background-image: url("../images/visits/print_inline.svg");
  margin-left: 0;
}

.addtocalicon {
  background-image: url("../images/visits/addtocal.svg");
}

.drivingdirectionsicon {
  background-image: url("../images/visits/drivingdirections.svg");
}

.successIcon {
  background-image: url("../images/visits/success.svg");
}

.cancelreschedulecontainer {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: flex-end;
  padding-top: 2rem;
  margin-top: 2rem;
  border-top: 1px solid #dbdbdb;
}
.cancelreschedulecontainer.requestproxyminorform {
  padding-top: 1rem;
}
.col-12 > .cancelreschedulecontainer {
  text-align: center;
}
.cancelreschedulecontainer > span:last-child {
  margin-top: 0.2rem;
}
.cancelreschedulecontainer .button {
  display: inline-block;
}
.cancelreschedulecontainer .link.cancel {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.cancelreschedulecontainer .link.cancel svg {
  height: 1.5rem;
  width: 1.5rem;
  fill: currentColor;
  margin: -0.25rem;
  translate: 0 -1px;
}

.standardBanner .banner-actions.buttonColumn {
  justify-content: center;
}
.standardBanner .banner-actions.buttonColumn .button {
  margin: 0;
}

.scheduleNextAppointment {
  padding: 0 0 0.5rem 0;
}

.scheduledAppointment {
  margin: 0.25rem 0.5%;
  width: 99%;
}

.rescheduleicon {
  background: url("../images/visits/reschedule.svg") right no-repeat;
  padding: 0 1.4rem 0 0;
  background-size: 1.2rem;
  background-position-y: center;
}

.requesticon {
  background: url("../images/visits/send.svg") right no-repeat;
  padding: 0 1.1rem 0 0;
  background-size: 1rem;
  background-position-y: center;
}

.requestInfo {
  background: url("../images/info.png") no-repeat scroll right center;
  background-size: 1.2rem 1.2rem;
  width: 1.8rem;
  padding: 0;
}

.otherprovider {
  display: inline-block;
  width: auto;
}

.phoneNumber {
  white-space: nowrap;
}

.visitinfo .visitwith .popupiconcontainer {
  vertical-align: text-top;
}

div.card div.section.visitdetails div.popupInstructions,
div.listsection div.infosession div.popupInstructions {
  width: auto;
  display: inline;
  cursor: default;
}

.otherproviderinfo:not(:first-child) {
  border-top: 1px solid #dbdbdb;
}

.otherproviderinfo {
  padding-bottom: 0.3rem;
  padding-top: 0.3rem;
}
.otherproviderinfo .providerphoto {
  vertical-align: middle;
  display: inline-block;
  margin-left: 0.8rem;
}
.otherproviderinfo div {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

.copayicon {
  background: url("../images/visits/creditcard.svg") no-repeat;
  display: inline-block;
  padding: 0 1.7rem 0 0.5rem;
  background-size: 22px;
  margin-top: 0.25rem;
  width: auto;
}

.copay {
  margin-top: 0.75rem;
}

.printerfriendlycopay {
  display: none;
}

.calculating_spinner {
  margin: 0.5rem 0;
}

.dollarAmountColumn {
  display: inline-block;
  width: auto;
  text-align: left;
}

.textColumn {
  display: inline-block;
  width: auto;
  text-align: right;
  margin-right: 5px;
}

.preDiscountAmount {
  text-decoration: line-through;
}

.calendar table {
  width: 100%;
}
.calendar table tbody td a {
  cursor: default;
}

.secondlabel {
  margin-right: 1rem;
}

.visitfooter .afterList {
  margin: 1rem auto;
}

.visitcomponent.CommunityListManager.hidden {
  display: none !important;
}

.Visits .component:first-child {
  margin-top: 0.3rem;
}

.list .card.nohover {
  background-color: #ffffff !important;
}

.md_visitdetails_index div.section div.content {
  margin: 0;
  padding: 0.5rem 1rem;
}
.md_visitdetails_index h1 div {
  margin-top: 0.5rem;
  margin-right: 0.2rem;
}
.md_visitdetails_index h2 div {
  margin-right: 0.2rem;
}
.md_visitdetails_index .copayspacer, .md_visitdetails_index #copay_prepay_details {
  margin-bottom: 0.5rem;
}
.md_visitdetails_index .visitDetailsSignup,
.md_visitdetails_index .signupBtnWrapper,
.md_visitdetails_index .signupText {
  margin-top: 0.5rem;
}

.md_visitdetails_index .telemedicine div.section.card,
.md_visitdetails_index div.section.card.echeckin {
  margin-bottom: 1rem;
}
.md_visitdetails_index div.telemedicine.section div.content,
.md_visitdetails_index div.section.smallcard div.content {
  text-align: center;
}
.md_visitdetails_index div.echeckin a,
.md_visitdetails_index div.telemedicine.section div.content a,
.md_visitdetails_index div.section.smallcard div.content a {
  display: inline-block;
  margin-bottom: 0;
  min-width: 130px;
}

.md_visitdetails_index div.visitdetails div.visitinformation .echeckin a {
  display: inline-block;
  vertical-align: top;
}

.md_visitdetails_index div.visitdetails div.visitinformation .echeckin a {
  margin-top: 0.8rem;
}
.md_visitdetails_index div.section.card.echeckin div.leftcolumn > div.header {
  padding-top: 0;
}
.md_visitdetails_index div.section.card.echeckin .barcode {
  right: 0;
  margin: 0.5rem 0;
  position: inherit;
  text-align: center;
  width: 30%;
  margin-top: 0.5rem;
}
.md_visitdetails_index div.section.card.echeckin div.barcode {
  margin-bottom: 1rem;
}
.md_visitdetails_index .barcodeDetails {
  margin-top: 0.5rem;
  margin-right: 1.5rem;
}
.md_visitdetails_index div.section.visitdetails div.leftcolumn h2 {
  padding-top: 0;
}
.md_visitdetails_index div.datetimeheader span.datetime {
  font-size: 1.05rem;
}
.md_visitdetails_index div.datetimeheader span.duration {
  font-size: 1rem;
}
.md_visitdetails_index div.arrivaltime {
  margin: 0.1rem auto;
  width: 100%;
}
.md_visitdetails_index div.waitlist div {
  display: inline-block;
}
.md_visitdetails_index div.waitlist div.waitlisticon {
  height: 20px;
  margin-left: 0.5rem;
  vertical-align: top;
  width: 21px;
}
.md_visitdetails_index div.waitlist div.waitlisttext {
  width: calc(100% - 21px - 0.5rem);
}
.md_visitdetails_index div.waitlist span.waitlistpretext {
  margin-left: 0.5rem;
}
.md_visitdetails_index div.waitlist div.updatewaitlistlink {
  width: auto;
}

div.updatewaitlist a.popupinstructionsicon img,
div.arrivaltime a.popupinstructionsicon img {
  margin-top: 0;
}

.md_visitdetails_index div.locationinstruction {
  padding-right: 1.7rem;
  background: url("../images/visits/location.png") no-repeat;
  background-size: 23px;
  background-position-x: -1px;
  margin-bottom: 1rem;
}
.md_visitdetails_index div.section.visitdetails div.rightcolumn {
  margin-bottom: 1rem;
}
.md_visitdetails_index div.department {
  margin-bottom: 0.3rem;
}
.md_visitdetails_index div.departmentphone {
  color: #767676;
}
.md_visitdetails_index div.arrivallocation {
  color: #363636;
}
.md_visitdetails_index div + div.signup {
  margin-top: 0.5rem;
}

.visitinfo div.arrivallocation {
  color: #363636;
}

.md_visitdetails_index div.providerphotocontainer {
  display: block;
  vertical-align: top;
  width: auto;
}
.md_visitdetails_index div.providerphotocontainer .link {
  display: inline-block;
  padding: 0 0.5rem;
}
.md_visitdetails_index div.providerphotocontainer .providerphoto.infolink {
  position: relative;
}
.md_visitdetails_index div.providerphotocontainer .providerphoto.infolink::after {
  content: "";
  display: block;
  background-image: url("../images/info.png");
  width: 1rem;
  height: 1rem;
  position: absolute;
  bottom: 0;
  right: calc(50% + 2rem - 0.6rem - 4px);
  background-size: cover;
  background-color: white;
  border-radius: 50%;
}
.md_visitdetails_index div.visitinformation a.button {
  display: inline-block;
  min-width: 130px;
}
.md_visitdetails_index div.section.card.echeckin div.echeckinclinicsteps ul li img,
.md_visitdetails_index .echeckin ul li img {
  vertical-align: middle;
  display: inline-block;
  width: 1.3rem;
  margin-left: 6px;
}
.md_visitdetails_index div.section.card.echeckin div.echeckinclinicsteps ul li div,
.md_visitdetails_index .echeckin ul li div {
  vertical-align: middle;
  display: inline-block;
  width: auto;
}
.md_visitdetails_index div.visitinstructionsheader {
  color: #767676;
  font-size: 0.9rem;
}
.md_visitdetails_index div.visitinstructionscontent > div:last-child {
  margin-bottom: 0;
}
.md_visitdetails_index div.smallcards {
  border-top: 1px solid #dbdbdb;
  padding: 14px 0px 14px 0;
}
.md_visitdetails_index div.smallcards div.section.smallcard:not(:first-child) {
  border-right: 1px solid #dbdbdb;
}
.md_visitdetails_index div.smallcards > div {
  display: inline-block;
  vertical-align: top;
}
.md_visitdetails_index div.smallcard div.visitinformation {
  max-width: calc(80% - 5.25rem);
}
.md_visitdetails_index div.smallcards div.section.smallcard div.content {
  margin-right: auto;
  margin-left: auto;
  height: 100%;
}
.md_visitdetails_index div.smallcards div.section.smallcard div.content .contentcontainer {
  margin-right: auto;
  margin-left: auto;
  height: 100%;
  position: relative;
}
.md_visitdetails_index div.smallcards div.section.smallcard div.content .buttoncontainer {
  position: absolute;
  bottom: 0;
  min-height: 2rem;
  padding-top: 2rem;
}
.md_visitdetails_index .paymentamount {
  font-size: x-large;
  margin: 0 0 0.5rem 0;
}
.md_visitdetails_index .paymentamount.originalprepayamount {
  text-decoration: line-through;
}
.md_visitdetails_index .paymentPretext {
  margin-left: 0.2rem;
}
.md_visitdetails_index .prepaydiscounttext {
  font-size: 1rem;
  vertical-align: middle;
  margin: 0.2rem 0;
}
.md_visitdetails_index div.echeckindetails {
  padding-right: 1rem;
}

img.echeckincompleteimage {
  vertical-align: middle;
  display: inline-block;
  margin-top: 1rem;
}

#main .title {
  height: auto;
}
#main .title .subtitle {
  font-size: 1rem;
  color: #363636;
}

#sidebar .multiMonthCalendar {
  font-size: 0.8rem;
}

#sidebar .externalorgnotice {
  margin: 1rem 0;
}

.smallcards.visitdetails.noborder {
  border: none;
}

.PVGbanner {
  background-color: #ffffd0;
  max-width: none;
  width: calc(100% + 2.5rem);
  margin-right: -1.3rem;
  border-top: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb;
  padding: 0.75rem 1rem 0.75rem 0;
  margin-bottom: 1rem;
  display: block;
}
.PVGbanner img {
  width: auto;
  height: 2.2rem;
  vertical-align: middle;
}

.PVGbannertext {
  display: inline-block;
  width: 90%;
  vertical-align: middle;
}
.PVGbannertext .header {
  padding: 0 0 0.2rem 0;
}

.detailspagePVG {
  margin-bottom: 0.5rem;
}
.detailspagePVG img {
  width: 1.5rem;
  vertical-align: middle;
}
.detailspagePVG span {
  vertical-align: middle;
}

div.syncingpage div.loadingmessage {
  text-align: center;
}
div.syncingpage div.loadingmessage img.loadingspinner {
  margin: auto;
  display: block;
}

ul > li.noShowCanceledShiftedCard {
  background-image: repeating-linear-gradient(-135deg, #dbdbdb, #dbdbdb 5px, #eaeaea 5px, #eaeaea 15px);
}

.noShowCanceledShiftedCard > .date > div {
  color: #767676;
}

a.clickable.noprint.disabled {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: #767676;
}

.upcomingVisitsOnly {
  visibility: hidden;
}

/* #region New Filter Menu */
.currentOptionLabel {
  margin: 0px !important;
}

.truncate {
  max-width: 400px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

div.visitfooter div.ajaxspinner {
  width: 18px;
  height: 18px;
  margin: 0 auto;
}

/* #endregion New Filter Menu */
@media only screen and (max-width: 768px) {
  .Visits .card .card_icons:not(:empty) ~ .actions {
    margin-bottom: 24px;
  }
}
.visitcomponent .visitcomponent-header {
  padding-bottom: 1rem;
}

.upcomingvisits .inlineloading {
  display: flex;
}

/* #region unviewed indicator */
.pastvisit.card.unviewed .info .visit-type, .pastvisit.card.unviewed .info .appointment-status {
  font-weight: bold;
}
.pastvisit.card .unviewed-indicator {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 0.5rem;
  border-radius: 50%;
  font-size: 0px;
  border: 2.2px solid #ffffff;
}
.pastvisit.card.unviewed .unviewed-indicator {
  display: inline-block;
}

/* #endregion */
/* #region appointment request */
.requestsList .card.withButton {
  flex-direction: column;
  padding-bottom: 0.5rem;
}
.requestsList .card.withButton.schedulable {
  min-height: fit-content;
}
.requestsList .actions-container .middle {
  text-align: center;
  justify-content: center;
}

.requestsList .button {
  display: inline-block;
}
.requestsList .visitcomponent-header {
  padding-bottom: 1rem;
}
.requestsList .readyCard {
  position: relative;
  margin-right: 2rem;
  min-height: 2.5rem;
  width: initial;
}
.requestsList .readyCard .readCardText {
  padding-right: 0.5rem;
  padding-top: 0rem;
}
@media screen and (min-width: 769px) {
  .requestsList .readyCard .readCardText {
    padding-top: 0.5rem;
  }
}
.requestsList .readyCard .calendarIcon {
  width: 2rem;
  height: 2rem;
  position: absolute;
  margin-right: -2rem;
}

.appointmentRequests .additionalActionsDetails {
  position: relative;
  margin-right: 2rem;
  width: initial;
}
.appointmentRequests .additionalActionsDetails.fdilink:before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-size: 1rem 1rem;
  top: 0.3rem;
  background-image: url("../images/visits/send.svg");
  margin-top: -0.2rem;
  position: absolute;
  margin-right: -1.5rem;
}

/* #endregion */
/*#region OpenNote links */
.timeLineDetails .cardlist .pastvisit.card {
  display: flex;
  flex-direction: column;
}
.timeLineDetails .cardlist .pastvisit.card > .visit-details {
  flex-grow: 1;
}

.visit-summary-icon-container {
  position: relative;
}

.visit-summary-icon {
  vertical-align: middle;
  cursor: pointer;
  padding: 4px;
}

.visit-summary-icon-noPadding {
  vertical-align: middle;
  cursor: pointer;
}

/* #endregion */
/*#region Visit Header (date, time, name, provider, location) */
.subwaycontent {
  font-size: 1rem;
}
.subwaycontent .addtocalendar {
  margin-bottom: 0.25rem;
}
.subwaycontent .subwaycontentbody {
  padding: 0.5rem;
  border-radius: 2px;
  animation-duration: 300ms;
  animation-fill-mode: forwards;
}
.subwaycontent .subwaycontentbody .department .departmentName {
  font-weight: normal;
  font-size: inherit;
}
.subwaycontent .subwaycontentbody .providerphoto.small {
  width: 1.6rem;
  height: 1.6rem;
  margin-left: 0.4rem;
}

.appointmentdetailsinfopane {
  padding: 0 13pt 0 19.5pt;
  margin-left: 0.5rem;
}
.appointmentdetailsinfopane .visitheadercomponent .primarytext {
  font-size: 1.05rem;
}
.appointmentdetailsinfopane .visitheadercomponent::before {
  content: "";
  position: absolute;
  background-color: transparent;
}
.appointmentdetailsinfopane .visitheadercomponent.timecomponent:before {
  background-image: url("../images/visits/clock.png");
}
.appointmentdetailsinfopane .visitheadercomponent.locationcomponent:before {
  background-image: url("../images/visits/location.png");
}
.appointmentdetailsinfopane .visitheadercomponent.procedures:before {
  background-image: url("../images/visits/procedures.png");
}
.appointmentdetailsinfopane .visitheadercomponent.directlinks:before {
  background-image: url("../images/visits/peopleoutline.svg");
}
.appointmentdetailsinfopane .visitheadercomponent.telehealthmodevideo:before {
  background-image: url("../images/visits/videocameraoutline.svg");
}
.appointmentdetailsinfopane .visitheadercomponent.telehealthmodephone:before {
  background-image: url("../images/visits/phoneoutline.svg");
}
.appointmentdetailsinfopane .grid .row .col-4,
.appointmentdetailsinfopane .grid .row .col-6,
.appointmentdetailsinfopane .grid .row .sidebarComponentContainer.col-12 {
  padding-top: 1rem;
}
.appointmentdetailsinfopane .providerphotocell {
  text-align: center;
  padding-top: 0.7rem;
}
.appointmentdetailsinfopane .providerphotocell .providerphotoandtitle .paddedtitle {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.echeckincomplete .appointmentdetailsinfopane .providerphotoandtitle .header {
  text-align: right;
}
.echeckincomplete .appointmentdetailsinfopane .providerphotocell {
  padding-top: 0;
}

.echeckinSignupCard {
  padding: 0 1rem 0 1rem;
  margin-left: 0.5rem;
}

.casestitle {
  font-size: 1.2rem;
  padding: 0.7rem;
}

.discountedprepayamount {
  padding-left: 0.5rem;
}

.singlevisittitle {
  text-align: center;
  padding-bottom: 1rem;
}

.visitdetailsquestionnaire a {
  margin-left: 0.2rem;
}

.peoplebullet {
  margin-right: 1rem;
}
.peoplebullet:before {
  content: "•";
  font-size: 1rem;
  margin-top: -0.1rem;
  position: absolute;
  margin-right: -0.7rem;
}

.pseudobullet {
  position: relative;
  margin-right: 2rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.pseudobullet.fdilink:before, .pseudobullet.estimatelink:before, .pseudobullet.questionnairebullet:before, .pseudobullet.procedurebody:before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-size: 1rem 1rem;
  top: 0.3rem;
}
.pseudobullet.estimatelink:before {
  background-image: url("../images/visits/creditcard.svg");
}
.pseudobullet.questionnairebullet:before {
  background-image: url("../images/visits/questionnaire.svg");
}
.pseudobullet.fdilink:before {
  background-image: url("../images/visits/send.svg");
  transform: scaleX(-1);
}
.pseudobullet.procedurebody:before {
  background-image: url("../images/visits/procedures.png");
}
.pseudobullet:before {
  content: "•";
  font-size: 2rem;
  margin-top: -0.2rem;
  position: absolute;
  margin-right: -1.5rem;
}

/*#endregion quick and dirty */
.sidebarComponentContainer.col-12 {
  border-top: 1px solid #dbdbdb;
}

.mychartproxyrequesticon {
  height: 5rem;
  width: 100%;
}

.proxyrequestsubmitted {
  display: flex;
}
.proxyrequestsubmitted .submittedIcon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}
.proxyrequestsubmitted .submittedIcon > svg {
  fill: #0f784a;
  width: 28px;
  height: 28px;
}
@media only screen and (max-width: 768px) {
  .proxyrequestsubmitted .submittedIcon {
    width: 22px;
    height: 22px;
  }
  .proxyrequestsubmitted .submittedIcon > svg {
    width: 22px;
    height: 22px;
  }
}
.proxyrequestsubmitted span {
  margin-right: 0.5rem;
  text-align: right;
  font-size: 1.05rem;
}

.sidebarComponentContainer li.verticalSubwayStop {
  margin-top: 1rem;
}
.sidebarComponentContainer li.verticalSubwayStop:not(:last-child):before {
  height: calc(100% + 1rem);
}
.sidebarComponentContainer li.verticalSubwayStop:first-child {
  margin-top: 0;
}
.sidebarComponentContainer .subwaystopexpand:after,
.sidebarComponentContainer .subwaystopcontract:after {
  width: 0.75rem;
  height: 0.75rem;
  background-size: 0.75rem 0.75rem;
  margin-top: 0.3rem;
  margin-right: 0.2rem;
  background-image: url("../images/down_chevron_blue.svg");
}
.sidebarComponentContainer .subwaychevron {
  height: 0.7rem;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  animation-fill-mode: forwards;
  animation-duration: 300ms;
  animation-name: none;
}

.pseudoEleHost:before,
.pseudoEleHost:after {
  content: "";
  position: absolute;
  background-color: transparent;
}

.visitactionbanner {
  position: relative;
  padding: 1rem;
}
.visitactionbanner:first-child {
  width: auto;
  max-width: none;
  margin-left: -9px;
  margin-right: -0.5rem;
}
.visitactionbanner:before, .visitactionbanner:after {
  position: absolute;
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-size: auto 60%;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 0.12;
  height: 100%;
  max-height: 260px;
}
.visitactionbanner.checkinwatermark:before {
  background-image: url("../images/visits/scheduling_checkin_watermark.png");
  background-position: bottom right;
}
.visitactionbanner.paymentwatermark:after {
  background-image: url("../images/visits/scheduling_copay_watermark.png");
  background-position: bottom left;
}
.visitactionbanner.videovisitwatermark:after {
  background-image: url("../images/visits/scheduling_videovisit_watermark.png");
  background-position: bottom right;
}
.visitactionbanner .header {
  margin-bottom: 0.5rem;
}
.visitactionbanner .onePayment:not(:only-child) {
  margin-bottom: 0.65rem;
}
.visitactionbanner .grid {
  position: relative;
  z-index: 1;
}
.visitactionbanner .grid .row .subtitle {
  margin-bottom: 1rem;
}
.visitactionbanner .button.nextstep,
.visitactionbanner .button.disabled,
.visitactionbanner .button.secondary {
  margin-bottom: 0.4rem;
}
.visitactionbanner .actionPretext {
  margin-bottom: 0.25rem;
}
.visitactionbanner .actionPretext + .actionPretext {
  margin-top: 0.5rem;
}

.buttoncontainer .link {
  display: inline-block;
  margin-bottom: 0.5rem;
}
.buttoncontainer .link:not(:first-child) {
  margin-top: 0.75rem;
}

.questionnaireposttext {
  margin-right: 0.2rem;
}

.finishecheckin {
  margin-top: 0.5rem;
}

.compositeinstructions {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.compositeinstructions:first-child {
  margin-top: 0;
}

.rescheduleAlertContents .header.small {
  color: black;
  padding: 0;
}

.visitactions:not(:first-child) {
  margin-top: 0.75rem;
}
.visitactions > div {
  margin-bottom: 0.5rem;
}
.visitactions .link {
  display: inline-block;
}

.grid .row [class*=col-] .location:empty,
.grid .row [class*=col-] .visitpay:empty {
  display: none;
}

.location .link {
  word-wrap: break-word;
}

.soonvisits .grid.insulated .row .soonvisitactions {
  max-width: none;
  margin-right: -24px;
  width: calc(100% + 48px);
}
.soonvisits .grid.insulated .row .soonvisitactions.buttonList.subtle {
  margin-top: -0.25rem;
  padding-top: 0;
}
.soonvisits .grid.insulated .row .soonvisitactions.buttonList.subtle img {
  padding: 4px;
}

.clickablecard {
  cursor: pointer;
}

.echeckinbanner > .grid > .row:last-child,
.echeckinbanner .grid .row > div {
  margin-bottom: 0;
}

.echeckinclinicsteps .echeckinsteplabel {
  display: inline-block;
  max-width: 80%;
  top: 0.25rem;
  margin-right: 0.2rem;
}
.echeckinclinicsteps ul li {
  position: relative;
}

.preadmissionbarcode {
  margin-top: 1.5rem;
}

.echeckinbanner .barcodeinstructions {
  margin-top: 0rem;
}
.echeckinbanner .barcode {
  margin-top: 1rem;
  border: 4px solid white;
  border-radius: 3px;
  width: 40%;
}
.echeckinbanner .barcodeInfo {
  margin-right: 2rem;
  margin-top: 0rem;
  max-width: 85%;
}
.echeckinbanner.echeckin.success .questionnaireLink {
  margin-bottom: 0.5rem;
}
.echeckinbanner .grid {
  margin-top: 0;
  margin-bottom: 0;
}
.echeckinbanner .formbuttons.grid {
  display: flex;
  margin-bottom: 0.5rem;
  margin-top: 0.5rem;
}
.echeckinbanner .formbuttons.grid div {
  width: auto;
}
.echeckinbanner .formbuttons.grid .eCheckInBannerAction {
  margin: 0rem;
}

.fullheight {
  min-height: 100%;
}

@media only screen and (max-width: 768px) {
  .confirmappointment * {
    text-align: center;
  }
  .hideresponsive {
    display: none;
  }
  .visitheadercomponent {
    margin-right: 1rem;
    padding-left: 1rem;
  }
  .visitheadercomponent:before {
    margin-right: -1.5rem;
    height: 1.25rem;
    width: 1.25rem;
    background-size: 1.25rem 1.25rem;
    margin-top: 0.1rem;
  }
  .visitheadercomponent.telehealthmodevideo:before, .visitheadercomponent.telehealthmodephone:before {
    height: 1.5rem;
    width: 1.5rem;
    background-size: 1.5rem 1.5rem;
    margin-right: -1.65rem;
    margin-top: -0.1rem;
  }
  .barcode {
    margin: 0.5rem 0;
  }
  .unconfirmPostText {
    display: block;
  }
  .visitActions > div:not(:first-child) {
    margin-top: 0.5rem;
  }
  .videovisitwatermark.checkinwatermark:before {
    display: none;
  }
  .videovisitwatermark.checkinwatermark:after {
    background-position-x: center;
  }
  .echeckincomplete .formbuttons {
    justify-content: center;
    text-align: center;
  }
  .pastVisit.card {
    padding: 1rem;
  }
  .pastVisit.card .col-12 {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .visitactionbanner:first-child {
    margin-right: -13px;
    margin-top: -9px;
  }
  .visitactionbanner .row div.col-6:not(:last-child), .visitactionbanner .row div.col-4:not(:last-child), .visitactionbanner .row div.col-3:not(:last-child) {
    padding-left: 12px;
    border-left: 1px solid #dbdbdb;
  }
  .visitactionbanner .row div.col-6:last-child .col-12, .visitactionbanner .row div.col-4:last-child .col-12, .visitactionbanner .row div.col-3:last-child .col-12 {
    margin-left: 0;
  }
  .hidenonresponsive {
    display: none;
  }
  .col-4.appointmentdetailsinfopane,
  .surgeryInfo {
    border-left: 1px solid #dbdbdb;
  }
  .surgeryInfo {
    padding: 0 1rem 0 1.5rem;
    margin-left: 0.5rem;
  }
  .visitheadercomponent {
    margin-right: min(30%, 2rem);
    padding-left: 1rem;
  }
  .visitheadercomponent:before {
    margin-right: -2.25rem;
    height: 1.75rem;
    width: 1.75rem;
    background-size: 1.75rem 1.75rem;
  }
  .visitheadercomponent.telehealthmodevideo:before, .visitheadercomponent.telehealthmodephone:before {
    height: 1.9rem;
    width: 1.9rem;
    background-size: 1.9rem 1.9rem;
    margin-right: -2.25rem;
    margin-top: -0.3rem;
  }
  .echeckincomplete .formbuttons {
    margin-right: -0.5rem;
  }
}
