/* BEGIN BASE */
html, body {
	margin: 0;
	padding: 0;
	font: 15px/22px "Lato", Arial, sans-serif;
	color: #2a2a2a;
	background-color: #fbfbff;
	background-color: #f7fbfc;
}

body.accessible-large-text-size {
	font-size: 18px;
	line-height: 26px;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	line-height: 1.35em;
}

h1 {
	margin: 4px 0/* 0*/;
	line-height: 1.25em;
}

h2 {
	font-size: 1.4em;
}

.hidden-title > h1, .hidden-title > h2, .hidden-title > h3, .hidden-title > h4, .hidden-title > h5, .hidden-title > h6 {
	display: none !important;
}

p {
	margin: 7px 0;
	padding: 2px 0;
	line-height: 1.65em;
}

p.padded {
	margin: 15px 0;
}

address {
	font-style: normal;
}

ul {
	margin: 0;
	padding: 0;
	/* list-style-type: none; */
	padding-left: 1rem;
}

ul.show-bullets {
	list-style-type: initial;
	padding-left: 1rem;
}

.pager ul {
	padding-left: 0;
}

.no-list-style ul, ul.no-list-style,
.no-list-style ol, ol.no-list-style {
	padding-left: 0;
	list-style-type: none;
}

li {
	/* line-height: 1.55em; */
	line-height: 1.55rem;
}

nav ul li {
	display: inline-block;
}

nav ul a {
	text-decoration: none;
}

.page-content ul {
	margin-top: 3px;
}

.page-content li {
	margin-bottom: 7px;
	line-height: 1.35rem;

	/* margin-bottom: 4px; */
/*	line-height: 1.65em;*/
	/* line-height: 1.45em; */
	/* padding: 2px 0; */
}


dt {
	margin: 11px 0 0;
}

dd {
	margin-inline-start: 11px;
}

a {
	color: #345c97;
}

.dark a, a.dark {
	color: #e0e0e0;
}

hr {
	border: 1px solid #e9e9e9;
}

iframe {
	border-radius: 2px;
}

.bold {
	font-weight: bold;
}

.no-select {
	user-select: none;
}

.no-margin {
	margin: 0 !important;
}

.no-margin-top {
	margin-top: 0 !important;
}

.no-margin-right {
	margin-right: 0 !important;
}

.no-margin-bottom {
	margin-bottom: 0 !important;
}

.no-margin-left {
	margin-left: 0 !important;
}

.no-margin, * .no-margin, .page-content .no-margin {
	margin: 0 !important;
}

/* END BASE */

/* BEGIN LAYOUT */
.triple-grid-layout, .triple-grid-layout-desktop,
.double-grid-layout, .double-grid-layout-desktop {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-count: 3;
	gap: 4px;
	align-items: start;
	justify-items: start;
	justify-content: start;
	align-content: space-evenly;
	line-height: 1.25em;
}

.double-grid-layout, .double-grid-layout-desktop {
	grid-template-columns: repeat(2, 1fr);
	column-count: 2;
}

ul.triple-grid-layout, ul.triple-grid-layout-desktop {
	padding: 0 11px 0 1.25rem;
	list-style-type: initial;
}

ul.triple-grid-layout li, ul.triple-grid-layout-desktop li {
	break-inside: avoid;
	page-break-inside: avoid;
	margin-right: 20px;
}

.flex-layout {
	display: flex;
}

.flex-layout.align-top, .flex-layout-desktop.align-top {
	align-items: flex-start;
}

.flex-layout.align-middle, .flex-layout-desktop.align-middle {
	align-items: center;
}

.flex-layout.align-bottom, .flex-layout-desktop.align-bottom {
	align-items: flex-end;
}

.flex-wrap {
	flex-wrap: wrap;
}

.flex-layout.padded > *, .flex-layout > *.padded {
	margin-right: 3%;
}

.flex-layout.padded > *:last-child {
	margin-right: 0;
}

.full-flex {
	flex: 1;
}

.half-flex {
	flex: 0.5;
}

.third-flex {
	flex: 0.33;
}

.quarter-flex {
	flex: 0.25;
}

.no-flex {
	flex: none;
}


.color-gray {
	color: #777;
}


/* .align-left {
	text-align: left;
}

.align-center {
	text-align: center;
}

.align-right {
	text-align: right;
} */

.larger-text {
	line-height: 1.45em;
	line-height: 1.5em;
	font-size: 1.1em;
	font-size: 1.027em;
}

.larger-text p {
	line-height: inherit;
}

