/* Doctors and Locations Styles */
.popup-content{
	border-radius: 1rem;
}
/* Shared styles for Listing and Detail Pages */

.star-rating {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 0 .5rem;
}
.star-rating .star-mask {
    width: 12rem;
    height: 2.2rem;
    -webkit-mask: url("../svg/mask-star-ratings.svg") no-repeat center;
    mask: url("../svg/mask-star-ratings.svg") no-repeat center;
    background-color: var(--color-gray);
}
.star-rating .star-mask > .fill {
    display: block;
    height: 100%;
    background-color: #F3C742;
}

/* some tweaks to default icon styling just for doctor/location items */
address a.icon-directions,
address a.icon-map {
    display: inline-block;
}

.icon-items .icon-left, 
.locations-hours .icon-left {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.icon-items .icon-left:before, 
.locations-hours .icon-left:before {
    flex: 0 0 auto;
}

a.icon-phone:not(.btn),
.icon-phone a:not(.btn),
a[href ^= 'tel:']:not(.btn) {
    color: var(--color-black);
}

/* Listing Pages */

.page-find-a-doc .site-main,
.page-find-a-location .site-main {
    position: relative;
    overflow: hidden;
}

.row-search {
    padding: 2rem 0;
}

.row-search .form-row {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    gap: 2rem 0;
}
.row-search .form-row input.search-icon-left {
    flex: 0 0 calc(100% - 6rem);
    order: 1;
    background-image: none;
    padding-left: 1.6rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.row-search .form-row .doctor-search-link {
    flex: 0 0 calc(100% - 6rem);
    order: 1;
}
.form-row .doctor-search-link > a {
    display: inline-flex;
    align-items: center;
    margin-top: .5rem;
    cursor: pointer;
}
.form-row .doctor-search-link > a:before {
	content: "";
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	margin-right: .5rem;
	-webkit-mask: url(../svg/icon-info-2.svg) no-repeat center;
	mask: url(../svg/icon-info-2.svg) no-repeat center;
	background-color: var(--color-black);
	margin-bottom: .1rem;
}
.form-row .doctor-search-link a:after {
	content: "";
	display: block;
	position: absolute;
	top: 1.8rem;
	right: 1.5rem;
	height: 2.5rem;
	width: 2.5rem;
}
.row-search .form-row .geolocation-wrap {
    flex: 0 0 100%;
    order: 3;
}
.row-search .form-row .info-wrap {
    flex: 0 0 calc(100% - 6rem);
    order: 1;
}
.row-search .form-row .btn-search {
    flex: 0 0 6rem;
    order: 2;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.row-filters.desktop {
    display: none;
}

.row-filters.mobile {
    display: block;
}
.row-filters.mobile > .wrapper {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
}

.open-mobile-filters,
.mobile-view-toggle {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 1rem 0;
    cursor: pointer;
}
.open-mobile-filters:before,
.mobile-view-toggle:before,
.row-filters .switch.video-icon:before {
    flex: 0 0 auto;
    content: "";
    width: 1em;
    height: 1em;
    margin-right: .5rem;
    background-color: currentColor;
}
.open-mobile-filters:before {
    -webkit-mask: url("../svg/icon-filter.svg") no-repeat center;
    mask: url("../svg/icon-filter.svg") no-repeat center;
}
.mobile-view-toggle.map:before {
    -webkit-mask: url("../svg/icon-map-2.svg") no-repeat center;
    mask: url("../svg/icon-map-2.svg") no-repeat center;
}
.mobile-view-toggle.list:before {
    -webkit-mask: url("../svg/icon-list.svg") no-repeat center;
    mask: url("../svg/icon-list.svg") no-repeat center;
}
.row-filters .switch.video-icon:before {
    -webkit-mask: url("../svg/icon-play-2.svg") no-repeat center;
    mask: url("../icon-angle-play.html") no-repeat center;
}

.row-filters.mobile .switch {
    flex: 0 0 100vw;
    margin: 0;
    padding: 1rem 5vw;
    border-top: .1rem solid var(--color-gray);
    border-bottom: .1rem solid var(--color-gray);
}
.row-filters.mobile .switch input {
    margin-left: auto;
}
.page-find-a-doc .row-filters.mobile .switch.video-icon {
    margin-top: -.1rem;
}

.filters-overlay {
    display: none;
}
.filters-overlay.open {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
}
.filters-overlay .filters-header,
.filters-overlay .choices {
    padding: 1rem 5vw;
    background-color: var(--color-gray-light);
    border-bottom: .1rem solid var(--color-gray);
}
.filters-overlay .filters-header {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.5rem;
}
.filters-overlay .filters-header .close-mobile-filters {
    margin-left: calc(100% - 1.8rem);
    width: 1.8rem;
    height: 1.8rem;
    overflow: hidden;
    text-indent: -200vw;
    -webkit-mask: url("../svg/icon-close.svg") no-repeat center;
    mask: url("../svg/icon-close.svg") no-repeat center;
    color: inherit;
    background-color: var(--color-black);
    cursor: pointer;
}
.filters-overlay .filters-header strong {
    flex: 0 0 auto;
}

.filters-overlay .accordion {
    margin: 0;
}
.filters-overlay .accordion > li {
    padding-left: 5vw;
    padding-right: 5vw;
}
.filters-overlay .accordion-toggle {
    flex-flow: row-reverse;
    justify-content: space-between;
    margin: 1.5rem 0;
    font-size: 2rem;
}
.filters-overlay .accordion-toggle:before {
    flex-basis: 2rem;
    height: 2rem;
    margin-right: 0;
    margin-left: 1rem;
    -webkit-mask: url(../svg/icon-angle-down-2.svg) no-repeat center;
    mask: url(../svg/icon-angle-down-2.svg) no-repeat center;
}
.filters-overlay .accordion-toggle.open:before {
    -webkit-mask-image: url(../svg/icon-angle-up.svg);
    mask-image: url(../svg/icon-angle-up.svg);
}
.filters-overlay .accordion-content {
    margin-left: 0;
}

.row-filters .choices__inner {
    margin: -.5rem 0;
}
.row-filters .choices .choices__list {
    display: inline;
}
.row-filters .choices .choices__item {
    display: inline-block;
    margin: .5rem .5rem .5rem 0;
    padding: .6rem 1.6rem;
    color: var(--color-purple-light);
    border: .1rem solid var(--color-purple-light);
    border-radius: 2.5rem;
    background-color: var(--color-white);
}
.row-filters .choices .choices__item button {
    -webkit-appearance: none;
    display: inline-block;
    vertical-align: middle;
    width: 1.2rem;
    height: 1.2rem;
    padding: 0;
    margin: 0 0 0 1rem;
    overflow: hidden;
    text-indent: -200vw;
    -webkit-mask: url("../svg/icon-close.svg") no-repeat center;
    mask: url("../svg/icon-close.svg") no-repeat center;
    background-color: var(--color-black);
    border: none;
    cursor: pointer;
}
.row-filters .choices .choices__item button:hover {
    background-color: var(--color-purple-light);
}
.row-filters .choices .choices__input {
    display: none;
}
.row-filters .choices .clear_all_tags {
    display: inline-block;
    padding: .6rem 1.6rem;
    color: var(--color-white);
    border: .1rem solid var(--color-purple);
    border-radius: 2.5rem;
    background-color: var(--color-purple);
    cursor: pointer;
}
.row-filters.mobile .choices .choices__item,
.row-filters.mobile .choices .clear_all_tags {
    font-size: 1.2rem;
}

.row-filters .ages-seen .form-row {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
}
.row-filters .ages-seen .form-row input {
    padding: .8rem;
    border-color: #DADADA;
}
.row-filters .ages-seen .form-row span {
    margin-top: calc(1.75em + .5rem); /*line-height of text + label bottom margin*/
    padding: .8rem; /*match padding of input*/
    color: #DADADA;
}

.row-results {
    padding: 2rem 0;
}
.row-results .map-area {
    display: none;
    height: 60rem;
    width: 100vw;
    margin: -2rem -5vw;
    border-top: .1rem solid var(--color-gray);
    border-bottom: .1rem solid var(--color-gray);
}
.row-results .map-area iframe {
    width: 100%;
    height: 100%;
}
.row-results .results-footer {
    padding-top: 2rem;
}

.display-options {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-bottom: 2rem;
}
.display-options .mobile-hide {
    display: none;
}
.display-options .mobile-show {
    flex: 0 0 100%;
}
.display-options .sorting {
    position: relative;
}
.display-options .sorting-toggle {
    display: inline-flex;
    align-items: center;
    margin-left: .5rem;
    cursor: pointer;
}
.display-options .sorting-toggle:after {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    margin-left: .5rem;
    -webkit-mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
    mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
    background-color: currentColor;
}
.display-options .sorting-toggle.open:after {
    -webkit-mask: url("../svg/icon-angle-up.svg") no-repeat center;
    mask: url("../svg/icon-angle-up.svg") no-repeat center;
}
.display-options .sorting-dropdown {
    display: none;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 6.5rem;
    padding: 2rem;
    white-space: nowrap;
    background-color: var(--color-white);
    border: .1rem solid var(--color-gray);
}

.results-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.results-list > li {
    position: relative;
    margin: 0;
    padding: 2rem;
    background-color: var(--color-white);
}
.results-list > li + li {
    margin-top: 2rem;
}
.results-list > li figure {
    position: relative;
    width: 12rem;
    height: 14rem;
    margin: 0 auto 2rem auto;
    padding: 0;
}
.results-list > li figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.results-list.doctors > li figure img {
    object-position: center 20%;
}
.results-list > li figure a.bio-video-btn {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 4rem;
    height: 4rem;
    padding: .8rem;
    text-indent: -200vw;
    overflow: hidden;
    background-color: var(--color-purple);
}
.results-list > li figure a.bio-video-btn:hover {
    background-color: var(--color-purple-light);
}
.results-list > li figure a.bio-video-btn:before {
    content: "";
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    margin-bottom: .8rem;
    -webkit-mask: url("../svg/icon-play-2.svg") no-repeat center;
    mask: url("../svg/icon-play-2.svg") no-repeat center;
    background-color: var(--color-white);
}
.results-list > li .distance {
    position: absolute;
    top: 2rem;
    right: 2rem;
    font-size: 1.4rem;
    line-height: 1;
}
.results-list > li .name {
    text-align: center;
}
.results-list > li .specialty {
    margin-top: .5rem;
    text-align: center;
}
.results-list > li .star-rating {
    margin: .5rem 0;
    justify-content: center;
}
.results-list > li address {
    margin: .5rem 0 1rem 0;
}
.results-list > li .icon-items {
    margin-top: 0;
}
.results-list > li .icon-items .icon-left {
    margin-top: .5rem;
}
.results-list > li .icon-items .icon-left:before {
    background-color: var(--color-purple);
}
.results-list > li .btn {
    width: 100%;
}

/* Detail Pages */

.page-dl-detail .breadcrumbs {
    padding-top: 2rem;
    border-bottom: 15rem solid transparent;
}

.dl-detail-header {
    transform: translateY(-15rem);
    margin-bottom: -15rem;
}

.dl-detail-frame-header {
    margin-top: 16rem;
}
.dl-detail-header > .wrapper {
    background-color: var(--color-white);
    padding: 2rem;
}


.dl-detail-header figure {
    position: relative;
    width: 100%;
    height: 26rem;
    margin: 0 0 2rem 0;
    padding: 0;
}
.doctor-detail .dl-detail-header figure {
    width: 24rem;
}
.dl-detail-header figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.doctor-detail .dl-detail-header figure img {
    object-position: center 20%;
}

.dl-detail-header .name .pronunciation {
    display: inline-block;
    vertical-align: middle;
    height: 2.4rem;
    width: 2.4rem;
    overflow: hidden;
    text-indent: -200vw;
    background-color: var(--color-purple);
    -webkit-mask: url("../svg/icon-speaker-solid.svg") no-repeat center;
    mask: url("../svg/icon-speaker-solid.svg") no-repeat center;
}

.dl-detail-header .specialty,
.dl-detail-header .specialties,
.dl-detail-header .sub-specialties {
    margin: .5rem 0 0 0;
}
.dl-detail-header .sub-specialties > em:not(:last-of-type):after {
    content: "\2022";
    display: inline-block;
    margin: 0 .5rem;
}
.dl-detail-header .star-rating {
    margin: 1rem 0 2rem 0;
}

.dl-detail-header .icon-items,
.dl-detail-header address {
    margin: 0;
}
.dl-detail-header .icon-items a,
.dl-detail-header address a {
    color: inherit;
}
.dl-detail-header .icon-items .icon-left:not(:first-child) {
    margin-top: .5rem;
}
.dl-detail-header .icon-items .icon-left:before,
.dl-detail-header address .icon-left:before {
    background-color: var(--color-purple);
}
.dl-detail-header .icon-items .icon-left .icon-info:after {
    background-color: var(--color-gray);
}

.dl-detail-header address span {
    display: block;
    margin-bottom: .5rem;
}
.dl-detail-header address span br + br + br {
    display: none;
}

.dl-detail-header .hours {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 1rem;
    margin: 0 0 2rem 0;
}
.dl-detail-header .name + .hours {
    margin-top: 2rem;
}
.dl-detail-header .hours .status.is-open {
    padding-right: 1rem;
    line-height: 1;
    border-right: .1rem solid var(--color-black);
}
.dl-detail-header .hours .status.is-open {
    color: var(--color-green);
}
.dl-detail-header .hours .status.is-closed {
    color: var(--color-error);
}

.dl-detail-header .schedule-toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}
.dl-detail-header .schedule-toggle:after {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    margin-left: .5rem;
    -webkit-mask: url("../svg/icon-angle-right.svg") no-repeat center;
    mask: url("../svg/icon-angle-right.svg") no-repeat center;
    background-color: currentColor;
}
.dl-detail-header .schedule-toggle.open:after {
    -webkit-mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
    mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
}

.dl-detail-header .schedule-dropdown {
    display: none;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 2rem;
    background-color: var(--color-white);
    border: .1rem solid var(--color-gray);
}
.dl-detail-header .schedule-dropdown p {
    margin: 0;
}
.dl-detail-header .schedule-dropdown p + p {
    margin-top: 1rem;
}

.dl-detail-header .btm-row, 
.dl-detail-header .btn-group {
    width: 100%;
}
.dl-detail-header .btn-group {
    margin-top: 2rem;    
}
.dl-detail-header .btn-group .icon-phone,
.dl-detail-header .btn-group a:not(.btn) {
    flex: 0 0 100%;
}
.dl-detail-header .btn-group .icon-phone, 
.dl-detail-header .btn-group a:not(.btn) {
    color: inherit;
}

.locations-hours {
    list-style: none;
    padding: 0;
}
.locations-hours > li {
    border: .1rem solid var(--color-gray);
}
.locations-hours > li + li {
    margin-top: 2rem;
}
.locations-hours figure img {
    display: block;
    width: 100%;
    height: 100%;
}
.locations-hours .location,
.locations-hours .hours {
    padding: 2rem;
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem 0;
}
.locations-hours .location {
    justify-content: space-between;
}
.locations-hours .hours {
    justify-content: center;
    background-color: var(--color-gray-light);
}
.locations-hours .location p,
.locations-hours .hours p {
    margin: 0;
}

/* Clinic hours only (replacing .locations-hours on clinic detail pages) 8/2022 */
.clinic-hours {
    list-style: none;
    padding: 0;
    border: .1rem solid var(--color-gray);
}
.clinic-hours .hours {
    padding: 2rem;
    background-color: var(--color-gray-light);
}
.clinic-hours figure img {
    display: block;
    width: 100%;
    height: 100%;
}
.clinic-hours h5 {
    margin-bottom: 2rem;
}
.clinic-hours h5.icon-left:before {
    font-size: 1.25em;
    height: 1em;
    background-color: var(--color-purple);
}
.clinic-hours .accordion-toggle {
    margin: 0rem 0;
}

.parking-info {
    margin: 2rem 2rem 0 2rem;
}
.parking-info h5.icon-left:before {
    font-size: 1.25em;
    height: 1em;
    background-color: var(--color-purple);
}
.parking-info p {
    margin-left: 3rem;
    margin-right: 3rem;
}

.rating-summary .star-rating {
    justify-content: center;
}
.rating-summary .star-rating .star-mask {
    width: 20rem;
    height: 3.4rem;
}

.rating-list {
    list-style: none;
    padding: 0;
}
.rating-list li + li {
    margin-top: 2rem;
}
.rating-list .star-rating {
    margin-bottom: 1rem;
}

.providers-list {
    list-style: none;
    padding: 0;
}
.providers-list > li {
    margin: 0;
    padding: 2rem 0;
}
.providers-list > li:first-child {
    padding-top: 0;
}
.providers-list > li:last-child {
    padding-bottom: 0;
}
.providers-list > li + li {
    border-top: .1rem solid var(--color-gray);
}
.providers-list > li.sorting {
    display: flex;
    flex-flow: row nowrap;
    gap: 4rem;
    padding: 0;
}
.providers-list > li.sorting + li {
    border-top: none;
}
.providers-list > li.sorting .sort-toggle {
    display: inline-flex;
    align-items: center;
    color: inherit;
    cursor: pointer;
}
.providers-list > li.sorting .sort-toggle:after {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    margin-left: .5rem;   
}
.providers-list > li.sorting .sort-toggle.descending:after {
    -webkit-mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
    mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
     background-color: currentColor;
}
.providers-list > li.sorting .sort-toggle.ascending:after {
    -webkit-mask: url("../svg/icon-angle-up.svg") no-repeat center;
    mask: url("../svg/icon-angle-up.svg") no-repeat center;
     background-color: currentColor;
}
.providers-list .location ul {
    list-style: none;
    padding-left: 0;
}
.providers-list .cta {
    width: 16rem;
    margin-top: 1rem;
}
.providers-list .cta .btn {
    display: block;
    margin-bottom: 1rem;
}
.provider-subspecialty-tooltip {
    display: none;
}
.results-list .details .inline-popup .tooltip-wrap {
    display: none;
}
.results-list .details .specialty {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: .5rem;
}
.results-list .details .specialty em {
    margin-right: 0.5rem; 
}
.results-list .details .specialty .icon-info {
    cursor: pointer;
    font-size: 1.4rem; /* Adjust size as needed */
}
.results-list .details .specialty  .tooltip-wrap {
    position: relative;
    display: none;
}
.results-list .provider-subspecialty-tooltip {
    display: none;
    position: absolute;
    background-color: var(--color-white);
    border: 1px solid var(--color-gray);
    padding: 10px 10px 10px 20px;
    width: 100%;
    min-width: 250px;
    z-index: 1000;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.results-list .provider-subspecialty-tooltip ul {
        padding-left: 4rem;
}
.results-list > li .provider-subspecialty-tooltip.bottom {
    left: 75%;
    top: 160%;
    transform: translateX(-75%);
    padding: 20px 10px 10px 10px;
}
.results-list .tooltip-wrap:hover .provider-subspecialty-tooltip {
    display: block;
}
.results-list .provider-subspecialty-tooltip::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -1.65rem; /* Half of the diamond's width */
    width: 3rem;
    height: 3rem;
    transform-origin: center;
    transform: translateY(-50%) rotate(45deg);
    background-color: var(--color-white);
    border-left: .1rem solid var(--color-gray);
    border-bottom: .1rem solid var(--color-gray);
    -webkit-box-shadow: -.3rem .3rem .3rem 0 rgba(0, 0, 0, .10);
    box-shadow: -.3rem .3rem .3rem 0 rgba(0, 0, 0, .10);
}
.results-list .provider-subspecialty-tooltip.bottom::before {
    top: -5px;
    left: 70%;
    margin-left: -5px;
    border-bottom: none;
    border-right: none;
    border-top: .1rem solid var(--color-gray);
    transform: translateY(-35%) rotate(45deg);
    box-shadow: none;
}

.provider-tooltip {
    display: none;
}

.provider-tooltip .book-now-popup {
    margin-bottom: .25rem;
    margin-top: .5rem;
}

.resources-grid {
    display: grid;
    grid-template-columns: 100%;
    grid-auto-rows: auto;
    gap: 2rem;
}

.resource {
    border: .1rem solid var(--color-gray-light);
}
.resource .title {
    padding: 2rem;
    font-family: inherit;
    font-size: inherit;
    font-weight: bold;
    background-color: var(--color-gray-light);
}
.resource .content {
    padding: 2rem;
}
.resource .content img {
    display: block;
    width: 100%;
    height: 15rem;
    object-fit: cover;
}
.resource .content p {
    margin: 1rem 0;
}
.resource .links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.resource .links li {
    margin: 0;
    padding: 1.4rem 2rem;
    border-bottom: .1rem solid var(--color-gray-light);
}
.resource .links li:last-child {
    border-bottom: -.1rem;
}
.resource .links li a {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    color: inherit;
}
.resource .links li a:after {
    flex: 0 0 4rem;
    height: 1.6rem;
    margin-left: 1rem;
}
.resource .links li a:not([href$=".pdf"]):after {
    content: "";
    -webkit-mask: url("../svg/icon-curved-arrow-right-2.svg") no-repeat center;
    mask: url("../svg/icon-curved-arrow-right-2.svg") no-repeat center;
    background-color: var(--color-gray);
}
.resource .links li a:not([href$=".pdf"]):hover:after {
    background-color: currentColor;
}
.resource .links li a[href$=".pdf"]:after {
    content: "PDF";
    color: var(--color-white);
    font-size: 1.2rem;
    line-height: 1.6rem;
    font-weight: bold;
    text-align: center;
    background-color: var(--color-purple-light);
}
.resource .links li a[href$=".pdf"]:hover:after {
    text-decoration: none;
    background-color: var(--color-purple);
}

/* Lightboxes */

.lightbox-locations {
    list-style: none;
    padding: 0;
}
.lightbox-locations > li {
    position: relative;
    padding: 2rem;
    background-color: var(--color-gray-light);
}
.lightbox-locations address {
    display: flex;
    flex-flow: column;
    margin: .5rem 0;
}
.lightbox-locations .hours-toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}
.lightbox-locations .hours-toggle:after {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    margin-left: .5rem;
    -webkit-mask: url("../svg/icon-angle-right.svg") no-repeat center;
    mask: url("../svg/icon-angle-right.svg") no-repeat center;
    background-color: currentColor;
}
.lightbox-locations .hours-toggle.open:after {
    -webkit-mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
    mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
}
.lightbox-locations .hours {
    display: none;
}
.lightbox-locations .hours p {
    margin: 1rem 0 0 0;
}

/* Definition list styles */

.definition-container {
    height: 38rem;
}
.definition-list {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    margin: 0;
    box-shadow: 0 0.3rem 0.6rem 0 rgb(0 0 0 / 15%);
}
.definition-description {
    display: none;
}
.definition-list dt.selected {
    background-color: var(--color-purple-light);
    color: var(--color-white);
}
.definition-list dt {
    padding: .8rem 2rem;
    cursor: pointer;
}
.definition-list dd {
    margin: 2rem;
    display: none;
}
.definition-list dd.open {
    display: block;
}
.definition-list dd div :last-child {
    margin-bottom: 0;
}

/* Specialties grid */

.specialties-grid {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    text-align: center;
    padding: 0;
}
.specialties-grid img {
    display: block;
    width: 29rem;
    height: 17rem;
    object-fit: cover;
}
.specialties-grid li {
    margin: 0;
}
.specialties-grid p {
    margin-top: 0;
}
.specialties-grid a {
    display: inline-block;
    position: relative;
    width: fit-content;
    border: .5rem solid var(--color-gray-light);
}
.specialties-grid a:hover:before {
    content: '';
    display: block;
    background-color: var(--color-purple-light);
    opacity: .66;
    position: absolute;
    inset: 0;
    border: none;
}
.specialties-grid a:hover:after {
    content: "";
    position: absolute;
    height: 5rem;
    width: 5rem;
    -webkit-mask: url(../svg/icon-curved-arrow-right-2.svg) no-repeat center;
    mask: url(../svg/icon-curved-arrow-right-2.svg) no-repeat center;
    background-color: var(--color-white);
    top: calc(50% - 2.5rem);
    left: calc(50% - 2.5rem);
}

.filters-dropdown .icon-info:after {
    width: 0.8em;
    height: 1.25em;
}

/* --------------------------------------------------------------------------------------------------------------------------- */
/* Responsive Styles ONLY below this line ------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width: 375px) {
    .results-list > li {
        padding: 4rem 0 2rem 0;
    }
    .results-list > li figure {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(12rem + 2rem); /*actual image width + padding*/
        height: calc(14rem + 4rem + 2rem); /*actual image height + padding*/
        padding: 4rem 0 2rem 2rem;
        margin: 0;
    }
    .results-list > li figure a.bio-video-btn {
        bottom: 2rem;
    }
    .results-list > li .details {
        min-height: 14rem;
        padding: 0 2rem;
        margin-left: 14rem;
    }
    .results-list > li .name {
        text-align: left;
    }
    .results-list > li .specialty {
        text-align: left;
    }
    .results-list > li .star-rating {
        justify-content: flex-start;
    }
    .results-list > li .icon-items {
        margin-top: auto;
    }
    .results-list > li .btn {
        width: calc(100% + 14rem);
        margin-left: -14rem;
    }

}

