/* Bootstrap Icons presentation layer. The icon font is stored locally. */
.bi,
.ui-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    line-height: 1;
    color: currentColor;
    vertical-align: -.125em;
}

/* Backward-compatible aliases: remaining legacy markup also uses Bootstrap Icons. */
.ui-icon::before {
    display: inline-block;
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.ui-icon::after { content: none !important; }
.icon-arrow::before { content: "\f138" !important; }
.icon-phone::before { content: "\f5c1" !important; }
.icon-mail::before { content: "\f32f" !important; }
.icon-pin::before { content: "\f3e8" !important; }
.icon-clock::before { content: "\f293" !important; }
.icon-home::before { content: "\f423" !important; }
.icon-truck::before { content: "\f5ea" !important; }
.icon-building::before { content: "\f1dd" !important; }
.icon-box::before { content: "\f1c7" !important; }
.icon-route::before { content: "\f546" !important; }
.icon-shield::before { content: "\f52f" !important; }
.icon-users::before { content: "\f4d0" !important; }
.icon-star::before { content: "\f588" !important; }
.icon-megaphone::before { content: "\f484" !important; }
.icon-send::before { content: "\f6c0" !important; }
.icon-check::before { content: "\f26b" !important; }

.logo-mark {
    width: 48px;
    height: 48px;
    border: 2px solid currentColor;
    border-radius: 13px;
    display: grid;
    place-items: center;
    color: var(--blue);
    overflow: hidden;
}
.logo-mark .bi,
.logo-mark .ui-icon { font-size: 28px; }
.logo.light .logo-mark { color: #fff; }

.line-icon,
.stat-icon {
    position: relative;
    overflow: hidden;
    font-size: 0;
}
.line-icon::before,
.line-icon::after,
.stat-icon::before,
.stat-icon::after { content: none !important; }
.line-icon .bi,
.line-icon .ui-icon { font-size: 27px; }
.stat-icon .bi,
.stat-icon .ui-icon { font-size: 22px; }

.text-ad,
.text-ad h2,
.text-ad p { color: var(--navy) !important; }
.text-ad .ad-icon {
    overflow: hidden;
    font-size: 0;
}
.text-ad .ad-icon .bi,
.text-ad .ad-icon .ui-icon { font-size: 26px; }

.contact-detail {
    position: relative;
    padding-left: 34px !important;
}
.contact-detail > .bi,
.contact-detail > .ui-icon {
    position: absolute;
    left: 0;
    top: 8px;
    width: 22px;
    height: 22px;
    color: var(--blue);
    font-size: 20px;
}

.footer-contact {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
}
.footer-contact .bi,
.footer-contact .ui-icon {
    margin-top: 3px;
    color: #8bbcff;
    font-size: 17px;
}

.btn .bi,
.btn .ui-icon { font-size: 17px; }
.side-call > .big-icon { font-size: 0; }
.side-call > .big-icon .bi,
.side-call > .big-icon .ui-icon { font-size: 34px; }

.service-card a,
.text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.service-card a .bi,
.service-card a .ui-icon,
.text-link .bi,
.text-link .ui-icon { font-size: 14px; }
.side-card nav a > .bi,
.side-card nav a > .ui-icon {
    margin-left: auto;
    font-size: 13px;
}

.features-content li::before {
    content: "\f26b" !important;
    position: absolute;
    left: 0;
    top: 4px;
    width: 16px;
    height: 16px;
    border: 0;
    font-family: "bootstrap-icons" !important;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    color: var(--blue);
}
.features-content li::after { content: none !important; }

@media (max-width: 790px) {
    .menu-toggle { margin-left: auto; }
    .header-inner { justify-content: space-between; }
}