.single-line-text {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.page-width {
	margin: auto;
	padding: 0 11px;
	width: 1175px;
	max-width: 89%;
}

.page-header {
	padding: 21px 0 18px;
	padding: 23px 0 17px;
	padding: 24px 0 18px;
	flex-direction: row;
	align-items: center;
	line-height: 84px;
}

.page-top {
	background-color: #fcfcfc;
	background-color: #fcfcfb;
	background-color: #fbfcfc;
	border-bottom: 5px solid #626466;
	border-bottom: 5px solid #9a9ea6;
	border-bottom: 3px solid #717d94;
}

.page-top:after {
	content: "";
	display: block;
	/*888f9d*/
	background-color: #323d4e;
	height: 1px;
}

.page-content {
	margin-top: 32px;
}

.utility-bar {
	padding: 1px 0;
	line-height: 33px;
	height: 33px;
	line-height: 30px;
	height: 30px;
	font-size: 0.8em;
	font-size: 0.75em;
	/* background-color: #122643; */
	background-color: #234880;
	/* border-bottom: 1px solid #8aa8d5; */
}

.utility-bar, .utility-bar a, .utility-bar select {
	color: #c0cbdb;
}

.utility-bar .button {
	padding: 3px 11px;
	font-size: 1em;
}

.primary-logo {
	/* padding: 11px 0; */
	/* padding: 15px 0; */
	/* padding: 17px 0; */
	width: 244px;
	height: 62px;
	vertical-align: middle;
	background: url("/themes/custom/advanceddallas/resources/img/Primary Logo.png") center center no-repeat;
	background-size: contain;
	border-radius: 5px;
}

.page-navigation {
	position: relative;
	margin: 0 auto;
	/* padding-top: 14px; */
	/* padding-bottom: 12px; */
	padding-top: 11px;
	padding-bottom: 9px;
	/* border-top: 1px solid #cad7c9; */
	border-top: 1px solid #ccd9ca;
}

.page-navigation nav {
	width: 100%;
}

.page-navigation a {
	display: inline-block;
	/* margin: 3px 18px 3px 0; */
	/* padding: 2px 0; */
	margin: 3px 9px 3px 0;
	padding: 2px 5px;
	font-family: "Fira Sans", sans-serif;
	font-style: normal;
	/* font-size: 1em; */
	font-size: 0.93em;
	text-transform: uppercase;
	font-optical-sizing: auto;
	color: #333;
}

.page-navigation a:hover {
	color: #127309;
	background-color: #f6f6f6;
	border-radius: 2px;
}

.page-navigation a.active {
	text-decoration: underline;
	text-underline-position: under;
	text-decoration-thickness: from-font;
	color: #114e0b;
}

.page-navigation h4 {
	line-height: 1.55em;
	font-weight: normal;
	color: #0f0f0f;
}

.page-navigation h4 + p {
	margin-top: 1px;
	font-size: 0.9em;
	color: #777;
}

.page-navigation .dropdown > a:after {
	display: inline-block;
	content: "";
	/* margin-left: 5px; */
	/*margin-left: 4px;*/
	margin-left: 2px;
	width: 17px;
	height: 17px;
	vertical-align: sub;
	background: url("/themes/custom/advanceddallas/resources/img/Chevron Icon.png") center center no-repeat;
}

.page-navigation .dropdown a + * {
	z-index: 100;
	display: none;
	position: absolute;
	/* top: 46px; */
	top: 44px;
	left: 0;
	padding: 11px 0;
	width: 100%;
	border-radius: 2px;
	background-color: #fcfcfc;
	/* background: linear-gradient(#fcfcfc, #fcfafa 7%, #f4f6fa); */
	box-shadow: 0 2px 3px #ddd;
}

.page-navigation .dropdown:hover a + * {
	display: block;
}

.page-navigation .dropdown .flex-layout {
	padding: 0 15px;
}

.page-navigation .dropdown li {
	width: 33%;
	/* min-width: 220px; */
	vertical-align: top;
}

.page-navigation .dropdown a + *:before {
	display: block;
	content: "";
	margin: auto auto 11px;
	width: 97%;
	height: 1px;
	background-color: #d0d0d0;
}

.page-navigation .dropdown a + * a {
	/* display: block; */
	display: flex;
	margin: 0 3px;
	/* padding: 18px 15px; */
	padding: 18px 15px 15px;
	height: 100%;
	text-transform: none;
	border-bottom: 1px solid #e0e0e0;
	box-sizing: border-box;
}

.page-navigation .dropdown a + * a > *:first-child {
	flex: none;
	padding-right: 9px;
	width: 35%;
}

.primary-navigation-search-input {
	padding: 0;
	width: 100%;
	line-height: 2rem;
	text-indent: 11px;
	background-image: url("/themes/custom/advanceddallas/resources/img/Search Icon.png");
	background-repeat: no-repeat;
	background-position: 97% center;
	background-size: 1.12em;
	background-color: #fefefe;
	border: 1px solid #999;
	border-radius: 3px;
	outline: none;
}

.primary-navigation-search-input:focus {
	border-color: #345c97;
}

.page-footer {
	margin-top: 52px;
	font-size: 0.934em;
	color: #e0e0e0;
	background-color: #203d6a;
}

.page-footer-content {
	padding-top: 24px;
	color: #d4d4d4;
	justify-content: space-between;
	align-content: flex-start;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: flex-start;
}

.page-footer ul {
	padding-left: 0;
	list-style-type: none;
}

.page-footer li {
	line-height: 1.45em;
	padding: 3px 0;
}

.page-footer-content:last-child {
	justify-content: flex-start;
	margin-top: 20px;
	padding: 20px 0;
	border-top: 1px solid #2e599b;
}

.page-footer-content > section {
	flex: 1;
	margin: 0 35px 25px 0;
	min-width: 150px;
}

.footer-logo {
	display: inline-block;
	margin: 0 auto 11px;
	width: 42px;
}

.page-footer .copyright-info-text {
	flex: auto;
	text-align: right;
}

.page-footer h2 {
	margin: 17px 0 15px;
	font-weight: normal;
	color: #bfc5ce;
}

.page-footer h3 {
	color: #e0e0e0;
}

.page-footer a {
	text-decoration: none;
	/*color: #e0ebff;*/
}

.page-footer a:hover {
	text-decoration: underline;
}

.page-footer-content .sub-footer-link {
	margin-right: 35px;
	white-space: nowrap;
}

.page-top p, .page-footer p {
	line-height: 1.35em;
}

.hero-section {
	position: relative;
	min-height: 450px;
	color: #efefef;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.hero-section > * {
	position: relative;
	z-index: 2;
}

.hero-section.background-darken:after {
	z-index: 1;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #171719;
	opacity: 0.78;
}

.hero-section .attribution-text {
	position: relative;
	padding: 0 11px;
	user-select: none;
	text-align: right;
	font-size: 0.8em;
	color: #8a8a8a;
}

.hero-section .attribution-text a {
	color: #999;
}

a.button {
	display: inline-block;
	/*margin: auto 25px;*/
	margin: auto 5px;
	padding: 8px 11px;
	white-space: nowrap;
	text-decoration: none;
	/* font-size: 0.925em; */
	font-size: 0.83em;
	color: #f7f7f7;
	background-color: #345c97;
	border: 1px solid #345c97;
	border-radius: 3px;
}

a.button.outline-style {
	color: #345c97;
	background-color: transparent;
	border: 1px solid #345c97;
}

a.button.primary, a.button.primary-inverse, a.button.secondary-inverse, a.button.tertiary-inverse {
	user-select: none;
	line-height: 1.2em;
	font-weight: bold;
}

a.button.primary:hover {
	background-color: #4571b2;
	border-color: #4571b2;
}

a.button.primary-inverse {
	color: #345c97;
	background-color: transparent;
	border: 1px solid #345c97;
}

a.button.primary-inverse:hover {
	text-decoration: underline;
	color: #4571b2;
	border-color: #4571b2;
}

a.button.secondary-inverse {
	color: #296a23;
	background-color: transparent;
	border: 1px solid #34792d;
}

a.button.secondary-inverse:hover {
	text-decoration: underline;
}

a.button.tertiary-inverse {
	color: #973450;
	background-color: transparent;
	border: 1px solid #97343c;
}

a.button.tertiary-inverse:hover {
	background-color: #efd7d9;
}

a.extern-link:after,
.extern-link > a:after {
	display: inline-block;
	content: "";
	margin-left: 5px;
	width: 11px;
	height: 11px;
	vertical-align: middle;
	background: url("/themes/custom/advanceddallas/resources/img/Etern Link Icon.png") center center no-repeat;
	background-size: contain;
}

.dark a.extern-link:after, a.extern-link.dark:after,
.extern-link > .dark a:after, .extern-link > a.dark:after {
	background-image: url("/themes/custom/advanceddallas/resources/img/Etern Link Dark Icon.png");
}

.aspect-ratio-portrait {
	position: relative;
	aspect-ratio: 3/4;
	margin-bottom: 4px;
	background: #f0f0f0 url("/themes/custom/advanceddallas/resources/img/Provider Icon.png") no-repeat center center;
	background-size: 80%;
	border-radius: 2px;
}

.aspect-ratio-portrait a {
	display: block;
	width: 100%;
	height: 100%;
}

.aspect-ratio-portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aspect-ratio-16-9 {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.aspect-ratio-16-9 > * {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aspect-ratio-16-9 a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 568px) {
	.triple-grid-layout-desktop, .double-grid-layout-desktop {
		display: revert;
		column-count: 1;
	}

	.flex-layout-desktop {
		display: revert;
	}

	.flex-layout-desktop > *:not(:last-child) {
		margin-bottom: 11px;
	}

	.block-layout-mobile {
		display: block;
	}

	.inline-block-layout-mobile {
		display: inline-block;
	}

	.page-header {
		display: block;
		margin: 0 auto;
		padding: 11px 0;
		line-height: 2.5em;
		font-size: 0.9em;
	}

	.page-navigation nav {
		margin-bottom: 4px;
	}

	.page-navigation li {
		display: block;
	}

	.page-navigation .dropdown a + * {
		position: relative;
		top: 0;
		padding: 0;
		background-color: inherit;
		box-shadow: none;
	}

	.page-navigation .dropdown a + *:before {
		display: none;
	}

	.page-navigation .dropdown a + *:after {
		display: block;
		content: "";
		margin: auto auto 11px;
		width: 97%;
		height: 1px;
		background-color: #d0d0d0;
	}

	.page-navigation .dropdown a + * a {
		padding: 9px 6px;
	}

	.page-navigation .dropdown .flex-layout {
		padding: 0;
	}

	.page-footer .copyright-info-text {
		margin-top: 11px;
		line-height: 1.35em;
		text-align: left;
	}

	.page-navigation ul {
		padding-left: 0;
	}
}

@media screen and (min-width: 569px) {
	.flex-layout-desktop {
		display: flex;
	}

	.flex-layout-desktop.padded > *, .flex-layout-desktop > *.padded {
		margin-right: 3%;
	}

	.flex-layout-desktop.padded > *:last-child {
		margin-right: 0;
	}

	.not-padded-desktop, .padded.not-padded-desktop, .padded .not-padded-desktop {
		margin: 0 !important;
	}

	.not-padded-top-desktop, .padded.not-padded-top-desktop, .padded .not-padded-top-desktop {
		margin-top: 0 !important;
	}

	.hidden-desktop {
		display: none;
	}
}
/* END LAYOUT */

.section {
	/*margin-bottom: 51px;*/
	margin: 20px 5px;
}

h2.section-heading {
	margin: 20px 0 9px;
	color: #333;
	color: #2e3033;
}

h3.section-heading {
	margin: 15px 0 3px;
	color: #333;
	/*color: #2e3033;*/
}

/* BEGIN COMPONENTS */
.info-box {
	display: flex;
	margin: 15px 2px;
	padding: 15px 32px 15px 15px;
	width: fit-content;
	max-width: 650px;
	align-items: center;
	background: #e9e1d2;
	border-radius: 2px;
}

.info-box.less-padding {
	padding: 11px 20px 11px 10px;
}

.info-box:before {
	display: inline-block;
	content: "i";
	margin: 0 19px 0 8px;
	padding: 0 9px;
	height: min-content;
	color: #999;
	border: 1px solid #999;
	border-radius: 50%;
}

.info-box.less-padding:before {
	margin-right: 15px;
}

.info-box p {
	margin: 0;
	padding: 0;
}

.nav-search-button {
	line-height: 1.35em;
	display: inline-block;
	margin-left: 9px;
	padding: 0 4px;
	vertical-align: middle;
	text-align: center;
	text-decoration: none; color: #626466;
	border-radius: 2px;
}

.nav-search-button img {
	height: 17px;
	vertical-align: middle;
}

.nav-search-button span {
	display: block;
	font-size: 0.8em;
	text-align: center;
}

.video-listing {
	/*min-width: 250px;*/
	min-width: 240px;
	max-width: 20%;
	margin: 7px 11px 9px 0;
	flex: .2;
}

.video-listing h3 {
	margin: 7px auto 4px;
	padding: 0 4px;
	line-height: 1.25em;
	font-weight: normal;
	color: #111;
}

.video-listing p {
	padding: 0 4px;
	line-height: 1.32em;
	color: #4a4a4a;
}

table.office-hours__table {

}

tr.office-hours__item.office-hours__item-current {
	background: #efe5da;
}

table {
	margin: 11px 0;
	min-width: 80%;
	font-family: sans-serif;
	font-size: 0.8rem;
	letter-spacing: 1px;
	/* border: 2px solid rgb(140 140 140); */
	border-collapse: collapse;
}

caption {
	caption-side: bottom;
	padding: 10px;
	font-weight: bold;
}

thead, tfoot {
	background-color: rgb(228 240 245);
}

th, td {
	border: 1px solid rgb(160 160 160);
	/* padding: 8px 10px; */
	padding: 5px 11px;
}

td:last-of-type {
	/* text-align: center; */
}

tbody > tr:nth-of-type(even) {
	background-color: rgb(237 238 242);
}

tfoot th {
	text-align: right;
}

tfoot td {
	font-weight: bold;
}
/* END COMPONENTS */

/* Gutenberg Editor Mods */
@media (min-width: 782px) {
	.wp-block-column:not(:last-child) {
		margin-right: 11px;
		padding-right: 11px;
		margin-right: 3%;
	}
}

/* Provider Page */
.provider-headshot {
	margin-left: 7px;
	width: 150px;
	height: min-content;
	border-radius: 5px;
}

@media screen and (min-width: 569px) {
	.half-flex .section-heading:first-child {
		 margin-top: 0;
	}
}

.wp-block-buttons {
	margin: 9px 0;
}

/* DRUPAL OVERRIDES */
.field-content {
	overflow: hidden;
}

.field-content img {
	border-radius: 2px;
}

/* .views-field-field-portrait img { */
	/* width: 100%; */
	/* height: auto; */
/* } */

.views-element-container h2, .views-element-container h3 {
	margin: 20px 0 11px;
}



/* WP Components */
.wp-block-separator {
	margin: 20px auto 25px;
	border-color: #b6bec9;
}

.wp-block-details {
	margin: 0 auto 7px;
	padding-bottom: 7px;
	border-bottom: 1px dashed #c2d9c2;
}

.wp-block-details summary::marker {
	color: #4c8a4c;
}

.wp-block-details summary {
	user-select: none;
}

.wp-block-details summary + p {
	margin-left: 5px;
	padding-left: 11px;
	line-height: 1.35rem;
	border-left: 1px solid #c6cfc6;
}

.wp-block-heading {
	margin: 20px auto 9px;
}

.views-element-container {
	/* margin: 32px auto; */
	margin: 0 0 32px;
}



.sm-padding {
	padding: 4px 6px;
}

.md-padding {
	padding: 11px 15px;
}

.lg-padding {
	padding: 22px 25px;
}


/* DRUPAL FORMS */
form.views-exposed-form {
	margin-bottom: 32px;
	padding: 11px 15px;
	background-color: #edf4f5;
	border-radius: 2px;
}

.form-item {
	display: inline-block;
	margin: 3px auto;
	padding: 4px;
}

.form-item.form-type-textfield {
	display: block;
}

.form-item label {
	margin-right: 4px;
}

.form-item input {
	padding: 4px 7px;
	box-sizing: border-box;
}

.form-item select {
	box-sizing: border-box;
	padding: 3px 4px;
}


.form-item input, .form-item select {
	border: 1px solid #9baeb1;
	border-radius: 3px;
}

.form-actions {
	margin: 9px 0 3px;
	padding: 13px 7px 0;
	border-top: 1px solid #e1eaeb;
}

.form-actions input {
	/* padding: 6px 15px; */
	padding: 7px 18px;
	background-color: #668b8e;
	border: none;
	color: #f7fbfc;
	border-radius: 2px;
	box-sizing: border-box;
}

/* DRUPAL PAGER */
.pager__item a {
	display: inline-block;
	padding: 5px 4px;
	border-radius: 2px;
}

.pager__item.is-active a {
	background-color: #5f7fad;
	color: #f7fbfc;
	padding: 5px 7px;
	margin: auto 4px;
}

/* DRUPAL VIEWS */
.views-view-responsive-grid h3 {
	margin: 5px auto 1px;
	font-size: 1.12em;
	line-height: 1.25em;
}

.views-field-field-description p {
	line-height: 1.2em;
}


/* DRUPAL VIEWS */
.views-field.views-field-title h4.field-content {
	margin-bottom: 5px;
	font-size: 1.2em;
}





hr.branded, div.branded {
	position: relative;
	border: none;
}

hr.branded:before, div.branded:before {
	content: "";
	position: absolute;
	display: block;
	margin-top: 9px;
	width: 100%;
	height: 1px;
	background: #dadde5;
}

hr.branded:after, div.branded:after {
	content: "";
	position: relative;
	display: block;
	margin: auto;
	padding: 0 7px;
	width: 130px;
	height: 18px;
	background-image: url("/themes/custom/advanceddallas/resources/img/Here's to your health.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 85%;
	background-color: #f7fbfc;
}
