@import url("https://fonts.googleapis.com/css?family=IBM+Plex+Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i&display=swap");

/* ============ tokens (measured from 604778.com snapshot) ============ */
:root{
  --c-text:#505b67; --c-head:#19324c; --c-red:#E7242A; --c-gold:#F9C032;
  --c-blue:#4173F3; --c-dark:#222; --page-bg:#f4f7fb; --container:1200px;
}
@media (max-width:1199px){:root{--container:970px}}
@media (max-width:991px){:root{--container:750px}}
@media (max-width:767px){:root{--container:100%}}
body.site{font-family:'IBM Plex Sans',sans-serif;font-weight:300;color:var(--c-text);
  font-size:16px;line-height:26px;background:#fff;margin:0}
h1,h2,h3,h4,h5,h6{font-family:'IBM Plex Sans',sans-serif;color:var(--c-head);margin:0;line-height:1.1}
h4{font-size:18px;line-height:26px;font-weight:600;letter-spacing:.02em;margin-bottom:10px}
a{color:var(--c-blue);text-decoration:none}
ul.menu.contacts a,.mod-languages a,ul.mod-menu.nav a,.container-footer a,.container-component a{text-decoration:none!important}
.mod-languages__list .lang-active,.mod-languages__list .lang-active a{background:none!important;box-shadow:none!important;outline:0!important}
img{max-width:100%;height:auto}

/* ============ layout ============ */
.grid-child{max-width:var(--container)!important;margin-inline:auto!important;padding-inline:15px!important;width:100%;box-sizing:border-box!important}
.site-grid{display:block;background:var(--page-bg)}
.container-banner.full-width{background:#fff}

/* ============ topbar ============ */
.container-topbar{max-width:var(--container)!important;box-sizing:border-box;margin-inline:auto;padding:13px 15px 14px;line-height:1;
  display:flex;align-items:flex-start;justify-content:flex-start;gap:24px;background:#fff}
.container-topbar > *{margin:0!important}
.container-topbar .mod-languages{order:2;margin-left:auto!important}
.container-topbar .mod-custom{order:1}
.mod-languages__list.lang-inline{list-style:none;margin:0;padding:0;display:flex;gap:10px;
  font-size:14px;font-weight:300;line-height:18px}
.mod-languages__list.lang-inline a{padding:0!important;line-height:18px;display:inline-block}
.mod-languages__list.lang-inline a{color:#4173F2}
.mod-languages__list.lang-inline .lang-active a{color:#4173F2}

ul.menu.contacts{list-style:none;margin:0;padding:0;display:flex;align-items:center;line-height:19px}
ul.menu.contacts li{display:inline-block;color:#616C78}
ul.menu.contacts li a{color:#616C78;letter-spacing:.02em;font-size:14px}
ul.menu.contacts li a[href^="tel"]{color:var(--c-head);font-size:18px;font-weight:400;letter-spacing:-.02em;line-height:19px;display:inline-block;vertical-align:top}
ul.menu.contacts li + li{margin-left:15px;padding-left:18px;position:relative}
ul.menu.contacts li + li:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:14px;background:#d8dee6}

/* ============ header / nav ============ */
.header.container-header{background:#fff;padding:0;box-shadow:none}
.grid-child.container-nav{padding-top:13px!important}
.grid-child.container-nav{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.logo6778 img{width:270px;height:65px;display:block}
ul.mod-menu.nav{list-style:none;display:flex;margin:0;padding:0;align-items:center;gap:0!important;column-gap:0!important}
ul.mod-menu.nav > li{margin:0!important;padding:0}
ul.mod-menu.nav > li + li{margin-left:15px!important}
ul.mod-menu.nav a{margin:0!important;padding:0!important}
ul.mod-menu.nav a::before,ul.mod-menu.nav a::after{display:none!important}
ul.mod-menu.nav > li > a{color:var(--c-head);font-size:14px;font-weight:500;line-height:26px;display:inline-block;padding:0}
ul.mod-menu.nav{margin-top:6px;margin-left:auto!important;flex:0 0 auto!important}
ul.mod-menu.nav > li.active > a,ul.mod-menu.nav > li.current > a{color:var(--c-red)}
ul.mod-menu.nav > li > a:hover{color:var(--c-red)}

/* ============ hero banner ============ */
.hero6778{max-width:var(--container);margin:0 auto;padding:43px 0 0;text-align:center}
.hero-awards .a1{color:var(--c-gold);font-size:28px;font-weight:600;line-height:1.75;margin:0 0 0}
.hero-awards .a2{color:var(--c-dark);font-size:22px;font-weight:500;line-height:1.5;margin:0 0 21px}
.hero-awards .red{color:var(--c-red)}
.hero-awards .star{color:var(--c-dark)}
.hero-agent{display:flex;align-items:center;justify-content:space-between;gap:0}
.hero-photo img{width:277px;height:267px;object-fit:contain;display:block}
.hero-info h2{font-size:22px;color:var(--c-head);font-weight:600;margin:0 0 11px}
.hero-info .corp{font-size:22px;color:var(--c-head);font-weight:600;margin:0 0 11px}
.hero-info .phone a{color:var(--c-blue);font-size:22px;font-weight:600}
.hero-info .phone{margin:0 0 11px}
.hero-info .email a{color:var(--c-blue);font-size:18px}
.hero-info .email{margin:0 0 11px}
.hero-info p{margin:0 0 11px}
.hero-info .site{color:var(--c-gold);font-size:22px;font-weight:600;margin-top:4px}
.hero-qr{margin-right:14px}
.hero-qr img{width:248px;height:248px;display:block}

/* ============ main component area ============ */
.grid-child.container-component{padding-top:89px;padding-bottom:0}
.container-component > .mod-custom:first-child{margin-top:9px}
.mod-wrapper .wrapper_title,.mod-wrapper h2,main .com-wrapper h2,main h1{display:none}
.com-content-article,.com-content-article__body{margin:0;padding:0}
main{margin:0!important}
.com-wrapper{padding:0!important;margin:0!important}
body.view-wrapper .grid-child.container-component{padding-top:72px}
/* listing heading module (content keeps old inline styles) */
.container-component > .mod-custom:first-child{overflow:hidden;margin-bottom:12px}
.container-component > .mod-custom:first-child h4{margin:0 0 10px}
.container-component > .mod-custom:first-child a{color:var(--c-blue);font-size:14px}
.mod-wrapper iframe{border:0;width:100%;display:block}

/* ============ contact form + about ============ */
.contact-form6778 .cf-row{margin-bottom:10px}
.contact-form6778{font-size:14px}
.contact-form6778 .cf-row{margin-bottom:10px}
.contact-form6778 input[type=text],.contact-form6778 textarea{width:100%;height:40px;padding:17px 16px;
  font:inherit;color:var(--c-text);background:#FBFEFF;border:1px solid #dfe5ec;border-radius:0;outline:0}
.contact-form6778 textarea{min-height:160px;max-height:160px;resize:none}
.contact-form6778 input::placeholder,.contact-form6778 textarea::placeholder{color:#505b67}
.contact-form6778 .cf-send{background:var(--c-dark);border:1px solid var(--c-dark);color:#fff;width:100%;
  padding:13px 12px;font:inherit;font-size:12px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;margin-bottom:10px}
.sec-head{font-size:36px;font-weight:600;line-height:47px;margin:0 0 22px}
/* two-column: form left, about right */
.grid-child.container-component{display:flow-root}
main + .mod-custom{float:left;width:505px;max-width:100%;margin:34px 0 40px}
main + .mod-custom + .mod-custom{float:right;width:505px;max-width:100%;margin:34px 0 40px}
main + .mod-custom + .mod-custom p{margin:0 0 26px;font-size:16px;line-height:26px}
.site-grid:after{content:'';display:block;clear:both}

/* ============ footer ============ */
.container-footer.footer{background:var(--c-dark);color:#fff;padding:58px 0 18px;margin-top:0}
.container-footer .grid-child{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 30px;justify-content:flex-start!important}
.container-footer .grid-child > .mod-custom:first-child,.container-footer .grid-child > .mod-custom:first-child p{display:contents}
.container-footer .mod-custom{color:#fff}
.container-footer h4.footer-brand{color:#fff;font-size:20px;font-weight:300;margin-bottom:38px;line-height:30px}
.container-footer p{margin:0 0 6px;font-size:14px}
.container-footer a{color:#fff}
.container-footer img{display:inline-block;vertical-align:middle}
.container-footer .grid-child{flex-wrap:wrap}
.container-footer .mod-custom:last-child{flex:0 0 auto;width:calc(100% + 30px);margin-inline:-15px}
.container-footer p.copyright6778{font-weight:300;font-size:12px;line-height:20px;letter-spacing:.02em;
  margin:0 0 19px;width:100%;color:#fff}
.copyright6778:before{content:'';display:block;border-top:1px solid #EDF1F7;margin-bottom:12px}
/* CTA fixed button module — content carries its own inline styles */


/* ============ sticky header (old: scroll-to-fixed white bar) ============ */
.header.container-header.stuck{position:fixed!important;top:0!important;left:0;right:0;z-index:9999;
  background:#fff;padding:10px 0 0;box-shadow:0 6px 6px rgba(0,0,0,.1)}
body.has-stuck-pad{padding-top:110px}
.header.container-header.stuck .container-topbar{display:none}

/* ============ mobile nav (old: navbar-toggle full-width bar + collapse) ============ */
.nav-toggle6778{display:none}
/* ---- responsive element scales (measured from old site) ---- */
@media (max-width:1199px){
  .logo6778 img{width:212px;height:51px}
  .hero-photo img{width:220px;height:211px}
  .hero-qr img{width:190px;height:190px}
  .grid-child.container-component{padding-top:63px}
  main + .mod-custom{width:455px}
  main + .mod-custom + .mod-custom{width:455px}
}
/* ---- tablet 768-991: desktop-style header, nav wraps to rows; hero stacks full-size ---- */
@media (min-width:768px) and (max-width:991px){
  .logo6778 img{width:157px;height:38px}
  .grid-child.container-nav{gap:0}
  .hero6778{padding-top:49px}
  ul.mod-menu.nav{display:flex!important;flex-direction:row!important;flex-wrap:wrap;
    justify-content:flex-start;max-width:533px;margin-left:auto!important;row-gap:0}
  .hero-agent{flex-direction:column;align-items:center;gap:0}
  .hero-photo img{width:404px;height:388px}
  .hero-qr{margin-right:0;margin-top:20px}
  .hero-info{margin-top:15px}
  .hero-info h2{margin-bottom:17px}
  .hero-info p{margin-bottom:12px}
  .hero-qr img{width:446px;height:446px;max-width:100%}
  .hero-awards .a1{font-size:18px;line-height:32px}
  .hero-awards .a2{font-size:15px;line-height:27px;margin-bottom:5px}
  main + .mod-custom,main + .mod-custom + .mod-custom{float:none;width:100%;margin:24px 0}
}
/* ---- phone <768: toggle bar + drawer offcanvas (T3 pattern) ---- */
@media (max-width:767px){
  .grid-child.container-nav{flex-wrap:wrap;padding-top:0!important}
  ul.mod-menu.nav{display:none}
  .nav-toggle6778{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:0;
    border-bottom:1px solid #eef1f5;text-align:left;padding:12px 15px;margin:0;cursor:pointer;
    color:#19324c;font-size:16px;line-height:24px;box-sizing:border-box;position:relative;z-index:1002}
  body.offc-open .nav-toggle6778{background:#E7242A;color:#fff}
  body.offc-open ul.mod-menu.nav{display:block;position:fixed;left:0;top:48px;bottom:0;width:270px;
    margin:0!important;background:#fff;z-index:1001;box-shadow:2px 0 12px rgba(0,0,0,.15);
    overflow-y:auto;padding:16px 0 0}
  body.offc-open ul.mod-menu.nav > li{border:0;margin:0!important}
  body.offc-open ul.mod-menu.nav > li > a{display:block;padding:14px 15px!important;text-align:left;
    color:#19324c;font-size:14px;line-height:19px}
  body.offc-open ul.mod-menu.nav > li.active > a,body.offc-open ul.mod-menu.nav > li.current > a{
    background:#E7242A;color:#fff}
  .container-topbar{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 15px 10px}
  .container-topbar .mod-languages{margin-left:0!important}
  .logo6778 img{width:100%;max-width:375px;height:auto}
  .hero-awards,.hero-info,.hero-qr{display:none}
  .hero-agent{justify-content:center}
  .hero6778{padding:20px 0 0}
  main + .mod-custom,main + .mod-custom + .mod-custom{float:none;width:100%;margin:24px 0}
  .container-footer .grid-child{flex-direction:column}
  .container-footer .mod-custom{flex:none!important;width:100%!important;height:auto!important;
    margin:0 0 18px!important}
  .container-footer .mod-custom:last-child{margin:0!important;width:calc(100% + 30px)!important;
    margin-inline:-15px!important}
  .grid-child.container-component{padding-top:40px}
  body.view-wrapper .grid-child.container-component{padding-top:25px}
}

/* breadcrumbs (old: plain row between header and content, small text) */
.container-breadcrumbs,.grid-child.container-breadcrumbs{max-width:var(--container)!important;margin-inline:auto!important;padding:5px 15px 0!important}
.mod-breadcrumbs{margin:0;padding:0 0 19px!important;font-size:16px;line-height:26px;color:#9aa6b2;display:flex;flex-wrap:wrap;gap:6px;list-style:none;background:none!important}
.mod-breadcrumbs svg,.mod-breadcrumbs .fa,.mod-breadcrumbs [class*='icon-'],.mod-breadcrumbs .visually-hidden{display:none!important}
.mod-breadcrumbs a{color:#9aa6b2!important}
.mod-breadcrumbs .mod-breadcrumbs__divider{margin:0 2px}
body.view-wrapper .grid-child.container-component{padding-top:20px}

/* v21: mobile detail parity */
@media (max-width:767px){
  ul.menu.contacts li a[href^="tel"]{font-size:14px;letter-spacing:0}
  ul.menu.contacts li + li{margin-left:5px;padding-left:8px}
  .logo6778 img{max-width:none;width:100%;height:auto}
  .hero6778{padding:16px 0 0}
  .sec-head{font-size:28px;line-height:38px}
}

/* old theme3697: mobile fixes wrapper iframe height via CSS (.responsive-page iframe) */
@media (max-width:767px){
  body.view-wrapper .com-wrapper__iframe,body.view-wrapper iframe#blockrandom{height:3320px!important}
}
