@import url(bs-overrides.css);
:root {
    --c-main: #777777;
    --c-main-darker: #444444;
    --c-main-transparent: #77777744;
    --c-alt: #999999;
    --c-alt-darker: #8D8D8D;
    --c-alt-2: #CDCDCD;
    --c-alt-2-darker: #BEBEBE;
    --c-dark: #222222;
    --c-light: #F7F7F7;
    --c-light-darker: #DEDEDE;
    --ghc-main-text: #161920;
    --ghc-heading-text: #022b3a;
    --ghc-btn-primary: #266BB9;
    --ghc-btn-secondary: #c61d5d;
    --ghc-main-background: #ffffff;
    --ghc-alt-background: #d6eafd;
    --ghc-blue: #266BB9;
}
* {
    font-family: "source-sans-pro", sans-serif !important;
    box-sizing: border-box;
}
h1,
h2, .h2,
h3 {
    font-weight: 700;
}
h4,
h5,
h6 {
    font-weight: 600;
}
small,
.small {
    font-size: 14px !important;
}
b,
strong,
.bold {
    font-weight: 700 !important;
}
i,
em {
    font-style: italic !important;
}
.text-primary {
    color: #022b3a !important;
}
.bg-primary {
    background-color: #022b3a !important;
}
.text-secondary {
    color: #316d88 !important;
}
.bg-secondary {
    background-color: #316d88 !important;
}
h1 {
    font-size: 60px;
}
h2, .h2 {
    font-size: 44px
}
h3 {
    font-size: 30px
}
p {
    font-weight: 300;
    color: var(--ghc-main-text);
    margin-bottom: 10px
}
p span.highlight {
    color: var(--c-alt);
}
a {
    color: var(--c-dark);
}
ul {
    font-weight: 300;
    color: var(--c-dark);
    list-style: disc;
    list-style-position: outside;
    margin-left: 25px;
    margin-bottom: 10px
}
ol {
    font-weight: 300;
    color: var(--c-dark);
    list-style-type: decimal;
    list-style-position: outside;
    margin-left: 25px;
    margin-bottom: 10px
}
.form-group {
    display: inline-block;
    width: auto
}
.img-resp {
    width: 100%;
    display: block;
    margin-bottom: 30px !important
}
.contain {
    max-width: 1350px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px
}
.contain.slim {
    max-width: 920px
}
.head-section h2, .head-section .h2 {
    color: var(--ghc-main-text);
    margin-bottom: 15px
}
.head-section p {
    line-height: 1.5;
    margin-bottom: 40px
}
.text-center {
    text-align: center
}
.text-left {
    text-align: left
}
.text-right {
    text-align: right
}
.btn {
    display: inline-block;
    padding: 17px 30px;
    border: 0;
    outline: none;
    color: #fff !important;
    font-weight: 300;
    font-size: 18px;
    background-color: var(--ghc-btn-primary);
    cursor: pointer;
    text-decoration: none;
    transition: 300ms ease;
    border-radius: 50px;
    width: fit-content !important;
}
.btn:hover {
    background-color: var(--ghc-btn-primary);
    opacity: .8;
}
.input {
    border: 1px solid var(--c-main-darker);
    background-color: #fff;
    padding: 14px 22px;
    font-size: 18px;
    width: 100% !important;
    display: block;
    outline: none;
    font-weight: 300;
    -webkit-appearance: none;
    resize: none;
    border-radius: 0
}
.input::placeholder {
    color: #696969
}
.clear {
    clear: both
}
.bubble {
    height: 180px;
    width: 180px;
    border-radius: 50%;
    position: relative;
    text-align: center
}
.bubble p {
    font-size: 36px;
    font-weight: 500;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.bubble.main {
    background-color: var(--c-main);
}
.bubble.alt {
    background-color: var(--c-alt);
}
.bubble.alt-2 {
    background-color: var(--c-alt-2);
}
.bubble.main-darker {
    background-color: var(--c-main-darker);
}
.inline-links a {
    display: inline-block
}
.inline-links.left a:not(:first-child) {
    margin-left: 20px
}
.inline-links.right a:not(:last-child) {
    margin-right: 20px
}
.quote {
    padding: 60px 75px 40px;
    background-repeat: no-repeat;
    margin-bottom: 50px;
    background-color: var(--c-light);
    border-radius: 100px;
    position: relative
}
.quote:after {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    background: url(../images/quotes.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    width: 60px;
    height: 60px;
    display: block
}
.quote p {
    font-weight: 400 !important
}
.quote .person {
    text-align: right;
    font-size: 18px;
    color: var(--c-alt) !important;
    position: relative
}
.quote .person::before {
    content: '-';
    margin-right: 8px
}
.pop-box {
    padding: 20px;
    background-color: var(--ghc-btn-primary);
    color: #fff;
    border-left: 3px solid var(--ghc-btn-secondary);
    margin-bottom: 20px
}
.accordion {
    margin-top: 40px
}
.accordion .section.full .header-bar {
    grid-template-columns: auto auto
}
.accordion .section .header-bar {
    position: relative;
    padding: 15px;
    border-top: 1px solid var(--c-light-darker) !important;
    transition: border 300ms ease;
    cursor: pointer;
    display: grid;
    grid-template-columns: 150px 1fr;
    padding-right: 50px
}
@media (max-width: 767px) {
    .accordion .section .header-bar {
        grid-template-columns: auto;
        grid-template-rows: auto auto
    }
}
.accordion .section .header-bar .heading {
    font-size: 18px;
    font-weight: bold;
    color: var(--c-main-darker);
}
.accordion .section .header-bar p {
    padding: 0 !important;
    margin-bottom: 0 !important
}
.accordion .section .header-bar .date {
    position: relative;
    top: 50%;
    transform: translateY(-10px)
}
.accordion .section .header-bar p,
.accordion .section .header-bar .date {
    display: inline-block
}
.accordion .section .body {
    opacity: 0;
    max-height: 0;
    padding: 0px;
    overflow: hidden;
    transition: opacity 256ms ease-in-out, font-size 256ms ease-in-out, padding 256ms ease-in-out, max-height 200ms cubic-bezier(0.35, 0.59, 0.57, 0.34)
}
.accordion .section.show .header-bar {
    font-size: 0px
}
.accordion .section.show .body {
    opacity: 1;
    padding: 15px;
    max-height: 1000px !important
}
@media (max-width: 991px) {
    .btn {
        display: block;
        width: 100%;
        text-align: center
    }
    .input {
        width: 100%;
        display: block
    }
    h1 {
        font-size: 45px
    }
    h2, .h2 {
        font-size: 35px
    }
}

@media (max-width: 600px) {
    h1 {
        font-size: 35px
    }
    h2, .h2 {
        font-size: 30px
    }
    h3 {
        font-size: 25px
    }
    p {
        font-size: 18px
    }
    ol,
    li {
        font-size: 18px
    }
    .head-section , .head-section .h2 {
        margin-bottom: 10px
    }
    .head-section p {
        line-height: 1.5;
    }
    .btn {
        font-size: 18px
    }
    .input,
    .textarea {
        font-size: 18px
    }
}

html {
    position: relative;
    min-height: 100%
}

body {
    font-size: 18px;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

body p {
    line-height: 1.25
}

nav {
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #fff;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.1)
}

nav img.logo {
    float: left;
    display: inline-block;
    margin-top: 0;
}

nav ul.navigation .header-info {
    color: var(--ghc-heading-text);
    padding-bottom: 10px;
    line-height: 2;
}

nav ul.navigation .header-info a {
    color:  var(--ghc-heading-text);
    font-weight: 550;
    text-decoration: none;
    transition: ease-in-out 300ms;
}

nav ul.navigation .header-info a:hover {
    color: #1f7a9c;
    text-decoration: none;
    transition: ease-in-out 300ms;
}

nav ul.navigation .header-info .pipe-divider {
    color: #1f7a9c;
}

nav ul.navigation {
    float: right;
    padding-top: 15px;
    font-size: 18px;
    margin-left: 0;
    list-style: none
}

nav ul.navigation li {
    display: inline-block;
    margin-left: 30px;
    cursor: pointer
}

nav ul.navigation li a {
    text-decoration: none;
    color: var(--ghc-heading-text);
    font-weight: 700;
    position: relative
}
nav ul.navigation li a:hover{
    color: var(--ghc-btn-primary);
}

nav ul.navigation li.drop-down {
    position: relative;
    text-align: left;
}

nav ul.navigation li.drop-down a::after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    position: relative;
    top: 1px;
    width: 14px;
    height: 14px;
    background-image: url(../images/chevron.svg);
    background-repeat: no-repeat;
    transition: transform 200ms ease
}

nav ul.navigation li.drop-down.visible a::after {
    transform: rotate(180deg)
}

nav ul.navigation li.drop-down ul {
    display: none;
    position: absolute;
    margin-left: 0;
    list-style: none;
    left: 50%;
    transform: translateX(-50%);
    top: 50px;
    min-width: 250px;
    padding: 30px;
    background-color: #fff;
    box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

nav ul.navigation li.drop-down ul li {
    display: block;
    margin-left: 0;
}

nav ul.navigation li.drop-down ul li a {
    text-transform: initial;
    display: inline;
    white-space: nowrap;
    margin-top: 5px
}

nav ul.navigation li.drop-down ul li:not(.drop-down) a::after {
    display: none
}

nav ul.navigation li.drop-down ul li:not(:first-child) {
    margin-top: 20px
}

nav ul.navigation li.drop-down ul.visible {
    display: block
}

nav a.nav-cta {
    color: #fff !important;
    font-size: 18px;
    padding: 10px 12px;
    background-color: var(--ghc-btn-secondary);
}

nav a.nav-cta:hover {
    background-color: var(--ghc-btn-secondary);
    opacity: .8;
}

nav a.nav-cta::before {
    display: none;
}

@media screen and (max-width: 991px) {
    
    nav a.nav-cta {
        width: fit-content;
        font-size: 18px;
        padding: 10px 12px !important;
        margin-left: 15px;
    }
}

@media screen and (min-width: 992px) {
    nav ul.navigation {
        text-align: right;
    }
}

main {
    margin-top: 102px
}

header {
    background-position: center;
    position: relative
}

header.homepage h1 {
    font-size: 3.2vw
}

header:after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

header .contain {
    position: relative;
    height: 100%;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
    padding: 0 75px
}

header .doctor-image {
    width: 50%;
    align-self: flex-end;
    padding-top: 30px
}

header .doctor-image img {
    width: auto;
    max-height: 500px;
}


header.general .contain {
    flex-direction: column;
}


header.general .cta {
    align-self: center;
    text-align: center;
    width: 100%;
    max-width: 910px
}

header.general .cta h1 {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto
}

header.general .cta p {
    margin-right: auto !important
}

header.general .cta .quote {
    background-color: var(--c-main-transparent);
    max-width: 620px;
    margin-bottom: 0;
    float: none;
    width: auto;
    display: inline-block
}

@media (max-width: 767px) {
    header.general .cta {
        padding-top: 80px !important
    }

    header.general .cta .quote {
        padding: 45px 75px 40px
    }
}

header .cta {
    width: 50%;
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: right;
    align-self: flex-end
}

header .cta h1 {
    color: var(--ghc-heading-text);
    margin: 0;
    max-width: 620px;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 25px
}

header .cta p {
    color: var(--ghc-main-text);
    max-width: 620px;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 30px
}

header .cta p.tagline {
    font-style: italic
}

header .cta a.btn {
    margin-left: 0;
}

header.homepage .doctor-image img {
    filter: drop-shadow(-5px 5px 15px rgba(255, 255, 255, 0.75));
}

header.homepage,
section.contact {
    position: relative;
    overflow: hidden;
}

header.homepage:before,
section.contact:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    z-index: 1;
    opacity: 0.2;
    background-position: 50% 0%;
    filter: blur(12px);
    mix-blend-mode: luminosity;
}

header.homepage .contain,
section.contact .contain {
    position: relative;
    z-index: 2;
}

@media (max-width: 991px) {
    header.homepage .contain {
        padding: 0 75px
    }

    header.homepage h1 {
        font-size: 35px;
        margin-right: auto;
        margin-left: auto
    }

    header.homepage a {
        margin-top: 10px
    }

    header.homepage .cta {
        text-align: center;
        order: 1;
        width: 100%;
        padding-top: 80px;
        padding-bottom: 30px
    }

    header.homepage .cta p {
        margin-right: auto;
        margin-left: auto
    }

    header.homepage .doctor-image {
        order: 2;
        width: 100%;
        text-align: center
    }

    header.homepage .doctor-image img {
        display: inline-block;
        float: none;
        max-width: 100%;
        width: auto;
        max-height: 400px
    }
}

@media (max-width: 767px) {
    header .contain {
        padding: 0 30px !important
    }

    header .doctor-image {
        display: none
    }

    header .cta {
        padding-bottom: 80px !important;
        text-align: center
    }

    header .cta h1,
    header .cta p {
        margin-right: auto;
        margin-left: auto
    }
}

@media (min-width: 992px) {
    header:not(.homepage) .contain {
        padding: 0 30px !important
    }
}

section.facts .contain {
    padding-top: 0px;
    margin-top: 60px;
    padding-bottom: 60px;
    background-image: url(../images/stem.jpg);
    background-position-x: 118px;
    background-repeat: repeat-y
}

section.facts .fact {
    display: grid;
    grid-template-columns: 180px auto;
    grid-column-gap: 55px
}

section.facts .fact:not(:last-child) {
    margin-bottom: 38px
}

section.facts .fact .text {
    display: flex;
    align-items: center;
    min-height: 180px
}

section.facts .fact .text h3 {
    color: var(--c-main-darker);
    margin-bottom: 20px
}

section.facts .fact .text p {
    max-width: 500px;
    line-height: 1.5;
}

section.general {
    padding-top: 60px;
    padding-bottom: 60px
}

section.general .services .service {
    text-align: center;
    display: block;
    border-radius: 10px;
    padding: 60px;
    background-color: var(--c-light);
    text-decoration: none;
    margin-bottom: 30px;
    box-shadow: 0 15px 24px -5px transparent;
    transition: all 0.3s ease-in-out
}

section.general .services .service .icon {
    text-align: center;
    padding-top: 8px
}

section.general .services .service .text h3 {
    color: var(--c-main-darker);
    margin-top: 15px;
    font-size: 18px !important
}

section.general .services .service .text p {
    line-height: 1.5
}

section.general .services .service:hover {
    box-shadow: 0 15px 24px 25px rgba(0, 0, 0, 0.15)
}

section.general .privacy h3 {
    margin-top: 20px !important;
    color: var(--c-main-darker)
}

section.map-section {
    display: grid;
    grid-template-columns: 1fr 1fr
}

section.map-section .map iframe#gmap_canvas {
    width: 100% !important;
    height: 540px
}

section.map-section .details {
    display: flex;
    align-items: center;
    padding: 60px
}

section.map-section .details h3 {
    color: var(--c-main-darker)
}

section.contact {
    background-color: var(--ghc-alt-background);
    background: linear-gradient(-45deg, var(--ghc-alt-background), #fff);
    padding-top: 60px;
    padding-bottom: 60px
}

section.contact .contact-box {
    width: 100%;
    margin: auto;
}

section.team {
    padding-bottom: 60px;
    padding-top: 60px
}

section.team .team-members {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 60px;
    grid-gap: 30px
}

section.team .team-members.list {
    grid-template-columns: 1fr !important
}

section.team .team-members.list .member .profile {
    left: 30px;
    transform: none
}

section.team .team-members .member {
    padding: 30px;
    padding-top: 110px;
    padding-bottom: 76px;
    margin-top: 90px;
    position: relative;
    background-color: var(--c-light);
    border-radius: 10px
}

section.team .team-members .member.no-btn {
    padding-bottom: 30px
}

section.team .team-members .member p {
    display: block;
    margin-top: 10px;
    margin-bottom: 20px !important
}

section.team .team-members .member h3 {
    font-size: 20px
}

section.team .team-members .member .btn {
    position: absolute;
    bottom: 30px;
    left: 30px;
    width: calc(100% - 60px);
    text-align: center
}

section.team .team-members .member .profile {
    width: 180px;
    height: 180px;
    border: 4px solid #fff;
    background-color: var(--c-main-darker);
    margin-bottom: 6px;
    margin-right: 6px;
    border-radius: 50%;
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 6px 6px 0px var(--c-main);
    background-size: cover;
    background-position: center
}

section.team .team-members .member .profile.color-alt {
    box-shadow: 6px 6px 0px var(--c-alt);
}

section.team .team-members .member .profile.color-alt-2 {
    box-shadow: 6px 6px 0px var(--c-alt-2);
}

section.testimonial-carousel {
    max-width: 1000px;
    margin: auto
}

section.testimonial-carousel .slick-track {
    display: flex;
    justify-content: center
}

section.testimonial-carousel .slick-track .quote {
    margin: 0;
    align-self: center
}

footer {
    background-color: var(--ghc-blue);
    padding-top: 60px;
    padding-bottom: 60px;
    color: #fff;
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: 454px
}
footer a:hover {
    color: var(--c-alt-2);
}

footer a, footer p {
    color: #fff;
    font-weight: 500 !important;
    text-decoration: none
}

footer .title {
    position: relative;
    padding-bottom: 1.5rem;
    margin-bottom: 2rem
}

footer .title::after {
    content: '';
    width: 120px;
    height: 2px;
    background-color: var(--c-light);
    opacity: 0.5;
    position: absolute;
    bottom: 0;
    left: 0
}


footer ul li {
    margin-bottom: 6px;
    font-size: 18px
}



footer .navigation {
    padding: 30px;
    vertical-align: top
}


footer .navigation ul {
    list-style: none;
    margin-left: 0;
    padding: 0;
}

footer .info {
    padding: 30px;
    display: inline-block;
    vertical-align: top
}

footer .info .inline-links {
    margin-top: 15px;
    font-size: 18px
}

footer .info .inline-links a {
    border-bottom: 1px solid #fff
}



footer .map {
    padding: 30px;
    font-size: 14px;
}

footer .map a {
    padding: 4px 0;
    color: rgba(255, 255, 255, 0.5);
}

footer .copyright {
    font-size: 14px !important;
    margin-top: 60px;
    padding-left: 30px
}

footer .copyright p {
    font-size: 14px !important;
    float: left
}

footer .copyright .inline-links {
    float: right
}

footer .copyright a {
    float: right;
    margin-right: 20px
}

@media screen and (min-width: 768px) {
    footer .footer-blocks {
        display: flex;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 4rem;
    }
}

@media screen and (max-width: 767px) {
    footer .copyright .policy {
        width: 100%;
        display: inline-block;
        text-align: left
    }

    footer .copyright .policy a {
        float: none
    }
}
.menu-button {
    display: none;
    width: 30px;
    height: 30px;
    background-image: url(../images/menu-open.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-color: transparent;
    outline: none;
    border: 0;
    margin-top: 10px;
}

.menu-button.open {
    background-image: url(../images/menu-close.svg)
}

@media (max-width: 991px) {
    nav ul.navigation {
        display: none
    }

    nav ul.navigation.open {
        display: block;
        height: calc(100vh - 50px);
        overflow-y: auto;
        width: 100%;
        left: 0;
        top: 0;
        background-color: #fff;
        margin: 0;
        padding: 2rem 0 0;
    }

    nav ul.navigation.open li {
        display: block;
        margin-left: 0
    }

    nav ul.navigation.open li a {
        display: block !important;
        padding: 20px;
        font-weight: 400
    }

    nav ul.navigation.open li a::before {
        bottom: 0 !important
    }

    nav ul.navigation.open li.drop-down ul {
        position: relative;
        top: 0;
        box-shadow: none;
        padding: 0;
        background-color: var(--c-light);
    }

    nav ul.navigation.open li.drop-down ul li {
        margin-top: 0
    }

    nav img.logo {
        float: none;
        margin: auto;
        display: block;
        height: 50px
    }

    nav .menu-button {
        display: inline-block;
        position: absolute;
        left: 20px;
        z-index: 1001
    }

    main {
        margin-top: 70px !important
    }

    header .cta .btn {
        width: auto;
        display: inline-block
    }
}

.socials {
    position: fixed;
    z-index: 999;
    right: 0;
    top: calc(50% - 157px);
    transform: translateY(-50%);
    background-color: var(--c-main-darker);
    box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.1);
    padding: 20px
}

.socials .social {
    display: block;
    transition: transform 300ms ease
}

.socials .social:hover {
    transform: scale(1.1)
}

.socials .social:not(:last-child) {
    margin-bottom: 10px
}

.socials .social img {
    max-height: 20px
}

@media (max-width: 991px) {
    section.contact .contact-box #name-field {
        display: block;
        width: 100%;
        margin-right: 0px
    }

    section.contact .contact-box #email-field {
        display: block;
        width: 100%
    }

    footer .navigation {
        display: block;
        margin: 0;
        margin-bottom: 30px
    }

    footer .navigation h3 {
        margin-bottom: 20px
    }

    footer .navigation a {
        font-size: 18px
    }

    footer .info {
        display: block;
        margin-bottom: 30px
    }

    footer .info h3 {
        margin-bottom: 20px
    }

    footer .info p {
        font-size: 18px
    }

    footer .info .inline-links {
        font-size: 18px
    }

    footer .copyright {
        text-align: center;
        margin-top: 30px
    }

    footer .copyright p:first-child {
        margin-bottom: 20px
    }

    footer .copyright .inline-links {
        float: none;
        display: block;
        margin: 0;
        padding-top: 10px
    }
}

