img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} :root { --main-bg: #fff; --light: #f5f5f5; --light-comp: #4d4d4d; --dark: #333; --dark-comp: #fff; --primary: #3174AE; --primary-accent: #74A9D8; --primary-comp: #fff; --secondary: #01cdea; --secondary-comp: #fff; }html { --12px: .75rem; --14px: 0.875rem; --15px: 0.9375rem; --16px: 1rem; --17px: 1.0625rem; --18px: 0.875rem; --19px: 1.1875rem; --20px: 1.25rem; --24px: 1.5rem; --30px: 1.875rem; --32px: 2rem; --50px: 3.125rem; scroll-padding-top: 150px }* { scroll-behavior: smooth; box-sizing: border-box; }*:focus-visible, input[type=submit]:focus-visible { outline-style: solid; outline-width: 2px; outline-color: #000; outline-offset: 4px; border-radius: 3px; transition: all .3s linear .01s; }:is(#logo, .hero button, nav>ul>li>a, .hero .btn, #jumptarget):focus-visible { outline-color: #fff }.jump { text-decoration-line: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; position: absolute; background: var(--primary); color: var(--dark-comp); left: 150px; top: 0; padding: 10px; border-width: 2px; border-color: var(--primary-accent); border-style: none solid solid; transform: translateY(-100%); transition: ease-in-out .3s; font-size: var(--16px) }.jump:focus { transform: translateY(0%); outline-offset: 0; transition: ease-in-out .3s; } a[target="_blank"] { position: relative }a[target="_blank"] i { padding: 4px; border: 1px solid black; color: #000; background-color: #fff; text-decoration: none; position: absolute; left: 0; top: -35px; z-index: 999; width: 140px; display: none; font-size: var(--12px); font-style: normal; font-weight: 400; font-family: sans-serif; text-align: center !important; text-transform: none }a[target="_blank"]:is(:hover, :focus) i { display: block }#logo { font-weight: bold; font-size: 18px; text-align: left; padding-left: 20px; }#logo span { font-size: 14px; }#logo:hover { color: #fff; } body, button, texarea { font-family: 'Rubik', Arial, Helvetica, sans-serif; line-height: 1.5 }body { line-height: 1.5; text-align: center; min-width: 320px; }p, main li { font-size: var(--20px); }body, footer a, .row3 a { color: var(--light-comp, #4d4d4d); }body, header ul, .hero h1, .hero p, .row1 h2 { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; }h1, h2, h3, h4, h5, h6, nav, nav button, form input[type=submit], .btn { text-transform: uppercase; }h1, h2, h3, h4, h5, h6 { line-height: 1.3; }img, iframe { max-width: 100%; height: auto; display: block; margin: 0 auto }iframe { display: block; aspect-ratio: auto 16 / 9; width: 100%; margin: 1em auto; }a img, iframe { border: none; }a { transition: ease-in-out .3s; }header a, header a:hover, form input[type=submit]:hover, .btn:hover, footer a:hover, .row3 a:hover { text-decoration: none; }a, header a:hover, footer a:hover, main h2 span, .row3 a:hover h3, footer h2 span { color: var(--primary, #347AB7); }h3 { padding-top: 12px; }a, a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px }hr { border-width: 1px; border-color: #eee; border-style: none none solid; margin: 40px 0; }.imgLeft, .imgRight { max-width: 45%; }.imgLeft { float: left; margin: 10px 4% 2% 0; }.imgRight { float: right; margin: 10px 0 2% 4%; }.nowrap, a[href^=tel] { white-space: nowrap; }sup { line-height: 0; }.hide { display: none !important; }.center, .hero h1, .hero p, .row1 h2, .row1 p, .row3 h2, .row3 h3, .row3 p, .row4 h2, .row5 p, footer h3, footer li, blockquote, figcaption, .row2 h2 { text-align: center; }.wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; }.bg-dark, .bg-primary { color: var(--dark-comp, #fff); }.bg-dark { background-color: var(--dark, #333); }.bg-primary { background-color: var(--primary, #347AB7); }.bg-light { background-color: var(--light, #f5f5f5); }.mid { align-items: center; align-self: center; }.grid { display: grid; grid-gap: 10px 20px; }.grid.half { grid-template-columns: repeat(2, 1fr); }.grid.third { grid-template-columns: repeat(3, 1fr); }.bgimg { position: relative }:is(.bgimg, div[role=complementary]) > img:first-of-type { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0; filter: blur(1px) }.bgimg > .wrap { z-index: 12 }.col2 { column-count: 2 }.col2 > li { margin-top: 0 } header, .hero { position: relative; }header { background-color: rgba(0, 0, 0, .6); z-index: 9999; }header .wrap { padding: 20px 0; }header .logo { font-weight: bold; }nav, footer { font-size: 14px; }nav li { display: inline-block; font-size: 14px; position: relative; }nav li { font-weight: 600; }nav ul ul { display: none; position: absolute; top: 100%; left: 0; background-color: var(--main-bg, #fff); box-shadow: 0 2px 5px rgba(0, 0, 0, .2); padding: 10px 0 0; margin: 0; border-radius: 0 0 3px 3px; border: 1px solid var(--light); z-index: 9999; min-width: 300px; }main { z-index: 1; position: relative; }nav :is(button, li):hover ul { display: block !important; }nav button:hover ~ ul { display: block !important; }nav ul ul li { display: block; margin: 0; padding: 0; }nav a, nav button { font-weight: 600; display: block; margin: 5px; padding: 5px; color: var(--dark-comp); }nav > ul > li > a, nav button { font-size: var(--18px); }nav button { background: none; border: none; }button:hover { cursor: pointer }nav > ul > li > :is(button, a):is(:hover, :focus) { color: var(--primary-accent); }nav ul ul a { margin: 5px 0; padding: 5px 20px }nav ul ul a { color: var(--dark, #333); }nav ul ul :is(button, a):is(:hover, :focus) { color: var(--primary, #347AB7); background-color: var(--light, #f5f5f5); outline-offset: -4px; border-radius: 11px }header a, .logo:hover, .hero h1, .hero p, .row4 h2 span { color: var(--dark-comp, #fff); } div[role=complementary] { position: unset }.hero { position: relative; }.hero:before { content: ""; position: absolute; }.hero:before { width: 100%; height: 100%; background-color: rgba(0, 0, 0, .4); inset: 0; z-index: 3; }.hero { width: 100%; min-height: 400px; }.hero > div > .wrap { position: relative; z-index: 4; padding: 120px 0 80px }.hero h1, .hero p { padding: 0 10px; text-shadow: 2px 2px 3px rgba(0, 0, 0, .3); z-index: 4; position: relative; }.hero h1 { font-size: clamp(34px, 10.5vw, 42px) }.hero h1 span, main h2 span, footer h2 span { display: block; padding-bottom: 5px; }.hero p { font-size: 24px; font-weight: 600; }.hero .btn { margin-top: 40px; text-shadow: none; } :is(.row1, .row3) p, h1, h2, .pop, .row5 .wrap, blockquote, .copy { text-wrap: balance; }figure, blockquote { margin: 1em 0 }blockquote:before { content: open-quote; margin-right: 5px }blockquote:after { content: close-quote; margin-left: 5px }blockquote:before, blockquote:after { font-size: 2em; line-height: 0; top: 10px; position: relative; font-family: serif }.row1 .wrap { padding: 60px 10px 40px; }.row1 p { max-width: 1000px; margin: 20px auto; }.row2 .wrap { padding: 40px 10px; }.row2 .grid { padding: 20px 0; }.row3 { margin: 60px 0; padding: 0 10px }.row3 .grid { padding: 20px 0; margin-top: 40px; }.row3 h3 { line-height: normal; margin-top: 10px; }.row3 a { display: block; }.row3 p { margin: 0 15px; text-wrap: balance; }.row3 img { border-radius: 50%; width: 150px; height: 150px; object-fit: cover; margin: 0 auto; border: 5px solid var(--primary, #347AB7); box-shadow: 0 4px 8px rgba(0, 0, 0, .2); }.row3 h3 b { display: block; font-size: .8em; color: var(--primary); }.row4 { border-color: var(--primary); border-width: 1px; border-style: solid none }.row4 .wrap { padding: 40px 10px 100px; }.row5 .wrap { max-width: 1000px; background-color: var(--main-bg, #fff); padding: 40px clamp(10px, 3vw, 40px); margin: -80px auto 50px; border-radius: 10px; border: 1px solid #eee; }#ourDoctors { padding-top: 10px } form { margin: 20px 0; padding: 10px 0 }fieldset { border: none; margin: 0; padding: 0 }legend { text-align: left; font-size: var(--30px); font-weight: bold; margin: 24px 0 }legend span { font-size: var(--24px); display: block; color: var(--primary); text-transform: uppercase; }form .grid { grid-gap: 0 10px; }form :is(label, input, select, textarea) { display: block; box-sizing: border-box; width: 100%; text-align: left; font-family: 'Rubik', sans-serif; font-size: var(--16px); }form label { margin-bottom: 15px; }form :is(input, select, textarea) { padding: 10px; background-color: var(--main-bg, #fff); border: 1px solid #f5f5f5; }form textarea { height: 100px }form input[type=submit], .btn { display: inline-block; width: auto; min-width: 110px; font-weight: 600; text-align: center; line-height: 1.6; background-color: var(--primary, #347AB7); color: var(--primary-comp, #fff); padding: 10px 40px; margin: 10px 0; border: 1px solid var(--primary, #347AB7); border-radius: 50px; transition: ease-in-out .3s; font-size: var(--14px) }form input[type=submit] { min-width: 250px; margin: 0; }:is(form input[type=submit], .btn):is(:hover, :focus) { cursor: pointer; background-color: var(--secondary, #01cdea); color: var(--light-comp, #fff); } footer { clear: both; border-top: 2px solid var(--light) }footer .wrap { padding: 20px 10px; }footer .grid { grid-template-columns: 1fr 150px; grid-gap: 0 10px }footer .footer-links { display: flex; flex-wrap: wrap; flex-direction: column; gap: 4px 12px; margin: 10px 0; list-style: none; padding: 0; justify-content: space-evenly }.footer-links li { margin: 0 }footer .footer-links a { display: block; font-size: 14px; font-weight: 500; margin: 0; padding: 4px; text-align: right; white-space: nowrap }footer button { display: inline; margin-top: 10px; }footer p { margin: .5em 0 }footer :is(a, button) { color: var(--primary); margin: 5px; padding: 5px }footer :is(a, button):is(:hover, :focus) { text-decoration: underline }footer button { border: none; background: none; font-size: var(--18px); text-decoration: underline; font-weight: normal; text-underline-offset: 4px; }.a8bmark { margin: 5px auto; padding: 5px; display: inline-block }.cta { margin: 40px -10px 0; padding: 30px 10px; border-top: 1px solid var(--light) }.ccpaNotice { text-align: center !important; } main { padding: 40px 10px 0; overflow-x: hidden }main h1, footer h2, .home h2 { font-size: 30px; }main h2, header .logo, footer h2 span, .home h2 span, .row1 p, .row5, .hero h1 span, main h2 span, footer h2 span { font-size: 24px; }main h3 { font-size: var(--22px); }main h4, main h2 span { font-size: 20px; }main ul, main ol { padding-left: 25px; }main li, footer li { margin: 5px 0; }header .grid { grid-template-columns: 300px 1fr; }.pop { font-size: var(--32px); font-weight: bold; color: var(--primary, #347AB7); text-align: center; margin-top: 20px; line-height: 1.25; }.pad { padding: 10px; }.surgeries div.highlight { background-color: #f5f8fb; border-left: 4px solid var(--primary-accent); padding: 12px 12px 12px 16px; border-radius: 2px; transition: all 0.3s ease; }.surgeries div.highlight:hover { background-color: #eff5f9; border-left-color: var(--primary); }.background { background-image: url('/images/medical.jpg'); background-size: cover; background-position: center; background-attachment: fixed; position: relative; padding: 20px; color: #000; margin: 0 -10px }.background::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(255, 255, 255, 0.85); z-index: 0; }.background > * { position: relative; z-index: 1; } .step-card { background: linear-gradient(135deg, rgba(52, 122, 183, 0.03) 0%, rgba(1, 205, 234, 0.03) 100%); border-left: 5px solid var(--primary); border-radius: 4px; padding: 20px 20px 20px 24px; margin: 20px 0; transition: all 0.3s ease; position: relative; overflow: hidden; }.step-card::before { content: attr(data-step); position: absolute; top: -8px; right: -8px; width: 60px; height: 60px; background: var(--primary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 24px; opacity: 0.1; z-index: 0; }.step-card:hover { background: linear-gradient(135deg, rgba(52, 122, 183, 0.08) 0%, rgba(1, 205, 234, 0.08) 100%); border-left-color: var(--secondary); box-shadow: 0 4px 12px rgba(52, 122, 183, 0.15); transform: translateX(4px); }.step-card h3 { color: var(--primary); margin-top: 0; display: flex; align-items: center; gap: 12px; }.step-title { font-size: 22px; color: var(--primary); }.step-number { display: inline-block; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-accent) 100%); color: white; width: 50px; height: 50px; border-radius: 50%; text-align: center; line-height: 50px; font-weight: bold; font-size: 28px; margin-right: 12px; box-shadow: 0 4px 15px rgba(52, 122, 183, 0.3); transition: all 0.3s ease; flex-shrink: 0; }.step-card:hover .step-number { transform: scale(1.1); box-shadow: 0 6px 20px rgba(52, 122, 183, 0.4); }.surgery-card { border: 1px solid #ddd; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: relative; min-height: 400px; padding-bottom: 90px; background: #fff; }.surgery-card:hover { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); }.surgery-card img { width: 100%; height: 170px; object-fit: cover; padding: 8px; }.surgery-card h3, .surgery-card h2 { font-size: 18px; padding: 15px; margin: 0; text-align: center; text-wrap: balance; }.surgery-card p { padding: 0 15px 10px; margin: 0 0 10px; font-size: 16px; }.surgery-card a { text-decoration: none; position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); text-wrap: balance; width: calc(100% - 20px); max-width: 250px; padding: 10px }.blue { color: #347AB7; }.grid.third .surgery-card:nth-child(n+4) { margin-top: 0; }.news .wrap { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; align-items: stretch; }.news-item { margin-bottom: 0; padding: 1.5rem; border: 1px solid #e8e8e8; border-radius: 8px; display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto 1fr; gap: 1rem; align-items: start; height: 100%; }.news-item:last-of-type:nth-of-type(odd) { grid-column: 1 / -1 }.news-date { font-weight: 600; color: var(--primary); font-size: var(--18px); margin-bottom: 0; text-align: left; grid-row: 1; }.news-item img { width: 100%; height: 300px; aspect-ratio: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: transform 0.3s ease, box-shadow 0.3s ease; object-fit: cover; float: none; margin: 0; grid-row: 2; }.news-item img:nth-of-type(2) { float: none; margin: 0; grid-column: auto; grid-row: 2; }.news-item img:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); }.news-content { line-height: 1.8; font-size: 16px; color: #444; grid-column: auto; grid-row: 3; align-self: start; }.news-content a { color: var(--primary); text-decoration: none; border-bottom: 1px solid var(--primary); }.news-content a:hover { color: var(--primary-accent); border-bottom-color: var(--primary-accent); } .gallery-intro { max-width: 1000px; margin: 0 auto 40px; }.gallery-intro h1 { font-size: 32px; margin-bottom: 15px; color: var(--primary); }.gallery-intro p { font-size: 18px; line-height: 1.6; }.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 15px; margin-bottom: 40px; }.gallery a { position: relative; overflow: hidden; border-radius: 4px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; display: block; padding: 6px; background-color: #fff; }.gallery a:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15); }.gallery img { width: 100%; height: auto; display: block; transition: transform 0.3s ease; }.gallery a:hover img { transform: scale(1.02); }.gallery a:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }.gallery-showcase { margin-top: 60px; padding: 40px 0; }.gallery-showcase h2 { text-align: center; margin-bottom: 30px; }.showcase-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-bottom: 30px; }.showcase-gallery a { position: relative; overflow: hidden; border-radius: 4px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; display: block; padding: 6px; background-color: #fff; }.showcase-gallery a:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15); }.showcase-gallery img { width: 100%; height: auto; display: block; }.showcase-gallery + div { text-align: center; } @media(prefers-reduced-motion: reduce) { * { transition: all 0s !important; scroll-behavior: unset; animation: none } .hero.bgimg > div > img { animation: none !important } .step-card:hover, .step-card:hover .step-number, .news-item img:hover, .gallery a:hover { transform: none }} @media(max-width:62.5rem) { .row4 .wrap { padding: 40px 10px 20px } .row5 .wrap { margin: 0 auto 50px; border-radius: 0 } nav ul ul { display: none !important; padding: 0; min-width: unset; box-shadow: unset } nav a, nav ul ul a { padding: 5px 10px } .disclosure-nav button { display: none } .disclosure-nav ul { display: block !important; position: relative; background-color: unset; border: none } .disclosure-nav ul li:nth-of-type(n+2) { display: none !important } .disclosure-nav a { color: var(--dark-comp); background-color: unset !important; border-radius: 3px !important; font-size: var(--18px) } .disclosure-nav a[role=button] { outline-color: #fff; outline-offset: 0 } .disclosure-nav a[role=button]:is(:hover, :focus) { outline-offset: 4px; color: var(--primary-accent) }} @media(max-width:47.99rem) { .grid.third { grid-template-columns: 1fr 1fr } .grid.half, header .grid, footer .grid { grid-template-columns: 1fr } footer p { text-align: center } #logo { text-align: center; padding-left: 0px; } .news .wrap { grid-template-columns: 1fr; } .news-item { grid-template-columns: 1fr; gap: 1rem; } .news-item img { width: 100%; height: auto; aspect-ratio: auto; max-height: 300px; } .news-item img:nth-of-type(2) { grid-column: 1; grid-row: auto; } .news-content { grid-column: 1; grid-row: auto; } .gallery { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; } .gallery-intro h1 { font-size: 24px; } .gallery-container { padding: 40px 10px 30px; } footer .footer-links { flex-direction: row }} @media(max-width:37.5rem) { .grid.third { grid-template-columns: 1fr } .surgery-card a { position: relative; bottom: unset; left: unset; transform: none } .surgery-card { min-height: auto; padding-bottom: 10px; }} @media(max-width:31.25rem) { .jump { left: unset; right: 0 } .imgRight { float: none; margin: 0 auto; max-width: 100% } main { padding: 20px 0 0; } main > .wrap { padding: 0 10px 10px; } .grid { grid-gap: 8px 15px; } .gallery { grid-template-columns: 1fr; }} @media(max-width:25rem) { .row5 { font-size: 20px }}