﻿@-webkit-keyframes ha_fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes ha_fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes ha_zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }

    50% {
        opacity: 1
    }
}

@keyframes ha_zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }

    50% {
        opacity: 1
    }
}

@-webkit-keyframes ha_rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);
        transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)
    }

    to {
        opacity: 1
    }
}

@keyframes ha_rollIn {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);
        transform: translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes ha_bounce {
    0%,20%,53%,to {
        -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
        animation-timing-function: cubic-bezier(.215,.61,.355,1)
    }

    40%,43% {
        -webkit-transform: translate3d(0,-30px,0) scaleY(1.1);
        transform: translate3d(0,-30px,0) scaleY(1.1);
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        animation-timing-function: cubic-bezier(.755,.05,.855,.06)
    }

    70% {
        -webkit-transform: translate3d(0,-15px,0) scaleY(1.05);
        transform: translate3d(0,-15px,0) scaleY(1.05);
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        animation-timing-function: cubic-bezier(.755,.05,.855,.06)
    }

    80% {
        -webkit-transition-timing-function: cubic-bezier(.215,.61,.355,1);
        transition-timing-function: cubic-bezier(.215,.61,.355,1);
        -webkit-transform: translate3d(0,0,0) scaleY(.95);
        transform: translate3d(0,0,0) scaleY(.95)
    }

    90% {
        -webkit-transform: translate3d(0,-4px,0) scaleY(1.02);
        transform: translate3d(0,-4px,0) scaleY(1.02)
    }
}

@keyframes ha_bounce {
    0%,20%,53%,to {
        -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
        animation-timing-function: cubic-bezier(.215,.61,.355,1)
    }

    40%,43% {
        -webkit-transform: translate3d(0,-30px,0) scaleY(1.1);
        transform: translate3d(0,-30px,0) scaleY(1.1);
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        animation-timing-function: cubic-bezier(.755,.05,.855,.06)
    }

    70% {
        -webkit-transform: translate3d(0,-15px,0) scaleY(1.05);
        transform: translate3d(0,-15px,0) scaleY(1.05);
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        animation-timing-function: cubic-bezier(.755,.05,.855,.06)
    }

    80% {
        -webkit-transition-timing-function: cubic-bezier(.215,.61,.355,1);
        transition-timing-function: cubic-bezier(.215,.61,.355,1);
        -webkit-transform: translate3d(0,0,0) scaleY(.95);
        transform: translate3d(0,0,0) scaleY(.95)
    }

    90% {
        -webkit-transform: translate3d(0,-4px,0) scaleY(1.02);
        transform: translate3d(0,-4px,0) scaleY(1.02)
    }
}

@-webkit-keyframes ha_bounceIn {
    0%,20%,40%,60%,80%,to {
        -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
        animation-timing-function: cubic-bezier(.215,.61,.355,1)
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }

    20% {
        -webkit-transform: scale3d(1.1,1.1,1.1);
        transform: scale3d(1.1,1.1,1.1)
    }

    40% {
        -webkit-transform: scale3d(.9,.9,.9);
        transform: scale3d(.9,.9,.9)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03,1.03,1.03);
        transform: scale3d(1.03,1.03,1.03)
    }

    80% {
        -webkit-transform: scale3d(.97,.97,.97);
        transform: scale3d(.97,.97,.97)
    }

    to {
        opacity: 1
    }
}

@keyframes ha_bounceIn {
    0%,20%,40%,60%,80%,to {
        -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
        animation-timing-function: cubic-bezier(.215,.61,.355,1)
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }

    20% {
        -webkit-transform: scale3d(1.1,1.1,1.1);
        transform: scale3d(1.1,1.1,1.1)
    }

    40% {
        -webkit-transform: scale3d(.9,.9,.9);
        transform: scale3d(.9,.9,.9)
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03,1.03,1.03);
        transform: scale3d(1.03,1.03,1.03)
    }

    80% {
        -webkit-transform: scale3d(.97,.97,.97);
        transform: scale3d(.97,.97,.97)
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes ha_flipInX {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotate3d(1,0,0,90deg);
        transform: perspective(400px) rotate3d(1,0,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-20deg);
        transform: perspective(400px) rotate3d(1,0,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotate3d(1,0,0,10deg);
        transform: perspective(400px) rotate3d(1,0,0,10deg)
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-5deg);
        transform: perspective(400px) rotate3d(1,0,0,-5deg)
    }
}

@keyframes ha_flipInX {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotate3d(1,0,0,90deg);
        transform: perspective(400px) rotate3d(1,0,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-20deg);
        transform: perspective(400px) rotate3d(1,0,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotate3d(1,0,0,10deg);
        transform: perspective(400px) rotate3d(1,0,0,10deg)
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1,0,0,-5deg);
        transform: perspective(400px) rotate3d(1,0,0,-5deg)
    }
}

@-webkit-keyframes ha_flipInY {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotate3d(0,1,0,90deg);
        transform: perspective(400px) rotate3d(0,1,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-20deg);
        transform: perspective(400px) rotate3d(0,1,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotate3d(0,1,0,10deg);
        transform: perspective(400px) rotate3d(0,1,0,10deg)
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-5deg);
        transform: perspective(400px) rotate3d(0,1,0,-5deg)
    }
}