@media screen and (min-width: 480px) {

    .resource .content img {
        float: right;
        width: 13rem;
        height: 13rem;
        margin-left: 2rem;
    }
    .resource .content img + p {
        margin-top: 0;
    }

    .specialties-grid {
        grid-template-columns: 1fr 1fr;
    }

}

@media screen and (min-width: 768px) {

    .mobile-view-toggle {
        margin-top: 2rem;
        margin-bottom: -2rem;
    }

    .row-search {
        padding: 4rem 0;
    }
    .row-search .form-row {
        display: flex;
        flex-flow: row nowrap;
        align-items: flex-start;
        gap: 0 2rem;
        margin-bottom: -3rem; /*move down form-row the height of the "Use my current location" link, so padding above & below looks even*/
    }
    .row-search .form-row input.search-icon-left{
        flex: 1 1 50%;
        order: unset;
        padding-left: 5rem;
        background: url("../svg/icon-search-2.svg") var(--color-white) no-repeat 1.5rem center / 2.5rem;
        border-radius: 1.5rem;
    }
	.row-search .form-row .doctor-search-link	{
        flex: 1 1 50%;
        order: unset;
    }
    .row-search .form-row .geolocation-wrap {
        flex: 1 1 50%;
        order: unset;
    }
    .row-search .form-row .btn-search {
        flex: 0 0 8rem;
        order: unset;
        border-radius: 1.5rem;
    }

    .row-filters.mobile {
        display: none;
    }

    .row-filters.desktop {
        display: block;
        position: relative;
        padding: 2rem 0;
        border-top: .1rem solid var(--color-gray);
        border-bottom: .1rem solid var(--color-gray);
    }
    .row-filters.desktop > .wrapper {
        position: relative;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 2rem;
    }
    .row-filters.desktop > .wrapper:before {
        content: "";
        position: absolute;
        top: calc(100% + 2.1rem);
        left: 2rem;
        width: 3rem;
        height: 3rem;
        transform-origin: top left;
        transform: rotate(-45deg);
        background-color: var(--color-gray-light);
        border-left: .1rem solid var(--color-gray);
        border-bottom: .1rem solid var(--color-gray);
    }

    .filters-toggle {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        padding-left: 2rem;
        border-left: 0.1rem solid var(--color-gray);
        white-space: nowrap;
        cursor: pointer;
    }
    .filters-toggle:before {
        content: "";
        width: 2rem;
        height: 2rem;
        margin-right: .5rem;
        -webkit-mask: url("../svg/icon-filter.svg") no-repeat center;
        mask: url("../svg/icon-filter.svg") no-repeat center;
        background-color: currentColor;
    }
    .filters-toggle:after {
        content: "";
        width: 1.4rem;
        height: 1rem;
        margin-left: 1rem;
        -webkit-mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
        mask: url("../svg/icon-angle-down-2.svg") no-repeat center;
        background-color: currentColor;
    }
    .filters-toggle.open:after {
        -webkit-mask: url("../svg/icon-angle-up.svg") no-repeat center;
        mask: url("../svg/icon-angle-up.svg") no-repeat center;
    }

    .row-filters .switch.video-icon:before {
        width: 2.5rem;
        height: 2.5rem;
    }

    .filters-dropdown {
        display: none;
        position: absolute;
        z-index: 2;
        top: 100%;
        left: 0;
        width: 100%;
        padding: 3rem 0;
        background-color: var(--color-white);
        -webkit-box-shadow: 0 .3rem .6rem 0 rgba(0,0,0,.15);
        box-shadow: 0 .3rem .6rem 0 rgba(0,0,0,.15);
    }
    .filters-dropdown .filters-grid {
        display: grid;
        grid-gap: 3rem;
    }
    .page-find-a-doc .filters-dropdown .filters-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }
    .page-find-a-location .filters-dropdown .filters-grid {
        grid-template-columns: repeat(3, 1fr);
        /*height: 39rem;*/
        height: 23.5rem;
    }
    .filters-dropdown .filters-grid > div {
        display: flex;
        flex-flow: column nowrap;
        overflow: hidden;
    }
    .filters-dropdown .filters-grid > div ul {
        flex-grow: 1;
        list-style: none;
        overflow-y: auto;
        overflow-x: hidden;
        margin: 1rem 0 0 0;
        padding: 1rem 1.5rem;
        border: .1rem solid #DADADA;
    }
    .page-find-a-doc .filters-dropdown .filters-grid > div ul {
        max-height: 18rem;
    }

    .filters-dropdown .filters-grid > div ul.radio-group-vertical {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        overflow: auto;
        padding: .5rem 0 .5rem 1.5rem;
    }

    .filters-dropdown .filters-grid > div ul.radio-group-vertical li {
        margin-right: 1rem; 
    }

    .filters-dropdown .filters-grid > div ul.radio-group-vertical li + li {
        margin-top: 0;
    }

    .row-filters .ages-seen .form-row {
        flex-grow: 1;
        margin: 1rem 0 0 0;
        padding: 1rem 1.5rem 1.5rem 1.5rem;
        border: .1rem solid #DADADA;
    }

    .row-results {
        padding: 4rem 0;
    }
    .row-results .wrapper {
        display: grid;
        grid-template-columns: 60% 40%;
        grid-template-rows: repeat(2, auto);
    }
    .row-results .results-area,
    .row-results .map-area,
    .row-results .results-footer {
        display: block !important; /*reset display after removing the mobile map/list toggle*/
    }
    .row-results .results-area {
        order: 1;
    }
    .row-results .map-area {
        order: 2;
        height: auto;
        width: auto;
        margin: 0;
        border: none;
    }
    .row-results .results-footer {
        order: 3;
    }

    .results-list {
        height: 96rem;
        overflow-y: auto;
        background-color: var(--color-white);
    }

    .row-results .results-footer {
        padding-top: 4rem;
    }

    .display-options {
        margin: 0;
        padding: 2rem;
        border-bottom: .1rem solid var(--color-gray);
        background-color: var(--color-white);
    }
    .display-options .mobile-show {
        display: none;
    }
    .display-options .mobile-hide {
        display: inline;
    }

    .results-list > li {
        padding: 3rem 0;
    }
    .results-list > li + li {
        margin-top: 0;
        border-top: .1rem solid var(--color-gray);
    }
    .results-list > li figure {
        width: 14rem;
        height: calc(17rem + 3rem + 3rem);
        padding: 3rem 0 3rem 2rem;
    }
    .results-list > li figure a.bio-video-btn {
        bottom: 3rem;
    }
    .results-list > li .details {
        position: relative;
        display: flex;
        flex-flow: column;
        align-items: stretch;
        min-height: 17rem;
        margin-left: 14rem;
    }
    .results-list > li .distance {
        top: 0;
        font-size: inherit;
    }
    .results-list > li .name {
        margin-right: 8rem; /*room for distance*/
    }
    .results-list > li .btn {
        width: auto;
        margin-left: 0;
    }

    .page-dl-detail .breadcrumbs {
        padding-top: 0;
    }

    .dl-detail-header > .wrapper {
        position: relative;
        padding: 0;
    }

    .dl-detail-header figure,
    .doctor-detail .dl-detail-header figure {
        position: absolute;
        top: 0;
        left: 0;
        width: 30rem;
        height: 100%;
        padding: 1rem 0 1rem 1rem;
        margin-bottom: 0;
    }

    .dl-detail-header .details-frame {
        margin-left: 0 !important;
    }

    .dl-detail-header .details {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        min-height: 38rem;
        padding: 3rem 2rem 2rem 4rem;
        margin-left: 30rem;
    }

    .dl-detail-header .btn-group {
        flex-flow: column nowrap;
    }

    .locations-hours > li {
        display: grid;
        grid-template-columns: repeat(2, 50%);
        grid-template-rows: repeat(2, auto);
    }
    .locations-hours > li + li {
        margin-top: 4rem;
    }
    .locations-hours figure img {
        object-fit: cover;
    }
    .locations-hours .location,
    .locations-hours .hours {
        padding: 2rem 3rem;
    }
    .locations-hours .hours {
        grid-row: 1 / 3;
        grid-column: 2 / 2;
    }

    .clinic-hours {
        display: flex;
        flex-flow: row nowrap;
        align-items: stretch;
    }
    .clinic-hours .hours {
        flex: 1 1 auto;
    }
    .clinic-hours figure {
        flex: 0 0 calc(50% - 2rem);
    }
    .clinic-hours figure img {
        object-fit: cover;
    }

    .parking-info {
        margin-top: 4rem;
    }

    .rating-list {
        margin: 4rem 0;
    }
    .rating-list li {
        display: flex;
        align-items: flex-start;
    }
    .rating-list li + li {
        margin-top: 4rem;
    }
    .rating-list .star-rating {
        flex: 0 0 12rem;
        margin-bottom: 0;
        margin-right: 4rem;
        line-height: 1.5;
    }
    .rating-list .star-rating .star-mask {
        margin-bottom: 1rem;
    }

    .providers-list > li {
        display: flex;
        flex-flow: row nowrap;
        gap: 2rem;
        padding: 4rem 2rem;
    }
    .providers-list > li.sorting {
        gap: 2rem;
        padding: 0 20rem 0 2rem;
    }
    .providers-list > li.sorting + li {
        padding-top: 2rem;
    }
    .providers-list .provider,
    .providers-list > li.sorting div:first-child {
        flex: 1 1 60%;
    }
    .providers-list .specialty,
    .providers-list .address,
    .providers-list > li.sorting div:last-child {
        flex: 1 1 40%;
    }
    .providers-list .location {
        flex: 1 1 auto;
    }
    .providers-list .cta {
        flex: 0 0 16rem;
        margin-top: 0;
        text-align: center;
    }
    .providers-list .tooltip-wrap {
        position: relative;
        display: inline-block;
    }
    .providers-list .tooltip-wrap:hover .provider-tooltip {
        display: block;
    }

    .provider-tooltip {
        position: absolute;
        z-index: 2;
        bottom: calc(100% + 2rem);
        left: -10vw;
        width: 50.5rem;
        min-height: 22rem;
        border: .1rem solid var(--color-gray);
        background-color: var(--color-white);
        -webkit-box-shadow: 0 .3rem .6rem 0 rgba(0,0,0,.15);
        box-shadow: 0 .3rem .6rem 0 rgba(0,0,0,.15);
    }
    .provider-tooltip:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 20rem;
        width: 3rem;
        height: 3rem;
        transform-origin: top left;
        transform: rotate(-45deg);
        background-color: var(--color-white);
        border-left: .1rem solid var(--color-gray);
        border-bottom: .1rem solid var(--color-gray);
        -webkit-box-shadow: -.3rem .3rem .3rem 0 rgba(0,0,0,.10);
        box-shadow: -.3rem .3rem .3rem 0 rgba(0,0,0,.10);
    }
    .provider-tooltip:after {
        /* this just creates an invisible area to fill in the gap between the doctor name you hover on and the tooltip so it doesn't disappear if you don't move your mouse up directly over the arrow on the bottom of tooltip */
        content: "";
        position: absolute;
        display: block;
        top: 100%;
        left: 0;
        width: 100%;
        height: 2rem;
        background-color: transparent;
    }
    .provider-tooltip figure {
        position: absolute;
        top: 0;
        left: 0;
        width: 18rem;
        height: 100%;
    }
    .provider-tooltip figure img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .provider-tooltip .details {
        padding: 2rem;
        margin-left: 18rem;
    }
    .provider-tooltip .icon-items {
        margin: 1rem 0 0 0;
    }
    .provider-tooltip .icon-items .icon-left:before {
        color: var(--color-purple);
    }
    .provider-tooltip .sub-specialties {
        display: flex;
        flex-flow: row wrap;
    }
    .provider-tooltip .sub-specialties em:not(:last-of-type):after {
        content: "\2022";
        display: inline-block;
        margin: 0 .5rem;
    }

    .resources-grid {
        grid-template-columns: 1fr 1fr;
    }

    .lightbox-locations address {
        position: relative;
        padding-right: 16rem; /*room for phone number*/
    }
    .lightbox-locations address .icon-phone {
        position: absolute;
        top: 0;
        right: 0;
    }

    .definition-container {
        width: 100%;
        display: flex;
        flex-flow: row nowrap;
    }
    .definition-list {
        flex: 0 0 50%;
    }
    .definition-description {
        display: block;
        flex: 0 0 50%;
        padding: 4rem;
        overflow-y: auto;

    }
    .definition-description dd {
        margin: 0;
    }
    .definition-list dd div {
        display: none;
    }
    .definition-list dd {
        margin: 0;
    }

    .specialties-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 4rem;
    }

}

