/*
 * Legacy NC Collection detail compatibility
 *
 * Keeps existing satelite_portfolio / WPBakery articles visually compatible
 * after switching the active parent theme from Europia to Cube.
 * All migrated rules are scoped to the legacy collection detail body class.
 */

/* Cube layout reset for legacy collection and global detail pages. */
.single-satelite_portfolio .site-content,
.single-global .site-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.single-satelite_portfolio .site-content .container,
.single-global .site-content .container,
.single-satelite_portfolio .site-content > .container-fluid,
.single-global .site-content > .container-fluid,
.single-satelite_portfolio #primary,
.single-global #primary,
.single-satelite_portfolio #main,
.single-global #main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.single-satelite_portfolio .site-content .row,
.single-global .site-content .row {
    margin-right: 0;
    margin-left: 0;
}

.single-satelite_portfolio article.satelite_portfolio,
.single-global article.global {
    margin: 0;
    padding: 0;
}

/* The Hero details use the exact shared PRO TEAM header/navigation markup. */
.single-satelite_portfolio.CollectionCompat--HasHero #masthead.site-header {
    display: none !important;
}

.single-satelite_portfolio .LatestCm {
    display: inline-flex;
    font-family: "Hiragino Maru Gothic Pro", "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 400;
}

.single-satelite_portfolio .LatestCm__latest {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 300;
}

.single-satelite_portfolio .ProHeader {
    --font-sans: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    width: 100%;
    height: 3vw;
    color: #fff;
}

.single-satelite_portfolio .ProHeader__logo {
    position: absolute;
    top: 1.875vw;
    left: 1.875vw;
    display: block;
    width: 9.875vw;
    height: 1.125vw;
}

.single-satelite_portfolio .ProHeader__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.single-satelite_portfolio .ProHeader__nav {
    position: absolute;
    top: 1.875vw;
    right: 12.813vw;
    display: flex;
    align-items: center;
    gap: 1.875vw;
    padding-top: 0.125vw;
    font-family: var(--font-sans);
    font-size: max(10px, 0.813vw);
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
}

.single-satelite_portfolio .ProHeader__navLink,
.single-satelite_portfolio .ProHeader__navLink:visited,
.single-satelite_portfolio .ProHeader__navLink:hover,
.single-satelite_portfolio .ProHeader__navLink:active,
.single-satelite_portfolio .ProHeader__navLink:focus,
.single-satelite_portfolio .ProHeader__shop,
.single-satelite_portfolio .ProHeader__shop:visited,
.single-satelite_portfolio .ProHeader__shop:hover,
.single-satelite_portfolio .ProHeader__shop:active,
.single-satelite_portfolio .ProHeader__shop:focus {
    color: #fff !important;
}

.single-satelite_portfolio .ProHeader__navLink:not(:first-child) {
    font-family: "Roboto", var(--font-sans);
    font-weight: 400;
}

.single-satelite_portfolio .ProHeader__shop {
    position: absolute;
    top: -0.25vw;
    right: -10.938vw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 8.125vw;
    height: 1.313vw;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 0.125vw;
    background: rgba(255, 255, 255, 0.1);
    box-sizing: border-box;
    backdrop-filter: blur(7px);
    font-family: "Roboto", var(--font-sans);
    font-size: max(9px, 0.75vw);
    font-weight: 400;
}

.single-satelite_portfolio .ProHeader__menu {
    position: static;
    display: none;
}