@keyframes ha_flipInY {
    0% {
        opacity: 0;
        -webkit-transform: perspective(400px) rotate3d(0,1,0,90deg);
        transform: perspective(400px) rotate3d(0,1,0,90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-20deg);
        transform: perspective(400px) rotate3d(0,1,0,-20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    60% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotate3d(0,1,0,10deg);
        transform: perspective(400px) rotate3d(0,1,0,10deg)
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0,1,0,-5deg);
        transform: perspective(400px) rotate3d(0,1,0,-5deg)
    }
}

@-webkit-keyframes ha_swing {
    20% {
        -webkit-transform: rotate3d(0,0,1,15deg);
        transform: rotate3d(0,0,1,15deg)
    }

    40% {
        -webkit-transform: rotate3d(0,0,1,-10deg);
        transform: rotate3d(0,0,1,-10deg)
    }

    60% {
        -webkit-transform: rotate3d(0,0,1,5deg);
        transform: rotate3d(0,0,1,5deg)
    }

    80% {
        -webkit-transform: rotate3d(0,0,1,-5deg);
        transform: rotate3d(0,0,1,-5deg)
    }
}

@keyframes ha_swing {
    20% {
        -webkit-transform: rotate3d(0,0,1,15deg);
        transform: rotate3d(0,0,1,15deg)
    }

    40% {
        -webkit-transform: rotate3d(0,0,1,-10deg);
        transform: rotate3d(0,0,1,-10deg)
    }

    60% {
        -webkit-transform: rotate3d(0,0,1,5deg);
        transform: rotate3d(0,0,1,5deg)
    }

    80% {
        -webkit-transform: rotate3d(0,0,1,-5deg);
        transform: rotate3d(0,0,1,-5deg)
    }
}

@-webkit-keyframes ha_slideInDown {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0)
    }
}

@keyframes ha_slideInDown {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(0,-100%,0);
        transform: translate3d(0,-100%,0)
    }
}

@-webkit-keyframes ha_slideInUp {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0)
    }
}

@keyframes ha_slideInUp {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0)
    }
}

@-webkit-keyframes ha_slideInLeft {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0)
    }
}

@keyframes ha_slideInLeft {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(-100%,0,0);
        transform: translate3d(-100%,0,0)
    }
}

@-webkit-keyframes ha_slideInRight {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0)
    }
}

@keyframes ha_slideInRight {
    0% {
        visibility: visible;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0)
    }
}

.ha_fadeIn {
    -webkit-animation-name: ha_fadeIn;
    animation-name: ha_fadeIn
}

.ha_zoomIn {
    -webkit-animation-name: ha_zoomIn;
    animation-name: ha_zoomIn
}

.ha_rollIn {
    -webkit-animation-name: ha_rollIn;
    animation-name: ha_rollIn
}

.ha_bounce {
    -webkit-transform-origin: center bottom;
    -ms-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-name: ha_bounce;
    animation-name: ha_bounce
}

.ha_bounceIn {
    -webkit-animation-name: ha_bounceIn;
    animation-name: ha_bounceIn;
    -webkit-animation-duration: .75s;
    -webkit-animation-duration: calc(var(--animate-duration)*.75);
    animation-duration: .75s;
    animation-duration: calc(var(--animate-duration)*.75)
}

.ha_flipInX, .ha_flipInY {
    -webkit-animation-name: ha_flipInX;
    animation-name: ha_flipInX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important
}

.ha_flipInY {
    -webkit-animation-name: ha_flipInY;
    animation-name: ha_flipInY
}

.ha_swing {
    -webkit-transform-origin: top center;
    -ms-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: ha_swing;
    animation-name: ha_swing
}

.ha_slideInDown {
    -webkit-animation-name: ha_slideInDown;
    animation-name: ha_slideInDown
}

.ha_slideInUp {
    -webkit-animation-name: ha_slideInUp;
    animation-name: ha_slideInUp
}

.ha_slideInLeft {
    -webkit-animation-name: ha_slideInLeft;
    animation-name: ha_slideInLeft
}

.ha_slideInRight {
    -webkit-animation-name: ha_slideInRight;
    animation-name: ha_slideInRight
}

.ha-css-transform-yes {
    -webkit-transition-duration: var(--ha-tfx-transition-duration, .2s);
    transition-duration: var(--ha-tfx-transition-duration, .2s);
    -webkit-transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform,-webkit-transform;
    -webkit-transform: translate(var(--ha-tfx-translate-x, 0),var(--ha-tfx-translate-y, 0)) scale(var(--ha-tfx-scale-x, 1),var(--ha-tfx-scale-y, 1)) skew(var(--ha-tfx-skew-x, 0),var(--ha-tfx-skew-y, 0)) rotateX(var(--ha-tfx-rotate-x, 0)) rotateY(var(--ha-tfx-rotate-y, 0)) rotateZ(var(--ha-tfx-rotate-z, 0));
    transform: translate(var(--ha-tfx-translate-x, 0),var(--ha-tfx-translate-y, 0)) scale(var(--ha-tfx-scale-x, 1),var(--ha-tfx-scale-y, 1)) skew(var(--ha-tfx-skew-x, 0),var(--ha-tfx-skew-y, 0)) rotateX(var(--ha-tfx-rotate-x, 0)) rotateY(var(--ha-tfx-rotate-y, 0)) rotateZ(var(--ha-tfx-rotate-z, 0))
}

    .ha-css-transform-yes:hover {
        -webkit-transform: translate(var(--ha-tfx-translate-x-hover, var(--ha-tfx-translate-x, 0)),var(--ha-tfx-translate-y-hover, var(--ha-tfx-translate-y, 0))) scale(var(--ha-tfx-scale-x-hover, var(--ha-tfx-scale-x, 1)),var(--ha-tfx-scale-y-hover, var(--ha-tfx-scale-y, 1))) skew(var(--ha-tfx-skew-x-hover, var(--ha-tfx-skew-x, 0)),var(--ha-tfx-skew-y-hover, var(--ha-tfx-skew-y, 0))) rotateX(var(--ha-tfx-rotate-x-hover, var(--ha-tfx-rotate-x, 0))) rotateY(var(--ha-tfx-rotate-y-hover, var(--ha-tfx-rotate-y, 0))) rotateZ(var(--ha-tfx-rotate-z-hover, var(--ha-tfx-rotate-z, 0)));
        transform: translate(var(--ha-tfx-translate-x-hover, var(--ha-tfx-translate-x, 0)),var(--ha-tfx-translate-y-hover, var(--ha-tfx-translate-y, 0))) scale(var(--ha-tfx-scale-x-hover, var(--ha-tfx-scale-x, 1)),var(--ha-tfx-scale-y-hover, var(--ha-tfx-scale-y, 1))) skew(var(--ha-tfx-skew-x-hover, var(--ha-tfx-skew-x, 0)),var(--ha-tfx-skew-y-hover, var(--ha-tfx-skew-y, 0))) rotateX(var(--ha-tfx-rotate-x-hover, var(--ha-tfx-rotate-x, 0))) rotateY(var(--ha-tfx-rotate-y-hover, var(--ha-tfx-rotate-y, 0))) rotateZ(var(--ha-tfx-rotate-z-hover, var(--ha-tfx-rotate-z, 0)))
    }

