button.open-menu,
button.close-menu,
button.ic-language-switcher-active,
.icento-carousel [data-bs-slide-to] {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}
.open-menu:focus-visible,
.close-menu:focus-visible,
.ic-language-switcher-active:focus-visible,
.icento-carousel [data-bs-slide-to]:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
.ic-language-switcher-active { width: 100%; }
.icento-submenu-toggle { display: none; }
.icento-menu-caret { font-size: 12px; margin-left: 5px; }
.ic-dropdown-layout .ic-language-switcher-list.dropdown-menu {
    --bs-dropdown-link-color: var(--title-inverse, #fff);
    --bs-dropdown-link-hover-color: var(--title-inverse, #fff);
    --bs-dropdown-link-active-color: var(--title-inverse, #fff);
    --bs-dropdown-link-hover-bg: transparent;
    --bs-dropdown-link-active-bg: transparent;
    inset: auto auto auto 50%;
    margin-left: -75px;
    margin-top: 10px;
    transform: none;
    min-width: 150px;
    padding: 10px;
    border-radius: 0;
}
.ic-dropdown-layout .ic-language-switcher-list.dropdown-menu:not(.show) { display: none; }
.ic-language-switcher-list .dropdown-item { padding: 0; }
.ic-dropdown-layout .ic-language-switcher-list a.dropdown-item,
.ic-dropdown-layout .ic-language-switcher-list a.dropdown-item:hover,
.ic-dropdown-layout .ic-language-switcher-list a.dropdown-item:focus,
.ic-dropdown-layout .ic-language-switcher-list a.dropdown-item:active {
    background: transparent;
    color: var(--title-inverse, #fff);
}
.icento-carousel > .slideshow-content { overflow: hidden; }
.icento-carousel .slideshow-content > .carousel-item {
    display: none;
    float: left;
    position: relative;
    margin-right: -100%;
    width: 100%;
    height: 100%;
    opacity: 1;
    visibility: visible;
    transition: transform .6s ease-in-out;
}
.icento-carousel .slideshow-content > .carousel-item.active,
.icento-carousel .slideshow-content > .carousel-item-next,
.icento-carousel .slideshow-content > .carousel-item-prev { display: block; }
.icento-carousel .carousel-item .ic-slideshow-img { position: absolute; inset: 0; }
.icento-carousel .carousel-item .ic-slideshow-img > div { width: 100%; height: 100%; }
.ic-item-content-slider .icento-carousel .carousel-item.active > .ic-grid-column { display: flex; }
.icento-carousel .carousel-item.active:not(.carousel-item-start):not(.carousel-item-end) { transform: translateX(0); }
.icento-carousel .carousel-item-next:not(.carousel-item-start),
.icento-carousel .active.carousel-item-end { transform: translateX(100%); }
.icento-carousel .carousel-item-prev:not(.carousel-item-end),
.icento-carousel .active.carousel-item-start { transform: translateX(-100%); }
.icento-carousel .ic-slideshow-dots { z-index: 3; }
.icento-carousel .ic-slideshow-dots > button { margin: 0 .5em; transition: color .3s; }
.icento-carousel .ic-slideshow-dots > button.active { color: var(--primary); }
.ic-form-submit-wrapper button.ic-form-submit-btn { cursor: pointer; }
.icento-form-status { margin-top: 16px; }
.ic-item-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; }
.icento-modal { color: #111; }
.icento-modal .modal-content { border-radius: 0; }
.icento-modal .modal-body { padding: 48px 32px 24px; }
.icento-modal .modal-body > .ic-section { display: block; min-height: 0; width: 100%; }
.icento-modal-close,
.icento-lightbox-previous,
.icento-lightbox-next {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    background: #fff;
    color: #111;
    font-size: 28px;
    cursor: pointer;
}
.icento-modal-close { top: 8px; right: 8px; }
.icento-lightbox-previous { top: 50%; left: 8px; }
.icento-lightbox-next { top: 50%; right: 8px; }
.icento-image-viewer .modal-body { text-align: center; }
.icento-image-viewer .modal-body > img { max-width: 100%; max-height: 75vh; object-fit: contain; }
.icento-image-caption { margin-top: 12px; }
#main-content .icento-case-history [data-icento-reveal] { opacity: 1; }
.icento-journal-posts .ic-grid-layout > .ic-blog-post {
    display: flex;
    flex-direction: column;
}
.icento-journal-posts .ic-blog-post-image { flex-shrink: 0; }
.icento-journal-posts .ic-blog-post-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.icento-journal-posts .ic-blog-post-button-wrapper { margin-top: auto; }
@media (min-width: 1281px) {
    .ic-menu-wrapper > .main-menu { visibility: visible; }
    .ic-menu-wrapper .open-menu,
    .ic-menu-wrapper .close-menu { display: none; }
    .ic-menu-wrapper .main-menu li.parent:focus-within > ul { display: block; opacity: 1; visibility: visible; }
}
@media (max-width: 1280px) {
    #main-content .icento-case-history .icento-case-heading h2 { color: var(--title, #1b1b1d); }
    header.icento-navigation-open { z-index: 1060; }
    .ic-menu-wrapper > .main-menu.icento-mobile-menu {
        --bs-offcanvas-width: min(360px, 90vw);
        display: flex;
        flex-direction: column;
        background: #050505;
        color: #fff;
        padding: 64px 24px 24px;
        height: 100dvh;
        overflow-y: auto;
        right: 0;
        top: 0;
        bottom: 0;
        transition: transform .3s ease-in-out;
        visibility: hidden;
    }
    .ic-menu-wrapper > .main-menu.icento-mobile-menu.show,
    .ic-menu-wrapper > .main-menu.icento-mobile-menu.showing { visibility: visible; }
    .ic-menu-wrapper > .main-menu.icento-mobile-menu:not(.show):not(.showing) { display: none; transform: translateX(100%); }
    .ic-menu-wrapper > .icento-mobile-menu > .close-menu { position: absolute; top: 20px; left: auto; right: 24px; width: 40px; padding: 0; color: #fff; font-size: 28px; }
    .icento-mobile-menu .close-menu i { color: inherit; }
    .icento-mobile-menu .integration-wrapper > ul { display: flex; flex-direction: column; align-items: stretch; }
    .icento-mobile-menu .integration-wrapper > ul > li { display: block; width: 100%; }
    .icento-mobile-menu .integration-wrapper > ul > li > a { display: block; color: #fff; text-align: left; line-height: 1.5; }
    .ic-menu-wrapper .icento-mobile-menu .integration-wrapper li.parent > ul.mod-menu__sub { position: static; display: block; opacity: 1; visibility: visible; padding: 0 0 8px 20px; max-height: none; }
    .icento-mobile-menu .integration-wrapper li.parent > ul:not(.show):not(.collapsing) { display: none; }
    .icento-mobile-menu .integration-wrapper li.parent > ul a { display: block; color: #fff; }
    .icento-mobile-menu li.parent { position: relative; }
    .icento-mobile-menu .icento-menu-caret { display: none; }
    .icento-mobile-menu .icento-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; position: absolute; z-index: 30; top: 0; right: 0; width: 44px; height: 42px; padding: 0; border: 0; background: transparent; color: #fff; font-size: 24px; }
    .ic-menu-wrapper .open-menu { display: flex; width: 100%; align-items: center; justify-content: flex-end; }
    .icento-modal .modal-body { padding: 48px 16px 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .icento-carousel .slideshow-content > .carousel-item { transition: none; }
    .icento-mobile-menu { transition: none; }
}
