/* Make text look crisper and more legible in all browsers */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
}

.no-scroll {
    overflow: hidden;
    height: 100vh;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
    background-size: 14px;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
    box-shadow: none;
}

h1,
.heading-style-h1,
.heading-line>*,
.heading-style-trend-report {
    /* trim both sides to the capital letters */
    text-box: trim-both cap alphabetic;
}

/* Set color style to inherit */
.inherit-color * {
    color: inherit;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext> :not(div):first-child,
.w-richtext>div:first-child> :first-child {
    margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
    margin-bottom: 0 !important;
}


/* Make sure containers never lose their center alignment */
.container-medium,
.container-small,
.container-large {
    margin-right: auto !important;
    margin-left: auto !important;
}

/* 
Make the following elements inherit typography styles from the parent and not have hardcoded values. 
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
color: inherit;
text-decoration: inherit;
font-size: inherit;
}
*/

/* Apply "..." after 3 lines of text */
.text-style-3lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* These classes are never overwritten */
.hide {
    display: none !important;
}

@media screen and (max-width: 991px) {

    .hide,
    .hide-tablet {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .hide-mobile-landscape {
        display: none !important;
    }
}

@media screen and (max-width: 479px) {
    .hide-mobile {
        display: none !important;
    }
}

.margin-0 {
    margin: 0rem !important;
}

.padding-0 {
    padding: 0rem !important;
}

.spacing-clean {
    padding: 0rem !important;
    margin: 0rem !important;
}

.margin-top {
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-top {
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-right {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-right {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-bottom {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-bottom {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

.margin-left {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-left {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-horizontal {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-horizontal {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-vertical {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-vertical {
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

.w-slider-nav-invert .w-slider-dot {
    width: .5rem;
    height: .5rem;
    background-color: #D3D3D3;
}

::selection {
    color: #fff;
    background: var(--base-color-brand--vd-blue);
}

.insights_list>*:nth-child(1) {
    grid-column: span 8 !important;
}

.case_studies_list>*:nth-child(1),
.case_studies_list>*:nth-child(4) {
    grid-column: span 7 !important;
}

.case_studies_list>*:nth-child(2),
.case_studies_list>*:nth-child(3) {
    grid-column: span 5 !important;
}

.section_related .insights_list>*:nth-child(1) {
    grid-column: span 4 !important;
}

.radio-button.w--redirected-checked~.radio-label {
    background: #000;
    color: #fff;
}

.radio-button.is-inverted.w--redirected-checked~.radio-label {
    background: #fff;
    color: #000;
}
.nav_menu_link {
    color: #fff;
}
.nav_anim:hover a,
.nav_anim:hover a div {
    color: #fff !important;
}

.dark-nav .nav_anim:hover a,
.dark-nav .nav_anim:hover a div {
    color: #000 !important;
}

.filter-button.is-inverted img,
.show_filters_button:hover img {
    filter: invert(1);
}

.filter-button.is-inverted:hover img {
    filter: invert(0);
}

.filter-button.is-inverted.fs-cmsfilter_active {
    background: #fff;
    color: #000;
}

.solutions_item:nth-child(1) {
    margin-top: -5rem;
}


.solutions_item:nth-child(1) .solutions_card {
    padding: 0;
}

.solutions_item:nth-child(1) .solutions_card .button_secondary_wrap {
    background: #000;
    color: #fff;
}

.solutions_item:nth-child(1) .solutions_card .button_secondary_wrap .button_secondary_text {
    color: #fff;
}

.solutions_item:nth-child(1) .solutions_card .button_secondary_wrap .button_plus_wrap {
    background: #fff;
}

.solutions_item:nth-child(1) .solutions_card .button_secondary_wrap .button_line {
    background: #000;
}


.video-fill {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    z-index: 5;
}

.work_rich_text img {
    border-radius: 1rem;
    width: 100%;
}

.w-richtext figure,
.w-richtext figure div {
    width: 100%;
    max-width: 100% !important;
}

.vimeo-wrapper {
    height: 101%;
    aspect-ratio: 16 / 9;
    border: none;
    display: block;
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wide-aspect .vimeo-wrapper {
    aspect-ratio: 3 / 1;
}

.case_studies_list_wrapper .vimeo-wrapper,
.related-list .vimeo-wrapper,
.work-section-item .vimeo-wrapper {
    opacity: 0;
}

.vimeo-wrapper-hero {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.animate-flip.active {
    height: 100vh;
    width: 100vw;
    max-height: none;
    opacity: 1 !important;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 99 !important;
    z-index: 6;
    border-radius: 0;
}

.case_studies_list .category_pill:nth-child(n+2) {
    display: none;
}

.w-select {
    /* resetting default form style*/
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
}

.select-wrap::after {
    content: "";
    background-image: url(67ae65084b1dd6cf933bfcdd/67c52088ff02e7f9e7cd6d8e_select_chevron.svg);
    background-size: 12px 6px;
    height: 6px;
    width: 12px;
    display: inline-block;
    content: "";
    position: absolute;
    right: 16px;
    top: 21px;
}

.dark-nav .button_hover_bg {
    background: #fff;
}

.dark-nav .nav_contact:hover .nav_menu_link {
    color: #000 !important;
}



.results-popup .quote-attribution_name p:nth-child(1) {
    color: var(--text-color--text-secondary);
}

.insights_card_wrapper:hover .fill {
    transform: scale(1.04);
}

.solution_card_left p,
.solution_card_left li {
    opacity: .8;
}

.section_hero_image {
    background-size: cover;
}

.w-slider-dot {
    background-color: #D3D3D3;
}

.w-slider-dot.w-active {
    background-color: #000;
}

.w-input:focus+.field-label,
.w-select:focus+.field-label {
    opacity: 1;
}

.field-wrap:focus-within .field-label {
    opacity: 1;
}

.field-input:not(:placeholder-shown)+.field-label {
    opacity: 1;
}

.menu.is-active .nav_contact {
    background: none;
}

.dropdown-toggle.w--open {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none;
}

.home-solutions_item.is-active .solutions_servcies {
    height: auto;
    opacity: 1;
}

.home-solutions_item.is-active .vertical-line {
    transform: rotate(-90deg);
}


.vimeo-wrapper-home,
.vimeo-wrapper-about {
    height: 100vh;
    width: 100vw;
    border: none;
    display: block;
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    will-change: transform;
}

.insight-grid .text-rich-text h1,
.insight-grid .text-rich-text h2,
.insight-grid .text-rich-text h3 {
    margin-bottom: 2rem;
}

.insight-grid .text-rich-text p {
    margin-bottom: 2rem;
}

.section_content figure {
    margin-bottom: .5rem;
    margin-top: 0;
}

@media screen and (max-width: 1500px) {

    .stats-heading-wrap.stats {
        flex-direction: column;
        grid-column-gap: 2.25rem;
        grid-row-gap: 2.25rem;
    }

    .stats-inner {
        display: flex;
        grid-column-gap: 5rem;
        grid-row-gap: 5rem;
    }

    .stats_list_wrap {
        flex-flow: column;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        display: flex;
    }

    .stats-list {
        width: 100%;
        padding-left: 0;
        text-align: center;
    }

}

@media screen and (max-width: 991px) {

    .insight-grid .text-rich-text h1,
    .insight-grid .text-rich-text h2,
    .insight-grid .text-rich-text h3 {
        margin-bottom: 1.75rem;
    }

    .work-card-item .vimeo-video-wrap {
        display: none;
        visibility: hidden;
    }

    .home-solutions_item:nth-child(1) {
        border-top: none;
    }

    .related_slider .w-slider-dot {
        width: 8px;
        height: 8px;
        margin-left: 4px;
        margin-right: 4px;
    }

    .menu_items .nav_contact {
        left: 0;
    }

}