:root {
    --cpt-checkmark-color: black;
    --cpt-border-color: #ccc;
    --cpt-box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1);
    /* Doctor and related post grids*/
    --cpt-all-doctor-per-row: 5;
    --cpt-related-doctor-per-row: 4;
    --cpt-all-doctor-per-row-mobile: 150px;
    --cpt-related-posts-per-row: 3;
    /*Doctors per row ROW layout */
    --cpt-filter-col: 5;
    /* Doctor filter COL layout */
    --cpt-doc-archive-cols: 3;
    /* Image as[ect rations */
    --cpt-doctor-aspect: 4 / 5;
    --cpt-rel-posts-aspect: 16 / 9

}

.doctors-section {
    background-color: #929191;
}

.doctors-section h2 {
    margin-bottom: 30px;
}

.doctors-container {
    padding: 2em 0;
    margin: 0 auto;
    max-width: var(--gl-max-width, 1350px);
    width: 90%;
}

.cpt-grid {
    display: grid;
    grid-gap: 2em;
    grid-template-columns: repeat(var(--cpt-all-doctor-per-row), 1fr);
    grid-auto-rows: 1fr;
}

.single-doctors .cpt-grid,
.service-page .cpt-grid,
.post-type-archive-doctors .cpt-grid {
    grid-template-columns: repeat(var(--cpt-all-doctor-per-row), 1fr);
}

.single-locations .cpt-grid {
    grid-template-columns: repeat(var(--cpt-related-doctor-per-row), 1fr);
}

.single-locations .related-posts-wrapper .cpt-grid {
    grid-template-columns: repeat(var(--cpt-related-posts-per-row), 1fr);
}

.cpt-doctor-image-link,
.cpt-related-post {
    width: 100%;
    background: none;
}

.cpt-doctor-image-link a.doctor-headshot-link:hover,
a.location-related-post-link:hover .related-post-title {
    color: #298fc2;
}

.cpt-doctor-image-link > a.doctor-headshot-link,
.cpt-related-post a.location-related-post-link {
    display: block;
    text-align: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: var(--gl-button-bg);
    padding: 0;
    transition: 100ms;
}

.cpt-doctor-image-link .doctor-headshot-link img,
.cpt-related-post .location-related-post-link img {
    width: 100%;
    object-fit: contain;
    height: auto;
    object-position: center;
    display: block;
    margin: 0 auto;
}

.cpt-doctor-image-link .doctor-headshot-link img {
    aspect-ratio: var(--cpt-doctor-aspect);
}

.cpt-related-post .location-related-post-link img {
    aspect-ratio: var(--cpt-rel-posts-aspect);
}

.cpt-related-post .location-related-post-link img.no-featured {
    object-fit: contain;
    background: #fff;
    padding: 5px;
}

.doctor-name,
.related-post-title {
    margin-bottom: 9px;
    font-size: 1.1em;
    font-weight: 700;
}

.cpt-location-info a {
    text-decoration: none;
}

.cpt-location-info .flex-wrapper > div:first-child {
    width: 33%;
    padding-right: 2em;
}

.cpt-location-info .flex-wrapper > div:nth-child(2) {
    flex: 1;
}

.cpt-location-info iframe {
    width: 100%;
}

.cpt-location-info h2 {
    margin-bottom: 0.7em;
}

.location-phone-list {
    list-style: none;
    padding-left: 0;
    margin: 1em 0;
}

.phone-note {
    font-size: 0.9em;
    margin-top: -0.5em;
    display: block;
    font-style: italic;
}

.doctor-featured-image {
    margin-bottom: 1em;
}

/* Single Doctors and Locations */
.single-cpt-wrapper {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    justify-content: space-between;
}

.single-cpt-wrapper > div:first-child {
    width: 25%;
    border-right: 1px solid var(--cpt-border-color);
    padding-right: 2em;
}

.single-cpt-wrapper > div:nth-child(2) {
    padding-left: 2em;
    flex: 1;
}

.embed-container.location-page {
    padding-bottom: 50%;
    max-width: 100%;
}

.single-cpt-wrapper .embed-container {
    padding-bottom: 80%;
    max-width: 100%;
}

.doctor-specialties-locations ul,
.single-location-info ul {
    list-style: none;
    padding-left: 0;
    margin: 1em 0;
}

.doctor-specialties-locations li .ui-button {
    margin: 0 auto 1em auto;
    width: 100%;
    max-width: 300px;

}

.doctor-posts-list a {
    display: block;
}

.doctor-posts-list li {
    padding: 1em 0;

}

.doctor-posts-list li:not(:last-child) {
    border-bottom: 1px solid var(--cpt-border-color);

}

.single-location-buttons {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-direction: column;
    align-items: flex-start;

}

.single-doctors .doctor-specialties-locations h3 {
    margin-bottom: 10px;
}

h3.doctor-additional-specialties {
    color: #0a4b78;
    font-size: 1.1em;
    margin-top: 0;
    text-transform: uppercase;
}

.related-post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-gap: 1em;
}

.doc-item {
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
}

.doctor-archive-container {
    background: none;
    text-align: justify;
    min-height: 425px;
}