@media only screen and (min-width: 980px) {

    .results-list .details .specialty .inline-popup {
        display: inline-flex;
        align-items: center;
    }

    .results-list .details .inline-popup .tooltip-wrap {
        display: inline-block;
    }

    .results-list .provider-subspecialty-tooltip {
        min-width: 210px;
    }

    .dl-detail-header .btm-row {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: flex-end;
        gap: 2rem;
        margin-top: auto;
    }
    .dl-detail-header .icon-items {
        margin-bottom: 0;
    }
    .dl-detail-header .icon-items .icon-info {
        white-space: nowrap;
    }
    .dl-detail-header .btn-group {
        margin-top: 0;
        max-width: 28rem;
    }
    .dl-detail-header .btn-group .icon-phone,
    .dl-detail-header .btn-group a:not(.btn) {
        text-align: center;
    }

    .provider-tooltip {
        left: 50%;
        transform: translateX(-50%);
    }
    .provider-tooltip:before {
        left: calc(50% - 1.5rem);
    }

    .lightbox-locations address {
        flex-flow: row wrap;
        gap: 0 1rem;
    }

    .lightbox-locations .hours {
        column-count: 3;
    }
    .lightbox-locations .hours p {
        margin: 0;
        break-inside: avoid;
    }

}

@media only screen and (min-width: 1050px) {
    .results-list .provider-subspecialty-tooltip {
        min-width: 250px;
    }
}