.single-satelite_portfolio .ProPageNav {
    --font-sans: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6;
    display: flex;
    width: 100%;
    height: 3.188vw;
    margin: 0;
    padding: 0 1.875vw;
    align-items: center;
    background: #fff;
    box-shadow: 0 -3px 15px 6px rgba(0, 0, 0, 0.09);
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.single-satelite_portfolio.CollectionCompat--PageNavVisible .ProPageNav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.single-satelite_portfolio .ProPageNav__logo {
    display: block;
    width: 7.132vw;
    height: 0.813vw;
    filter: invert(1);
}

.single-satelite_portfolio .ProPageNav__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.single-satelite_portfolio .ProPageNav__links {
    display: flex;
    align-items: center;
    gap: 1.875vw;
    margin-right: 10.938vw;
    margin-left: auto;
    font-family: "Roboto", var(--font-sans);
    font-size: max(10px, 0.813vw);
    line-height: 1;
    white-space: nowrap;
}

.single-satelite_portfolio .ProPageNav__links a,
.single-satelite_portfolio .ProPageNav__links a:visited,
.single-satelite_portfolio .ProPageNav__links a:hover,
.single-satelite_portfolio .ProPageNav__links a:active,
.single-satelite_portfolio .ProPageNav__links a:focus,
.single-satelite_portfolio .ProPageNav__shop,
.single-satelite_portfolio .ProPageNav__shop:visited,
.single-satelite_portfolio .ProPageNav__shop:hover,
.single-satelite_portfolio .ProPageNav__shop:active,
.single-satelite_portfolio .ProPageNav__shop:focus {
    color: #181818 !important;
}

.single-satelite_portfolio .ProPageNav__shop {
    position: absolute;
    top: 0.938vw;
    right: 1.875vw;
    display: inline-flex;
    width: 8.125vw;
    height: 1.313vw;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.13);
    border-radius: 0.125vw;
    box-sizing: border-box;
    font-family: "Roboto", var(--font-sans);
    font-size: max(9px, 0.75vw);
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .single-satelite_portfolio .ProHeader {
        z-index: auto;
        height: 13.333vw;
    }

    .single-satelite_portfolio .ProHeader__logo {
        top: 4.8vw;
        left: 5.6vw;
        z-index: 9;
        width: 30.43vw;
        height: 3.467vw;
    }

    .single-satelite_portfolio .ProHeader__nav {
        display: none;
    }

    .single-satelite_portfolio .ProHeader__menu {
        position: fixed;
        top: 4.8vw;
        right: 5.333vw;
        z-index: 9;
        display: block;
        width: 4.8vw;
        height: 3.733vw;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        line-height: 1;
        mix-blend-mode: difference;
        isolation: auto;
        pointer-events: auto;
    }

    .single-satelite_portfolio .ProHeader__menu span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 1px;
        background: #fff;
    }

    .single-satelite_portfolio .ProHeader__menu span:nth-child(1) {
        top: 0;
    }

    .single-satelite_portfolio .ProHeader__menu span:nth-child(2) {
        top: 1.867vw;
    }

    .single-satelite_portfolio .ProHeader__menu span:nth-child(3) {
        top: 3.733vw;
    }

    .single-satelite_portfolio .ProPageNav {
        display: none;
    }
}

/* The collection detail uses the exact shared PRO TEAM mobile menu markup and behavior. */
.single-satelite_portfolio .Menu {
    display: none;
}

