.head-gt-bx .gt_selector.notranslate:focus {
    outline: none;
}

.head-gt-bx select {
    -webkit-appearance: none;
    /* For Safari and Chrome */
    -moz-appearance: none;
    /* For Firefox */
    appearance: none;
    /* Standard property */
}


.head-gt-bx .gt-custom-switcher {
    position: relative;
    display: inline-block;
}

/* Active selected language */
.head-gt-bx .gt-current {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 13px;
    background: #EEEEEE;
    border: 1px solid #D1D5DB;
    border-radius: 20px;
    cursor: pointer;
    font-family: 'Arial';
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    color: #12171C;
}

.head-gt-bx .gt-current .gt-icon svg,
.head-gt-bx .gt-custom-list .gt-icon svg {
    width: 16px;
    height: 16px;
}

.head-gt-bx .gt-icon {
    display: flex;
}

/* Dropdown list */
.head-gt-bx .gt-custom-list {
    list-style: none;
    padding: 8px 13px;
    margin: 6px 0 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 100%;
    background: #EEEEEE;
    border: 1px solid #D1D5DB;
    border-radius: 20px;
    display: none;
    z-index: 9999;
    font-family: 'Arial';
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    color: #12171C;
}

/* Open dropdown */
.head-gt-bx .gt-custom-list.open {
    display: block;
}

/* Each item has icon + code */
.head-gt-bx .gt-custom-list li {
    display: flex;
    align-items: center;
    gap: 6px;
    /* padding: 8px 14px; */
    cursor: pointer;
}

/* .gt-custom-list:hover {
    background: var(--e-global-color-secondary);
} */


.head-gt-bx .gt-label {
    font-size: 14px;
    color: #12171C;
    font-weight: 500;
}

.loc-nav-mnu .sub-menu {
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease;
}

.loc-nav-mnu .menu-item.open>.sub-menu {
    visibility: visible;
    opacity: 1;
    overflow: visible;
    display: block !important;
}

.accord-bx .e-n-accordion-item {
    border: 1px solid #E0DBD9;
    border-radius: 10px;
    transition: all 0.3s;
}

.accord-bx .e-n-accordion-item[open] {
    background: #fff;
    border-color: var(--e-global-color-secondary);
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}

.accord-bx .elementor-widget-text-editor {
    margin-top: -13px;
}


/* Traffic Management Plans */
.list-txt>ul {
    padding-left: 0 !important;
    list-style: none;
}

.list-txt>ul>li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 23px;
}

.list-txt>ul>li::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    background-image: url('data:image/svg+xml,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 0C2.91576 0 0 2.91576 0 6.5C0 10.0842 2.91576 13 6.5 13C10.0842 13 13 10.0842 13 6.5C13 2.91576 10.0842 0 6.5 0ZM9.79443 5.12256L6.27357 8.64332C6.16794 8.74895 6.02928 8.80212 5.89062 8.80212C5.75197 8.80212 5.61331 8.74895 5.50768 8.64332L3.7473 6.88294C3.53544 6.67118 3.53544 6.32882 3.7473 6.11706C3.95906 5.9052 4.30132 5.9052 4.51318 6.11706L5.89062 7.4945L9.02855 4.35668C9.24031 4.14482 9.58257 4.14482 9.79443 4.35668C10.0062 4.56843 10.0062 4.9107 9.79443 5.12256Z" fill="%23F99D27"/></svg>');
    background-repeat: no-repeat;
    background-size: 100%;
    left: 0;
    top: 2px;
}

.list-txt.beaon-site>ul>li::after {
    background-image: url('data:image/svg+xml,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 0C5.60723 0 0 5.60723 0 12.5C0 19.3928 5.60723 25 12.5 25C19.3928 25 25 19.3928 25 12.5C25 5.60723 19.3928 0 12.5 0ZM18.8354 9.85107L12.0646 16.6218C11.8614 16.8249 11.5948 16.9271 11.3281 16.9271C11.0615 16.9271 10.7948 16.8249 10.5917 16.6218L7.20635 13.2364C6.79893 12.8292 6.79893 12.1708 7.20635 11.7636C7.61357 11.3562 8.27178 11.3562 8.6792 11.7636L11.3281 14.4125L17.3626 8.37822C17.7698 7.9708 18.428 7.9708 18.8354 8.37822C19.2427 8.78545 19.2427 9.44365 18.8354 9.85107Z" fill="%23F05523"/></svg>');
}