.happy-addon > .elementor-widget-container {
    word-wrap: break-word;
    overflow-wrap: break-word
}

    .happy-addon > .elementor-widget-container, .happy-addon > .elementor-widget-container * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

.happy-addon p:empty {
    display: none
}

.happy-addon .elementor-inline-editing {
    min-height: auto !important
}

.happy-addon-pro img {
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover
}

.ha-screen-reader-text {
    position: absolute;
    overflow: hidden;
    clip: rect(1px,1px,1px,1px);
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    border: 0;
    word-wrap: normal !important;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%)
}

.ha-has-bg-overlay > .elementor-widget-container {
    position: relative;
    z-index: 1
}

    .ha-has-bg-overlay > .elementor-widget-container:before {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        content: ""
    }

.ha-popup--is-enabled .ha-js-popup, .ha-popup--is-enabled .ha-js-popup img {
    cursor: -webkit-zoom-in !important;
    cursor: zoom-in !important
}

.mfp-wrap .mfp-arrow, .mfp-wrap .mfp-close {
    background-color: transparent
}

    .mfp-wrap .mfp-arrow:focus, .mfp-wrap .mfp-close:focus {
        outline-width: thin
    }

.ha-advanced-tooltip-enable {
    position: relative;
    cursor: pointer;
    --ha-tooltip-arrow-color: black;
    --ha-tooltip-arrow-distance: 0
}

    .ha-advanced-tooltip-enable .ha-advanced-tooltip-content {
        position: absolute;
        z-index: 999;
        display: none;
        padding: 5px 0;
        width: 120px;
        height: auto;
        border-radius: 6px;
        background-color: #000;
        color: #fff;
        text-align: center;
        opacity: 0
    }

        .ha-advanced-tooltip-enable .ha-advanced-tooltip-content::after {
            position: absolute;
            border-width: 5px;
            border-style: solid;
            content: ""
        }

        .ha-advanced-tooltip-enable .ha-advanced-tooltip-content.no-arrow::after {
            visibility: hidden
        }

        .ha-advanced-tooltip-enable .ha-advanced-tooltip-content.show {
            display: inline-block;
            opacity: 1
        }

    .ha-advanced-tooltip-enable.ha-advanced-tooltip-top .ha-advanced-tooltip-content, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-top .ha-advanced-tooltip-content {
        top: unset;
        right: 0;
        bottom: calc(101% + var(--ha-tooltip-arrow-distance));
        left: 0;
        margin: 0 auto
    }

        .ha-advanced-tooltip-enable.ha-advanced-tooltip-top .ha-advanced-tooltip-content::after, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-top .ha-advanced-tooltip-content::after {
            top: 100%;
            right: unset;
            bottom: unset;
            left: 50%;
            border-color: var(--ha-tooltip-arrow-color) transparent transparent transparent;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%)
        }

    .ha-advanced-tooltip-enable.ha-advanced-tooltip-bottom .ha-advanced-tooltip-content, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-bottom .ha-advanced-tooltip-content {
        top: calc(101% + var(--ha-tooltip-arrow-distance));
        right: 0;
        bottom: unset;
        left: 0;
        margin: 0 auto
    }

        .ha-advanced-tooltip-enable.ha-advanced-tooltip-bottom .ha-advanced-tooltip-content::after, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-bottom .ha-advanced-tooltip-content::after {
            top: unset;
            right: unset;
            bottom: 100%;
            left: 50%;
            border-color: transparent transparent var(--ha-tooltip-arrow-color) transparent;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%)
        }

    .ha-advanced-tooltip-enable.ha-advanced-tooltip-left .ha-advanced-tooltip-content, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-left .ha-advanced-tooltip-content {
        top: 50%;
        right: calc(101% + var(--ha-tooltip-arrow-distance));
        bottom: unset;
        left: unset;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }

        .ha-advanced-tooltip-enable.ha-advanced-tooltip-left .ha-advanced-tooltip-content::after, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-left .ha-advanced-tooltip-content::after {
            top: 50%;
            right: unset;
            bottom: unset;
            left: 100%;
            border-color: transparent transparent transparent var(--ha-tooltip-arrow-color);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%)
        }

    .ha-advanced-tooltip-enable.ha-advanced-tooltip-right .ha-advanced-tooltip-content, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-right .ha-advanced-tooltip-content {
        top: 50%;
        right: unset;
        bottom: unset;
        left: calc(101% + var(--ha-tooltip-arrow-distance));
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }

        .ha-advanced-tooltip-enable.ha-advanced-tooltip-right .ha-advanced-tooltip-content::after, body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-right .ha-advanced-tooltip-content::after {
            top: 50%;
            right: 100%;
            bottom: unset;
            left: unset;
            border-color: transparent var(--ha-tooltip-arrow-color) transparent transparent;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%)
        }

