@keyframes swipe-underline {
    0% {
        transform: scale(1);
        transform-origin:right
    }

    50% {
        transform: scaleX(0);
        transform-origin:right
    }

    51% {
        transform-origin:left
    }

    to {
        transform: scale(1);
        transform-origin:left
    }
}

.iti-mosaic {
    font-family: "Apercu Regular";
    margin-top: 0rem;
    padding: 0px !important;
    justify-content: start;
    max-width: 1440px !important;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    position: relative;
    z-index: 1;
    -webkit-font-smoothing: antialiased;

    sup {
        font-size: 1rem !important;
    }

    .et_pb_row {
        width: initial;
        margin: initial;
    }

    .mosaic-tile, .single-mosaic-tile {
        /* background-color: transparent; */
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: stretch;
        height: auto;
        min-height: 360px;
        padding: 1.75rem 2.1875rem;
        transition: background-color .5s ease-in-out;
        width: 25%;
        position: relative;

        &.double-text-tile {
            width: 50%;
        }

        .mosaic-text {
            font-family: 'Apercu Pro Medium';
            line-height: 40px;
            font-size: 30px;
            letter-spacing: -1px;
            margin-bottom: 1.8rem !important;
            margin-top: 2.94rem;
            transform: translateY(0);
        }

        .mosaic-eyebrow {
            font-family: 'Apercu Pro Medium';
            font-size: 13px;
            letter-spacing: 1px;
            line-height: 13px;
            text-transform: uppercase;
            font-weight: 400;
        }

        .mosaic-bg-img {
            position: absolute !important;
            display: block;
            height: 80%;
            left: 10%;
            top: 10%;
            width: 80%;

            .et_pb_image_wrap {
                bottom: 0;
                display: block;
                left: 0;
                position: absolute;
                right: 0;
                top: 0;
            }
        }

        .mosaic-cta {
            display: flex;
            font-size: 13px;
            justify-content: space-between;
            letter-spacing: 1px;
            line-height: 13px;
            margin-top: auto;
            text-transform: uppercase;
            font-family: 'Apercu Pro Medium';
            font-weight: 400;

            a {
                align-self: flex-start;
                display: inline-block;
                font-size: .75rem;
                font-weight: 500;
                letter-spacing: 1.5px;
                line-height: 1.08;
                margin-top: 1.625rem;
                padding-bottom: 5px;
                position: relative;
                text-transform: uppercase;
                color: inherit;
                cursor: pointer;
                -webkit-text-decoration: none;
                text-decoration: none;
                background-color: transparent;

                &:after {
                    background: #141446;
                    bottom: 0;
                    content: "";
                    height: 1px;
                    left: 0;
                    position: absolute;
                    width: 100%;
                }

                &:hover:after {
                    animation: swipe-underline 1.25s cubic-bezier(.47,.42,0,.99) 1 normal forwards;
                }

                &:not(:focus-visible) {
                    outline: 0!important;
                }
            }

            &.dark {
                a:link, a:visited {
                    color: white;
                }
                a:hover, a:active {
                    color: white;
                }
                a:after {
                    background-color: white;
                }
            }
        }

        &.image-tile, &.roads-tile {
            padding: 0px;
            position: relative;
            overflow: hidden;
            z-index: 5;

            .et_pb_column {
                position: absolute !important;
                bottom: 0px;
                top: 0px;
                left: 0px;
                width: 100%;
                margin: 0;
            }

            .mosaic-img-roads {
                position: absolute;
                bottom: -7px;
                left: 0px;
                right: 0px;
                width: 100%;

                .teal {
                    fill: #00c2c2;
                    color: #00c2c2;
                }
            }
        }

        blockquote {
            margin: 0;
            border-left: none;
            padding-left: 0px;
            margin-bottom: 2.5rem;
            padding-top: 1.25rem;

            &:after, &:before {
                font-feature-settings: "ss02";
                color: hsla(0,0%,100%,.5);
                display: block;
                font-size: 60px;
                font-weight:600;
                font-family: 'Apercu-Pro';
            }

            &.blue-quotes {
                &:after, &:before {
                    color: #0074e8;
                }
            }

            &:before {
                content: '“';
                /* content: open-quote; */
                position: relative;
                top:5px
            }
        
            &:after {
                
                content: '”';
                /* content: close-quote; */
                line-height: 70px;
                margin-top:10px
            }
        }

        &.double-quote-tile {
            width: 50%;

            blockquote {
                line-height: 40px;
                font-size: 30px;
                letter-spacing: -1px;
            }

            .mosaic-single-quote-credit, .mosaic-double-quote-credit {
                p {
                    font-size: 12px;
                    letter-spacing: .92px;
                    line-height: 17px;
                    text-transform: uppercase;
                    transition: opacity .7s ease-in-out .2s, transform .7s ease-in-out .2s;
                }
            }
        }

        &.testimonial-tile {
            padding: 0px;
            position: relative;

            .mosaic-testimonial-column {
                position: relative;
                height: 100%;

                .mosaic-testimonial {
                    min-height: 320px;
                    height: 100%;
                    background-color: transparent;
                    
                    .et_pb_text_inner {
                        height: 100%;
                        display: flex;
                        flex-direction: column;
                        justify-content: space-between;

                        .mosaic-testimonial-content {
                            display: block;
                            font-family: "Apercu Pro Regular", Arial, Helvetica, sans-serif;
                            padding: 2rem;
                            display: flex;
                            flex-direction: column;
                            height: 100%;
                            opacity: 0;
                            transition: opacity .3s ease-in-out;
                            font-size: 1.3rem;
                            line-height: 1.2;
                            justify-content: center;
                            background-color: rgba(0, 116, 232, 0.7);
        
                            &:link, &:visited, &:hover, &:active {
                                color: white;
                            }
    
                            p:not(blockquote p) {
                                font-size: 12px;
                                letter-spacing: .92px;
                                line-height: 17px;
                                text-transform: uppercase;
                                transition: opacity .3s ease-in-out .2s, transform .3s ease-in-out .2s;
                            }

                            &:hover {
                                opacity: 1;
                            }
                        }
                    }
                }
            }
        }

        &.pattern-tile {
            overflow: hidden;
            position: relative;

            .mosaic-pattern-container {
                position: absolute;
                width: 100%;
                height: 100%;
                bottom: 0;
                left: 0;
                right: 0;
                top: 0;

                .pattern-tile-block {
                    position: absolute;
                    height: 56px;
                    width: 56px;
                }
        
                .pattern-tile-block:first-of-type {
                    left: 0;
                    top:0
                }
            
                .pattern-tile-block:nth-of-type(2) {
                    left: 112px;
                    top:0
                }
            
                .pattern-tile-block:nth-of-type(3) {
                    left: 56px;
                    top:56px
                }
            
                .pattern-tile-block:nth-of-type(4) {
                    left: 224px;
                    top:56px
                }
            
                .pattern-tile-block:nth-of-type(5) {
                    left: 168px;
                    top:112px
                }
            
                .pattern-tile-block:nth-of-type(6) {
                    left: 112px;
                    top:224px
                }
            }
        }

        &.single-quote-tile {
            font-family: "Apercu Pro Regular", Arial, Helvetica, sans-serif;

            blockquote {
                font-size: 20px;
                letter-spacing: -.57px;
                line-height: 24px;
            }

            .et_pb_column {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                height: 100%;
                align-items: start;
            }

            .mosaic-single-quote-credit {
                p {
                    font-size: 12px;
                    letter-spacing: .92px;
                    line-height: 17px;
                    text-transform: uppercase;
                    transition: opacity .7s ease-in-out .2s, transform .7s ease-in-out .2s;
                }
            }
        }

        &.double-text-tile {
            width: 50%;
        }

        &.mosaic-values-slider {
            width: 50%;
            flex-direction: row !important;
            flex-wrap: wrap;
            padding: 0!important;
            position: relative;
            font-family: "Apercu Pro Regular", Arial, Helvetica, sans-serif;

            .mosaic-slide-links {
                display: flex;
                flex-direction: column;
                padding: 1.75rem 2.1875rem;
                width: 50%;
                margin: 0px;

                .mosaic-slide-picker {
                    font-family: 'Apercu Pro Medium';
                    margin-bottom: .9375rem;
                    cursor: pointer;
                    font-size: 48px;
                    font-weight: 500;
                    letter-spacing: -2px;
                    line-height: 50px;
                    opacity: .7;
                    transition: opacity .3s ease-in-out, transform .2s ease-in-out;

                    &.active {
                        opacity: 1;
                    }

                    &:hover {
                        cursor: pointer;
                        transform: scale(1.02);
                        transform-origin: 50% right;
                    }
                }
            }

            .mosaic-slides {
                background: rgba(0,104,209,.3);
                display: flex;
                flex-direction: column;
                padding: 1.75rem 2.1875rem;
                width: 50%;
                padding: 0px;

                .mosaic-slide {
                    padding: 2rem;
                    font-family: 'Apercu Pro Medium';
                    display: none;
                    /* opacity: 0; */
                    margin: 0px;
                    height: 100%;
                    /* transition: opacity .7s ease-in-out .4s; */

                    &.active {
                        display: block;
                        /* opacity: 1; */
                    }

                    .value-slider-slide-text {
                        font-size: 20px;
                        letter-spacing: -.54px;
                        line-height: 24px;
                        margin-top: auto;
                    }

                    .et_pb_text_inner {
                        display: flex;
                        flex-direction: column;
                        justify-content: space-between;
                        height: 100%;
                        align-items: start;

                        img {
                            height: 84px;
                        }

                        p {
                            font-size: 20px;
                            letter-spacing: -.54px;
                            line-height: 24px;
                            margin-top: auto;
                        }
                    }
                }
            }
        }
    }

    @media (max-width: 1024px) {
        .blank-tile {
            display: none;
        }
    }

    @media (min-width: 865px) {
        .blank-tile {
            display: block;
        }
    }

    @media (max-width: 965px) {
        .mosaic-tile {
            width: 50%;

            &.double-quote-tile,
            &.double-text-tile,
            &.mosaic-values-slider {
                width: 100% !important;
            }
        }
    }

    @media (max-width: 480px) {
        .mosaic-tile {
            width: 100%;
        }
    }
}
