/**
 * BOND site styling.
 *
 * Layouts, content and normal design controls remain in Elementor.
 * Native CSS classes connect editable elements to these rules. Keep them when
 * copying widgets or templates. Match Elementor's original three-class
 * specificity so native responsive settings keep the same cascade.
 */


/* BOND - Default Kit */

html {
    scroll-behavior: smooth;
}
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
.elementor-widget-image img {
    vertical-align: middle;
}
.bond-work-photo a {
    display: block;
}
a:focus-visible,button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu>li:last-child>a.elementor-item:after {
    content: '\e808' / '';
    font-family: 'bond-icons'!important;
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 1;
    position: static;
    display: block;
    opacity: 1!important;
    margin-left: 8px;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    transform: none;
    background: none;
}
.elementor-lightbox .dialog-widget-content {
    font-family: Arimo,Arial,sans-serif;
}
@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto;
    }
}
.elementor-widget-button .elementor-button-icon {
    font-size: 24px;
}


/* Header */


/* Header / Page top */

/* Keep both logo assets in one slot so the header can resize without a snap. */
.elementor .elementor-element.bond-header {
    --bond-brand-width: 11.66667vw;
    --bond-brand-height: calc(11.66667vw * 187 / 512);
    --bond-compact-width: 128px;
    --bond-compact-height: 30.75px;
    --bond-sticky-padding: 20px;
    --bond-header-ease: cubic-bezier(.22, .61, .36, 1);
}
.elementor .elementor-element.bond-header .bond-header-brand {
    position: relative;
    flex: 0 0 auto;
    width: var(--bond-brand-width);
    height: var(--bond-brand-height);
    min-height: 0;
    transition: width .28s var(--bond-header-ease), height .28s var(--bond-header-ease);
}
.elementor .elementor-element.bond-header .bond-header-brand > .elementor-widget-image {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100% !important;
    max-width: 100%;
    margin: 0;
}
.elementor .elementor-element.bond-header .bond-header-logo-full {
    opacity: 1;
    visibility: visible;
    transition: opacity .18s ease, visibility 0s;
}
.elementor .elementor-element.bond-header .bond-header-logo-sticky {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility 0s linear .18s;
}
.elementor .elementor-element.bond-header .bond-header-row {
    align-items: center;
    transition: padding .28s var(--bond-header-ease), border-color .28s ease;
}
.elementor .elementor-element.bond-header .bond-header-nav {
    margin-top: 0;
}
.elementor .elementor-element.bond-header:not(.elementor-sticky--active) .bond-header-brand, .elementor .elementor-element.bond-header:not(.elementor-sticky--active) .bond-header-row, .elementor .elementor-element.bond-header:not(.elementor-sticky--active) .bond-header-logo-full, .elementor .elementor-element.bond-header:not(.elementor-sticky--active) .bond-header-logo-sticky {
    transition: none;
}
.elementor .elementor-element.bond-header.elementor-sticky__spacer .bond-header-brand, .elementor .elementor-element.bond-header.elementor-sticky__spacer .bond-header-brand * {
    visibility: hidden !important;
    transition: none !important;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) {
    background-color: #0B0B0B;
    box-shadow: none;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .bond-header-brand {
    width: var(--bond-compact-width);
    height: var(--bond-compact-height);
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .bond-header-logo-full {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility 0s linear .18s;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .bond-header-logo-sticky {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .18s ease, visibility 0s;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .bond-header-row {
    padding-top: var(--bond-sticky-padding);
    padding-bottom: var(--bond-sticky-padding);
    border-bottom: 0;
}
@media (max-width: 1200px) {
    .elementor .elementor-element.bond-header {
        --bond-brand-width: 160px;
        --bond-brand-height: 58.4375px;
        --bond-compact-width: 120px;
        --bond-compact-height: 28.828125px;
        --bond-sticky-padding: 18px;
    }
}
@media (max-width: 1024px) {
    .elementor .elementor-element.bond-header {
        --bond-compact-width: 120px;
        --bond-compact-height: 28.828125px;
        --bond-sticky-padding: 16px;
    }
    .elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        margin-top: 16px !important;
    }
}
@media (max-width: 767px) {
    .elementor .elementor-element.bond-header {
        --bond-brand-width: 136px;
        --bond-brand-height: 49.671875px;
        --bond-compact-width: 108px;
        --bond-compact-height: 25.9453125px;
        --bond-sticky-padding: 14px;
    }
    .elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        margin-top: 14px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .elementor .elementor-element.bond-header .bond-header-brand, .elementor .elementor-element.bond-header .bond-header-row, .elementor .elementor-element.bond-header .bond-header-logo-full, .elementor .elementor-element.bond-header .bond-header-logo-sticky {
        transition: none !important;
    }
}
/* Invert the compact header only after scrolling. */
.elementor .elementor-element.bond-header {
    transition: background-color .28s var(--bond-header-ease);
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--main .elementor-item, .elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) div.elementor-menu-toggle {
    color: #FFFFFF;
    fill: #FFFFFF;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--main .elementor-item:hover, .elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--main .elementor-item:focus {
    color: #D0D0D0;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) div.elementor-menu-toggle svg {
    fill: #FFFFFF;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--dropdown, .elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--dropdown a {
    background-color: #0B0B0B;
    color: #FFFFFF;
    fill: #FFFFFF;
}
.elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--dropdown a:hover, .elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--dropdown a:focus, .elementor .elementor-element.bond-header.elementor-sticky--effects:not(.elementor-sticky__spacer) .elementor-nav-menu--dropdown a.elementor-item-active {
    background-color: #242424;
    color: #FFFFFF;
}
@media (prefers-reduced-motion: reduce) {
    .elementor .elementor-element.bond-header {
        transition: none;
    }
}


/* Header / Main navigation */

.elementor .elementor-element.bond-header-nav .elementor-menu-toggle {
    min-width: 44px;
    min-height: 44px;
}