body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-top .ha-advanced-tooltip-content {
    top: unset;
    right: 0;
    bottom: calc(101% + var(--ha-tooltip-arrow-distance));
    left: 0;
    margin: 0 auto
}

    body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-top .ha-advanced-tooltip-content::after {
        top: 100%;
        right: unset;
        bottom: unset;
        left: 50%;
        border-color: var(--ha-tooltip-arrow-color) transparent transparent transparent;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }

body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-bottom .ha-advanced-tooltip-content {
    top: calc(101% + var(--ha-tooltip-arrow-distance));
    right: 0;
    bottom: unset;
    left: 0;
    margin: 0 auto
}

    body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-bottom .ha-advanced-tooltip-content::after {
        top: unset;
        right: unset;
        bottom: 100%;
        left: 50%;
        border-color: transparent transparent var(--ha-tooltip-arrow-color) transparent;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }

body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-left .ha-advanced-tooltip-content {
    top: 50%;
    right: calc(101% + var(--ha-tooltip-arrow-distance));
    bottom: unset;
    left: unset;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

    body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-left .ha-advanced-tooltip-content::after {
        top: 50%;
        right: unset;
        bottom: unset;
        left: 100%;
        border-color: transparent transparent transparent var(--ha-tooltip-arrow-color);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }

body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-right .ha-advanced-tooltip-content {
    top: 50%;
    right: unset;
    bottom: unset;
    left: calc(101% + var(--ha-tooltip-arrow-distance));
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

    body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-right .ha-advanced-tooltip-content::after {
        top: 50%;
        right: 100%;
        bottom: unset;
        left: unset;
        border-color: transparent var(--ha-tooltip-arrow-color) transparent transparent;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }

body.elementor-editor-active .happy-addon.ha-gravityforms .gform_wrapper {
    display: block !important
}

.ha-scroll-to-top-wrap.ha-scroll-to-top-hide {
    display: none
}

.ha-scroll-to-top-wrap.edit-mode, .ha-scroll-to-top-wrap.single-page-off {
    display: none !important
}

.ha-scroll-to-top-button {
    position: fixed;
    right: 15px;
    bottom: 15px;
    z-index: 9999;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background-color: #5636d1;
    color: #fff;
    text-align: center;
    opacity: 1;
    cursor: pointer;
    -webkit-transition: all .3s;
    transition: all .3s
}

    .ha-scroll-to-top-button i {
        color: #fff;
        font-size: 16px
    }

    .ha-scroll-to-top-button:hover {
        background-color: #e2498a
    }

/* =====================================================
   FLAUMINGO THEME  -  Navy blue + Cyan + Yellow (+ green)
   (append-only block: theme variables, header accents,
    Products dropdown and Products grid)
   ===================================================== */
:root {
    --fl-navy: #1e4fd8;
    --fl-navy-dark: #1638a8;
    --fl-blue: #00b4f0;
    --fl-yellow: #ffcf1a;
    --fl-green: #00b45a;
    --fl-bg: #f2f8ff;
    --fl-text: #2f3a52;
    --fl-grad: linear-gradient(90deg, #00b45a 0%, #00b4f0 50%, #ffcf1a 100%); /* green > cyan > yellow (logo bird + cross) */
}

/* ---------- header accents ---------- */
.elementor-location-header {
    border-bottom: 4px solid transparent;
    border-image: var(--fl-grad) 1;
}

    .elementor-location-header .dt-nav-menu-horizontal > li > a,
    .elementor-location-header .dt-nav-menu-horizontal > li > a .menu-text {
        color: var(--fl-navy) !important;
    }

        .elementor-location-header .dt-nav-menu-horizontal > li > a:hover,
        .elementor-location-header .dt-nav-menu-horizontal > li:hover > a,
        .elementor-location-header .dt-nav-menu-horizontal > li.act > a,
        .elementor-location-header .dt-nav-menu-horizontal > li > a:hover .menu-text,
        .elementor-location-header .dt-nav-menu-horizontal > li.act > a .menu-text {
            color: var(--fl-blue) !important;
        }

        .elementor-location-header .dt-nav-menu-horizontal > li > a .menu-text::after,
        .elementor-location-header .dt-nav-menu-horizontal > li > a .menu-item-text::after,
        .elementor-location-header .dt-nav-menu-horizontal > li > a::after {
            background: var(--fl-grad) !important;
        }

    .elementor-location-header .elementor-button {
        background: var(--fl-navy) !important;
        color: #fff !important;
        border-radius: 6px;
        transition: background .25s ease, color .25s ease;
    }

        .elementor-location-header .elementor-button:hover {
            background: var(--fl-yellow) !important;
            color: var(--fl-navy-dark) !important;
        }

        .elementor-location-header .elementor-button svg path {
            transition: fill .25s ease;
        }

        .elementor-location-header .elementor-button:hover svg path {
            fill: var(--fl-navy-dark);
        }

/* ---------- PRODUCTS DROPDOWN (desktop hover) ---------- */
.pr-menu-item {
    position: relative !important;
}

    .pr-menu-item::after {
        content: "";
        position: absolute;
        left: -20px;
        right: -20px;
        top: 100%;
        height: 40px;
    }
/* hover bridge */

.pr-dropdown {
    position: absolute !important;
    top: calc(100% + 26px) !important;
    left: 50% !important;
    width: 420px !important;
    max-width: 92vw;
    margin: 0 !important;
    padding: 10px 0 8px !important;
    list-style: none !important;
    display: block !important;
    background: #fff !important;
    border-top: 4px solid transparent;
    border-image: var(--fl-grad) 1;
    box-shadow: 0 18px 44px rgba(20, 40, 107, .22);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-50%) translateY(12px);
    transition: opacity .22s ease, transform .22s ease, visibility .22s;
}

.pr-menu-item:hover > .pr-dropdown,
.pr-menu-item:focus-within > .pr-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.pr-dropdown li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: none !important;
}

.pr-dropdown .pr-dd__head {
    padding: 8px 22px 10px !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: var(--fl-blue);
}

.pr-dropdown .pr-dd__item > a {
    display: flex !important;
    align-items: center;
    gap: 14px;
    padding: 9px 22px !important;
    border-left: 4px solid transparent;
    text-decoration: none !important;
    transition: background .18s ease, border-color .18s ease, padding-left .18s ease;
}

.pr-dropdown .pr-dd__no {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    font-weight: 700;
    color: #fff;
    background: var(--fl-navy);
    transition: background .18s ease, color .18s ease;
}

.pr-dropdown .pr-dd__txt {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.3;
}

    .pr-dropdown .pr-dd__txt strong {
        font-size: 15px;
        font-weight: 700;
        color: var(--fl-navy) !important;
    }

    .pr-dropdown .pr-dd__txt em {
        font-style: normal;
        font-size: 12px;
        color: #6a7286 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.pr-dropdown .pr-dd__item > a:hover,
.pr-dropdown .pr-dd__item > a:focus {
    background: var(--fl-bg) !important;
    border-left-color: var(--fl-yellow);
    padding-left: 26px !important;
}

    .pr-dropdown .pr-dd__item > a:hover .pr-dd__no {
        background: var(--fl-yellow);
        color: var(--fl-navy-dark);
    }

.pr-dropdown .pr-dd__all {
    margin-top: 6px !important;
    border-top: 1px solid #e6e8ef;
}

    .pr-dropdown .pr-dd__all > a {
        display: block !important;
        padding: 12px 22px 6px !important;
        font-size: 13.5px;
        font-weight: 700;
        color: var(--fl-navy) !important;
        text-decoration: none !important;
    }

        .pr-dropdown .pr-dd__all > a:hover {
            color: var(--fl-blue) !important;
        }

/* ---------- PRODUCTS GRID ---------- */
.pr-section {
    position: relative;
    overflow: hidden;
    padding: 70px 0 90px;
    width: 100%;
    font-family: "Public Sans", Arial, sans-serif;
    background: radial-gradient(520px 320px at 0% 0%, rgba(0,180,240,.20), transparent 70%), radial-gradient(560px 360px at 100% 100%, rgba(255,207,26,.22), transparent 70%), radial-gradient(420px 260px at 100% 0%, rgba(0,180,90,.10), transparent 70%), var(--fl-bg);
}

    .pr-section * {
        box-sizing: border-box;
    }

.pr-wrap {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 30px;
}

.pr-head {
    margin-bottom: 44px;
}

.pr-head__squares {
    display: inline-flex;
    gap: 6px;
    margin-bottom: 16px;
}

    .pr-head__squares i {
        display: block;
        width: 16px;
        height: 16px;
        background: var(--fl-navy);
    }

        .pr-head__squares i:nth-child(2) {
            background: var(--fl-blue);
        }

        .pr-head__squares i:nth-child(3) {
            background: var(--fl-yellow);
        }

.pr-section .pr-head__title {
    margin: 0 0 12px;
    font-size: 44px;
    line-height: 1.15;
    font-weight: 700;
    color: var(--fl-navy);
}

.pr-head__title::after {
    content: "";
    display: block;
    width: 90px;
    height: 5px;
    margin-top: 12px;
    background: var(--fl-grad);
    border-radius: 3px;
}

.pr-section .pr-head__sub {
    margin: 0;
    font-size: 17px;
    color: var(--fl-text);
}

.pr-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.pr-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px 28px 28px;
    background: #fff;
    border-radius: 6px;
    scroll-margin-top: 130px;
    box-shadow: 0 6px 24px rgba(20, 40, 107, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

    .pr-card::before { /* gradient top bar */
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 5px;
        background: var(--fl-grad);
        border-radius: 6px 6px 0 0;
    }

    .pr-card:hover, .pr-card:target {
        transform: translateY(-6px);
        box-shadow: 0 18px 38px rgba(20, 40, 107, .18);
    }

    .pr-card:target {
        outline: 3px solid var(--fl-yellow);
    }

.pr-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.pr-card__no {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: var(--fl-navy);
}

.pr-card__sq {
    position: relative;
    width: 51px;
    height: 17px;
}

    .pr-card__sq::before, .pr-card__sq::after {
        content: "";
        position: absolute;
        top: 0;
        width: 17px;
        height: 17px;
    }

    .pr-card__sq::before {
        left: 0;
        background: var(--fl-navy);
        box-shadow: 17px 0 0 var(--fl-blue);
    }

    .pr-card__sq::after {
        left: 34px;
        background: var(--fl-yellow);
    }

.pr-section .pr-card__name {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--fl-navy);
}

.pr-section .pr-card__comp {
    margin: 0 0 6px;
    font-size: 14.5px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--fl-text);
}

.pr-card__label {
    margin: 18px 0 12px;
    padding-top: 16px;
    border-top: 1px solid #e3e6ee;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--fl-blue);
}

.pr-section .pr-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .pr-section .pr-card__list li {
        position: relative;
        margin: 0 0 9px;
        padding-left: 26px;
        font-size: 15.5px;
        line-height: 1.45;
        color: var(--fl-text);
    }

        .pr-section .pr-card__list li::before { /* green tick circle (brochure icon colour) */
            content: "";
            position: absolute;
            left: 0;
            top: 2px;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background: var(--fl-green);
        }

        .pr-section .pr-card__list li::after {
            content: "";
            position: absolute;
            left: 5px;
            top: 6px;
            width: 5px;
            height: 8px;
            border: solid #fff;
            border-width: 0 2px 2px 0;
            transform: rotate(45deg) scale(.9);
            transform-origin: center;
            margin-top: -2px;
        }

.pr-section .pr-card__note {
    margin: 12px 0 0;
    padding: 12px 14px;
    background: var(--fl-bg);
    border-left: 4px solid var(--fl-yellow);
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--fl-text);
}