@media (max-width: 600px) {
    footer {
        position: relative
    }

    .socials {
        position: absolute;
        top: 0;
        transform: none
    }

    nav img.logo {
        height: 40px
    }

    nav button.menu-button {
        height: 30px;
        width: 30px;
        margin-top: 5px;
    }

    nav ul.navigation {
        margin-top: 50px !important;
        height: calc(100vh - 28px) !important;
        padding-top: 10px !important
    }

    main {
        margin-top: 50px !important
    }

    header p {
        font-size: 18px
    }

    section.facts .contain {
        background-position: center;
        margin-top: 120px !important
    }

    section.facts .fact {
        display: block;
        border-radius: 10px;
        padding: 30px;
        padding-top: 110px;
        background-color: var(--c-light);
        position: relative
    }

    section.facts .fact:not(:first-child) {
        margin-top: 120px
    }

    section.facts .fact:first-child {
        margin-top: 20px
    }

    section.facts .fact .text {
        display: block;
        min-height: auto
    }

    section.facts .fact .text h3 {
        margin-bottom: 10px
    }

    section.facts .fact .text p {
        line-height: 1.5;
    }

    section.facts .fact .bubble {
        position: absolute;
        top: -90px;
        left: 50%;
        transform: translateX(-50%) !important
    }

    section.general .services .service {
        display: block;
        text-align: center
    }

    section.general .services .service .icon {
        margin-bottom: 10px
    }

    section.general .services .service .text h3 {
        margin-bottom: 10px
    }

    section.general .services .service .text p {
        line-height: 1.5;
    }

    section.team .team-members {
        grid-template-columns: 1fr
    }

    section.map-section {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto
    }
}