@media only screen and (min-width: 1280px) {

    .page-find-a-doc .filters-dropdown .filters-grid {
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: auto auto;
        /*height: 39rem;*/
        height: 34rem;
    }

        .page-find-a-doc .filters-dropdown .filters-grid > div:nth-child(1),
        .page-find-a-doc .filters-dropdown .filters-grid > div:nth-child(2),
        .page-find-a-doc .filters-dropdown .filters-grid > div:nth-child(4) {
            grid-row: span 10;
        }

        .page-find-a-doc .filters-dropdown .filters-grid > div.larger-row {
            grid-row: span 7;
        }

        .page-find-a-doc .filters-dropdown .filters-grid > div.medium-row {
            grid-row: span 5;
        }

        .page-find-a-doc .filters-dropdown .filters-grid > div.smaller-row {
            grid-row: span 3;
        }

        .page-find-a-doc .filters-dropdown .filters-grid > div ul {
            max-height: unset;
        }

    .mobile-view-toggle {
        display: none;
    }

    .clinic-hours .hours h5 {
        margin-bottom: 2rem;
    }

    .clinic-hours .hours .text-small {
        display: grid;
        grid-template-columns: 4fr 1fr;
        gap: 3rem;
        width: auto;
        margin-left: 2rem;
    }

        .clinic-hours .hours .text-small p {
            margin: 0;
        }

    .hours-address {
        margin-left: 2rem;
    }

        .hours-address > a {
            color: var(--color-purple-light);
        }

    .results-list > li figure {
        width: 24rem;
        height: 100%;
    }

        .results-list > li figure a.bio-video-btn {
            width: 6rem;
            height: 6rem;
            padding: 1rem;
        }

            .results-list > li figure a.bio-video-btn:before {
                width: 4rem;
                height: 4rem;
                margin-bottom: 1rem;
            }

    .results-list > li .details {
        margin-left: 24rem;
        padding-left: 3rem;
    }

    .results-list.doctors > li .details {
        min-height: 26rem;
    }

    .results-list > li .icon-items {
        margin-bottom: 0;
        margin-right: 16rem; /*room for button*/
    }

    .results-list > li .btn {
        position: absolute;
        bottom: 0;
        right: 2rem;
    }

    .location-detail .dl-detail-header figure {
        width: 44rem;
    }

    .location-detail .dl-detail-header .details {
        margin-left: 44rem;
    }

    .locations-hours > li {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 1fr;
    }

    .locations-hours .hours {
        grid-column: auto;
        grid-row: auto;
    }

    .rating-list .star-rating {
        margin-right: 8rem;
    }

    .providers-list .provider,
    .providers-list .specialty,
    .providers-list .address,
    .providers-list > li.sorting div:first-child,
    .providers-list > li.sorting div:last-child {
        flex-basis: 50%;
    }

    .providers-list .location ul {
        display: flex;
        flex-flow: column wrap;
        align-content: flex-start;
        max-height: 40rem;
        margin: 0;
    }

        .providers-list .location ul li {
            margin-top: 1.5rem;
        }

            .providers-list .location ul li:nth-child(n+10) {
                margin-left: 4rem;
            }
}

@media only screen and (min-width: 1440px) {

}

@media only screen and (min-width: 1600px) {

    .row-results .wrapper {
        grid-template-columns: repeat(2, 50%);
    }

    .locations-hours > li {
        grid-template-columns: 39rem auto 29rem;
    }

}