@media (max-width: 991px) {
    .pr-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .pr-section .pr-head__title {
        font-size: 36px;
    }
}

@media (max-width: 600px) {
    .pr-section {
        padding: 45px 0 60px;
    }

    .pr-wrap {
        padding: 0 18px;
    }

    .pr-grid {
        grid-template-columns: 1fr;
    }

    .pr-section .pr-head__title {
        font-size: 30px;
    }

    .pr-section .pr-card__name {
        font-size: 24px;
    }
}

/* ---------- LOGO (Flaumingo) ---------- */
.fl-logo {
    display: block;
    height: 70px;
    width: auto;
    max-width: none;
}

.elementor-location-header .elementor-widget-image a {
    display: inline-block;
    line-height: 0;
}

.fl-logo--popup {
    height: 50px;
}

@media (max-width: 1024px) {
    .fl-logo {
        height: 54px;
    }
}

@media (max-width: 480px) {
    .fl-logo {
        height: 44px;
    }
}

/* =====================================================
   FLAUMINGO FOOTER  (scoped .fl-footer*)
   ===================================================== */
.fl-footer {
    position: relative;
    width: 100%;
    font-family: "Public Sans", Arial, sans-serif;
    color: var(--fl-text);
    background: var(--fl-bg);
    border-top: 5px solid transparent;
    border-image: var(--fl-grad) 1;
}

    .fl-footer * {
        box-sizing: border-box;
    }

