@font-face {
font-family: 'Gotham Black';
font-style: normal;
font-weight: normal;
font-display: swap;
src: url('/assets/fonts/Gotham-Black.woff2') format('woff2'),
url('/assets/fonts/Gotham-Black.woff') format('woff');
}
@font-face {
font-family: 'Gotham Medium';
font-style: normal;
font-weight: normal;
font-display: swap;
src: url('/assets/fonts/Gotham-Medium.woff2') format('woff2'),
url('/assets/fonts/Gotham-Medium.woff') format('woff');
}
@font-face {
font-family: 'Gotham Light';
font-style: normal;
font-weight: normal;
font-display: swap;
src: url('/assets/fonts/Gotham-Light.woff2') format('woff2'),
url('/assets/fonts/Gotham-Light.woff') format('woff');
}
*, *::before, *::after { box-sizing: border-box; }
body {
margin: 0;
color: #191919;
font-family: 'Gotham Light', sans-serif;
font-size: 1.125rem;
font-weight: 400;
line-height: 1.8em;
-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: inline-block; border: 0; }
figure { margin: 0; }
p { margin: 0 0 0.9em; }
p:last-child { margin-bottom: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; line-height: 1.4em; }
h1 { color: #191919; font-family: 'Gotham Black', sans-serif; font-size: 3.5rem; font-weight: bold; }
h2 { color: #191919; font-family: 'Gotham Black', sans-serif; font-size: 2.5rem; font-weight: bold; }
h3 { color: #191919; font-family: 'Gotham Medium', sans-serif; font-size: 1.875rem; font-weight: bold; }
h4 { color: #191919; font-family: 'Gotham Medium', sans-serif; font-size: 1.375rem; font-weight: bold; }
h5 { color: #48BEA7; font-family: 'Gotham Light', sans-serif; font-size: 1rem; text-transform: uppercase; letter-spacing: 4px; font-weight: normal; }
a { color: #1F7A68; font-family: 'Gotham Medium', sans-serif; text-decoration: none; }
a:hover { color: #605D5D; }
.hd a { color: inherit; font-family: inherit; }
@media (max-width: 1024px) {
body { font-size: 1.063rem; }
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.563rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 0.875rem; }
}
@media (max-width: 767px) {
body { font-size: 1rem; }
h1 { font-size: 1.7rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.125rem; }
h5 { font-size: 0.875rem; }
}
.sec { position: relative; }
.sec > .cols { position: relative; z-index: 1; }
.cols { display: flex; margin-inline: auto; }
.wrap { max-width: 1200px; width: 100%; }
.wrap-full { max-width: none; width: 100%; }
.col { position: relative; display: block; min-width: 0; }
.col > * { min-width: 0; position: relative; z-index: 1; }
.col > .ilist { display: inline-block; vertical-align: top; width: 100%; }
:where(.gap-default) > :where(.col) { padding: 10px; }
:where(.gap-no) > :where(.col) { padding: 0; }
.col-100 { width: 100%; }
.col-50 { width: 50%; }
.col-33 { width: 33.333%; }
.col-25 { width: 25%; }
.col-66 { width: 66.666%; }
.items-middle > .col, .items-middle .cols { align-items: center; }
.items-bottom .cols { align-items: flex-end; }
@media (max-width: 1024px) { .wrap { max-width: 1024px; } }
@media (max-width: 767px) {
.cols { flex-wrap: wrap; }
.col { width: 100%; }
}
.col > *:not(:last-child) { margin-bottom: 20px; }
.col > .cols:not(:last-child), .col > .sec:not(:last-child) { margin-bottom: 0; }
.col > .sec > .cols { width: 100%; }
@media (min-width: 1025px) { .hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .hide-tablet { display: none !important; } }
@media (max-width: 767px) { .hide-phone { display: none !important; } }
.btn {
display: inline-block;
background-color: #1F7A68;
color: #FFFFFF;
font-family: 'Gotham Medium', sans-serif;
font-size: 1.125rem;
font-weight: 400;
line-height: 1;
border: 1px solid #1F7A68;
border-radius: 0;
padding: 20px 40px;
text-align: center;
cursor: pointer;
transition: background 0.3s, color 0.3s;
}
.btn:hover, .btn:focus { background-color: #FFFFFF; color: #1F7A68; }
.btn-in { display: flex; align-items: center; justify-content: center; gap: 12px; }
.btn-ico svg { display: block; width: 18px; height: 18px; fill: currentColor; }
@media (max-width: 1024px) { .btn { font-size: 1.063rem; } }
@media (max-width: 767px) { .btn { font-size: 1rem; } }
.lead-form input:not([type="submit"]), .lead-form textarea {
width: 100%;
background: #FFFFFF;
border: 1px solid #F8F8F8;
border-radius: 0;
padding: 20px;
font-family: inherit;
font-size: 1rem;
color: #191919;
}
.lead-form input:focus, .lead-form textarea:focus { border-color: #48BEA7; outline: none; }
.form-fields { display: flex; flex-wrap: wrap; margin-inline: -10px; }
.field { padding-inline: 10px; margin-bottom: 20px; width: 100%; }
.field.f-50 { width: 50%; }
.field:last-child { margin-bottom: 0; }
@media (max-width: 767px) { .field.f-50 { width: 100%; } }
.btn-submit { width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lead-msg { padding: 14px 18px; margin-bottom: 16px; font-family: 'Gotham Medium', sans-serif; font-size: 1rem; }
.lead-ok { background: #eafaf6; color: #1d6f5f; border: 1px solid #48BEA7; }
.lead-err { background: #fdecec; color: #8c2f2f; border: 1px solid #d88; }
.site-header { background: #FFFFFF; }
.site-header .logo img { display: block; }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: flex-end; flex-wrap: wrap; }
.nav a { display: block; padding: 20px; transition: background 0.3s, color 0.3s; }
.nav a:hover, .nav a[aria-current] { background-color: #1F7A68; color: #FFFFFF; }
.nav-toggle { display: none; border: 0; background: none; padding: 10px; cursor: pointer; }
.nav a.header-call { display: none; }
@media (max-width: 1024px) {
.nav-toggle { display: block; }
nav.nav .nav-toggle { margin-left: 0; }
.nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px; }
.nav a.header-call { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 11px; }
.header-call svg { fill: #1F7A68; }
.nav ul { display: none; flex-direction: column; width: 100%; text-align: center; }
.nav.open ul { display: flex; }
.nav { width: 100%; }
}
.icon-list { list-style: none; margin: 0; padding: 0; }
.icon-list li { display: flex; align-items: center; }
.icon-list li a { display: flex; align-items: center; min-height: 44px; }
.icon-list .ic { display: inline-flex; flex-shrink: 0; align-items: center; }
.icon-list .ic + span { padding-inline-start: 5px; }
.icon-list .ic svg { width: var(--e-icon-list-icon-size, 1em); height: auto; fill: currentColor; }
.divider { display: flex; }
.divider span { display: inline-block; width: 100%; border-top: 1px solid #605D5D; border-top-width: var(--divider-border-width, 1px); border-top-style: var(--divider-border-style, solid); border-top-color: var(--divider-border-color, var(--divider-color, #605D5D)); }
.spacer { height: var(--spacer-size, 20px); }
.img { text-align: center; }
.img img { vertical-align: middle; }
.anim-headline .ah-highlight { color: #1F7A68; }
.anim-headline .ah-highlight { position: relative; display: inline-block; }
.ah-circle {
position: absolute;
left: -0.15em; right: -0.15em; top: -0.25em; bottom: -0.25em;
width: calc(100% + 0.3em); height: calc(100% + 0.5em);
overflow: visible;
color: #48BEA7;
pointer-events: none;
}
.ah-circle path {
stroke: currentColor;
stroke-dasharray: 1550;
stroke-dashoffset: 1550;
animation: ah-draw 8s ease-in-out infinite;
}
@keyframes ah-draw {
0% { stroke-dashoffset: 1550; }
15% { stroke-dashoffset: 0; }
85% { stroke-dashoffset: 0; opacity: 1; }
95% { opacity: 0; }
100% { stroke-dashoffset: 1550; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
.ah-circle path { animation: none; stroke-dashoffset: 0; }
}
.flip { position: relative; height: 280px; perspective: 1000px; outline: none; }
.flip-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.6s; }
.flip:hover .flip-inner, .flip:focus .flip-inner, .flip:focus-within .flip-inner { transform: rotateX(-180deg); }
.flip-front, .flip-back { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; overflow: hidden; display: block; }
.flip-back { transform: rotateX(180deg); }
.flip-overlay { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 30px; }
.flip-in { text-align: center; width: 100%; }
.flip-title { margin: 0; text-shadow: 0 1px 3px rgba(0,0,0,0.45); }
@media (prefers-reduced-motion: reduce) { .flip-inner { transition: none; } }
.cta { position: relative; overflow: hidden; }
.cta-bg, .cta-overlay { position: absolute; inset: 0; display: block; }
.cta-bg { background-position: center center; background-repeat: no-repeat; background-size: cover; transition: transform 0.3s, background 0.3s; }
.cta-overlay { background-color: rgba(0,0,0,0.43); transition: background-color 0.3s; }
.cta-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 30px; color: #FFFFFF; }
.cta-title { display: block; color: #FFFFFF; font-family: 'Gotham Medium', sans-serif; font-size: 1.375rem; font-weight: bold; line-height: 1.4em; }
.cta-desc { display: block; }
@media (max-width: 1024px) { .cta-title { font-size: 1.25rem; } }
@media (max-width: 767px) { .cta-title { font-size: 1.125rem; } }
.icon-box { display: flex; align-items: flex-start; gap: 15px; }
.icon-box .ico svg { width: var(--icon-size, 50px); height: auto; fill: #48BEA7; }
.ib-title { margin: 0 0 5px; }
.ib-desc { margin: 0; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
@media (max-width: 1024px) { .post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .post-grid { grid-template-columns: 1fr; } }
.post-card { background: #FFFFFF; box-shadow: 0 0 10px rgba(0,0,0,0.15); display: flex; flex-direction: column; overflow: hidden; }
.post-thumb { display: block; position: relative; overflow: hidden; padding-bottom: calc(0.66 * 100%); }
.post-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.post-body { padding: 25px 30px 30px; display: flex; flex-direction: column; flex: 1; }
.post-title { font-size: 1.375rem; margin: 0 0 10px; }
.post-title a { color: #191919; font-family: 'Gotham Medium', sans-serif; }
.post-title a:hover { color: #1F7A68; }
.post-excerpt { font-size: 1rem; }
.post-more { margin-top: auto; padding-top: 12px; font-size: 1rem; text-transform: uppercase; display: inline-flex; align-self: flex-start; align-items: center; min-height: 44px; }
.pager { display: flex; gap: 12px; justify-content: center; margin-top: 30px; }
.pager:empty { display: none; }
.post-body.rich img { height: auto; }
.post-date { color: rgba(255,255,255,0.92); text-align: center; margin: 8px 0 0; font-size: 1rem; position: relative; z-index: 1; }
.post-card .post-date-card { color: #605D5D; font-size: 0.875rem; margin: 0 0 10px; }
.post-nav { position: relative; display: flex; flex-wrap: wrap; min-width: 0; justify-content: space-between; align-items: center; gap: 20px; padding-top: 20px; }
.post-nav::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 1px; height: 65px; background: #FFFFFF; }
.post-nav a { display: flex; flex-direction: column; align-items: flex-start; }
.post-nav-next { margin-left: auto; text-align: right; align-items: flex-end; }
.pn-label { font-size: 0.875rem; color: #FFFFFF; }
.pn-title { font-family: 'Gotham Medium', sans-serif; color: #FFFFFF; }
.map-embed iframe { width: 100%; border: 0; display: block; height: 300px; }
.reviews .heading { display: flex; align-items: center; gap: 12px; font-size: 2.5rem; }
.reviews .heading .icon img { width: 60px; height: auto; }
.reviews .vicinity { margin: 4px 0; color: #605D5D; font-size: 1rem; }
.reviews .rating .number { font-family: 'Gotham Black', sans-serif; font-size: 2rem; color: #F7B603; margin-right: 6px; }
.reviews .all-stars { letter-spacing: 2px; }
.reviews .all-stars .star::before { content: "\2605"; color: #F8CE0B; font-size: 1.5rem; }
.reviews .all-stars .star.split-90-10::before {
background: linear-gradient(90deg, #F8CE0B 90%, #C9C9C9 90%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.reviews .count { margin-left: 8px; font-size: 1rem; }
.reviews .rating .asat { display: block; margin-top: 6px; color: #605D5D; font-size: 0.938rem; font-family: 'Gotham Light', sans-serif; }
.reviews .listing { list-style: none; margin: 20px 0 0; padding: 0; }
.reviews .listing li { display: none; }
.reviews .listing li.visible { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: start; }
.reviews .author-avatar { grid-row: 1 / span 2; }
.reviews .author-avatar img { width: 56px; height: 56px; border-radius: 50%; }
.reviews .review-meta { display: block; }
.reviews .author-name { display: block; }
.reviews .author-name a { font-family: 'Gotham Medium', sans-serif; color: #191919; }
.reviews .review-meta .rating { color: #F8CE0B; display: inline-block; letter-spacing: 2px; margin-right: 8px; }
.reviews .relative-time-description { color: #605D5D; font-size: 0.875rem; }
.reviews .text { grid-column: 2; margin-top: 6px; font-size: 1.125rem; }
.reviews .review-full-text { display: none; }
.reviews .review-more-placeholder { color: #1F7A68; cursor: pointer; }
.reviews .text.expanded .review-full-text { display: inline; }
.reviews .text.expanded .review-more-placeholder { display: none; }
.reviews .navigation { list-style: none; display: flex; justify-content: center; gap: 4px; margin: 10px 0 0; padding: 0; }
.reviews .navigation .bullet a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 0; color: transparent; text-decoration: none; }
.reviews .navigation .bullet a::before { content: ""; width: 13px; height: 13px; border: 2px solid #4a4a4a; border-radius: 50%; }
.reviews .navigation .bullet.current a::before { background: #4a4a4a; }
.reviews .attribution { margin-top: 14px; color: #605D5D; font-size: 0.8125rem; }
.reviews .powered-by-google::before { content: "powered by Google"; }
.sec-404 { padding: 8% 7%; }
body[data-page="thank-you"] main { min-height: 40vh; }