.flex-wrapper.flex-start {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.doctor-filter-controls {
    margin-top: 2em;
    padding-bottom: 2em;
    border-bottom: 1px solid var(--cpt-border-color);
}

.search-field-div {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.search-field-div > div {
    width: 33%;
    max-width: 250px;
    text-align: center;
    display: inline-block;
    vertical-align: top;
    margin: 0;
    background: transparent;
    border-radius: 3px;

}

.search-field-div select,
.search-field-div input {
    width: 90%;
    padding: 6px;
    border: 1px solid var(--cpt-border-color);
}

.search-field-div div h2 {
    font-family: inherit;
    display: inline-block;
    font-size: 1.5em;
    margin-bottom: 0;
    margin-top: 0;
}

.doc-search-field {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.doctor-filter-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    margin-left: -1%;
    margin-right: -1%;
}

.doctor-filter-grid .cpt-doctor-image-link {
    width: calc((100% / var(--cpt-filter-col)) - 2%);
    margin-bottom: 2%;
    margin-right: 1%;
    margin-left: 1%;
}

/* Doctor archive COL layout */
.doctor-cols .doctor-archive-container {
    display: grid;
    grid-template-columns: repeat(var(--cpt-doc-archive-cols), 1fr);
    grid-gap: 0;
}

.doctor-cols .doctor-type-heading {
    text-align: center;
}

.doctor-cols .doctor-archive-container > div:not(:last-child) {
    border-right: 1px solid var(--cpt-border-color);
}

.doctor-cols .doctor-archive-container > div {
    padding: 0 1.5em;
}

.doctor-cols .cpt-doctor-image-link {
    width: calc((100% / 2) - 2%);
}

/* End Doctor archive COL layout */

.doc-search-field button {
    font-size: 12px;
    border-radius: 50px;
    position: absolute;
    right: 18px;
    display: none;
}

.doctor-additional-specialties {
    min-height: 20px;
}

.dr-clear-btn,
.dr-clear-btn:active,
button.dr-clear-btn:focus {
    display: block;
    width: 200px;
    background: var(--gl-button-bg);
    border-radius: 0;
    outline: none;
    border: none;
    color: var(--gl-button-color);
    padding: 6px 12px;
    text-transform: uppercase;
    transition: 0.1s;
    font-weight: 300;
}

.dr-clear-btn:hover {
    background: var(--gl-button-bg-hover);
    color: var(--gl-button-color-hover);
}

.dr-clear-btn {
    margin: 20px auto 0 auto;
}

#errorMessage {
    margin-top: 1em;
    text-align: center;
    height: 1em;
    width: 100%;
}

.doctor-author-card {
    background: #cecece;
    display: grid;
    grid-template-columns: 1fr 4fr;
    grid-gap: 1em;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 1em;
    margin-bottom: 1em;
}

.doctor-author-card__written-wrap {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    align-items: center;
}

.doctor-author-card svg {
    margin-right: 0.5em;
    width: 16px;
    height: 16px;
    padding-bottom: 2px;
}

.doctor-author-card svg g {
    fill: var(--cpt-checkmark-color);
}

.doctor-author-card__label {
    font-weight: 300;
    font-size: 1.1em;
    margin-bottom: 0;
}

.doctor-author-card__title {
    margin-top: 10px;
    margin-bottom: 10px;
}

.doctor-author-card a.ui-button {
    margin: 0;
}

.doctor-author-card .doctor-author-card__excerpt {
    margin-bottom: 10px;
}

@media (max-width: 1280px) {

    .doctor-filter-grid .cpt-doctor-image-link {
        width: calc((100% / 4) - 2%);
    }

    .doctor-cols .cpt-doctor-image-link {
        width: calc((100% / 2) - 2%);
    }
}

@media (max-width: 991px) {

    .doctor-filter-grid .cpt-doctor-image-link {
        width: calc((100% / 3) - 2%);
    }

    .doctor-cols .cpt-doctor-image-link {
        width: calc((100% / 2) - 2%);
    }

    .cpt-grid {
        grid-gap: 1em;
    }

    .single-doctors .cpt-grid,
    .service-page .cpt-grid,
    .single-locations .cpt-grid,
    .single-locations .related-posts-wrapper .cpt-grid {
        grid-template-columns: repeat(auto-fit, minmax(var(--cpt-all-doctor-per-row-mobile), 1fr));
    }

    .doctor-specialties-locations {
        display: flex;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .doctor-specialties-locations > div {
        width: 48%;
    }

    .single-cpt-wrapper > div:first-child {
        width: 100%;
        border-right: none;
        padding-right: 0;
    }

    .single-cpt-wrapper > div:nth-child(2) {
        padding-left: 0;
        width: 100%;
    }

}

@media (max-width: 767px) {

    .search-field-div > div {
        width: 50%;
    }

    .doctor-filter-grid .cpt-doctor-image-link {
        width: calc((100% / 2) - 2%);
    }

    .cpt-doctor-image-link {
        padding: 0;
    }

    .doctor-filter-grid .cpt-doctor-image-link {
        padding-bottom: 10px
    }

    .cpt-doctor-image-link > a.doctor-headshot-link,
    .cpt-related-post a.location-related-post-link {
        padding: 0.5em;
    }

    .related-post-title,
    .doctor-name {
        font-size: 1em;
    }

    .cpt-location-info .flex-wrapper > div:first-child {
        width: 100%;
        padding-right: 0;
    }

    .cpt-location-info .flex-wrapper > div:nth-child(2) {
        flex: auto;
    }

    .search-field-div fieldset {
        width: 50%;
    }

    .dr-clear-btn {
        margin-top: 1em;
    }

    .doctor-cols .doctor-archive-container > div:not(:last-child) {
        border-right: none;
    }

    .doctor-cols .doctor-archive-container > div {
        padding: 0;
    }

    .doctor-cols .doctor-archive-container {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 0;
    }
}

@media (max-width: 479px) {

    .doctor-specialties-locations > div {
        width: 100%;
    }

    .search-field-div div h2 {
        margin-top: 10px;
    }

}