@media screen and (max-width: 767px) {
    .single-satelite_portfolio .Menu {
        --color-white: #fff;
        --color-black: #000;
        --color-gold: #a79b6a;
        --color-charcoal: #292929;
        --font-sans: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
        --Hero-sp-viewport-height: 100dvh;
        --Hero-sp-button-bottom: calc(env(safe-area-inset-bottom, 0px) + clamp(20px, 5.333vw, 32px));
        --Menu-content-height: 176vw;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 10;
        display: block;
        height: var(--Hero-sp-viewport-height);
        min-height: var(--Hero-sp-viewport-height);
        overflow-x: hidden;
        overflow-y: auto;
        background: var(--color-white);
        color: var(--color-black);
        opacity: 0;
        pointer-events: none;
        transition: opacity 240ms ease;
        overscroll-behavior: contain;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .single-satelite_portfolio .Menu::-webkit-scrollbar {
        display: none;
    }

    .single-satelite_portfolio .Menu::after {
        display: block;
        width: 1px;
        height: var(--Menu-content-height);
        content: "";
        pointer-events: none;
    }

    .single-satelite_portfolio .Menu.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    body.single-satelite_portfolio.is-menu-open {
        overflow: hidden;
    }

    .single-satelite_portfolio .Menu__header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 13.333vw;
    }

    .single-satelite_portfolio .Menu__logo {
        position: absolute;
        top: 4.8vw;
        left: 5.6vw;
        width: 30.43vw;
        height: 3.467vw;
        object-fit: contain;
        filter: invert(1);
        mix-blend-mode: normal;
    }

    .single-satelite_portfolio .Menu__close {
        position: absolute;
        top: 4.8vw;
        right: 5.333vw;
        width: 4.8vw;
        height: 3.733vw;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .single-satelite_portfolio .Menu__close:hover,
    .single-satelite_portfolio .Menu__close:focus {
        background: transparent !important;
        box-shadow: none;
    }

    .single-satelite_portfolio .Menu__close span {
        position: absolute;
        top: 1.867vw;
        left: 0;
        width: 4.8vw;
        height: 1px;
        background: var(--color-black);
        transform-origin: center;
    }

    .single-satelite_portfolio .Menu__close span:nth-child(1) {
        transform: rotate(45deg);
    }

    .single-satelite_portfolio .Menu__close span:nth-child(2) {
        transform: rotate(-45deg);
    }

    .single-satelite_portfolio .Menu__nav {
        position: absolute;
        top: 40vw;
        left: 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5.333vw;
        transform: translateX(-50%);
        font-family: "Roboto", var(--font-sans);
        font-size: max(12px, 3.733vw);
        line-height: 1;
        white-space: nowrap;
    }

    .single-satelite_portfolio .Menu__navLink {
        display: block;
    }

    .single-satelite_portfolio .Menu__navLink,
    .single-satelite_portfolio .Menu__navLink:visited,
    .single-satelite_portfolio .Menu__navLink:hover,
    .single-satelite_portfolio .Menu__navLink:active,
    .single-satelite_portfolio .Menu__navLink:focus {
        color: var(--color-black) !important;
    }

    .single-satelite_portfolio .Menu__visual {
        position: absolute;
        top: 117.347vw;
        left: 0;
        width: 100%;
        height: 34.4vw;
    }

    .single-satelite_portfolio .Menu__photo {
        position: absolute;
        top: 3.987vw;
        left: 43.825vw;
        width: 43.108vw;
        height: 30.4vw;
        overflow: hidden;
    }

    .single-satelite_portfolio .Menu__photo::before {
        position: absolute;
        top: -3.987vw;
        left: -1.246vw;
        width: 44.393vw;
        height: 78.921vw;
        background: url("assets/img/photo-menu-legacy.webp") center / cover no-repeat;
        content: "";
    }

    .single-satelite_portfolio .Menu__copy {
        position: absolute;
        top: 8.8vw;
        left: 13.067vw;
        z-index: 1;
        margin: 0;
        color: var(--color-black);
        font-family: "Times New Roman", Times, serif;
        font-size: max(18px, 5.6vw);
        font-style: normal;
        font-weight: 400;
        font-synthesis: none;
        letter-spacing: normal;
        line-height: 0.9;
        white-space: nowrap;
        -webkit-font-smoothing: antialiased;
        mix-blend-mode: normal;
    }

    .single-satelite_portfolio .Menu__copy span {
        display: block;
    }

    .single-satelite_portfolio .Menu__buttons {
        position: absolute;
        top: max(
            158.4vw,
            calc(var(--Hero-sp-viewport-height) - var(--Hero-sp-button-bottom) - 10.667vw)
        );
        right: 2.667vw;
        bottom: auto;
        left: 2.667vw;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.4vw;
    }

    .single-satelite_portfolio .Menu__button {
        display: flex;
        height: 10.667vw;
        align-items: center;
        justify-content: center;
        border-radius: 0.533vw;
        color: var(--color-white);
        font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
        font-size: max(10px, 2.933vw);
        font-weight: 300;
        letter-spacing: -0.147vw;
        line-height: 1;
    }

    .single-satelite_portfolio .Menu__button,
    .single-satelite_portfolio .Menu__button:visited,
    .single-satelite_portfolio .Menu__button:hover,
    .single-satelite_portfolio .Menu__button:active,
    .single-satelite_portfolio .Menu__button:focus {
        color: var(--color-white) !important;
    }

    .single-satelite_portfolio .Menu__button--shop {
        background: var(--color-gold);
    }

    .single-satelite_portfolio .Menu__button--collection {
        background: var(--color-charcoal);
    }
}

/* Europia-compatible hero. */
.single-satelite_portfolio #hero-bg-wrapper {
    position: relative;
    top: 0 !important;
    width: 100%;
    height: 100vh;
    min-height: 480px;
    margin: 0;
    overflow: hidden;
}

.single-satelite_portfolio #hero-image-parallax {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    will-change: transform;
}

.single-satelite_portfolio #hero-bg-image {
    position: absolute;
    inset: 0;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate3d(0, 0, 0) scale(1.05);
    transform-origin: center;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform;
}

.single-satelite_portfolio #hero-bg-image::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
    content: "";
    pointer-events: none;
}

.single-satelite_portfolio #hero-bg-image.light-content {
    color: #fff;
}

.single-satelite_portfolio #hero-bg-image.dark-content {
    color: #000;
}

.single-satelite_portfolio #hero-caption {
    position: relative;
    z-index: 2;
    display: table;
    width: 100%;
    height: 100%;
    padding: 0 30px;
    box-sizing: border-box;
    text-align: center;
}

.single-satelite_portfolio #hero-caption .inner {
    display: table-cell;
    box-sizing: border-box;
    vertical-align: middle;
}

/*
 * The production Europia child theme hides these captions.
 * Titles remain available as data in WordPress and can be enabled later.
 */
.single-satelite_portfolio #hero-caption .hero-title,
.single-satelite_portfolio #hero-caption .hero-subtitle {
    display: none;
}

