/*
 * Anthony Cheng Professional Corporation — static rebuild.
 * Replaces The7 theme, WPBakery, Ultimate Addons and Slider Revolution styles.
 * Breakpoints match the original:
 *   grid columns  sm >= 768px, md >= 992px, lg >= 1200px
 *   header        desktop > 1050px, tablet header 779–1050px, phone header <= 778px
 *   hero levels   > 1024px, 779–1024px, 481–778px, <= 480px
 */

:root {
  --gold: #7b5a14;
  --gold-light: #dd9933;
  --accent: #1944a8;
  --accent-2: #22afe2;
  --navy: #061020;
  --heading: #333;
  --text: #85868c;
  --grad-btn: linear-gradient(135deg, #7b5a14 30%, #dd9933 100%);
  --grad-btn-hover: linear-gradient(135deg, #143a7b 30%, #22afe2 100%);
  --grad-accent: linear-gradient(135deg, #1944a8 30%, #22afe2 100%);
  --grad-text: linear-gradient(to right, #1944a8 30%, #22afe2 100%);
  /* Slider Revolution uses GSAP eases: power1 = quad, power2 = cubic, power3 = quart */
  --ease-p2-in-out: cubic-bezier(.645, .045, .355, 1);
  --ease-p3-out: cubic-bezier(.25, 1, .5, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font: 15px/27px Roboto, Helvetica, Arial, Verdana, sans-serif;
  color: var(--text);
  background: #f7f7f7;
  -webkit-font-smoothing: antialiased;
}
#page { background: #fff; overflow: hidden; overflow: clip; position: relative; }
h1, h2, h3, h4 { margin: 0; color: var(--heading); font-weight: 700; }
p { margin: 0; }
a { color: inherit; }
img { border: 0; }
figure { margin: 0; }
strong { font-weight: 700; }
button { font: inherit; }
.sr, .assistive {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 99999; background: #fff; color: #333; padding: 10px 15px; }
.skip-link:focus { left: 10px; top: 10px; }

/* Inline SVG icons (drawn from the original icon fonts): 1em box, font baseline */
.ic { display: inline-block; width: 1em; height: 1em; fill: currentColor; vertical-align: -.0625em; flex: none; }
.ic-mobile { width: .75em; height: 1.043em; vertical-align: -.1465em; }

/* ---------------------------------------------------------------------- */
/* Grid (WPBakery columns)                                                 */
/* ---------------------------------------------------------------------- */
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 50px; box-sizing: content-box; }
.row { display: flex; flex-wrap: wrap; margin: 0 -25px; }
.row.middle { align-items: center; }
.col { width: 100%; padding: 0 25px; min-height: 1px; }
.xs-8 { width: 66.6667%; }
.xs-off-2 { margin-left: 16.6667%; }
@media (min-width: 768px) {
  .sm-3 { width: 25%; } .sm-4 { width: 33.3333%; } .sm-6 { width: 50%; } .sm-8 { width: 66.6667%; } .sm-12 { width: 100%; }
  .sm-off-2 { margin-left: 16.6667%; } .sm-off-3 { margin-left: 25%; }
}
@media (min-width: 992px) {
  .md-4 { width: 33.3333%; } .md-8 { width: 66.6667%; } .md-10 { width: 83.3333%; } .md-12 { width: 100%; }
  .md-off-0 { margin-left: 0; } .md-off-1 { margin-left: 8.3333%; } .md-off-2 { margin-left: 16.6667%; }
}
@media (min-width: 1200px) {
  .lg-4 { width: 33.3333%; } .lg-8 { width: 66.6667%; }
  .lg-off-0 { margin-left: 0; } .lg-off-2 { margin-left: 16.6667%; }
}
@media (max-width: 778px) {
  .wrap { padding: 0 20px; }
}

/* spacing helpers */
.pb10 { padding-bottom: 10px; } .pb40 { padding-bottom: 40px; } .pb50 { padding-bottom: 50px; } .pt20 { padding-top: 20px; }
.mb10 { margin-bottom: 10px; } .mb35 { margin-bottom: 35px; } .mb40 { margin-bottom: 40px; } .mb45 { margin-bottom: 45px; } .mb50 { margin-bottom: 50px; }
.center { text-align: center; }
.space32 { height: 32px; }

/* ---------------------------------------------------------------------- */
/* Shared pieces                                                           */
/* ---------------------------------------------------------------------- */
.hline { width: 150px; height: 3px; margin-left: auto; margin-right: auto; background: var(--grad-text); }
.sub-italic { font-size: 20px; line-height: 34px; font-style: italic; }
.grad-text {
  color: var(--accent);
  background: var(--grad-text);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.btn-align { text-align: center; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; text-decoration: none; white-space: nowrap;
  border-radius: 1px; background: var(--grad-btn);
  transition: box-shadow .3s ease-out;
}
.btn:hover, .btn:focus-visible { background: var(--grad-btn-hover); color: #fff; }
.btn-s { font-size: 12px; line-height: 14px; padding: 8px 14px 7px; }
.btn-l { font-size: 18px; line-height: 20px; padding: 16px 24px; }
.call { text-align: center; }
.call h4 {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif; font-weight: 700; font-size: 15px; line-height: 25px;
  width: fit-content; width: -moz-fit-content; margin: 0 auto 2px;
}
.call-num { font-family: 'PT Serif', Georgia, serif; font-weight: 700; font-size: 28px; line-height: 48px; color: #333; }
.call-num.white { color: #fff; }

/* ---------------------------------------------------------------------- */
/* Header                                                                  */
/* ---------------------------------------------------------------------- */
.masthead { position: absolute; top: 0; left: 0; width: 100%; z-index: 102; }
.top-bar {
  display: flex; justify-content: space-between; align-items: center;
  max-width: 1300px; min-height: 36px; margin: 0 auto; padding: 5px 50px;
  font: 500 13px/19px Roboto, Helvetica, Arial, sans-serif; color: #aeafb5;
}
.tb-left { display: flex; align-items: center; }
.mini-contact { display: inline-flex; align-items: center; white-space: nowrap; }
.mini-contact .ic { font-size: 16px; width: 20px; margin-right: 5px; }
.tb-phone { margin-right: 10px; }
.tb-address { margin-left: 10px; }
.top-bar .tb-right { display: none; }

.soc-ico { display: flex; }
.soc-ico a {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; margin-right: 2px; border-radius: 100px; overflow: hidden;
  color: #a6a7ad; font-size: 16px; text-decoration: none;
}
.soc-ico a::before, .soc-ico a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; transition: opacity .3s; }
.soc-ico a::before { background: rgba(163, 164, 170, .2); }
.soc-ico a::after { background: var(--grad-accent); opacity: 0; }
.soc-ico a:hover::after { opacity: 1; }
.soc-ico a:hover { color: #fff; }
.soc-ico a .ic { position: relative; z-index: 1; transition: color .3s; }

.header-bar { display: flex; justify-content: center; max-width: 1200px; height: 100px; margin: 0 auto; padding: 0 50px; box-sizing: content-box; }
.header-bar nav, .ph-wrap nav { display: flex; flex: 1; justify-content: center; margin-right: 5px; }
.main-nav { display: flex; justify-content: center; margin: 0; padding: 0; list-style: none; }
.main-nav li { display: flex; }
.main-nav a {
  display: flex; align-items: center; margin: 18px 14px; padding: 4px;
  text-decoration: none; color: #fff;
}
.main-nav li:first-child a { margin-left: 0; }
.main-nav li:last-child a { margin-right: 0; }
.main-nav .menu-text { position: relative; display: block; font: 700 17px/21px Roboto, Helvetica, Arial, sans-serif; }
.main-nav .underline {
  position: absolute; left: 1px; bottom: -6px; width: 0; height: 2px; overflow: hidden; pointer-events: none;
  background: linear-gradient(to left, #1944a8 30%, #22afe2 100%); opacity: .85;
  transition: all .3s cubic-bezier(.175, .885, .32, 1.275);
}
.main-nav a:hover .underline, .main-nav li.act .underline { width: 100%; }

/* floating ("phantom") header shown on desktop after scrolling */
.phantom {
  position: fixed; top: 0; left: 0; width: 100%; height: 65px; z-index: 102; display: none;
  background: #fff; box-shadow: 0 0 15px 1px rgba(0, 0, 0, .07);
}
.phantom .ph-wrap { display: flex; max-width: 1200px; height: 100%; margin: 0 auto; padding: 0 50px; box-sizing: content-box; }
.phantom .main-nav a { color: #333; }
.phantom.show { display: block; animation: ph-in .7s ease .1s both; }
.phantom.hide { display: block; animation: ph-out .8s ease both; pointer-events: none; }
@keyframes ph-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ph-out { from { opacity: 1; } to { opacity: 0; visibility: hidden; } }

/* tablet / phone header */
.mobile-header-bar { display: none; align-items: center; justify-content: flex-end; height: 80px; padding: 0 29px 0 20px; }
.mini-search { position: relative; margin: 0 10px; }
.search-toggle { display: flex; align-items: center; color: #333; text-decoration: none; font: 700 13px/17px Roboto, Helvetica, Arial, sans-serif; }
.search-toggle .ic { font-size: 16px; }
.search-toggle span { margin-left: 5px; }
.popup-search {
  position: absolute; top: 25px; right: -10px; width: 220px; padding: 10px; z-index: 10;
  background: #fff; visibility: hidden; opacity: 0; transition: opacity .3s, visibility .3s;
}
.popup-search::before {
  content: ""; position: absolute; top: -7px; right: 20px;
  border-style: solid; border-width: 0 5px 7px; border-color: transparent transparent #fff;
}
.mini-search.act .popup-search { visibility: visible; opacity: 1; }
.popup-search input {
  display: block; width: 200px; height: 34px; padding: 0 34px 0 12px; border: 0; border-radius: 0;
  background: #f4f4f4; color: #aaa; font: 14px/34px Roboto, Helvetica, Arial, sans-serif; outline: none;
}
.popup-search input::placeholder { color: #aaa; opacity: 1; }
.popup-search .search-icon {
  position: absolute; right: 22px; top: 10px; height: 34px; padding: 0; border: 0; background: none;
  color: #aaa; font-size: 15px; cursor: pointer; display: flex; align-items: center;
}
.menu-toggle { position: relative; display: flex; width: 26px; height: 26px; padding: 5px 2px; margin-left: 10px; }
.menu-line {
  position: absolute; left: 2px; width: 22px; height: 2px; background: #333;
  transition: transform .2s linear;
}
.menu-line:nth-child(1) { top: 5px; }
.menu-line:nth-child(2) { top: 12px; }
.menu-line:nth-child(3) { top: 19px; }
.menu-toggle:hover .menu-line:nth-child(1) { transform: translateY(2px); }
.menu-toggle:hover .menu-line:nth-child(3) { transform: translateY(-2px); }

/* sticky tablet / phone header */
.masthead.sticky-on { position: fixed; background: #fff; box-shadow: 0 0 15px 1px rgba(0, 0, 0, .07); }

/* slide-out phone menu */
.mobile-menu {
  position: fixed; top: 0; right: 0; width: 300px; max-width: 100%; height: 100%; z-index: 9602;
  padding: 45px 28px 30px 30px; overflow-y: auto; background: #fff;
  transform: translateX(100%); transition: transform .5s ease; visibility: hidden;
}
.menu-open .mobile-menu { transform: none; visibility: visible; }
.mobile-menu { transition: transform .5s ease, visibility 0s .5s; }
.menu-open .mobile-menu { transition: transform .5s ease; }
.menu-close {
  position: absolute; top: 15px; right: 13px; width: 30px; height: 30px; cursor: pointer;
  background: var(--grad-accent); opacity: 0; transition: opacity .5s;
}
.menu-open .menu-close { opacity: 1; }
.menu-close span { position: absolute; left: 5px; top: 14px; width: 20px; height: 2px; background: #fff; transform: rotate(45deg); }
.menu-close span + span { transform: rotate(-45deg); }
.mobile-nav { margin: 0; padding: 0; list-style: none; }
.mobile-nav li { position: relative; }
.mobile-nav li + li::before { content: ""; position: absolute; left: 0; right: 0; top: -.5px; border-top: 1px solid rgba(51, 51, 51, .12); }
.mobile-nav a { display: flex; padding: 15.2px 25px 15.2px 0; text-decoration: none; color: #fff; }
.mobile-nav .menu-text { font: 700 16px/20px Roboto, Helvetica, Arial, sans-serif; }
.mobile-widgets { display: flex; flex-wrap: wrap; align-items: center; padding: 30px 0; }
.mobile-widgets .mini-contact { margin: 5px 20px 5px 0; font: 500 13px/17px Roboto, Helvetica, Arial, sans-serif; color: #333; }
.mobile-widgets .soc-ico { margin: 5px 20px 5px 0; }
.menu-overlay {
  position: fixed; inset: 0; z-index: 9601; background: rgba(0, 0, 0, .5);
  opacity: 0; visibility: hidden; transition: opacity .4s, visibility 0s .4s;
}
.menu-open .menu-overlay { opacity: 1; visibility: visible; transition: opacity .4s; }

@media (max-width: 1050px) {
  .header-bar, .phantom { display: none !important; }
  .mobile-header-bar { display: flex; }
  .top-bar .tb-right { display: flex; }
}
@media (max-width: 778px) {
  .top-bar { display: none; }
  .mobile-header-bar { height: 60px; }
}

/* ---------------------------------------------------------------------- */
/* Hero (rebuilt Slider Revolution module)                                 */
/* Layer positions are in the slider's grid pixels, scaled by --u.         */
/* ---------------------------------------------------------------------- */
.hero { position: relative; container-type: inline-size; background: #000; overflow: hidden; }
.hero-stage {
  --gw: 1240; --gh: 800;
  --u: min(1px, 100vw / 1240);
  position: relative; height: calc(var(--gh) * var(--u)); overflow: hidden;
  height: round(up, var(--gh) * var(--u), 1px); /* the slider rounded its height up */
}
@supports (width: 1cqw) {
  .hero-stage { --u: min(1px, 100cqw / 1240); }
}
.hero-bg { position: absolute; inset: 0; background: url(../img/header.jpg) center / cover no-repeat; }
.hero-shade {
  position: absolute; left: 0; top: -1px; width: 100%; height: 100%; opacity: .5;
  background: linear-gradient(0deg, #061020 0%, #000 72%, #000 100%);
}
.hl {
  position: absolute; white-space: nowrap; color: #fff;
  left: calc(50% + var(--x, 0) * var(--u)); top: calc(50% + var(--y, 0) * var(--u));
  transform: translate(-50%, -50%);
}
.hl p { margin: 0; }
.hl-name { --x: 0; --y: -13; width: calc(999 * var(--u)); height: calc(151 * var(--u)); }
.hl-text {
  margin: 0; color: #fff; text-align: left;
  font: 700 calc(126 * var(--u)) / calc(136 * var(--u)) 'PT Serif', Georgia, serif; letter-spacing: calc(4 * var(--u));
}
.hl-mask { height: 100%; overflow: hidden; }
.hl-name .ch { display: inline-block; }
.hl-tag { --y: 102; text-align: center; font: 800 calc(26 * var(--u)) / calc(36 * var(--u)) 'Open Sans', Helvetica, Arial, sans-serif; }
.hl-box { --x: 1; --y: 209; width: calc(500 * var(--u)); height: calc(70 * var(--u)); border: calc(3 * var(--u)) solid #ed9200; }
.hl-call { --x: -152; --y: 209; color: #ed9200; font: 700 calc(24 * var(--u)) / calc(34 * var(--u)) 'Open Sans', Helvetica, Arial, sans-serif; }
.hl-icon { --x: -47; --y: 210; width: calc(34 * var(--u)); height: calc(34 * var(--u)); }
.hl-icon svg { display: block; width: 100%; height: 100%; fill: #fff; }
.hl-num { --x: 100; --y: 208; font: 700 calc(34 * var(--u)) / calc(44 * var(--u)) 'Roboto Slab', Georgia, serif; }

/* 779–1024px: 1000 x 800 grid */
@media (max-width: 1024px) {
  .hero-stage { --gh: 800; --u: min(1px, 100vw / 1000); }
  @supports (width: 1cqw) { .hero-stage { --u: min(1px, 100cqw / 1000); } }
  .hl-name { --x: 18; --y: -53; width: calc(627 * var(--u)); height: calc(137 * var(--u)); }
  .hl-text { font-size: calc(80 * var(--u)); font-weight: 400; }
  .hl-box { --x: 2; }
}
/* 481–778px: 778 x 850 grid */
@media (max-width: 778px) {
  .hero-stage { --gh: 850; --u: min(1px, 100vw / 778); }
  @supports (width: 1cqw) { .hero-stage { --u: min(1px, 100cqw / 778); } }
  .hl-name { --x: 0; --y: -15; width: auto; height: auto; }
  .hl-text { font-size: calc(70 * var(--u)); line-height: calc(126 * var(--u)); font-weight: 700; }
  .hl-tag { font-size: calc(24 * var(--u)); line-height: calc(34 * var(--u)); }
}
/* <= 480px: 480 x 524 grid */
@media (max-width: 480px) {
  .hero-stage { --gh: 524; --u: min(1px, 100vw / 480); }
  @supports (width: 1cqw) { .hero-stage { --u: min(1px, 100cqw / 480); } }
  .hl-name { --y: -8.8; }
  .hl-text { font-size: calc(43.4 * var(--u)); line-height: calc(77.4 * var(--u)); letter-spacing: calc(2.47 * var(--u)); }
  .hl-tag { --y: 63; width: calc(460 * var(--u)); white-space: normal; font-size: calc(14.45 * var(--u)); line-height: calc(20.6 * var(--u)); }
  .hl-box { --x: 1.2; --y: 129; width: calc(308.6 * var(--u)); height: calc(42.3 * var(--u)); border-width: calc(1.85 * var(--u)); }
  .hl-call { --x: -93.6; --y: 129; font-size: calc(14.45 * var(--u)); line-height: calc(20.6 * var(--u)); }
  .hl-icon { --x: -29; --y: 129.5; width: calc(20.6 * var(--u)); height: calc(20.6 * var(--u)); }
  .hl-num { --x: 61.6; --y: 128.3; font-size: calc(20.6 * var(--u)); line-height: calc(26.8 * var(--u)); }
}

/* Intro timeline, measured frame by frame from the original slider.
 * It starts once the photo is ready (1.2s at most). There is no loading spinner.
 *   0.01s  dark shade fades in
 *   1.0s   the name's clipping window slides in from the left (2.7s) while each
 *          letter flies in from 175% of the name's width to the right (1.5s,
 *          0.1s apart), so letters appear as they enter the window
 *   3.4s   tagline, call box and number drop 30px and fade in (1.5s); a white
 *          block wipes across the phone icon and uncovers it */
.js .hero:not(.go) .hero-shade,
.js .hero:not(.go) .hl { opacity: 0; }
.hero.go .hero-shade { animation: shade-in .3s var(--ease-p2-in-out) 10ms both; }
.hero.go .hl-mask { animation: name-slide 2.7s var(--ease-p3-out) 1s both; }
.hero.go .hl-name .ch { animation: char-in 1.5s var(--ease-p3-out) both; animation-delay: calc(1s + var(--i) * 100ms); }
.hero.go .hl-tag, .hero.go .hl-box, .hero.go .hl-call, .hero.go .hl-num {
  animation: drop-in 1.5s var(--ease-p2-in-out) 3.4s both;
}
.hl-icon::after { content: ""; position: absolute; inset: 0; background: #fff; transform: scaleX(0); }
.hero.go .hl-icon svg { animation: drop-in 1.5s var(--ease-p2-in-out) 3.4s both, icon-show 1.5s linear 3.4s both; }
.hero.go .hl-icon::after { animation: block-wipe 1.5s linear 3.4s both; }
@keyframes shade-in { from { opacity: 0; } to { opacity: .5; } }
@keyframes name-slide { from { transform: translateX(-100%); } to { transform: none; } }
@keyframes char-in { from { transform: translateX(calc(var(--lw, 999px) * 1.75)); } to { transform: none; } }
@keyframes drop-in { from { opacity: 0; translate: 0 calc(-30 * var(--u)); } to { opacity: 1; translate: 0 0; } }
@keyframes icon-show { 0%, 49.9% { visibility: hidden; } 50%, 100% { visibility: visible; } }
@keyframes block-wipe {
  0% { transform: scaleX(0); transform-origin: 0 50%; animation-timing-function: cubic-bezier(.25, .46, .45, .94); }
  49.9% { transform: scaleX(1); transform-origin: 0 50%; animation-timing-function: step-end; }
  50% { transform: scaleX(1); transform-origin: 100% 50%; animation-timing-function: cubic-bezier(.25, .46, .45, .94); }
  100% { transform: scaleX(0); transform-origin: 100% 50%; }
}

/* ---------------------------------------------------------------------- */
/* Sections                                                                */
/* ---------------------------------------------------------------------- */
/* intro + cards */
.sec-intro { padding: 70px 0 50px; }
.intro-head { text-align: center; padding-bottom: 20px; }
.h-name { font-size: 38px; line-height: 44px; margin-bottom: 15px; }
.h-title { font-size: 26px; line-height: 44px; margin-bottom: 15px; }
.card-col { display: flex; padding: 0; }
.card {
  flex: 1; margin: 0 25px 30px; padding: 30px 30px 35px;
  border: 9px double var(--gold); background: #f7f7f7;
}
.badge {
  display: flex; align-items: center; justify-content: center;
  width: 80px; height: 80px; margin: 0 auto; border-radius: 50%; background: var(--gold); color: #fff;
}
.card h3 { font-size: 20px; line-height: 30px; margin: 22px 0 15px; text-align: center; }
.card .text { padding-bottom: 15px; }

/* plain heading rows */
.sec-head { text-align: center; }
.sec-head h2 { font-size: 34px; line-height: 44px; margin-bottom: 15px; }
.pad-70-50 { padding: 70px 0 50px; }
.pad-70-80 { padding: 70px 0 80px; }
.pad-70-0 { padding: 70px 0 0; }

/* services carousel */
.sec-carousel { background: var(--navy); padding: 30px 0 90px; }
.carousel { position: relative; background: var(--navy); }
.car-viewport { overflow: hidden; touch-action: pan-y; }
.car-track { display: flex; align-items: flex-start; gap: 30px; transition: transform .6s ease; }
.car-track.no-anim { transition: none; }
.car-item {
  flex: 0 0 100%; margin: 0 0 10px; text-align: center;
  font-size: 24px; line-height: 34px; color: var(--accent-2);
  user-select: none; -webkit-user-select: none;
}
.car-prev, .car-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; padding: 0; border: 0; border-radius: 500px; background: none;
  color: #fff; font-size: 30px; cursor: pointer; transition: color .3s;
}
.car-prev { left: -43px; }
.car-next { right: -43px; }
.car-prev:hover, .car-next:hover { color: #0a7eaf; }
.car-dots { position: absolute; top: calc(100% + 20px); left: 50%; transform: translateX(-50%); display: flex; align-items: center; height: 27px; }
.car-dots button { width: 10px; height: 10px; margin: 0 8px; padding: 0; border: 0; background: none; cursor: pointer; }
.car-dots span { display: block; width: 10px; height: 10px; border-radius: 50%; box-shadow: inset 0 0 0 2px #fff; transition: box-shadow .3s; }
.car-dots button:hover span { box-shadow: inset 0 0 0 2px var(--accent-2); }
.car-dots button.active span { box-shadow: inset 0 0 0 20px var(--accent-2); }

/* split rows: text half + photo half */
.split { display: flex; flex-wrap: wrap; }
.bg-f7 { background: #f7f7f7; }
.half { width: 100%; }
@media (min-width: 992px) { .half { width: 50%; } }
@media (max-width: 991px) { .hide-sm { display: none; } }
.split-text { padding: 70px 50px 40px; background: #f7f7f7; }
.split-text > h2 { font-size: 34px; line-height: 44px; margin-bottom: 15px; text-align: center; }
.split-img { padding: 150px 0; background-position: center; background-repeat: no-repeat; background-size: cover; }
.img-corporate { background-image: url(../img/bg-law-section-06.jpg); }
.img-personal { background-image: url(../img/contact.jpg); }
.img-about { background-image: url(../img/aboutus.jpg); }
.ibox { margin-bottom: 35px; }
.ibox-title { font-size: 18px; line-height: 20px; color: var(--gold); }
.desc { margin-top: 10px; }
.pair { display: flex; flex-wrap: wrap; align-items: center; }
.pair-col { width: 100%; padding-bottom: 30px; }
@media (min-width: 768px) { .pair-col { width: 50%; } }
@media (min-width: 992px) and (max-width: 1199px) { .pair-col { width: 100%; } }

/* personal: 2 x 2 boxes with (empty) left icons, as on the live site */
.boxes { display: flex; flex-wrap: wrap; }
.lbox { display: flex; width: 100%; padding-bottom: 30px; }
@media (min-width: 768px) { .lbox { width: 50%; } }
.lbox-icon { flex: 0 0 40px; height: 40px; margin-right: 15px; }
.lbox-body { flex: 1; min-width: 0; padding-bottom: 9px; }
.lbox h3 { font-size: 20px; line-height: 30px; color: var(--gold); }

/* affiliations */
.sec-logos { padding-bottom: 50px; }
.logo { text-align: center; }
.logo img { display: inline-block; max-width: 100%; height: auto; vertical-align: top; }

/* about Anthony */
.sec-bio { background: var(--navy); padding: 60px 0 10px; }
.bio-name { color: #fff; font-size: 34px; line-height: 44px; margin-bottom: 5px; }
.bio-sub { font-family: 'PT Serif', Georgia, serif; font-weight: 700; font-size: 20px; line-height: 30px; }
.bio-sub .grad-text { display: inline-block; vertical-align: top; }
.bio-text { color: #fff; margin-top: 26px; }

/* about us */
.about-text { padding: 80px 50px; }
.split-text > h2.mini-head { font-size: 20px; line-height: 44px; color: var(--gold); text-align: left; margin-bottom: 10px; }

/* important links */
.links-left { padding: 50px 5px; background: #fff url(../img/bg-law-section-04.jpg) center / cover no-repeat; }
.links-card-wrap { padding: 0 25px; }
.dark-card { border: 9px double var(--gold); padding: 50px 40px 30px; background: rgba(2, 2, 2, .47); }
.dark-card .desc { margin: 0 0 35px; font-size: 16px; line-height: 24px; color: #fff; }
.links-right { padding: 50px 5px; background: #fff; }
.link-list { margin: 0; padding: 0 0 5px; list-style: none; }
.link-list li { position: relative; display: flex; min-height: 102px; margin-bottom: 30px; }
.ll-icon {
  display: flex; align-items: center; justify-content: center; flex: 0 0 102px; height: 102px;
  background: #fff; color: #143a7b; font-size: 34px;
}
.ll-icon .ic { width: .9297em; }
.ll-text { align-self: center; min-width: 0; margin-left: 25px; }
.ll-text h3 { font-size: 16px; line-height: 24px; color: var(--gold); }
.ll-text p { font-size: 13px; line-height: 18px; }
.ll-link { position: absolute; inset: 0; }

/* contact band */
.band { padding: 30px 0; background: url(../img/header.jpg) center / cover no-repeat; }
.band-box {
  display: flex; flex-wrap: wrap; margin: 0 -15px; padding: 20px 25px 30px;
  border: 9px double var(--gold); background: rgba(2, 2, 2, .47);
}
.band-col { width: 100%; padding: 0 25px 50px; }
@media (min-width: 768px) { .band-col { width: 25%; } }
.tbox { text-align: center; }
.tbox-icon { display: block; height: 41px; }
.tbox h3 { font-family: 'Open Sans', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 15px; margin: 25px 0 15px; }
.band .tbox h3 { color: #fff; }
.band .desc { margin: 0; font-size: 18px; line-height: 28px; font-weight: 700; color: #fff; }

/* opening hours */
.sec-hours { padding: 12.5px 0; text-align: center; }
.sec-hours h2 { font-size: 24px; line-height: 34px; }
.hours-sub .sub { width: fit-content; width: -moz-fit-content; margin: 0 auto; font-size: 15px; line-height: 28px; font-weight: 700; }
.hours-sub p { margin-bottom: 10px; }
.tbox-plain h3 { line-height: 20px; }
.tbox-plain h3.lh15 { line-height: 15px; }
.tbox-plain .desc { margin: 0; font-size: 18px; line-height: 28px; }

/* footer + scroll to top */
.footer { height: 60px; background: #1a1c20; }
.scroll-top {
  position: fixed; right: 10px; bottom: 10px; z-index: -1; display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; opacity: 0; background: rgba(0, 0, 0, .2); text-decoration: none;
  transition: all .4s ease;
}
.scroll-top svg { width: 24px; fill: #fff; }
.scroll-top.on { opacity: 1; z-index: 109; }
.scroll-top.off { right: -45px; opacity: 0; }
.scroll-top:hover { background: rgba(0, 0, 0, .5); }
@media (max-width: 1050px) { .scroll-top, .scroll-top.on { opacity: 0; pointer-events: none; } }

/* reveal on scroll (WPBakery "zoomIn" / "slideInLeft") */
.js .reveal { opacity: 0; }
.js .reveal.animated { opacity: 1; animation-duration: 1s; animation-fill-mode: both; }
.reveal.animated.zoomIn { animation-name: zoomIn; }
.reveal.animated.slideInLeft { animation-name: slideInLeft; }
@keyframes zoomIn { 0% { opacity: 0; transform: scale3d(.3, .3, .3); } 50% { opacity: 1; } }
@keyframes slideInLeft { 0% { transform: translate3d(-100%, 0, 0); visibility: visible; } to { transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .hero *, .hero *::after, .reveal, .phantom, .car-track { animation: none !important; transition: none !important; }
  .js .hero:not(.go) .hl { opacity: 1; }
  .js .hero:not(.go) .hero-shade { opacity: .5; }
  .hl-icon::after { display: none; }
  .js .reveal { opacity: 1; }
}