.fl-footer__main {
    padding: 64px 0 52px;
    background: radial-gradient(520px 300px at 0% 100%, rgba(0,176,224,.20), transparent 70%), radial-gradient(520px 300px at 100% 100%, rgba(243,205,18,.26), transparent 70%), var(--fl-bg);
}

.fl-footer__wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 30px;
}

.fl-footer__main .fl-footer__wrap {
    display: grid;
    grid-template-columns: 1.25fr 1.25fr .8fr 1fr;
    gap: 40px;
}

.fl-footer__logo {
    display: inline-block;
    line-height: 0;
    margin-bottom: 24px;
}

.fl-footer .fl-footer__logo-img {
    height: 70px;
    width: auto;
    max-width: 100%;
    display: block;
}

.fl-footer .fl-footer__title {
    position: relative;
    margin: 0 0 20px;
    padding-bottom: 12px;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: .3px;
    color: var(--fl-navy);
}

    .fl-footer .fl-footer__title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 44px;
        height: 4px;
        background: var(--fl-grad);
        border-radius: 2px;
    }

.fl-footer .fl-footer__title--sub {
    margin-top: 28px;
}

.fl-footer__item, .fl-footer__contact li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 14px;
}

.fl-footer__contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fl-footer svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    fill: var(--fl-green);
}

.fl-footer address, .fl-footer .fl-footer__item p {
    margin: 0;
    font-style: normal;
    font-size: 15px;
    line-height: 1.7;
    color: var(--fl-text);
}

.fl-footer .fl-footer__role {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--fl-blue);
}

.fl-footer .fl-footer__item p {
    font-weight: 600;
    color: var(--fl-navy);
}

.fl-footer a {
    color: var(--fl-text);
    text-decoration: none;
    transition: color .2s ease, padding-left .2s ease;
}

    .fl-footer a:hover {
        color: var(--fl-blue);
    }

.fl-footer__contact a {
    font-size: 15px;
    word-break: break-word;
    font-weight: 500;
}

.fl-footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .fl-footer__links li {
        margin: 0 0 10px;
    }

    .fl-footer__links a {
        position: relative;
        display: inline-block;
        padding-left: 16px;
        font-size: 15px;
    }

        .fl-footer__links a::before {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            width: 7px;
            height: 7px;
            margin-top: -3.5px;
            background: var(--fl-yellow);
            transition: background .2s ease, transform .2s ease;
        }

        .fl-footer__links a:hover {
            padding-left: 20px;
        }

            .fl-footer__links a:hover::before {
                background: var(--fl-green);
                transform: rotate(45deg);
            }

