/**
 * 	Definitions
 *  Breakpoints: 1440, 1066, 768, 375
 */


/* Product hero */
.product-hero {
    display: flex;
    flex-wrap: nowrap;
    padding-top: 24px;
    padding-bottom: 50px;
}
.product_hero--text_frame { 
    width: 50%;
    max-width: 580px;
    flex-grow: 0;
}
    .product_hero--text_container {
        height: 100%;
        margin-right: 24px;
        padding-bottom: 32px;
        border-bottom: 1px solid var(--Light-Grey);
    }
    .product_hero--text_container .product_hero--logo {
        height: 70px;
        width: auto;
    }
    .product_hero--description {
        margin-top: 8px;
        margin-bottom: 28px;
        font-size: 18px;
        font-style: normal;
        font-weight: 350; 
        line-height: 1.5em;
        letter-spacing: 0.06em;
        color: var(--Solid-Grey);   
    }
    .product_hero--features {
        margin-right: -24px;
        margin-left: -40px;
        margin-bottom: 36px;
        font-size: 14px;
        font-style: normal;
        font-weight: 350; 
        line-height: 1.6em;
        letter-spacing: 0.06em;
    }
        .product_hero--features ul {
            padding: 0;
            margin: 0;
            list-style: none;
            background: var(--Blue);
        }
        .product_hero--features li {
            padding-left: 40px;
            padding-right: 24px;
            padding-top: 12px;
            padding-bottom: 12px;
            color: var(--White);
            border-bottom: 1px solid var(--Blue-Line);
        }
        .product_hero--features li:first-child {
            padding-top: 15px;
        }
        .product_hero--features li:last-child {
            padding-bottom: 14px;
        }
        .product_hero--features li a {
            text-decoration: underline;
        }
        @media (hover: hover) {
            .product_hero--features li a:hover {
                color: var(--Pastel-Violet);
            }
        }

.product_hero--line_frame {
    width: 1px;
    flex-grow: 0;
    margin-bottom: 24px;
    background: var(--Light-Grey);
}
.product_hero--photo_frame {
    flex-grow: 1;
    width: 50%;
    margin-left: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--Light-Grey);
}
    .product_hero--image {
        display: block;
        width: 100%;
        height: 100%;
        text-align: center;
    }
    .product_hero--image img {
        object-fit: contain;
        max-width: 100%;
        max-height: 100%;
        width: 100%;
        height: 100%;
        padding-left: 24px;
    }
    .product_hero--image.product_hero--image_mobile {
        display: none;
    }
    .product_hero--image.product_hero--image_mobile img {
        padding-left: 0;
    }

.product_hero--feature_title {
    padding-top: 8px;
    margin-bottom: 28px;   
}

@media (max-width: 1440px) {
    .product_hero--text_frame { 
        max-width: 500px;
    }
    .product_hero--text_container .product_hero--logo {
        height: 60px;
    }
    .product_hero--features {
        margin-left: -60px;
    }
    .product_hero--features li {
        padding-left: 60px;
    }
}
@media (max-width: 1150px) {
    .product_hero--text_frame { 
        max-width: 430px;
    }
    .product_hero--text_container .product_hero--logo {
        height: 50px;
    }
    .product_hero--description {
        font-size: 17px;
    }
}
@media (max-width: 1066px) {
    .product_hero--features {
        margin-left: -50px;
    }
    .product_hero--features li {
        padding-left: 50px;
    }
}
@media (max-width: 950px) and (min-width: 769px) {
    .product_hero--text_frame { 
        max-width: 350px;
    }
    .product_hero--text_container .product_hero--logo {
        height: 40px;
    }
    .product_hero--buttons {
        flex-wrap: wrap;
        gap: 12px;
    }
    .product_hero--buttons .button--item {
        width: 100%;
    }
}
@media (max-width: 768px) {
    .product-hero {
        padding-top: 16px;
        padding-bottom: 20px;
    }
    .product_hero--text_frame { 
        width: 100%;
        max-width: unset;
    }
    .product_hero--text_container .product_hero--logo {
        height: 60px;
    }
    .product_hero--text_container {
        margin-right: 0;
        border-bottom: none;
    }
    .product_hero--description {
        font-size: 16px;
        margin-bottom: 16px;
    }
    .product_hero--image.product_hero--image_mobile {
        display: block;
        height: unset;
        margin-bottom: 16px;
    }
    .product_hero--image.product_hero--image_mobile img {
        height: auto;
    }

    .product_hero--features {
        margin-right: -40px;
        margin-left: -40px;
        margin-bottom: 32px;
    }
    .product_hero--features li {
        padding-left: 40px;
        padding-right: 40px;
    }
    .product_hero--line_frame {
        display: none;
    }
    .product_hero--photo_frame {
        display: none;
    }
}
@media (max-width: 580px) {
    .product_hero--text_container .product_hero--logo {
        height: 50px;
    }
}
@media (max-width: 450px) {
    .product-hero {
        padding-bottom: 8px;
    }
    .product_hero--text_container .product_hero--logo {
        height: 40px;
    }
    .product_hero--features {
        margin-right: -22px;
        margin-left: -22px;
        margin-bottom: 24px;
    }
    .product_hero--features li {
        padding-left: 22px;
        padding-right: 22px;
    }
    .product_hero--buttons {
        flex-wrap: wrap;
        gap: 12px;
    }
    .product_hero--buttons .button--item {
        width: 100%;
    }
}