.single-satelite_portfolio .hero-video-wrapper {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.single-satelite_portfolio .hero-video-wrapper video.bgvid {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Europia hero scroll indicator. */
.single-satelite_portfolio .CollectionHeroScroll {
    position: absolute;
    top: 90%;
    left: 50%;
    z-index: 4;
    display: block;
    width: 25px;
    height: 45px;
    margin: 0;
    padding: 0;
    border: 2px solid #fff !important;
    border-radius: 15px;
    outline-offset: 5px;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateX(-50%);
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.25s ease;
    appearance: none;
}

.single-satelite_portfolio .CollectionHeroScroll__Wheel {
    position: absolute;
    top: 3px;
    left: calc(50% - 1.5px);
    display: block;
    width: 3px;
    height: 8px;
    margin: 0;
    border-radius: 2px;
    background-color: #fff;
    animation: CollectionHeroScrollWheel 1s ease infinite;
}

.single-satelite_portfolio .CollectionHeroScroll.is-hidden {
    opacity: 0;
    pointer-events: none;
}

/* Missing attachment-ID output on the imported ASICS article. */
.single-satelite_portfolio .CollectionAsicsAsset {
    width: 100%;
    max-width: 100%;
    text-align: center;
}

.single-satelite_portfolio .CollectionAsicsAsset--Emblem {
    margin: 0 auto 35px;
}

.single-satelite_portfolio .CollectionAsicsAsset__Image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.single-satelite_portfolio .CollectionAsicsAsset--Emblem .CollectionAsicsAsset__Image {
    width: 150px;
}

.single-satelite_portfolio .CollectionAsicsAsset--Logo .CollectionAsicsAsset__Image {
    width: 300px;
}

/* Europia main-content geometry without its JS-only hidden entrance state. */
.single-satelite_portfolio #main-content {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 0;
    opacity: 1;
}

.single-satelite_portfolio #main-content.light-content {
    color: #777;
    background-color: #000;
}

.single-satelite_portfolio #main-content.dark-content {
    color: #121212;
    background-color: #fff;
}

.single-satelite_portfolio #main-page-content,
.single-satelite_portfolio .entry-content {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    opacity: 1;
    transform: none;
}

.single-satelite_portfolio #main-page-content::after,
.single-satelite_portfolio .wp-block-satelite-gutenberg-container::after,
.single-satelite_portfolio .vc_row::after {
    display: table;
    clear: both;
    content: "";
}

/* WPBakery rows and Europia spacing utilities used by existing articles. */
.single-satelite_portfolio .vc_row {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    opacity: 1;
}

/*
 * Europia's animation script is not present under Cube.
 * Keep WPBakery elements visible instead of leaving its initial opacity: 0 state.
 */
.single-satelite_portfolio .wpb_animate_when_almost_visible {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
}

/* Native replacement for WPBakery/Europia scroll reveals. */
.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal {
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translate3d(0, 30px, 0);
    transition:
        visibility 0s linear calc(var(--CollectionRevealDelay, 0ms) + 600ms),
        opacity 0.6s ease var(--CollectionRevealDelay, 0ms),
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) var(--CollectionRevealDelay, 0ms);
    will-change: opacity, transform;
}

.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.wpb_fadeIn,
.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.fadeIn {
    transform: none;
}

.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.wpb_fadeInDown,
.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.fadeInDown {
    transform: translate3d(0, -30px, 0);
}

.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.wpb_fadeInLeft,
.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.fadeInLeft {
    transform: translate3d(-30px, 0, 0);
}

.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.wpb_fadeInRight,
.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.fadeInRight {
    transform: translate3d(30px, 0, 0);
}

.single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    transition:
        visibility 0s linear var(--CollectionRevealDelay, 0ms),
        opacity 0.6s ease var(--CollectionRevealDelay, 0ms),
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) var(--CollectionRevealDelay, 0ms);
}

/* VC Super Bundle's imported row-hover image swap. */
.single-satelite_portfolio .has-hover-elem-anim.hover-elem-anim-speed-slow {
    transition: opacity 0.8s ease-in-out;
}

.single-satelite_portfolio .has-hover-elem-anim.hover-elem-anim-speed-normal {
    transition: opacity 0.5s ease-in-out;
}

.single-satelite_portfolio .has-hover-elem-anim.hover-elem-anim-speed-fast {
    transition: opacity 0.2s ease-in-out;
}

.single-satelite_portfolio .vc_row > * > * > * > .hover-elem-anim-fade-in,
.single-satelite_portfolio .wpb_row > * > * > * > .hover-elem-anim-fade-in {
    opacity: 0;
}

.single-satelite_portfolio .vc_row:hover > * > * > * > .hover-elem-anim-fade-in,
.single-satelite_portfolio .wpb_row:hover > * > * > * > .hover-elem-anim-fade-in {
    opacity: 1;
}

.single-satelite_portfolio .wpb_row,
.single-satelite_portfolio .wpb_column,
.single-satelite_portfolio .wpb_content_element,
.single-satelite_portfolio .wpb_text_column {
    margin-top: 0;
}