.services-section {
    padding-top: 90px;
    padding-bottom: 90px
}

.map-responsive {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0
}

.map-responsive iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute
}

.btn {
    font-weight: 500
}

.btn.alt-2 {
    background-color: var(--ghc-btn-secondary) !important;
}

.btn.alt-2:hover {
    background-color: var(--ghc-btn-secondary) !important;
    opacity: .8;
}

.anchor {
    display: block;
    position: relative;
    top: -100px !important;
    visibility: hidden
}

@media (min-width: 768px) {
    .nowrap {
        white-space: nowrap
    }
}

@media (max-width: 991px) {
    nav ul.navigation .header-info {
        font-size: 18px;
        margin-left: 18px;
    }
}

/* Remove the code below when new form is added */
.ppwdf-more-info-on {
    display: none;
}

/* Remove the code above when new form is added */
.service-image {
    position: relative;
    background-size: cover;
    background-position: center;
    max-width: 100%;
    max-height: 343.75px;
    height: 343.75px;
}

.service-title {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 74px;
    background-color: var(--ghc-heading-text);
    opacity: .8;
    border-radius: 0 0 8px 8px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}

.service-title:hover {
    background-color: var(--ghc-heading-text);
    opacity: 1;
    transition: ease-in-out 300ms;
}