/* Product styles */
.product--content p {
    max-width: 984px;
    margin-bottom: 1em;
}
.product--content p.has-small-font-size {
    font-size: 12px;
}
.product--content p a,
.product--content li a {
    font-weight: 550;
    text-decoration: underline;
}
.product--content p a:hover,
.product--content li a:hover {
    color: var(--Dark-Violet);
}
.product--content .wp-block-list {
    max-width: 984px;
}

.product--content .wp-block-columns {
    gap: 48px;
}
@media (max-width: 781px) {
    .product--content .wp-block-columns {
        gap: 32px;
    }
}



/* Product category styles */
.product--category_title {
    padding-top: 8px;
}





/* .section--nav_bar ~ p {
    display: none;
} */

/* Bottom NavBar */
.nav_bar--compensator {
    height: 60px;
    display: none;
}
.nav_bar--content {
    position: relative;
    width: 100%;
    bottom: 0;
    z-index: 1000;
}
.nav_bar--sticked .nav_bar--compensator {
    display: block;
}
.nav_bar--sticked .nav_bar--content {
    position: fixed;
}

.nav_bar--mask {
    position: absolute;
    bottom: 0;
    height: 120px;
    width: 100%;
    background: linear-gradient(180deg, rgba(217, 217, 217, 0.00) 0%, rgba(0, 0, 0, 0.13) 100%);
    z-index: 1;
    pointer-events: none;
}
.nav_bar--box {
    position: relative;
    height: 60px;
    border-radius: 16px 16px 0px 0px;
    border-bottom: 3px solid var(--Light-Grey);
    background: var(--White, #FFF);
    z-index: 2;
}
.nav_bar--container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    height: 60px;
}

    .nav_bar--tabs_container {
        flex: 1 1 auto;
        width: 20%;
        margin-left: -60px;
        padding-left: 44px;
        padding-right: 52px;
        display: none;
    }
    .nav_bar--tabs_ribbon .nav_bar--tabs_container {
        display: block;
    }
        .nav_bar--tabs {
            display: flex;
            justify-content: flex-start;
        }
            .nav_bar--item {
                display: inline-block;
                height: 60px;
                padding: 22px 16px 21px;
                border-bottom: 3px solid var(--Light-Grey);
                color: var(--Silver);
                font-size: 14px;
                font-style: normal;
                font-weight: 550;
                line-height: 1em;
                letter-spacing: 0.04em;
                white-space: nowrap;
                transition: color 0.2s ease;
                cursor: pointer;
            }
            .nav_bar--item.nav_bar--logo {
                padding: 17px 16px 22px;
            }
            .nav_bar--item.nav_bar--item_visible {
                color: var(--Blue);
                border-bottom: 3px solid var(--Blue);
            }
            .nav_bar--tabs_ribbon .nav_bar--item.nav_bar--burger_item {
                display: none;
            }


            @media (hover: hover) {
                .nav_bar--item:hover {
                    /* color: var(--Blue); */
                    /* border-bottom: 3px solid var(--Blue); */
                    color: var(--Dark-Violet);
                    border-bottom-color: var(--Dark-Violet);
                }
            }

            .nav_bar--burger_cta {
                display: none;
            }


    .nav_bar--cta {
        display: none;
        /* display: block; */
        flex: 0 0 auto;
        padding-left: 60px;
    }
    /* .nav_bar--cta_ribbon.nav_bar--cta_visible .nav_bar--cta { */
    .nav_bar--cta_ribbon:not(.nav_bar--cta_hidden) .nav_bar--cta {
            display: flex;
    }
    .nav_bar--cta_ribbon .nav_bar--cta {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 24px;
    }
    .nav_bar--cta_button {
        min-width: 150px;
    }
    .nav_bar--cta_logo {
        height: 24px;
        width: auto;
    }


    .nav_bar--burger_mode .nav_bar--box {
        border-radius: 30px;
        border-bottom: none;
        min-width: 320px;
        bottom:26px;
        left: 50%;
        transform: translateX(-50%);
    }
    @media (max-width: 450px) {
        .nav_bar--burger_mode .nav_bar--box {
            min-width: 260px;
        }
    }
    .nav_bar--burger_mode .nav_bar--container {
        display: block;
        width: 100%;
        border-radius: 30px;
    }
    .nav_bar--burger_container {
        display: none;
    }
    .nav_bar--burger_mode .nav_bar--burger_container {
        display: flex;
        width: 100%;
        height: 60px;
        /* justify-content: space-between; */
        justify-content: center;
        align-items: center;
        padding: 0 32px 0 42px;
        cursor: pointer;
    }

    .nav_bar--burger_target {
        color: var(--Blue);
        font-size: 14px;
        font-style: normal;
        font-weight: 550;
        line-height: 1em;
        letter-spacing: 0.04em;
        white-space: nowrap;
        transition: color 0.2s ease;
    }
    .nav_bar--burger_pointer {
        padding-left: 16px;
    }
    .nav_bar--burger_pointer svg {
        display: block;
    }
    .nav_bar--burger_pointer .line {
        stroke: var(--Blue);
    }

    @media (hover: hover) {
        .nav_bar--burger_container:hover .nav_bar--burger_target {
            color: var(--Dark-Violet);
        }
        .nav_bar--burger_container:hover .line {
            stroke: var(--Dark-Violet);
        }
    }