.single-satelite_portfolio .wpb_row,
.single-satelite_portfolio .wpb_column {
    margin-bottom: 0;
}

.single-satelite_portfolio .vc_row .wpb_content_element {
    margin-bottom: 35px;
}

.single-satelite_portfolio .vc_row.full,
.single-satelite_portfolio .full {
    width: 100vw !important;
    max-width: none !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
}

.single-satelite_portfolio .full .vc_column_container > .vc_column-inner {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.single-satelite_portfolio .full .wpb_button,
.single-satelite_portfolio .full .wpb_content_element,
.single-satelite_portfolio .full ul.wpb_thumbnails-fluid > li {
    margin-bottom: 0 !important;
}

.single-satelite_portfolio .row_padding_top {
    padding-top: 8vw;
}

.single-satelite_portfolio .row_padding_bottom {
    padding-bottom: 8vw;
}

.single-satelite_portfolio .row_padding_left {
    padding-left: 8vw;
}

.single-satelite_portfolio .row_padding_right {
    padding-right: 8vw;
}

.single-satelite_portfolio .row_padding_all {
    padding: 8vw;
}

/* Legacy Gutenberg fractional columns used inside WPBakery text blocks. */
.single-satelite_portfolio .one_half {
    width: 48% !important;
}

.single-satelite_portfolio .one_third {
    width: 30.6% !important;
}

.single-satelite_portfolio .one_fourth {
    width: 22% !important;
}

.single-satelite_portfolio .one_fifth {
    width: 16.8% !important;
}

.single-satelite_portfolio .one_sixth {
    width: 13.33% !important;
}

.single-satelite_portfolio .two_fifth {
    width: 37.6% !important;
}

.single-satelite_portfolio .two_fourth {
    width: 48% !important;
}

.single-satelite_portfolio .two_third {
    width: 65.33% !important;
}

.single-satelite_portfolio .three_fifth {
    width: 58.4% !important;
}

.single-satelite_portfolio .three_fourth {
    width: 74% !important;
}

.single-satelite_portfolio .four_fifth {
    width: 79.2% !important;
}

.single-satelite_portfolio .five_sixth {
    width: 82.67% !important;
}

.single-satelite_portfolio .one_half,
.single-satelite_portfolio .one_third,
.single-satelite_portfolio .two_third,
.single-satelite_portfolio .three_fourth,
.single-satelite_portfolio .one_fourth,
.single-satelite_portfolio .two_fourth,
.single-satelite_portfolio .one_fifth,
.single-satelite_portfolio .two_fifth,
.single-satelite_portfolio .three_fifth,
.single-satelite_portfolio .four_fifth,
.single-satelite_portfolio .one_sixth,
.single-satelite_portfolio .five_sixth {
    position: relative !important;
    float: left !important;
    margin-right: 4% !important;
    margin-bottom: 20px !important;
}

.single-satelite_portfolio .last {
    margin-right: 0 !important;
}

/* Existing Europia child typography and content utilities. */
.single-satelite_portfolio #main-page-content {
    font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    font-size: 14px;
}

.single-satelite_portfolio #main-page-content p,
.single-satelite_portfolio #main-page-content li,
.single-satelite_portfolio #main-page-content td {
    font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 1.2px;
}

.single-satelite_portfolio #main-content.light-content #main-page-content p,
.single-satelite_portfolio #main-content.light-content #main-page-content li,
.single-satelite_portfolio #main-content.light-content #main-page-content td {
    color: #ccc;
}

.single-satelite_portfolio #main-content.light-content #main-page-content strong {
    color: #fff;
}

.single-satelite_portfolio #main-content.dark-content #main-page-content p,
.single-satelite_portfolio #main-content.dark-content #main-page-content li,
.single-satelite_portfolio #main-content.dark-content #main-page-content td {
    color: #121212;
}

.single-satelite_portfolio #main-page-content h1,
.single-satelite_portfolio #main-page-content h2,
.single-satelite_portfolio #main-page-content h3,
.single-satelite_portfolio #main-page-content h4,
.single-satelite_portfolio #main-page-content h5 {
    font-weight: 600;
    letter-spacing: 0.8px;
    margin-bottom: 10px;
}

.single-satelite_portfolio #main-content.light-content #main-page-content h1,
.single-satelite_portfolio #main-content.light-content #main-page-content h2,
.single-satelite_portfolio #main-content.light-content #main-page-content h3,
.single-satelite_portfolio #main-content.light-content #main-page-content h4,
.single-satelite_portfolio #main-content.light-content #main-page-content h5,
.single-satelite_portfolio #main-content.light-content #main-page-content h6 {
    color: #fff;
}

