.play { cursor: pointer; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; color: #271d1f; font: 700 15px/1 "Red Hat Display", sans-serif, sans-serif; text-transform: uppercase; letter-spacing: 1.5px; text-align: center; transition: 0.3s all; }.play i { width: 85px; height: 85px; border-radius: 50%; background-color: #fff; display: block; color: #271d1f; display: inline-flex; align-items: center; justify-content: center; font-size: 30px; margin: 10px; transition: 0.3s all; }.play i:before { margin: auto; padding-left: 5px; }.play:hover { color: #0f4b91; }.play:hover i { background-color: #0f4b91; color: #fff; }[data-embed] .close, [data-vimeo] .close { cursor: pointer; line-height: 1; background-color: #99ca3c; color: #fff; padding: 8px; text-transform: uppercase; z-index: 5; }[data-embed] .close i, [data-vimeo] .close i { font-style: normal; font-size: 1.5em; line-height: 1; vertical-align: middle; display: inline-block; margin-bottom: 5px; }[data-embed] .close:focus, [data-vimeo] .close:focus { background-color: #7ca62d; }[data-embed] .close:hover, [data-vimeo] .close:hover { background-color: #1b1b1b; color: #fff; }[data-embed] .close { position: absolute; top: 0; right: 0; }[data-embed] .close i:before { transform: rotate(45deg); }.read-section { position: relative; }.read { padding: 5px; display: flex; align-items: center; justify-content: space-between; margin: 5px; font-weight: 600; font-size: 14px; letter-spacing: 2.8px; text-transform: uppercase; max-width: 170px; width: 100%; position: relative; z-index: 5; transition: 0.3s; }.read .text { margin: 0 auto; }.read .icon { color: #fff; background-color: #99ca3c; transition: 0.3s; border-radius: 50%; height: 43px; width: 43px; display: flex; align-items: center; justify-content: center; }.read .icon img + img { display: none; }.read-text { width: 100%; display: none; }.read:hover { color: #0f4b91; }.read:hover .icon { background-color: #0f4b91; }.read.active .icon img { display: none; }.read.active .icon img + img { display: block; }.read.active + .read-text { display: block; }#banner { display: flex; justify-content: end; position: relative; text-align: center; margin: 0 auto; overflow: hidden; height: 100%; min-height: 800px; background-position: center left; background-size: cover; background-repeat: no-repeat; }#banner .figure { display: none; }#banner figure { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }#banner figure video { max-width: unset; width: unset; }#banner .contain { position: relative; z-index: 10; padding: 50px 20px; width: 100%; max-width: 50%; padding-top: 160px; padding-left: 130px; display: flex; flex-direction: column; justify-content: center; }#banner .contain:after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: -9999px; background-image: url("assets/images/bg-stripes.png"); z-index: -1; border-top-right-radius: 0; border-bottom-right-radius: 0; border-top-left-radius: 388.5px; border-bottom-left-radius: 388.5px; }#banner .play { display: table; width: auto; left: 23%; }#banner .play:hover svg path { fill: #fff; }#banner h2 { font-size: 55px; }#banner .content { max-width: 487px; margin: auto; margin-right: 100px; }#banner .flex-title { text-align: left; max-width: 1500px; margin: auto; }#banner .flex-title .contain { max-width: 45%; margin: auto; }#banner.playing { z-index: 100; max-height: 100%; }#banner.playing article { position: relative; transform: none; left: 0; top: 0; }#banner.playing figure { margin: 0; }#banner.playing .content { margin: auto; }#banner.alt { position: relative; display: block; }#banner.alt figure { position: static; max-height: 110vh; overflow: hidden; }#banner.alt .contain { max-width: 100%; background-color: #99ca3c; position: static; transform: none; text-align: center; padding: 30px 20px; }#banner.alt .contain:after { content: none; }#banner.alt .content { max-width: 1000px; margin: 0 auto; }#banner.alt .play { left: 50%; top: 40%; }#banner.alt.playing figure { max-height: 100%; }#banner.alt p a:hover { color: #0f4b91; }#banner.alt h1 > small, #banner.alt h2, #banner.alt p, #banner.alt p a { color: #000 }#banner.alt p a:not(:hover) { color: #99ca3c }#banner.alt .contain { position: relative; left: auto; right: auto; bottom: auto; top: auto; background-color: transparent; margin: -195px auto 0 }#banner.alt .contain:after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(0deg, rgb(255, 255, 255) 80%, rgba(255, 255, 255, 0) 100%); border-radius: 0; top: 0; opacity: 1; }#banner.playing { display: block; }#banner.playing:after { content: none !important; }#banner.playing figure { position: static; }#banner.playing .contain { max-width: 100%; border-radius: 0; height: auto; }#meet { background-image: url(assets/images/index-meet-bg.png); background-size: cover; padding: 40px 10px; position: relative; }#meet .h2{position: absolute; left: 0; bottom: 150px;}#meet:before{content: ''; background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); position: absolute; top: 0; left: 0; right: 0; height: 200px;}#meet .contain, #meet .top { max-width: 1150px; margin: 0 auto; position: relative; z-index: 5; }#meet .slick-controls { display: flex; position: absolute; left: 0; top: 100px; margin: 0; width: 300px; height: 253px; align-items: center; }#meet .slick-controls .spacer { width: 1px; align-self: stretch; background-color: #fff; position: relative; z-index: 1; }#meet .slick-meet .slick-list { overflow: visible; }#meet .slick-meet .dr-slide { display: flex !important; align-items: flex-start; justify-content: space-between; }#meet .slick-meet .dr-slide > div { max-width: 430px; display: block; position: relative; padding: 34px 10px; margin: 100px 20px 0 auto; font-size: 23px; line-height: 1.2; color: #fff; }#meet .slick-meet .dr-slide > div p{min-height: 115px; margin-bottom: 0;}#meet .slick-meet .dr-slide > div:before { left: -2000px; top: 0; bottom: 0; right: -2000px; background-color: #545858; position: absolute; content: ""; z-index: -1; }#meet .slick-meet .dr-slide figure img { border-radius: 26px; margin-bottom: 10px; }#meet .btn-alt{padding: 10px; min-width: 180px;}#meet .signature { display: block; text-align: center; margin-top: 10px; font: 400 35px/1.2 "Playfair Display", serif; color: #000 }#meet .signature small { display: block; text-transform: uppercase; font-family: "Red Hat Display", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 1.4px; }#meet .slick-meet .slick-dots {position: absolute; bottom: 80px; right: 440px; }#meet .slick-arrow { height: auto; width: 120px; background-color: transparent; }#meet #prev svg{transform: rotate(180deg);}#meet .slick-dots li{display: block;}#meet .slick-dots span { width: 8px; height: 8px; opacity: 1; background-color: #545858 }#meet .slick-dots .slick-active span{background-color: #99ca3c}#meet .slick-arrow:hover line, #meet .slick-arrow:hover path { stroke: #99ca3c; }#meet article { max-width: 530px; position: absolute; left: 0; bottom: 0; padding: 10px; }#meet .btn-more { color: #fff; }@media (max-width:1150px){ #meet .h2{text-align: center; position: static; transform: none;} #meet .slick-arrow:not(:hover) line, #meet .slick-arrow:not(:hover) path{stroke: #545858} #meet .slick-controls .spacer{background-color: #545858} #meet .slick-arrow{position: static; transform: none; width: auto; margin: 0 10px;} #meet .slick-controls{ position: static;height: auto; margin: 0 auto; } #meet .slick-controls .spacer{ flex: 0 1 auto; height: 80px; } #meet .slick-meet .dr-slide > div{ margin-right: auto; }}@media (max-width: 1024px){ #banner.index .contain{margin: 0 auto;} #meet .slick-meet .slick-dots{position: static; transform: none; margin: 10px auto;} #meet .slick-dots li{display: inline-block; margin: 0}}@media (max-width: 768px){ #meet .slick-meet .dr-slide{ text-align: center; display: block !important; } #meet .slick-meet .slick-dots{ margin: 20px auto; } #meet .slick-meet .dr-slide > div{ margin: 20px auto; padding-bottom: 100px; margin-bottom: -30px; } #meet article{ position: static;text-align: center;margin: 0 auto; } }#serve { margin: 0px auto; padding: 100px 20px; text-align: center; }#serve .links { max-width: 1250px; margin: 30px auto 0; display: flex; justify-content: space-around; flex-wrap: wrap; }#serve .links a { display: block; flex: 0 1 360px; margin: 15px; box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); background-color: #fff; border-radius: 15px; color: #271d1f; line-height: 1.3; }#serve .links a p { margin: 0 auto; min-height: 160px; }#serve .links a .content { padding: 20px; }#serve .links a h3 { margin: 20px auto; }#serve .links a .btn { min-width: 220px; }#serve.alt { background-color: #fff; }#serve.alt .links a { border-radius: 0; box-shadow: none; flex: 0 1 330px; }#serve.alt .links a h3 { margin-top: 0; }#loc-meet { padding: 100px 20px; }#loc-meet .block { gap: 20px; }#loc-meet article, #loc-meet figure { flex: 0 1 662px; position: relative; }#loc-meet figure { align-self: start; flex: 0 1 auto; }#loc-meet .play { transform: none; left: 20px; bottom: 20px; top: auto; right: auto; width: auto; }#loc-meet figure img { border-radius: 32px; }#loc-meet article .top { border-radius: 32px; background-color: #969799; min-height: 478px; display: flex; align-items: center; justify-content: center; padding: 20px; }#loc-meet article .top > div { max-width: 490px; margin: 0 auto; }#loc-meet article .bot { margin-top: 20px; min-height: 160px; display: flex; align-items: center; justify-content: center; border-radius: 32px; background-color: #545858; }#loc-meet article .bot .plus { display: flex; align-items: center; justify-content: center; transition: 0.3s; margin-left: 20px; background-color: #99ca3c; width: 62px; height: 62px; border-radius: 50%; }#loc-meet article .bot:hover .plus { background-color: #0f4b91; }.split { padding: 0 20px; }.split > div { max-width: 1200px; margin: 0 auto; }.split article { flex: 0 1 550px; padding: 10px; }.split figure { flex: 0 1 auto; }.split .btn { margin-left: 0; }.split .caption { padding: 10px; text-align: center; }.split .caption a { color: #fff; padding: 0 5px; }.split .caption a:hover { color: #99ca3c; }.split.playing .flex-ed { display: block; }.youtube span { display: block; text-align: center; margin: 10px auto 0; font-size: 18px; text-transform: uppercase; }.youtube span:hover { color: #99ca3c; }#reviews { background-image: url(assets/images/bg-stripes.png); padding: 40px 20px; }#reviews .h2 { display: block; }#reviews .testimonial-controls, #reviews .review-controls { margin-top: 10px; display: flex; align-items: center; justify-content: center; }#reviews .slick-arrow { position: static; margin: 10px; transform: none; }#reviews .revtest > div { max-width: 507px; flex: 0 1 507px; margin: 6px; }#reviews .slick-reviews .slick-slide, #reviews .slick-testimonials .slick-slide { padding: 10px; text-align: center; }.slick-testimonials .youtube { max-width: 494px; margin: 0px auto; }.slick-testimonials .youtube img { border-radius: 14px; }.slick-reviews author { text-align: center; display: block; font-size: 14px; text-transform: uppercase; font-weight: 900; color: #000; margin-bottom: 40px; }.slick-reviews star { display: block; }.slick-reviews star:before { color: #febb21; }.slick-reviews p { font-size: 21px; font-weight: 500; max-width: 420px; margin: 0px auto 20px; }#director { max-width: 1150px; border-radius: 15px; overflow: hidden; margin: 60px auto; background-color: #e7e7e7; }#director .btn img { display: inline-block; vertical-align: middle; }#director article { flex: 0 1 550px; padding: 10px; }#director article p { max-width: 423px; margin: 1em auto; }#director figure { position: relative; align-self: end; }#director figure .btn { position: absolute; bottom: 95px; max-width: 386px; width: 100%; right: 50%; transform: translateX(50%); }#specials { margin: 60px auto; padding: 0 20px; }#specials .flex { margin: 30px auto 0; gap: 20px; }.coupon { position: relative; display: table; max-width: 602px; flex: 0 1 602px; text-align: center; }.coupon .content { color: #fff; border-radius: 32px; min-height: 322px; display: flex; align-items: center; justify-content: center; background-color: #969799; padding: 20px; }.coupon .content .h2 { font-size: 43px; display: block; margin-bottom: 20px; }.coupon small { color: #271d1f; text-transform: uppercase; font-size: 14px; font-weight: 500; letter-spacing: 1.4px; text-transform: uppercase; }.coupon.alt .content { background-color: #545858; }#resources { margin: 0 auto 60px; }#resources .top { position: relative; padding: 10px 20px; }#resources .top:after { content: ""; position: absolute; top: 0; bottom: 43px; left: 0; right: 0; z-index: -1; background-color: rgba(150, 151, 153, 0.14); }#resources .top .buttons { margin-top: 10px; }#resources .index-plan { padding: 0 20px; margin: 60px auto 0; }#resources .index-plan img { border-radius: 32px; }#resources .index-plan .content { margin: 20px auto 0; max-width: 1000px; }#resources.alt .top:after { background-color: #fff; }@media (min-width:1024px) { #resources .top .buttons .btn { min-width: 373px; }}#main-location { padding: 60px 20px; background-color: #fff; }#main-location > div { max-width: 1155px; margin: 0 auto; }.location-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: auto; position: relative; margin: 30px auto; }.grid-button { padding: 8px; cursor: pointer; position: relative; line-height: 1; border-radius: 25.5px; background-color: #f3f3f3; display: flex; align-items: center; justify-content: space-between; font-size: 23px; font-weight: 500; }.grid-button img { margin: 0; }.grid-button:hover, .grid-button.active { background-color: #303030; color: #fff; }.grid-button.active::after { content: ""; position: absolute; bottom: -80px; left: 50%; transform: translateX(-50%); border-width: 45px; border-style: solid; border-color: #303030 transparent transparent transparent; z-index: 1001; }.location-modal { position: absolute; display: none; z-index: 1000; border-radius: 26px; background-color: #e3e3e3; padding: 60px 20px; overflow: hidden; width: 100%; }.location-modal .block { max-width: 980px; margin: 0 auto; }.location-modal h2 { margin-bottom: 25px; display: block; }.location-modal .loc-phy { display: block; font-size: 18px; font-weight: 500; color: #271d1f; }.location-modal .loc-pho { font-size: 26px; font-weight: 500; line-height: 1.31; letter-spacing: 2.6px; text-align: left; color: #0f4b91; }.location-modal .loc-pho:hover, .location-modal .loc-phy:hover { color: #99ca3c; }.location-modal .loc-pho span, .location-modal .fo-title { display: block; font-size: 13px; font-weight: bold; line-height: 1.77; letter-spacing: 2.6px; text-align: left; color: #271d1f; text-transform: uppercase; }.location-modal .hours { display: block; }.location-modal:after { content: ""; position: absolute; bottom: 0; height: 22px; left: 0; right: 0; background-color: #545858; }.location-modal .close { position: absolute; top: 8px; right: 12px; font-size: 30px; z-index: 5; cursor: pointer; }.modal-inner { position: relative; }.modal-content-template img { width: 100%; height: auto; margin: 10px 0; }#index-insta { max-width: 1400px; margin: 60px auto; display: none; }.loc-page #index-insta { display: block; }#index-insta .content { position: relative; margin: 20px auto 0; }#index-insta .content .img { display: flex; justify-content: center; }#index-insta .content .img span img { width: 100%; }#index-insta .content .img span { flex: 1 1 15%; }#index-insta .content .btn-white { position: absolute; bottom: 50%; right: 50%; transform: translate(50%, 50%); }#find { margin: 60px auto; text-align: center; }#find > .block { gap: 20px; width: 100%; max-width: 1300px; }#find .h2:after { content: ""; display: block; width: 102px; height: 1px; margin: 15px auto; opacity: 0.31; background-color: #0f4b91; }#find ul { display: table; margin: 20px auto; }#find ul li { margin-left: 0; }#find #map { flex: 0 1 530px; }#find #map iframe { height: 100%; border-radius: 15px; width: 100%; }#find .fo-title{text-align: center;}#find article { order: 2; border-radius: 32px; background-color: #fff; min-height: 563px; display: flex; align-items: center; justify-content: center; flex: 0 1 605px; }#footer-form { padding: 60px 20px; background-image: url(assets/images/bg-stripes.png); background-size: cover; }#footer-form .h2 { font-size: 78px; }#footer-form p { font-size: 23px; font-weight: 500; }#quest form, .good-form form { margin: 100px auto 0; max-width: 1290px; text-align: left; }#quest label, .good-form label { font-size: 14px; font-weight: bold; line-height: 1.07; letter-spacing: 1.4px; color: #271d1f; text-transform: uppercase; margin-bottom: 15px; }#quest .input, .good-form .input { display: flex !important; width: 100%; }#quest select, #quest option, #quest input:not([class^=btn]), #quest textarea, .good-form select, .good-form option, .good-form input:not([class^=btn]), .good-form textarea { flex: 1; height: 50px; width: 100%; background: transparent; padding: 4px 0; font-size: 16px; border: none; margin: 0px; color: #000; margin-top: 8px; background-color: transparent; border-bottom: 1px solid #000; }#quest .flex, .good-form .flex { gap: 45px; }#quest .flex > div, .good-form .flex > div { flex: 0 1 393px; }#quest .flex > .wide, .good-form .flex > .wide { flex: 0 1 840px; }#quest select, .good-form select { appearance: none; -webkit-appearance: none; -moz-appearance: none; position: relative; }#quest .select, .good-form .select { position: relative; }#quest .select:after, .good-form .select:after { content: "\e825"; position: absolute; font-family: Fontello; right: 0px; bottom: 0; font-size: 24px; color: white; background-color: #545858; width: 45px; height: 45px; display: flex; align-items: center; justify-content: center; }#quest .next, .good-form .next { color: #fff; background-color: #0f4b91; min-width: 100px; position: relative; left: auto; right: auto; top: auto; margin: 0; font-size: 16px; font-family: "Red Hat Display", sans-serif; border: none; display: flex; justify-content: center; align-items: center; transform: none; text-transform: uppercase; border-radius: 0; padding: 0; height: auto; }#quest .next:after, .good-form .next:after { display: none; }#quest .next:hover, .good-form .next:hover { background-color: #99ca3c; border-color: #99ca3c; }#quest::placeholder, .good-form::placeholder { color: #2b2d2f; }#quest::-webkit-input-placeholder, .good-form::-webkit-input-placeholder { color: #2b2d2f; }@media (max-width:768px) { .plan-form .block > * + *, #quest .block * + * { margin-left: auto !important; }}#assoc .flex-row { max-width: 1400px; margin: auto; }#assoc span { padding: 8px; }.simple { line-height: 1; font-size: 0; margin: 0 auto; text-align: center; }.simple select, .simple option, .simple input:not([class^=btn]), .simple textarea { -webkit-box-sizing: border-box !important; box-sizing: border-box !important; border: 0; border-radius: 0; line-height: 1; font-size: 18px; width: 100%; max-width: 100%; padding: 0 11px; margin-bottom: 10px; height: 45px; color: #99ca3c; background-color: #eee; }.simple select, .simple option { display: block; color: #271d1f; }.simple textarea { height: 130px; padding: 14px 11px; }.simple input:focus, .simple textarea:focus { outline: 0; background-color: #e7f0f6; color: #99ca3c; }::placeholder { color: #271d1f; }::-webkit-input-placeholder { color: #271d1f; }.social { font-size: 0; text-align: center; margin: 10px auto; display: flex; justify-content: space-around; }.social a { position: relative; display: inline-block; margin: 5px; font-size: 16px; color: #fff; width: 40px; height: 40px; border-radius: 50%; line-height: 40px; border: solid 1px rgba(112, 112, 112, 0.26); }.social .tt { display: flex; align-items: center; justify-content: center; }.social .tt svg { margin: 0 auto; width: 20px; height: 20px; }.social .tt svg path { fill: currentColor; }.social .fb { color: #4d70a8; }.social .gp { color: #dc4e41; }.social .yp { color: #b62717; }.social .yt { color: #d00; }.social .in { color: #c13584; }.social .tw { color: #00aced; }.social a:hover { color: #fff !important; }.social .fb:hover { background-color: #4d70a8; }.social .gp:hover { background-color: #dc4e41; }.social .yp:hover { background-color: #b62717; }.social .yt:hover { background-color: #d00; }.social .in:hover { background-color: #c13584; }.social .tw:hover { background-color: #00aced; }footer { background-color: #fff; }footer a { color: #271d1f; }footer a:hover { color: #0f4b91; }footer .logo { display: block; margin-bottom: 10px; }footer .pho { font: 700 24px/1.2 "Playfair Display", serif; margin: 10px auto; display: block; }footer .phy { font: 700 24px/1.2 "Red Hat Display", sans-serif; margin: 20px auto; display: block; }footer .hours { margin: 20px 0; }footer .hours p { color: #271d1f; }footer .social { display: table; margin: 0; }footer .social a:first-of-type { margin-left: 0; }footer .social a { width: 78px; height: 78px; line-height: 78px; font-size: 30px; }footer .social a + a { margin-left: 20px; }#fo-contents { display: flex; justify-content: space-around; margin: auto; position: relative; justify-content: space-between; max-width: 1350px; padding: 20px 10px 50px; }#fo-contents, #assoc { max-width: 1180px; margin: 0 auto; }.fo-info { flex: 0 1 auto; }#copy { font: 400 15px/1.5 "Red Hat Display", sans-serif; color: #271d1f; padding: 20px 10px; text-align: center; }#copy a { color: #271d1f; }#copy a:nth-of-type(1), #copy a:nth-of-type(2) { color: #99ca3c; text-decoration: underline; }#copy a:hover { color: #99ca3c; }#copy img { display: inline-block; vertical-align: middle; margin: 0 0 5px 5px; }.slick-controls { display: flex; align-items: center; justify-content: space-around; max-width: 1000px; margin: 10px auto; }.slick-arrow { color: #fff; font-family: fontello; font-size: 40px; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 60px; height: 60px; flex: 0 0 60px; display: flex; flex-direction: column; justify-content: center; align-items: center; border-radius: 50%; background-color: #99ca3c; z-index: 5; transition: 0.3s all; }.slick-arrow i { margin-left: -4px; }.slick-arrow:hover { background-color: #0f4b91; }#next { left: auto; right: 0; order: 2; }#next i { margin-left: 4px; }.slick-dots { line-height: 1; max-width: 995px; }.slick-dots li { line-height: 1; }.slick-dots li button { padding: 0; }.slick-dots span { cursor: pointer; background-color: #545858; height: 12px; width: 12px; border-radius: 50%; display: inline-block; margin: 0 5px; opacity: 0.18; }.slick-dots .slick-active span { opacity: 1; }.pagingInfo { font-size: 30px; text-align: center; }.gallery { max-width: 1050px; margin: 40px auto; padding: 0 30px; position: relative; }.gallery .slick-arrow { top: 50%; }.slick-gallery { position: relative; margin: 20px auto; text-align: center; }.slick-gallery article .flex-ed { justify-content: space-around; align-items: center; }.slick-gallery article .flex-ed span { margin: 10px; position: relative; padding-bottom: 40px; }.slick-gallery article .flex-ed span img { width: 100%; }.slick-gallery article .flex-ed span:after { content: "Before"; position: absolute; bottom: 5px; left: 0; right: 0; margin: auto; display: block; margin: auto; color: #271d1f; font: 500 18px/1.2 "Red Hat Display", sans-serif; text-transform: uppercase; letter-spacing: 1.6px; }.slick-gallery article .flex-ed span:last-of-type:after { content: "After"; }.slick-gallery article div p { display: block; }.slick-gallery figcaption { margin: 5px auto; }#index-tour { margin: 60px auto; padding: 0 20px; }#index-gallery { padding: 60px 20px; background-color: #fff; }#smiles .slick-slide { margin: 0 100px; }#smiles .slick-list, #smiles .slick-track { overflow: visible !important; }.progress { display: flex; align-items: center; justify-content: center; max-width: 994px; margin: 0 auto; }.progress .progress-bar { display: block; width: 100%; height: 3px; overflow: hidden; position: relative; background-image: linear-gradient(to right, #7fb8ce, #7fb8ce); background-repeat: no-repeat; background-size: 0 100%; transition: 0.4s ease-in-out; }.progress .progress-bar:after { content: ""; z-index: -1; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background-color: rgba(39, 29, 31, 0.33); }#reviews .progress .progress-bar { background-image: linear-gradient(to right, #99ca3c, #99ca3c); }.video-grid > div { flex: 0 1 480px; margin: 10px; }.video-grid h3 { margin-top: 10px; display: block; line-height: 1.1; }.video-grid > div { margin: 10px; }.why { padding: 30px 10px 10px; position: relative; counter-reset: why-section; }.why:before { content: ""; position: absolute; left: -1000px; right: -1000px; top: 0; bottom: 0; background-color: #fff; }.why h2 { text-align: center; font-size: 30px; }.why ul { display: flex; justify-content: space-around; align-items: center; text-align: center; align-items: flex-start; }.why ul li { max-width: 280px; flex: 1 1 33%; padding: 0; margin: 10px; width: 100%; overflow: visible; }.why ul li span { max-width: 95%; margin: 0 auto; }.why ul li:before { content: ""; counter-increment: why-section; content: counter(why-section); position: relative; display: flex; justify-content: center; align-items: center; margin: 0 auto 10px; width: 56px; height: 54px; border-radius: 50%; background-color: #99ca3c; color: #fff; font: 400 30px/1 "Red Hat Display", sans-serif; text-align: center; }.section-toggle { display: none; margin-top: 20px; position: relative; z-index: 5; }.page-divider { display: block; max-width: 100%; width: 100%; position: relative; z-index: 1; }.divider-block { position: relative; display: table; clear: both; width: 100%; max-width: 100%; padding: 110px 10px; text-align: center; }.divider-block:before { content: ""; position: absolute; left: -1000px; right: -1000px; top: 0; bottom: 0; z-index: -1; }.divider-block .contain { display: flex; justify-content: space-around; align-items: flex-start; }.divider-block h2 { margin-bottom: 20px; }.divider-block .wrap { height: 0; }.divider-block article { margin: auto 0; flex: 0 1 550px; }.divider-block article p:first-of-type { margin-top: 0; }.divider-block ul { display: table; margin: 10px auto; }.divider-block ul li { margin-left: 0; }.divider-block .btn { margin-left: 0; }.divider-block .elem { width: 100%; flex: 0 0 auto; position: relative; z-index: 3; }.divider-block .elem .elem-logo { margin-top: -160px; position: relative; z-index: 4; }.divider-block .elem-right { order: 1; }.elem-sm { max-width: 300px; }.divider-block .elem img, .divider-block .elem-sm img { border-radius: 32px; }.divider-block .elem .caption { display: block; line-height: 1.1; margin: 10px auto; text-align: center; font-family: "Playfair Display", serif; font-size: 17px; }.divider-block .elem .caption span { display: block; font-size: 27px; font-weight: 700; }.divider-block:nth-of-type(even):before, .plan-section:nth-of-type(even):before { background-color: #E7E7E7; }.mini-block { display: flex; align-items: start; text-align: left; clear: both; max-width: 1140px; width: 100%; margin: 30px auto; }.mini-block article { text-align: center !important; }.divider-block.no_img article { max-width: 1130px; margin: auto; text-align: center; }.plan-section { padding: 20px 20px; position: relative; text-align: center; display: flex; justify-content: space-around; }.plan-section:before { content: ""; position: absolute; left: -1000px; right: -1000px; top: 0; bottom: 0; z-index: -1; }.plan-section article { border-radius: 32px; overflow: hidden; background: #fff; box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); flex: 0 1 560px; padding-bottom: 40px; }.plan-section .title h2 { font-size: 61px; }.plan-section .title { background-color: #99CA3C; text-align: center; display: flex; align-items: center; justify-content: center; position: relative; min-height: 130px; }.plan-section .title img { position: absolute; bottom: 0; left: 0; right: 0; }.plan-section article + article .title { background-color: #9F9F9F }.plan-section article + article .title h2 { color: #4d4d4d; }.plan-section article + article ul li:before { color: #C1C1C1 }.plan-section .includes, .plan-section .adds { display: block; margin: 15px auto; text-transform: uppercase; font-size: 14px; font-weight: 500; letter-spacing: 4.2px; color: #fff; }.plan-section .adds { font-size: 14px; color: #303030; }.plan-section .adds span { color: #0F4B91; font-weight: 700 }.plan-section small { display: table; margin: 15px auto; font-size: 15px; }.plan-section .vs { align-self: center; font-size: 67px; font-family: "Playfair Display", serif; font-weight: 700; color: #303030; }.plan-form-section { padding: 110px 20px; }.plan-form form { margin: 20px auto; max-width: 870px; }.plan-form input:not([class^=btn]), .plan-form textarea, .plan-form select { display: block; width: 100%; border-radius: 9px; -webkit-box-sizing: border-box; box-sizing: border-box; border: none; padding: 12px 10px; font-size: 17px; margin-bottom: 10px; color: inherit; line-height: 1em; -webkit-transition: 0.3s ease all; transition: 0.3s ease all; background-color: #e7e7e7; }.plan-form textarea { height: 120px; }.plan-form .btn { display: table; margin: 20px auto; }.plan-form::-webkit-input-placeholder { color: #000; }.plan-form:-moz-placeholder { color: #000; }.plan-form::-moz-placeholder { color: #000; }.plan-form:-ms-input-placeholder { color: #000; }.plan-form .block > * + * { margin-left: 15px; }.plan-title-1 span { display: block; font-family: "Red Hat Display", sans-serif; text-transform: uppercase; font-size: 30px; font-weight: 400; }.doing-good-bar { position: relative; padding: 100px 0; }.doing-good-bar h2 { font-size: 60px; color: #fff; }.doing-good-bar:before { content: ""; position: absolute; left: -1000px; right: -1000px; top: 0; bottom: 0; z-index: -1; background-color: #0f4b91; }.more-to-explore { position: relative; text-align: center; margin: 0 auto; padding: 40px 10px 60px; }.more-to-explore p { padding: 10px; margin: auto; max-width: 1150px; display: flex; align-items: center; flex-wrap: wrap; justify-content: center; }.more-to-explore [class^=btn] { min-width: 350px; margin: 5px; }/** Remove the class="off" from the leanModal link in the html to activate the link/connect to its pop-up *****/.off { pointer-events: none; }.service-icons { display: flex; justify-content: center; text-align: center; flex-wrap: wrap; margin: 20px auto; max-width: 1400px; }.service-icons .mini-block { margin: 0; }.service-icons .modal .icon { height: 80px; display: flex; flex-direction: column; justify-content: center; align-items: center; }.service-icons .modal .icon .ic-color { fill: #0f4b91; }.service-icons .modal .has-h3 { clear: both; display: table; width: 100%; margin: 20px auto; text-align: left; }.service-icons .modal .has-h3 h3 { margin: 0 auto 10px; text-align: left; }.service-icons h3 { margin: 5px auto; font-size: 22px; line-height: 1.1; }.service-icons > * { padding: 5px; flex: 0 1 180px; margin: 10px auto; display: block; }.service-icons a { color: #271d1f; text-decoration: none; }.service-icons a:hover .icon .ic-color { fill: #99ca3c; }.service-icons a:hover h3 { color: #99ca3c; }@media (max-width:750px) { .has-h3, .has-h3 h3 { text-align: center; }}.services-grid { position: relative; margin: 40px auto; display: flex; align-items: stretch; flex-wrap: wrap; justify-content: center; gap: 15px; }.services-grid > div { flex: 0 1 370px; border-radius: 32px; background-color: #545858; overflow: hidden; }.services-grid h3 { display: block; transition: 0.3s; padding: 14px 20px; text-align: center; line-height: 1.1; font-family: "Red Hat Display", sans-serif; font-size: 16px; font-weight: 500; letter-spacing: 1.6px; color: #f5f5f5; text-transform: uppercase; }.services-grid h3 .arrow { display: inline-block; vertical-align: middle; margin-left: 5px; position: relative; right: 0; transition: 0.3s; }.services-grid h3 span { display: block; font-size: 18px; }.services-grid figure { transition: 0.4s all; }.services-grid figure img { width: 100%; }.services-grid ul { display: table; margin: 20px auto; }.services-grid ul li { line-height: 1.2; margin: 10px auto; }.services-grid ul li a { color: #271d1f; }.services-grid a:hover h3 { background-color: #99ca3c; }#all { background-color: #99ca3c; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 250px; transition: 0.4s all; }#all .h2 { padding: 10px; }#all .btn { background-color: #303030; }#all:hover { background-color: #99ca3c; }#all:hover .btn { background-color: #0f4b91; color: #fff; }#page { position: relative; display: block; width: 100%; margin: auto; padding: 0px 10px; max-width: 1280px; clear: both; }#page.has_divider { padding-bottom: 0; }.page_index .internal, .loc-page .internal { display: none; }.center { text-align: center; }main { overflow: hidden; }main ol { text-align: left; }main ul { list-style: none; padding: 0; margin: 10px 0; text-align: left; overflow: hidden; }main ul li { position: relative; display: block; margin: 0 0 10px 26px; padding-left: 24px; line-height: 1.6; overflow: hidden; }main ul li:before { content: "\e832"; color: #99ca3c; position: absolute; left: 0; top: 0; font-size: 0.9em; }@media (min-width:800px) { ul.two { -webkit-column-count: 2; column-count: 2; } ul.three { display: block; -webkit-column-count: 3; column-count: 3; }}@media (max-width:750px) { main ul li { margin-left: 10px; } .elem-left, .elem-right, .divider-block .elem-left, .divider-block .elem-right { display: table; float: none; margin: 20px auto; max-width: 100%; }}#interior-banner { display: flex; justify-content: end; position: relative; text-align: center; max-width: 100%; margin: 0 auto; min-height: 777px; }#interior-banner .contain { padding: 50px 20px; flex: 0 1 45%; width: 100%; z-index: 5; display: flex; flex-direction: column; justify-content: center; padding-top: 160px; padding-left: 110px; position: relative; }#interior-banner .contain:after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: -9999px; background-image: url("assets/images/bg-stripes.png"); z-index: -1; border-top-right-radius: 0; border-bottom-right-radius: 0; border-top-left-radius: 388.5px; border-bottom-left-radius: 388.5px; }#interior-banner .content { max-width: 580px; margin: auto; margin-right: 100px; }#interior-banner .flex-title { width: 100%; margin: auto; }#page-title { position: relative; }.flex-title { height: 100%; }.flex-title #page-title { margin: auto; }#intro { margin: 0 auto; }#main-img { flex: 1 0 60%; margin-right: -350px; order: -1; align-self: stretch; background-image: none !important; }#main-img img { width: 100%; object-fit: cover; height: 100%; }#static-banner { display: none; }.landing { display: flex; align-items: flex-start; justify-content: space-around; flex-wrap: wrap; }.landing a { flex: 0 1 30%; margin: 10px auto 20px; text-align: center; }.landing a h3 { padding: 10px; background-color: #99ca3c; color: #fff; font: 400 15px/1 "Playfair Display", serif; text-transform: none; transition: 0.3s all; }.landing a:hover h3 { background-color: #0f4b91; color: #fff; }.tabs.slick-controls .slick-dots { background-color: #fff; line-height: 0; border-radius: 50px; }.tabs.slick-controls .slick-dots li { margin: 0; }.tabs.slick-controls .slick-dots span { width: 300px; height: 50px; display: flex; align-items: center; justify-content: center; opacity: 1; border-radius: 50px; margin: 0; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: #000; background-color: #fff; }.tabs.slick-controls .slick-dots .slick-active span { background-color: rgb(153, 202, 60); color: #fff; }#landing { padding: 60px 20px; }#landing h2 { text-align: center; display: block; margin: 30px auto 20px; }.meet-landing { display: flex; justify-content: center; gap: 0; flex-wrap: wrap; margin: 0 auto; padding: 30px 20px; max-width: 1200px; }.meet-landing .dr { width: 290px; max-width: 100%; text-align: center; display: block; background-color: #fff; border: 0.5px solid #dedede; padding: 20px 20px 15px; transition: all 0.15s; }.meet-landing .dr h3 { font-size: 13px; font-family: montserrat, sans-serif; font-weight: 500; text-transform: uppercase; color: #0E1926; letter-spacing: 1px; margin-top: 15px; transition: all 0.3s; }.meet-landing .dr p { font-weight: 500; color: #B5B5B5; font-size: 13px; margin: 0 auto; }.meet-landing .dr:hover { box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); transform: scale(1.05); transition: all 0.4s; }.meet-landing .dr:hover h3 { color: rgb(153, 202, 60); }#landing + .page-divider .divider-block:first-of-type{padding-top: 0;}@media (max-width:950px) { #landing .meet-landing .dr { max-width: 240px; } .tabs.slick-controls .slick-dots span { width: 200px; }}@media (max-width:880px) { #landing .meet-landing .dr { max-width: 220px; }}@media (max-width:750px) { #lists .h2 br{display: none;} #landing { padding: 10px 20px 30px; } #landing .meet-landing { padding: 30px 0; } #landing .meet-landing .dr { width: 290px; max-width: 50%; }}@media (max-width:650px) { .tabs.slick-controls .slick-dots { max-width: 300px; border-radius: 23px; } .tabs.slick-controls .slick-dots span { width: 300px; }}#refer { background: #0f4b91; margin: 40px auto; max-width: 700px; padding: 40px 20px 30px; }#refer .simple { max-width: 650px; margin: auto; }.faq-container { padding: 100px 10px; }.faq-container > h2 { margin-bottom: 30px; }.faq-container > h2, .faq-container > p { text-align: center; }.accordion { margin: 20px auto; text-align: left; max-width: 1150px; }.accordion .toggle { position: relative; cursor: pointer; clear: both; padding: 16px 0; padding-right: 75px; margin: 0px auto 0; width: 100%; display: block; text-align: left; }.accordion .toggle:hover h2, .accordion .toggle:hover h3 { color: #0f4b91; }.accordion .toggle.active:after { content: "\e83a"; background-color: #0f4b91; }.accordion article + article .toggle { border-top: 1px solid #707070; }.accordion .toggle:after { content: "\e825"; font-size: 24px; font-family: Fontello; background-color: #99ca3c; border-radius: 50%; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: #fff; position: absolute; right: 0; bottom: 50%; transform: translateY(50%); }.accordion article div { display: none; position: relative; padding: 10px 0 10px; }.hours { display: table; margin: 10px auto; text-align: left !important; }.hours label { width: 120px; display: inline-block; font-weight: 700; }.contact { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; max-width: 1150px; margin: 30px auto; padding: 10px; }.contact h3 { margin: 10px auto; font-size: 20px; }.contact h2 { font-size: 25px; }.contact p { margin: 15px 0 10px; line-height: 1.4; }.contact > div:first-child { flex: 1 0 auto; margin-right: 20px; }.contact > div:last-child { margin-right: 10px; }.contact-map { margin: 20px auto 40px; }.contact-map iframe { width: 100%; }@media (max-width:1500px) { #banner .contain { max-width: 60%; }}@media (max-width:1250px) { #banner h2 { font-size: 42px; } #banner .content, #interior-banner .content { margin: auto; } #banner { display: block; max-height: 100%; background-image: none !important; } #banner .figure { display: block; } #banner figure { position: relative; top: auto; right: auto; bottom: auto; left: auto; } #banner .contain { max-width: 100%; border-radius: 0; height: auto; padding: 40px 20px; } #banner .contain:after { right: 0; border-radius: 0; } #banner .play { left: 50%; }}@media (max-width:1024px) { .split figure { display: block; margin: auto; } .split article { margin: 20px auto; } #reviews .slick-arrow, .gallery .slick-arrow { position: relative; left: auto; right: auto; top: auto; transform: none; } #loc-meet article, #loc-meet figure { margin: 20px auto; display: table; } #reviews .revtest > div { margin: 15px auto; } #meet .contain, #meet .top{text-align: center;} #banner.alt figure{position: relative;} #find ul { display: table; margin: 10px auto; } #fo-contents { display: block; text-align: center; } footer .hours { margin: 20px auto; } .fo-title { text-align: center; } #quest .flex { display: block; } #quest .flex > div { margin: 15px auto; } footer .social { margin: 20px auto 0; } #interior-banner .flex-title .contain { max-width: 100%; } .flex-title { display: block; text-align: center; } .flex-title #page-title { text-align: center; } #main-img { min-height: auto; } #main-img img { display: block; width: 100%; } #intro { margin: 20px auto; } #interior-banner .content { margin: auto; } #interior-banner { display: block; max-height: 100%; background-image: none !important; } #interior-banner .figure { display: block; } #interior-banner figure { position: relative; top: auto; right: auto; bottom: auto; left: auto; } #interior-banner .contain { max-width: 100%; border-radius: 0; height: auto; padding: 40px 20px; } #interior-banner .contain:after { right: 0; border-radius: 0; } #static-banner { display: block; } body.page_our-locations #main-img{display: none !important;} #smiles .slick-slide { margin: 0 10px; } .divider-block { text-align: center; padding: 40px 10px; } .divider-block .contain { display: block; } .divider-block .btn { margin: 10px auto; } .divider-block h2, .divider-block h3 { margin-bottom: 20px; text-align: center; } .divider-block [class^=elem] { float: none; margin: 10px auto 20px; max-width: 100%; } .divider-block ul { display: table; margin: 20px auto; } .services > div, #all { flex: 0 1 48%; } .plan-section { display: block; } [data-player][class^=elem] { max-width: 650px; } .contact { text-align: center; display: block; } .contact > div:first-child, .contact p { margin: 10px auto; } .mini-block, .mini-block article { display: block; text-align: center !important; }}@media (max-width:768px) { #hd-info { flex: 0 1 auto; } header .phy { display: none; } header .pho { font-size: 18px; } #reviews .contain { padding: 0 10px; } #reviews .slick-controls { flex-wrap: wrap; margin: 10px auto; } #hd-top-modal { overflow: scroll; } .top-grid .hd-pho { font-size: 16px; } #loc-meet article .bot{display: block; text-align: center;} #loc-meet article .bot .plus{margin: 10px auto 0;} #find { display: block; } #map { display: none; } #footer-form .h2 { font-size: 35px; } #index-insta .content .img { flex-wrap: wrap; } #index-insta .content .img span { flex: 1 1 30%; } #assoc .flex-row { flex-wrap: wrap; } #assoc .flex-row > span { flex: 0 1 20%; } #page-title h1:only-child, h2#append, .h1, h2, .h2, .h2.big, .dividerLead { font-size: 35px; } .why ul { flex-wrap: wrap; } .why ul li { flex: 1 1 100%; } .contact { text-align: center; display: block; } .contact > div:first-child, .contact p { margin: 10px auto; }}@media (max-width:640px) { .location-grid { grid-template-columns: repeat(2, 1fr); } #resources .top .buttons .btn { display: block; } #map { display: none; } .gallery { padding: 0; } .services > div, #all { flex: 1 1 100%; } .youtube[class*=elem-] { width: 100%; } [data-player][class^=elem] { min-width: 100%; } .landing { display: block; }}@media (max-width:480px) { .hd-info { display: none; } header .hours label { width: 100px; } #fixed-tabs strong { display: none; } }@media (max-width:400px) { [class^=btn], .more-to-explore [class^=btn] { min-width: auto; width: 100%; margin: 8px auto; } [data-embed] .close { display: block; position: unset; text-align: center; padding: 4px; }}