.list-txt.signalisation-site>ul>li::after {
    background-image: url('data:image/svg+xml,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 0C5.60723 0 0 5.60723 0 12.5C0 19.3928 5.60723 25 12.5 25C19.3928 25 25 19.3928 25 12.5C25 5.60723 19.3928 0 12.5 0ZM18.8354 9.85107L12.0646 16.6218C11.8614 16.8249 11.5948 16.9271 11.3281 16.9271C11.0615 16.9271 10.7948 16.8249 10.5917 16.6218L7.20635 13.2364C6.79893 12.8292 6.79893 12.1708 7.20635 11.7636C7.61357 11.3562 8.27178 11.3562 8.6792 11.7636L11.3281 14.4125L17.3626 8.37822C17.7698 7.9708 18.428 7.9708 18.8354 8.37822C19.2427 8.78545 19.2427 9.44365 18.8354 9.85107Z" fill="%23D71524"/></svg>');
}

.list-txt ul li ul {
    margin-top: 17px;
    padding-left: 0;
    list-style: none;
    /* column-count: 2; */
    margin-bottom: -4px;

    display: flex;
    flex-wrap: wrap;
    column-gap: 34px;
    row-gap: 18px;
}

.list-txt ul li ul li {
    position: relative;
    padding-left: 25px;
    font-size: 16px;
    /* margin-bottom: 18px; */
    width: 47%;
}

.list-txt ul li ul li::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    background-color: #C1C1C1;
    border-radius: 50%;
    left: 0;
    top: 4px;
}

/* Traffic Management Plans */

/* Traffic Control */

.video-bx .eicon-play:before {
    content: '' !important;
}

.video-bx .elementor-custom-embed-play {
    display: flex;
}

.video-bx .elementor-custom-embed-play i,
.video-bx .elementor-custom-embed-play svg {
    opacity: 1;
    filter: none;
}

.video-bx .elementor-custom-embed-play:after {
    content: '';
    position: absolute;
    width: 68px;
    height: 68px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: #FFFFFF;
    opacity: 0.8;
    border-radius: 50%;
    z-index: -1;
}

.video-bx .elementor-custom-embed-play:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 100px;
    height: 100px;
    background: #ffff;
    border-radius: 50%;
    animation: pulse-border 1500ms ease-out infinite;
    z-index: -3;
}


@keyframes pulse-border {
    0% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity: 1;
    }

    100% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}

.small-list-txt ul {
    padding-left: 0 !important;
    list-style: none;
}

.small-list-txt ul li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 4px;
    font-weight: 500;
}