.single-satelite_portfolio #main-content.dark-content #main-page-content h1,
.single-satelite_portfolio #main-content.dark-content #main-page-content h2,
.single-satelite_portfolio #main-content.dark-content #main-page-content h3,
.single-satelite_portfolio #main-content.dark-content #main-page-content h4,
.single-satelite_portfolio #main-content.dark-content #main-page-content h5,
.single-satelite_portfolio #main-content.dark-content #main-page-content h6 {
    color: #000;
}

.single-satelite_portfolio #main-page-content h1 {
    font-size: 48px;
    line-height: 60px;
}

.single-satelite_portfolio #main-page-content h2 {
    font-size: 36px;
    line-height: 48px;
}

.single-satelite_portfolio #main-page-content h3 {
    margin-left: -1px;
    font-size: 30px;
    line-height: 40px;
}

.single-satelite_portfolio #main-page-content h4 {
    margin-left: -1px;
    font-size: 24px;
    line-height: 36px;
}

.single-satelite_portfolio #main-page-content h5 {
    margin-left: -1px;
    font-size: 18px;
    line-height: 28px;
}

.single-satelite_portfolio #main-page-content h6 {
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;
    margin-bottom: 10px;
}

.single-satelite_portfolio #main-page-content table,
.single-satelite_portfolio #main-page-content tbody,
.single-satelite_portfolio #main-page-content tr,
.single-satelite_portfolio #main-page-content th,
.single-satelite_portfolio #main-page-content td {
    border: 0;
}

.single-satelite_portfolio #main-page-content .light-content h1,
.single-satelite_portfolio #main-page-content .light-content h2,
.single-satelite_portfolio #main-page-content .light-content h3,
.single-satelite_portfolio #main-page-content .light-content h4,
.single-satelite_portfolio #main-page-content .light-content h5,
.single-satelite_portfolio #main-page-content .light-content h6 {
    color: #fff !important;
}

.single-satelite_portfolio .text-center,
.single-satelite_portfolio .text-align-center,
.single-satelite_portfolio .center_img {
    text-align: center;
}

.single-satelite_portfolio .text-left,
.single-satelite_portfolio .text-align-left {
    text-align: left;
}

.single-satelite_portfolio .text-right {
    text-align: right;
}