/* bottom bar */
.fl-footer__bar {
    background: var(--fl-navy);
    color: #fff;
}

.fl-footer__bar-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
}

.fl-footer__bar p {
    margin: 0;
    font-size: 14px;
    color: rgba(255,255,255,.88);
}

.fl-footer__bar a {
    color: var(--fl-yellow);
    font-weight: 600;
    margin-left: 6px;
}

    .fl-footer__bar a:hover {
        color: #fff;
    }

.fl-footer .fl-footer__tag {
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 12px;
    color: #fff;
    padding: 4px 12px;
    background: var(--fl-green);
}

@media (max-width: 1024px) {
    .fl-footer__main .fl-footer__wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 30px;
    }
}

@media (max-width: 600px) {
    .fl-footer__main {
        padding: 44px 0 34px;
    }

        .fl-footer__main .fl-footer__wrap {
            grid-template-columns: 1fr;
        }

    .fl-footer__wrap {
        padding: 0 18px;
    }

    .fl-footer__bar-in {
        flex-direction: column;
        align-items: flex-start;
    }

    .fl-footer .fl-footer__logo-img {
        height: 58px;
    }
}

/* ---------- footer position fix: always render at the bottom of the page ---------- */
footer#footer.fl-footer {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    order: 99 !important;
    transform: none !important;
    margin: 0 !important;
    width: 100% !important;
    z-index: 1;
}


/* ================= COLOURFUL THEME (logo colours: green / blue / yellow) ================= */

/* Products: each card gets its own logo colour, cycling green -> blue -> yellow */
.pr-card:nth-child(3n+1) {
    --acc: var(--fl-green);
    --acc-soft: rgba(0,180,90,.10);
}

.pr-card:nth-child(3n+2) {
    --acc: var(--fl-blue);
    --acc-soft: rgba(0,180,240,.11);
}

.pr-card:nth-child(3n+3) {
    --acc: var(--fl-yellow);
    --acc-soft: rgba(255,207,26,.16);
}

.pr-card {
    background: linear-gradient(180deg, var(--acc-soft) 0%, #fff 38%) !important;
    border-bottom: 4px solid var(--acc);
}

    .pr-card::before {
        background: var(--acc) !important;
        height: 6px !important;
    }

    .pr-card .pr-card__no {
        background: var(--acc) !important;
        color: #fff;
    }

    .pr-card:nth-child(3n+3) .pr-card__no {
        color: var(--fl-navy-dark);
    }

.pr-section .pr-card__name {
    color: var(--fl-navy) !important;
}

.pr-card .pr-card__label {
    color: var(--acc) !important;
    border-top-color: var(--acc-soft) !important;
}

.pr-card:nth-child(3n+3) .pr-card__label {
    color: #c99a00 !important;
}

.pr-section .pr-card__list li::before {
    background: var(--acc) !important;
}

.pr-section .pr-card__note {
    border-left-color: var(--acc) !important;
    background: var(--acc-soft) !important;
}

/* =====================================================
   FLAUMINGO TEAM / ORG CHART  (scoped .team-*, .org-*)
   ===================================================== */
.team-section {
    position: relative;
    overflow: hidden;
    padding: 70px 0 90px;
    width: 100%;
    font-family: "Public Sans", Arial, sans-serif;
    background: radial-gradient(520px 320px at 0% 0%, rgba(0,176,224,.24), transparent 70%), radial-gradient(560px 360px at 100% 100%, rgba(243,205,18,.32), transparent 70%), radial-gradient(420px 260px at 100% 0%, rgba(0,166,81,.12), transparent 70%), var(--fl-bg);
}

    .team-section * {
        box-sizing: border-box;
    }

.team-wrap {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 30px;
}

.team-head {
    margin-bottom: 44px;
}

.team-section .pr-head__title::after {
    content: "";
    display: block;
    width: 90px;
    height: 5px;
    margin-top: 12px;
    background: var(--fl-grad);
    border-radius: 3px;
}

/* ---------- Managing Director feature card ---------- */
.team-md {
    display: flex;
    align-items: center;
    gap: 34px;
    background: #fff;
    border-radius: 10px;
    padding: 26px 34px;
    margin-bottom: 56px;
    box-shadow: 0 10px 34px rgba(18, 41, 107, .10);
    border-left: 6px solid transparent;
    border-image: linear-gradient(var(--fl-green), var(--fl-blue), var(--fl-yellow)) 1;
}

.team-md__photo {
    flex: 0 0 auto;
    width: 118px;
    height: 118px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid #fff;
    box-shadow: 0 0 0 3px var(--fl-blue);
}

    .team-md__photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top center;
        display: block;
    }

.team-md__info h2 {
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 800;
    color: var(--fl-navy);
}

.team-md__role {
    display: inline-block;
    margin-bottom: 8px;
    padding: 3px 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #fff;
    background: var(--fl-green);
    border-radius: 20px;
}

.team-md__info p {
    margin: 0;
    font-size: 14.5px;
    color: var(--fl-text);
}

.team-subtitle {
    margin: 0 0 30px;
    font-size: 20px;
    font-weight: 700;
    color: var(--fl-navy);
    text-align: center;
}

/* ---------- Org chart v2: panel / timeline concept ---------- */
.org2 {
    position: relative;
}

.org2__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 8px;
}