.small-list-txt ul li::after {
    content: '';
    position: absolute;
    width: 13px;
    height: 13px;
    background-image: url('data:image/svg+xml,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 0C2.91576 0 0 2.91576 0 6.5C0 10.0842 2.91576 13 6.5 13C10.0842 13 13 10.0842 13 6.5C13 2.91576 10.0842 0 6.5 0ZM9.79443 5.12256L6.27357 8.64332C6.16794 8.74895 6.02928 8.80212 5.89062 8.80212C5.75197 8.80212 5.61331 8.74895 5.50768 8.64332L3.7473 6.88294C3.53544 6.67118 3.53544 6.32882 3.7473 6.11706C3.95906 5.9052 4.30132 5.9052 4.51318 6.11706L5.89062 7.4945L9.02855 4.35668C9.24031 4.14482 9.58257 4.14482 9.79443 4.35668C10.0062 4.56843 10.0062 4.9107 9.79443 5.12256Z" fill="%23F99D27"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    left: 0;
    top: 4px;
}

.small-list-txt.beacone-li ul li::after {
    background-image: url('data:image/svg+xml,<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 0C5.60723 0 0 5.60723 0 12.5C0 19.3928 5.60723 25 12.5 25C19.3928 25 25 19.3928 25 12.5C25 5.60723 19.3928 0 12.5 0ZM18.8354 9.85107L12.0646 16.6218C11.8614 16.8249 11.5948 16.9271 11.3281 16.9271C11.0615 16.9271 10.7948 16.8249 10.5917 16.6218L7.20635 13.2364C6.79893 12.8292 6.79893 12.1708 7.20635 11.7636C7.61357 11.3562 8.27178 11.3562 8.6792 11.7636L11.3281 14.4125L17.3626 8.37822C17.7698 7.9708 18.428 7.9708 18.8354 8.37822C19.2427 8.78545 19.2427 9.44365 18.8354 9.85107Z" fill="%23F05523"/></svg>');
}

.small-list-txt.group-li ul li::after {
    background-image: url('data:image/svg+xml,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 0C2.91576 0 0 2.91576 0 6.5C0 10.0842 2.91576 13 6.5 13C10.0842 13 13 10.0842 13 6.5C13 2.91576 10.0842 0 6.5 0ZM9.79443 5.12256L6.27357 8.64332C6.16794 8.74895 6.02928 8.80212 5.89062 8.80212C5.75197 8.80212 5.61331 8.74895 5.50768 8.64332L3.7473 6.88294C3.53544 6.67118 3.53544 6.32882 3.7473 6.11706C3.95906 5.9052 4.30132 5.9052 4.51318 6.11706L5.89062 7.4945L9.02855 4.35668C9.24031 4.14482 9.58257 4.14482 9.79443 4.35668C10.0062 4.56843 10.0062 4.9107 9.79443 5.12256Z" fill="%23D71524"/></svg>');
}


.request-for-quote-frm .gform_heading {
    display: none;
}


.request-for-quote-frm .gform_wrapper.gravity-theme .gform_validation_errors>h2 {
    font-size: 11px;
    line-height: 1.2em;
    font-weight: 600 !important;
}


.request-for-quote-frm .gform_wrapper.gravity-theme .gform_validation_errors>h2 .gform-icon {
    font-size: 20px;
    inset-inline-start: 13px;
}


.request-for-quote-frm form .gform-body .gform_fields .ginput_container input:not([type="submit"]),
.request-for-quote-frm form .gform-body .gform_fields .ginput_container textarea,
.request-for-quote-frm form .gform-body .gform_fields .ginput_container select {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: #717579;
    height: 70px;
    padding: 20px 20px;
    border-color: #E0DBD9 !important;
    border-radius: 10px;
    border-width: 1px;
    background-color: #fff !important;
    box-shadow: none;
}

.request-for-quote-frm .gform_fields .gfield.gfield--input-type-email input {
    text-transform: lowercase;
}

.request-for-quote-frm .gform_fields .gfield.gfield--input-type-email input::placeholder {
    text-transform: capitalize;
}

.request-for-quote-frm form .gform-body .gform_fields .ginput_container select {
    background-image: url('data:image/svg+xml,<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.41 0L6 4.58L10.59 0L12 1.41L6 7.41L0 1.41L1.41 0Z" fill="%23101820"/></svg>');
    background-repeat: no-repeat;
    background-size: 12px;
    background-position: 96% 50%;
}

.request-for-quote-frm form .gform-body .gform_fields .ginput_container select {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.request-for-quote-frm form .gform-body .gform_fields .ginput_container textarea {
    min-height: 155px !important;
    resize: none;
    padding-top: 20px;
    padding-bottom: 13px;
}


.request-for-quote-frm form .gform-body .gform_fields .ginput_container input::placeholder,
.request-for-quote-frm form .gform-body .gform_fields .ginput_container textarea::placeholder,
.request-for-quote-frm form .gform-body .gform_fields .ginput_container select::placeholder {
    color: #717579;
    opacity: 1;
    vertical-align: top;
}


.request-for-quote-frm form .gform-body .gform_fields .ginput_container input:focus,
.request-for-quote-frm form .gform-body .gform_fields .ginput_container textarea:focus,
.request-for-quote-frm form .gform-body .gform_fields .ginput_container select:focus {
    outline: none;
    color: #000000;
}

.request-for-quote-frm form .gform_fields {
    -moz-column-gap: 18px;
    column-gap: 18px;
    grid-row-gap: 20px;
    row-gap: 20px;
}

.request-for-quote-frm .gfield_required_asterisk {
    color: #000 !important;
}

.contact-frm form .gform-body .gform_fields {
    grid-column-gap: 45px;
    grid-row-gap: 40px;
}


.request-for-quote-frm form .gform-body .gform_fields .gfield_label {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 1em;
    color: #2B2B2B;
    margin: 0;
    padding-left: 10px;
}

.request-for-quote-frm form .gform-footer .gform_button {
    font-family: "Roboto", Sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    line-height: 1.2em !important;
    color: #fff !important;
    background-color: var(--e-global-color-secondary) !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--e-global-color-secondary) !important;
    border-radius: 6px 6px 6px 6px !important;
    padding: 16px 22px 16px 22px !important;
    height: unset !important;
    transition: all 0.3s;
}

.request-for-quote-frm form .gform-footer .gform_button:focus {
    outline: none !important;
    box-shadow: none;
}

.request-for-quote-frm .gform-footer .gform_button:hover {
    background-color: transparent !important;
    color: var(--e-global-color-secondary) !important;
}


.request-for-quote-frm form .gform-footer {
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 12px !important;
    justify-content: center;
}

.request-for-quote-frm .gform_confirmation_message {
    text-align: center;
}

.image-box-slide .swiper-slide-inner {
    background: #fff;
    border: 1px solid #E0DBD9;
    border-radius: 15px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
}

.image-box-slide .swiper-slide-inner img {
    height: 61px;
    object-fit: contain;
}

.image-box-slide .swiper-slide {
    padding: 15px 0;
}

.image-box-slide .elementor-swiper-button {
    width: 42px;
    height: 38px;
    border: 1px solid #101820;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    transition: all 0.3s;
}

.image-box-slide .elementor-swiper-button svg path {
    transition: all 0.3s;
}

.image-box-slide .elementor-swiper-button:hover {
    background: var(--e-global-color-secondary);
    border-color: var(--e-global-color-secondary);
}

.image-box-slide .elementor-swiper-button:hover svg path {
    fill: #fff;
}

.image-box-slide .elementor-swiper-button-prev {
    left: -72px !important;
}

.image-box-slide .elementor-swiper-button-next {
    right: -72px !important;
}

/* Traffic Control */


/* Landscapping */
.image-box-slide.gallery-showcase .swiper-slide {
    padding: 15px 0;
}

.image-box-slide.gallery-showcase .swiper-slide-inner {
    background: transparent;
    border: none;
    border-radius: 10px;
    height: 100%;
    padding: 0 0;
}

.image-box-slide.gallery-showcase .swiper-slide-inner img {
    height: 320px;
    object-fit: cover;
    border-radius: 10px;
}

/* Landscapping */

.woocommerce-ResetPassword.lost_reset_password .form-row-last {
    float: none;
}

/* Contact Page */
.request-for-quote-frm.cont-pg form .gform-body .gform_fields .ginput_container input:not([type="submit"]) {
    height: 45px;
    border-radius: 8px;
}

.request-for-quote-frm.cont-pg .gform-body .gform_fields .ginput_container textarea {
    min-height: 121px !important;
}

.request-for-quote-frm.cont-pg form .gform-footer .gform_button {
    inline-size: 100% !important;
}

.request-for-quote-frm.cont-pg .gform_confirmation_message {
    color: #248427 !important;
    font-family: var(--e-global-typography-baebfbd-font-family), Sans-serif;
    font-size: var(--e-global-typography-baebfbd-font-size);
    font-weight: var(--e-global-typography-baebfbd-font-weight);
    line-height: var(--e-global-typography-baebfbd-line-height);
    text-align: left !important;
}

/* Contact Page */

/* Location Page */

/* Scrollable Loop Grid */
.scroll-loop-grid .elementor-loop-container {
    padding-left: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.scroll-loop-grid {
    max-height: 1215px;
    /* adjust to fit ~5 items */
    overflow-y: auto;
    padding-right: 25px;
    /* space for scrollbar */
}

/* Optional: smooth scrolling */
.scroll-loop-grid {
    scroll-behavior: smooth;
}

/* Optional: nicer scrollbar (Chrome / Edge) */
.scroll-loop-grid::-webkit-scrollbar {
    width: 5px;
}

.scroll-loop-grid::-webkit-scrollbar-track {
    background: #F9F6F6;
}

.scroll-loop-grid::-webkit-scrollbar-thumb {
    background: var(--e-global-color-secondary);
    border-radius: 5px;
}

.scroll-loop-grid::-webkit-scrollbar-thumb:hover {
    background: #999;
}


.map-popup-card {
    max-width: 250px;
    padding: 12px 15px;
    background: #fff;
    border-radius: 12px;
    font-family: "Roboto", Sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #333;
}

.map-popup-card h3 {
    margin: 0 0 6px 0;
    font-size: 16px;
    color: #222;
}

.map-popup-card p {
    margin: 4px 0;
}

.map-popup-card p strong {
    color: var(--e-global-color-secondary);
    font-weight: 600;
}

/* Scroll To Top */
.scroll-top-icon {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999;
    cursor: pointer;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.scroll-top-icon .elementor-icon-wrapper {
    display: flex;
}

.scroll-top-icon {
    width: max-content;
}

.scroll-top-icon {
    animation: float 6s ease-in-out infinite;
    transition: transform 0.3s ease;
    will-change: transform;
}

@keyframes float {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }

    100% {
        transform: translateY(0);
    }
}

/* Scroll To Top */

/* Location Page */
@media(min-width: 1200px) {
    .translated-fr .header .header-mnu-bx {
        /* width: 45%; */
        width: 54%;
    }

    /* .translated-fr .header .header-mnu-bx > ul > li > a {
        margin: 0 15px !important;
    } */
    .translated-fr .elementor-nav-menu>li:not(:last-child)>a {
        /* margin: 0 15px !important; */
        margin: 0 11px !important;
    }

    .translated-fr .header .header-cart-bx {
        /* width: 31%; */
        width: 27%;
    }
}

/* Responsive */

@media(max-width: 1200px) {
    .image-box-slide .elementor-swiper-button-prev {
        left: 0px !important;
    }

    .image-box-slide .elementor-swiper-button-next {
        right: 0px !important;
    }

    .translated-fr .header .header-mnu-bx {
        width: 54%;
    }

    /* .translated-fr .header .header-mnu-bx ul li a {
        margin: 0 5px;
    } */
    .translated-fr .elementor-nav-menu>li:not(:last-child)>a {
        margin: 0 5px !important;
    }

    .translated-fr .header .header-cart-bx {
        width: 27%;
    }

    .head-gt-bx .gt-current {
        font-size: 13px;
        gap: 4px;
        padding: 6px 11px;
    }

    .head-gt-bx .gt-current .gt-icon svg,
    .head-gt-bx .gt-custom-list .gt-icon svg {
        width: 13px;
        height: 13px;
    }
}

@media(max-width: 1024px) {
    .translated-fr .header .header-cart-bx {
        width: 50%;
    }

    .image-box-slide .swiper-slide-inner img {
        height: 37px;
        object-fit: contain;
    }

    .image-box-slide .swiper-slide-inner {
        border-radius: 7px;
        height: 105px;
    }

    .scroll-loop-grid .elementor-loop-container {
        padding-left: 15px;
    }
}

@media(max-width: 767px) {
    .accord-bx .elementor-widget-text-editor {
        margin-top: -5px;
    }

    .request-for-quote-frm form .gform-body .gform_fields .ginput_container input:not([type="submit"]),
    .request-for-quote-frm form .gform-body .gform_fields .ginput_container textarea,
    .request-for-quote-frm form .gform-body .gform_fields .ginput_container select {
        height: 60px;
    }

    .request-for-quote-frm form .gform-body .gform_fields .ginput_container textarea {
        min-height: 120px !important;
    }

    .head-gt-bx .gt-current .gt-icon svg,
    .head-gt-bx .gt-custom-list .gt-icon svg {
        width: 13px;
        height: 13px;
    }

    .head-gt-bx .gt-current,
    .head-gt-bx .gt-custom-list {
        font-size: 12px;
        gap: 3px;
        padding: 6px 10px;
        border-radius: 12px;
    }

    .translated-fr .header .header-cart-bx {
        width: 100%;
    }

    .scroll-loop-grid {
        padding-right: 15px;
    }

    #location-map {
        height: 320px;
    }
}

@media(max-width: 639px) {
    .request-for-quote-frm form .gform_fields {
        -moz-column-gap: unset;
        column-gap: unset;
    }
}

@media(max-width: 500px) {
    .list-txt ul li ul li {
        width: 100%;
    }
}