.single-satelite_portfolio .center_img {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.single-satelite_portfolio .t-serif {
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "Hiragino Mincho Pro", "Times New Roman", serif;
}

.single-satelite_portfolio .t-san-serif {
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.single-satelite_portfolio .cl_trns {
    color: transparent;
}

.single-satelite_portfolio .cl_wht {
    color: #fff;
}

.single-satelite_portfolio .cl_blk {
    color: #000;
}

.single-satelite_portfolio img,
.single-satelite_portfolio figure img,
.single-satelite_portfolio iframe,
.single-satelite_portfolio video {
    max-width: 100%;
}

.single-satelite_portfolio img {
    height: auto;
    border: 0;
    vertical-align: middle;
}

.single-satelite_portfolio img.aligncenter {
    display: block;
    margin: 20px auto 0;
}

.single-satelite_portfolio figure,
.single-satelite_portfolio .wpb_single_image {
    max-width: 100%;
}

.single-satelite_portfolio .video-cover {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain !important;
}

.single-satelite_portfolio .flexslider {
    border: 0 !important;
    background: #000 !important;
}

.single-satelite_portfolio .eb-video-popup {
    background-color: transparent !important;
}

/* Europia legacy self-hosted video player. */
.single-satelite_portfolio .video-wrapper {
    position: relative;
    width: 100%;
    min-width: 100%;
    max-height: 100vh;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
}

.single-satelite_portfolio .video-cover {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    cursor: pointer;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover !important;
    transition: opacity 0.3s ease, height 0s linear 0.3s;
}

.single-satelite_portfolio .video-cover.hidden {
    height: calc(100% - 50px);
    opacity: 0;
    pointer-events: none;
}

.single-satelite_portfolio .video-wrapper video.bgvid {
    position: relative;
    display: block;
    width: 100%;
    min-width: 100%;
    min-height: 100%;
    height: auto;
    z-index: 1;
}

.single-satelite_portfolio .control {
    position: absolute;
    right: 0;
    bottom: 25px;
    left: 0;
    z-index: 5;
    display: none;
    width: calc(100% - 40px);
    margin: 0 auto;
    box-sizing: border-box;
    color: #ccc;
}

.single-satelite_portfolio .full .control {
    bottom: 10px;
    width: calc(100% - 160px);
}

.single-satelite_portfolio .control .sound,
.single-satelite_portfolio .control .btnFS {
    width: 40px;
    height: 50px;
    float: left;
    color: #fff;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
    opacity: 0.4;
    transition: opacity 0.2s ease;
}

.single-satelite_portfolio .control .sound:hover,
.single-satelite_portfolio .control .btnFS:hover {
    opacity: 1;
}

.single-satelite_portfolio .control .sound.muted i:first-child,
.single-satelite_portfolio .control .sound i:last-child {
    display: none;
}

.single-satelite_portfolio .control .sound.muted i:last-child {
    display: inline-block;
}

.single-satelite_portfolio .progress-bar {
    position: absolute;
    bottom: 23px;
    left: 23px;
    width: calc(100% - 123px);
    height: auto;
    box-sizing: border-box;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.5);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.single-satelite_portfolio .video-wrapper:hover .progress-bar {
    opacity: 1;
}

.single-satelite_portfolio .progress {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 2px;
}

.single-satelite_portfolio .progress span {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
}

.single-satelite_portfolio .timeBar {
    z-index: 2;
    width: 0;
    background: #fff;
}

.single-satelite_portfolio .bufferBar {
    z-index: 1;
    width: 0;
    background: rgba(255, 255, 255, 0.2);
}

.single-satelite_portfolio .video-btns {
    position: absolute;
    right: 3px;
    bottom: 0;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.single-satelite_portfolio .video-wrapper:hover .video-btns {
    opacity: 1;
}

/* VC Super Bundle video popup fallback. */
.single-satelite_portfolio .eb-video-popup {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    cursor: pointer;
}

.single-satelite_portfolio .eb-video-popup .eb-video-preview,
.single-satelite_portfolio .eb-video-popup iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.single-satelite_portfolio .eb-video-popup .eb-video-wrapper {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-satelite_portfolio .eb-video-popup .eb-play-button {
    display: flex;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.35);
}

/* Ultimate Addons row-background fallback. */
.single-satelite_portfolio .CollectionRow--HasBackground {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.single-satelite_portfolio .CollectionRow--HasBackground > :not(.CollectionRowBackground) {
    position: relative;
    z-index: 1;
}

.single-satelite_portfolio .CollectionRowBackground {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.single-satelite_portfolio .CollectionRowBackground--left-animation {
    animation: CollectionRowBackgroundMoveLeft 30s linear infinite;
}

.single-satelite_portfolio .has-parallax {
    overflow: hidden;
}

.single-satelite_portfolio .has-parallax img {
    width: 100%;
    transform: translate3d(0, -15%, 0) scale(1.05);
    will-change: transform;
}

/* WPBakery image carousel fallback, used only when VC did not initialize it. */
.single-satelite_portfolio .CollectionCarousel .vc_carousel-slideline-inner {
    position: relative;
}

.single-satelite_portfolio .CollectionCarousel .vc_item {
    display: none;
    width: 100% !important;
}

.single-satelite_portfolio .CollectionCarousel .vc_item.is-active {
    display: block;
}

.single-satelite_portfolio .CollectionCarousel .vc_carousel-control {
    z-index: 3;
}

/* Lightweight gallery fallback, used only when PrettyPhoto is unavailable. */
.single-satelite_portfolio .CollectionLightbox {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: flex;
    padding: 40px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.92);
}

.single-satelite_portfolio .CollectionLightbox__Image {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: calc(100vh - 80px);
    object-fit: contain;
}

.single-satelite_portfolio .CollectionLightbox__Close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    color: #fff;
    background: transparent;
    font-size: 36px;
    line-height: 1;
    cursor: pointer;
}

/* WPBakery button geometry may be absent when the imported content is rendered under Cube. */
.single-satelite_portfolio #main-page-content .vc_btn3-container {
    display: block;
    max-width: 100%;
    margin-bottom: 21.74px;
}

.single-satelite_portfolio #main-page-content .vc_btn3-container.vc_btn3-center {
    text-align: center !important;
}

.single-satelite_portfolio #main-page-content .CollectionPrimaryButtonContainer {
    text-align: center !important;
}

.single-satelite_portfolio #main-page-content .vc_btn3 {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    vertical-align: middle;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-size-md {
    padding: 14px 20px;
    font-size: 14px;
    line-height: normal;
}

.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-shape-rounded {
    border-radius: 5px;
}

/* WPBakery primary button colors measured on the original Europia detail page. */
.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-color-primary,
.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-color-primary.vc_btn3-style-modern,
.single-satelite_portfolio #main-page-content .vc_btn3.CollectionPrimaryButton {
    color: #fff !important;
    border: 1px solid #08c !important;
    background: #08c !important;
}

.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-color-primary:hover,
.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-color-primary:focus,
.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-color-primary.vc_btn3-style-modern:hover,
.single-satelite_portfolio #main-page-content .vc_btn3.vc_btn3-color-primary.vc_btn3-style-modern:focus,
.single-satelite_portfolio #main-page-content .vc_btn3.CollectionPrimaryButton:hover,
.single-satelite_portfolio #main-page-content .vc_btn3.CollectionPrimaryButton:focus {
    color: #f7f7f7 !important;
    border: 1px solid #0074ad !important;
    background: #0074ad !important;
}