.nav_bar--burger_open .nav_bar--tabs_container {
    display: block;
    position: absolute;
    bottom: 64px;
    width: 100%;
    margin: 0;
    padding: 16px 0;
    background-color: var(--White);
    border-radius: 16px;
    box-shadow: 0px 0px 100px 0px rgba(0, 0, 0, 0.15);
}
.nav_bar--burger_open .nav_bar--tabs {
    display: block;
    overflow-y: scroll;
    overflow-x: clip;
}
.nav_bar--burger_open .nav_bar--item {
    display: block;
    height: auto;
    width: 100%;
    padding: 18px 42px 18px;
    border-bottom: none;
    text-align: center;
}

.nav_bar--burger_open .nav_bar--item.nav_bar--logo {
    padding: 14px 42px 14px;
}
.nav_bar--burger_open .nav_bar--item.nav_bar--logo.nav_bar--ribbon_item {
    padding: 20px 42px 12px;
}

.nav_bar--burger_open .nav_bar--burger_cta {
    display: block;
    width: 100%;
    padding: 16px 22px 8px 21px;
}
.nav_bar--burger_open .nav_bar--burger_cta .nav_bar--cta_button {
    width: 100%;
}


/** NavBar scroll control */
.nav_bar--scroll_container {
    position: relative;
}
.nav_bar--scroll_content {
    width: 100%;
    overflow-x: scroll;
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox */
}
    .nav_bar--scroll_content::-webkit-scrollbar { 
        display: none;  /* Safari and Chrome */
    }
    .nav_bar--scroll_arrow {
        position: absolute;
        display: none;
        width: 40px;
        top: 0;
        bottom: 3px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        background: var(--White);
        border-top-right-radius: 60px;
    }
    .nav_bar--scroll_arrow.nav_bar--scroll_visible {
        display: block;
    }
    .nav_bar--scroll_arrow div {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
    }
    .nav_bar--scroll_arrow > div {
        left: -100%;
        background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,1));
        pointer-events: none;
    }
    .nav_bar--scroll_arrow::after {
        position: absolute;
        content: "";
        top: 16px;
        left: 8px;
        width: 24px;
        height: 24px;
        border: none;
        background-color: var(--White);
        background-position: center;
        background-repeat: no-repeat;
        /* 
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M10 17L15 12L10 7" stroke="#111111" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
        </svg>
        */                       
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 17L15 12L10 7' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    .nav_bar--scroll_right {
        right: 0;
    }
    .nav_bar--scroll_left {
        left: 10px;
        transform: scaleX(-1);
    }
    @media (hover: hover) {
        .nav_bar--scroll_arrow:hover::after {
            background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 17L15 12L10 7' stroke='%235412B2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        }
    }

    @media (max-width: 1066px) {
        .nav_bar--scroll_right {
            right: 5px;
        }
        .nav_bar--scroll_left {
            left: 15px;
        }
    }
    @media (max-width: 768px) {
        .nav_bar--scroll_right {
            right: 10px;
        }
        .nav_bar--scroll_left {
            left: 20px;
        }
    }


    

/* Publications */
.publication--item {
    position: relative;
    padding: 16px;
    margin-bottom: 16px;
    background: var(--Soft-Grey);
}
.publication--tags {
    margin-bottom: 20px;
}
.publication--tags button {
    font-weight: 350;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.publication--title {
    margin-bottom: 8px;
}
.publication--authors {
    margin-bottom: 8px;
    color: var(--Solid-Grey);
}
.publication--source {
    color: var(--Dark-Violet);
}
.publication--source_point {
    font-size: 9px;
    padding-left: 14px;
    padding-right: 9px;
    vertical-align: 1px;
}
.publication-link {
    position: absolute;
    right: 16px;
    bottom: 16px;
}
@media (hover: hover) {
    .publication--title:hover {
        color: var(--Dark-Violet);
    }
}