.org2__council, .org2__md {
    display: inline-block;
    padding: 12px 30px;
    background: #fff;
    border-radius: 8px;
    font-weight: 800;
    color: var(--fl-navy);
    box-shadow: 0 6px 18px rgba(18, 41, 107, .10);
}

.org2__council {
    border-top: 4px solid var(--fl-navy);
    font-size: 15.5px;
}

.org2__md {
    margin-top: 26px;
    border-top: 4px solid var(--fl-green);
    font-size: 14.5px;
}

    /* connector: council -> MD, and MD -> the two columns below */
    .org2__top::after,
    .org2__md::after {
        content: "";
        display: block;
        width: 2px;
        height: 26px;
        margin: 0 auto;
        background: #c3cadb;
    }

.org2__council {
    position: relative;
}

    .org2__council::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 100%;
        width: 2px;
        height: 26px;
        background: #c3cadb;
    }

.org2__cols {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    margin-top: 26px;
    padding-top: 30px;
}
    /* top rail connecting the two department columns to the Managing Directors node */
    .org2__cols::before {
        content: "";
        position: absolute;
        top: 0;
        left: 25%;
        right: 25%;
        height: 2px;
        background: #c3cadb;
    }

.org2__col {
    position: relative;
    padding-top: 2px;
}

    .org2__col::before {
        content: "";
        position: absolute;
        top: -30px;
        left: 50%;
        width: 2px;
        height: 30px;
        background: #c3cadb;
    }

.org2__col-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 16px 18px;
    margin-bottom: 22px;
    border-radius: 8px;
    text-align: center;
    color: #fff;
}

.org2__col--a .org2__col-head {
    background: linear-gradient(135deg, var(--fl-navy), #2c56c4);
}

.org2__col--b .org2__col-head {
    background: linear-gradient(135deg, var(--fl-blue), #0691bb);
}

.org2__col-head span {
    font-size: 16.5px;
    font-weight: 800;
}

.org2__col-head em {
    font-style: normal;
    font-size: 12px;
    opacity: .9;
}

/* vertical step list = timeline */
.org2__steps {
    list-style: none;
    margin: 0;
    padding: 0 0 0 26px;
    position: relative;
}

    .org2__steps::before {
        content: "";
        position: absolute;
        left: 7px;
        top: 8px;
        bottom: 8px;
        width: 2px;
        background: #dfe3ee;
    }

    .org2__steps > li {
        position: relative;
        margin-bottom: 18px;
    }

        .org2__steps > li:last-child {
            margin-bottom: 0;
        }

        .org2__steps > li::before {
            content: "";
            position: absolute;
            left: -26px;
            top: 14px;
            width: 13px;
            height: 13px;
            border-radius: 50%;
            background: #fff;
            border: 3px solid var(--fl-blue);
        }

.org2__role {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    min-width: 200px;
    max-width: 100%;
    padding: 12px 16px;
    background: #fff;
    border-radius: 7px;
    border-left: 4px solid var(--fl-navy);
    box-shadow: 0 4px 14px rgba(18, 41, 107, .08);
    font-size: 12.5px;
    color: var(--fl-text);
    line-height: 1.4;
}

    .org2__role strong {
        font-size: 14px;
        font-weight: 700;
        color: var(--fl-navy);
    }

    .org2__role span {
        font-size: 12.5px;
        font-weight: 600;
        color: var(--fl-blue);
    }

    .org2__role em {
        font-style: normal;
        font-size: 11px;
        color: #7a8299;
    }

.org2__role--accent {
    border-left-color: var(--fl-yellow);
}

/* General Manager's two sub-branches, side by side */
.org2__branches {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 18px;
    padding: 18px 16px 16px;
    background: var(--fl-bg);
    border-radius: 8px;
}

.org2__branch-head {
    margin-bottom: 12px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: var(--fl-green);
}

.org2__steps--mini {
    padding-left: 20px;
}

    .org2__steps--mini::before {
        left: 5px;
    }

    .org2__steps--mini > li {
        margin-bottom: 12px;
    }

        .org2__steps--mini > li::before {
            left: -20px;
            top: 10px;
            width: 10px;
            height: 10px;
            border-color: var(--fl-green);
        }

    .org2__steps--mini .org2__role {
        min-width: 0;
        width: 100%;
        padding: 9px 12px;
        font-size: 12px;
    }

        .org2__steps--mini .org2__role strong {
            font-size: 12.5px;
        }

.org2__hq-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.org2__hq {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 9px 11px;
    background: #fff;
    border-radius: 6px;
    border-top: 3px solid var(--fl-green);
    box-shadow: 0 3px 10px rgba(18, 41, 107, .07);
    font-size: 11px;
    color: var(--fl-text);
}

    .org2__hq strong {
        font-size: 11.5px;
        font-weight: 700;
        color: var(--fl-navy);
    }

    .org2__hq span {
        font-size: 10.5px;
        font-weight: 600;
        color: var(--fl-green);
    }

@media (max-width: 900px) {
    .org2__cols {
        grid-template-columns: 1fr;
        gap: 50px;
    }

        .org2__cols::before {
            display: none;
        }

    .org2__col:first-child::before {
        top: -26px;
        height: 26px;
    }

    .org2__col + .org2__col::before {
        top: -26px;
        height: 26px;
    }
}

@media (max-width: 560px) {
    .org2__branches {
        grid-template-columns: 1fr;
    }

    .org2__hq-grid {
        grid-template-columns: 1fr 1fr;
    }

    .org2__role {
        min-width: 0;
        width: 100%;
    }
}