/* Detail-page-only replacement for Europia's magic cursor. */
.single-satelite_portfolio .CollectionCursor {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 0;
    height: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.single-satelite_portfolio .CollectionCursor.is-visible {
    opacity: 1;
}

.single-satelite_portfolio .CollectionCursor__Ball {
    position: relative;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    border: 2px solid #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease, border-width 0.25s ease, opacity 0.25s ease;
}

.single-satelite_portfolio .CollectionCursor__Ball::before {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    content: attr(data-icon);
    font-family: Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
}

.single-satelite_portfolio .CollectionCursor.is-hovering .CollectionCursor__Ball {
    border-width: 1px;
    opacity: 0.25;
    transform: translate(-50%, -50%) scale(2);
}

.single-satelite_portfolio .CollectionCursor.is-pressing .CollectionCursor__Ball {
    transform: translate(-50%, -50%) scale(0.8);
}

.single-satelite_portfolio .CollectionCursor.is-media .CollectionCursor__Ball {
    border-width: 1px;
    transform: translate(-50%, -50%) scale(2);
}

@keyframes CollectionRowBackgroundMoveLeft {
    from {
        background-position-x: 0;
    }

    to {
        background-position-x: -1000px;
    }
}

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

    35% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateY(20px);
    }
}

/* The live Europia child theme suppresses its built-in project navigation. */
.single-satelite_portfolio #project-nav {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .single-satelite_portfolio #main-page-content h1 {
        font-size: 40px;
        line-height: 50px;
    }

    .single-satelite_portfolio #main-page-content h2 {
        font-size: 30px;
        line-height: 40px;
    }

    .single-satelite_portfolio .row_padding_left {
        padding-left: 40px;
    }

    .single-satelite_portfolio .row_padding_right {
        padding-right: 40px;
    }

    .single-satelite_portfolio .row_padding_all {
        padding: 8vw 40px;
    }
}

@media only screen and (max-width: 767px) {
    .single-satelite_portfolio #hero-bg-wrapper {
        height: 100vh;
        min-height: 480px;
    }

    .single-satelite_portfolio #hero-image-parallax,
    .single-satelite_portfolio #hero-bg-image {
        transform: none !important;
        will-change: auto;
    }

    .single-satelite_portfolio #hero-image-parallax {
        top: 0 !important;
    }

    .single-satelite_portfolio #hero-bg-image {
        transition: none !important;
    }

    .single-satelite_portfolio #main-page-content,
    .single-satelite_portfolio .entry-content {
        padding-right: 20px;
        padding-left: 20px;
    }

    .single-satelite_portfolio .row_padding_left {
        padding-left: 20px;
    }

    .single-satelite_portfolio .row_padding_right {
        padding-right: 20px;
    }

    .single-satelite_portfolio .row_padding_all {
        padding: 8vw 20px;
    }

    .single-satelite_portfolio .one_half,
    .single-satelite_portfolio .one_third,
    .single-satelite_portfolio .two_third,
    .single-satelite_portfolio .three_fourth,
    .single-satelite_portfolio .one_fourth,
    .single-satelite_portfolio .two_fourth,
    .single-satelite_portfolio .one_fifth,
    .single-satelite_portfolio .two_fifth,
    .single-satelite_portfolio .three_fifth,
    .single-satelite_portfolio .four_fifth,
    .single-satelite_portfolio .one_sixth,
    .single-satelite_portfolio .five_sixth {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 20px !important;
    }

    .single-satelite_portfolio #main-page-content p,
    .single-satelite_portfolio #main-page-content li {
        font-size: 14px;
    }

    .single-satelite_portfolio #hero-bg-image {
        transform: none !important;
        transition: none !important;
    }

    .single-satelite_portfolio .CollectionCursor {
        display: none;
    }

    .single-satelite_portfolio .video-wrapper {
        max-height: 50vh;
    }

    .single-satelite_portfolio .control {
        display: none !important;
    }

    .single-satelite_portfolio .CollectionLightbox {
        padding: 20px;
    }

    .single-satelite_portfolio .CollectionLightbox__Image {
        max-height: calc(100vh - 40px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .single-satelite_portfolio #hero-bg-image {
        transform: none !important;
        transition: none !important;
    }

    .single-satelite_portfolio .CollectionCursor {
        display: none;
    }

    .single-satelite_portfolio.CollectionCompat--Animations .CollectionReveal {
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .single-satelite_portfolio .CollectionHeroScroll__Wheel {
        animation: none;
        opacity: 1;
    }
}