.service-title h3 {
    font-size: 18px;
}


.grecaptcha-badge {
    display: none !important;
}

.hidden {
    display: none !important;
}

nav.sticky {
    padding-top: 0;
    padding-bottom: 5px;
}

nav.sticky ul.navigation .header-info {
    line-height: 1;
}

nav.sticky .logo {
    margin-top: 4px;
}

.contact-box {
    background: #fff;
    padding: 40px;
    box-shadow: 0 4px 12px -6px rgba(0, 0, 0, 0.4);
}

.contact-box .form-group {
    margin: 4px;
    width: calc(100% - 12px);
}

@media(min-width: 992px) {
    .contact-box .form-group {
        max-width: calc(50% - 12px);
    }
}

.contact-box input,
.contact-box textarea {
    width: 100%;
    background: rgba(0, 0, 0, 0.025);
}

.contact-box textarea {
    min-height: 120px;
}

.contact-box .form-group.ppwdf-Message,
.contact-box .form-group.ppwdf-Address {
    min-width: calc(100% - 12px);
}

.contact-box label {
    font-size: 18px;
    font-weight: 600;
}

.contact-box .req>label:first-of-type::before {
    font-size: 14px;
    color: #a22;
    margin-right: 4px;
    float: right;
}


@media(max-width: 991px) {
    header .contain {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    header .contain > div{
        align-self: center;
    }
    header .cta{
        width: unset;
    }
    header .contain .doctor-image{
        order: 10;
    }
}