/*!locomotive-scroll v4.1.1 | MIT License | https://github.com/locomotivemtl/locomotive-scroll*/
html.has-scroll-smooth {
    overflow: hidden
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.has-scroll-smooth body {
    overflow: hidden
}

.c-scrollbar {
    position: absolute;
    right: 0;
    top: 0;
    width: 11px;
    height: 100%;
    transform-origin: center right;
    transition: transform .3s, opacity .3s;
    opacity: 0
}

.c-scrollbar:hover {
    transform: scaleX(1.45)
}

.c-scrollbar:hover,
.has-scroll-scrolling .c-scrollbar,
.has-scroll-dragging .c-scrollbar {
    opacity: 1
}

.c-scrollbar_thumb {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #000;
    opacity: .5;
    width: 7px;
    border-radius: 10px;
    margin: 2px;
    cursor: -webkit-grab;
    cursor: grab
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

@font-face {
    font-family: swiper-icons;
    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-container-multirow-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-container-pointer-events {
    touch-action: pan-y
}

.swiper-container-pointer-events.swiper-container-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-container-3d {
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-container-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size)/2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
    content: 'next'
}

.swiper-button-next.swiper-button-white,
.swiper-button-prev.swiper-button-white {
    --swiper-navigation-color: #ffffff
}

.swiper-button-next.swiper-button-black,
.swiper-button-prev.swiper-button-black {
    --swiper-navigation-color: #000000
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #000;
    opacity: .2
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0px, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white {
    --swiper-pagination-color: #ffffff
}

.swiper-pagination-black {
    --swiper-pagination-color: #000000
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    animation: swiper-preloader-spin 1s infinite linear;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    100% {
        transform: rotate(360deg)
    }
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube {
    overflow: visible
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-container-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-container-flip {
    overflow: visible
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

/*!* @package IcoFont
* @version 1.0.1
* @author IcoFont https://icofont.com
* @copyright Copyright (c) 2015 - 2018 IcoFont
* @license - https://icofont.com/license/*/
@font-face {
    font-family: IcoFont;
    font-weight: 400;
    font-style: Regular;
    src: url(fonts/icofont.woff2) format("woff2"), url(fonts/icofont.woff) format("woff")
}

[class*=" icofont-"],
[class^=icofont-] {
    font-family: IcoFont !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    line-height: 1;
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased
}

.icofont-search:before {
    content: "\ed1b"
}

@-webkit-keyframes icofont-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes icofont-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes plyr-progress {
    to {
        background-position: 25px 0;
        background-position: var(--plyr-progress-loading-size, 25px) 0
    }
}

@keyframes plyr-popup {
    0% {
        opacity: .5;
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes plyr-fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.plyr {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    align-items: center;
    direction: ltr;
    display: flex;
    flex-direction: column;
    font-family: inherit;
    font-family: var(--plyr-font-family, inherit);
    font-variant-numeric: tabular-nums;
    font-weight: 400;
    font-weight: var(--plyr-font-weight-regular, 400);
    line-height: 1.7;
    line-height: var(--plyr-line-height, 1.7);
    max-width: 100%;
    min-width: 200px;
    position: relative;
    text-shadow: none;
    transition: box-shadow .3s ease;
    z-index: 0
}

.plyr audio,
.plyr iframe,
.plyr video {
    display: block;
    height: 100%;
    width: 100%
}

.plyr button {
    font: inherit;
    line-height: inherit;
    width: auto
}

.plyr:focus {
    outline: 0
}

.plyr--full-ui {
    box-sizing: border-box
}

.plyr--full-ui *,
.plyr--full-ui ::after,
.plyr--full-ui ::before {
    box-sizing: inherit
}

.plyr--full-ui a,
.plyr--full-ui button,
.plyr--full-ui input,
.plyr--full-ui label {
    touch-action: manipulation
}

.plyr__badge {
    background: #4a5464;
    background: var(--plyr-badge-background, #4a5464);
    border-radius: 2px;
    border-radius: var(--plyr-badge-border-radius, 2px);
    color: #fff;
    color: var(--plyr-badge-text-color, #fff);
    font-size: 9px;
    font-size: var(--plyr-font-size-badge, 9px);
    line-height: 1;
    padding: 3px 4px
}

.plyr--full-ui ::-webkit-media-text-track-container {
    display: none
}

.plyr__captions {
    animation: plyr-fade-in .3s ease;
    bottom: 0;
    display: none;
    font-size: 13px;
    font-size: var(--plyr-font-size-small, 13px);
    left: 0;
    padding: 10px;
    padding: var(--plyr-control-spacing, 10px);
    position: absolute;
    text-align: center;
    transition: transform .4s ease-in-out;
    width: 100%
}

.plyr__captions span:empty {
    display: none
}

@media(min-width:480px) {
    .plyr__captions {
        font-size: 15px;
        font-size: var(--plyr-font-size-base, 15px);
        padding: calc(10px * 2);
        padding: calc(var(--plyr-control-spacing, 10px) * 2)
    }
}

@media(min-width:768px) {
    .plyr__captions {
        font-size: 18px;
        font-size: var(--plyr-font-size-large, 18px)
    }
}

.plyr--captions-active .plyr__captions {
    display: block
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions {
    transform: translateY(calc(10px * -4));
    transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4))
}

.plyr__caption {
    background: rgba(0, 0, 0, .8);
    background: var(--plyr-captions-background, rgba(0, 0, 0, .8));
    border-radius: 2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    color: #fff;
    color: var(--plyr-captions-text-color, #fff);
    line-height: 185%;
    padding: .2em .5em;
    white-space: pre-wrap
}

.plyr__caption div {
    display: inline
}

.plyr__control {
    background: 0 0;
    border: 0;
    border-radius: 3px;
    border-radius: var(--plyr-control-radius, 3px);
    color: inherit;
    cursor: pointer;
    flex-shrink: 0;
    overflow: visible;
    padding: calc(10px * .7);
    padding: calc(var(--plyr-control-spacing, 10px) * .7);
    position: relative;
    transition: all .3s ease
}

.plyr__control svg {
    display: block;
    fill: currentColor;
    height: 18px;
    height: var(--plyr-control-icon-size, 18px);
    pointer-events: none;
    width: 18px;
    width: var(--plyr-control-icon-size, 18px)
}

.plyr__control:focus {
    outline: 0
}

.plyr__control.plyr__tab-focus {
    outline-color: #00b3ff;
    outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    outline-offset: 2px;
    outline-style: dotted;
    outline-width: 3px
}

a.plyr__control {
    text-decoration: none
}

a.plyr__control::after,
a.plyr__control::before {
    display: none
}

.plyr__control.plyr__control--pressed .icon--not-pressed,
.plyr__control.plyr__control--pressed .label--not-pressed,
.plyr__control:not(.plyr__control--pressed) .icon--pressed,
.plyr__control:not(.plyr__control--pressed) .label--pressed {
    display: none
}

.plyr--full-ui ::-webkit-media-controls {
    display: none
}

.plyr__controls {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    text-align: center
}

.plyr__controls .plyr__progress__container {
    flex: 1;
    min-width: 0
}

.plyr__controls .plyr__controls__item {
    margin-left: calc(10px/4);
    margin-left: calc(var(--plyr-control-spacing, 10px)/4)
}

.plyr__controls .plyr__controls__item:first-child {
    margin-left: 0;
    margin-right: auto
}

.plyr__controls .plyr__controls__item.plyr__progress__container {
    padding-left: calc(10px/4);
    padding-left: calc(var(--plyr-control-spacing, 10px)/4)
}

.plyr__controls .plyr__controls__item.plyr__time {
    padding: 0 calc(10px/2);
    padding: 0 calc(var(--plyr-control-spacing, 10px)/2)
}

.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,
.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,
.plyr__controls .plyr__controls__item.plyr__time:first-child {
    padding-left: 0
}

.plyr__controls:empty {
    display: none
}

.plyr [data-plyr=airplay],
.plyr [data-plyr=captions],
.plyr [data-plyr=fullscreen],
.plyr [data-plyr=pip] {
    display: none
}

.plyr--airplay-supported [data-plyr=airplay],
.plyr--captions-enabled [data-plyr=captions],
.plyr--fullscreen-enabled [data-plyr=fullscreen],
.plyr--pip-supported [data-plyr=pip] {
    display: inline-block
}

.plyr__menu {
    display: flex;
    position: relative
}

.plyr__menu .plyr__control svg {
    transition: transform .3s ease
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
    transform: rotate(90deg)
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
    display: none
}

.plyr__menu__container {
    animation: plyr-popup .2s ease;
    background: rgba(255, 255, 255, .9);
    background: var(--plyr-menu-background, rgba(255, 255, 255, .9));
    border-radius: 4px;
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, .15));
    color: #4a5464;
    color: var(--plyr-menu-color, #4a5464);
    font-size: 15px;
    font-size: var(--plyr-font-size-base, 15px);
    margin-bottom: 10px;
    position: absolute;
    right: -3px;
    text-align: left;
    white-space: nowrap;
    z-index: 3
}

.plyr__menu__container>div {
    overflow: hidden;
    transition: height .35s cubic-bezier(.4, 0, .2, 1), width .35s cubic-bezier(.4, 0, .2, 1)
}

.plyr__menu__container::after {
    border: 4px solid transparent;
    border: var(--plyr-menu-arrow-size, 4px) solid transparent;
    border-top-color: rgba(255, 255, 255, .9);
    border-top-color: var(--plyr-menu-background, rgba(255, 255, 255, .9));
    content: '';
    height: 0;
    position: absolute;
    right: calc(((18px/2) + calc(10px * .7)) - (4px/2));
    right: calc(((var(--plyr-control-icon-size, 18px)/2) + calc(var(--plyr-control-spacing, 10px) * .7)) - (var(--plyr-menu-arrow-size, 4px)/2));
    top: 100%;
    width: 0
}

.plyr__menu__container [role=menu] {
    padding: calc(10px * .7);
    padding: calc(var(--plyr-control-spacing, 10px) * .7)
}

.plyr__menu__container [role=menuitem],
.plyr__menu__container [role=menuitemradio] {
    margin-top: 2px
}

.plyr__menu__container [role=menuitem]:first-child,
.plyr__menu__container [role=menuitemradio]:first-child {
    margin-top: 0
}

.plyr__menu__container .plyr__control {
    align-items: center;
    color: #4a5464;
    color: var(--plyr-menu-color, #4a5464);
    display: flex;
    font-size: 13px;
    font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
    padding-bottom: calc(calc(10px * .7)/1.5);
    padding-bottom: calc(calc(var(--plyr-control-spacing, 10px) * .7)/1.5);
    padding-left: calc(calc(10px * .7) * 1.5);
    padding-left: calc(calc(var(--plyr-control-spacing, 10px) * .7) * 1.5);
    padding-right: calc(calc(10px * .7) * 1.5);
    padding-right: calc(calc(var(--plyr-control-spacing, 10px) * .7) * 1.5);
    padding-top: calc(calc(10px * .7)/1.5);
    padding-top: calc(calc(var(--plyr-control-spacing, 10px) * .7)/1.5);
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.plyr__menu__container .plyr__control>span {
    align-items: inherit;
    display: flex;
    width: 100%
}

.plyr__menu__container .plyr__control::after {
    border: 4px solid transparent;
    border: var(--plyr-menu-item-arrow-size, 4px) solid transparent;
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.plyr__menu__container .plyr__control--forward {
    padding-right: calc(calc(10px * .7) * 4);
    padding-right: calc(calc(var(--plyr-control-spacing, 10px) * .7) * 4)
}

.plyr__menu__container .plyr__control--forward::after {
    border-left-color: #728197;
    border-left-color: var(--plyr-menu-arrow-color, #728197);
    right: calc((calc(10px * .7) * 1.5) - 4px);
    right: calc((calc(var(--plyr-control-spacing, 10px) * .7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px))
}

.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,
.plyr__menu__container .plyr__control--forward:hover::after {
    border-left-color: currentColor
}

.plyr__menu__container .plyr__control--back {
    font-weight: 400;
    font-weight: var(--plyr-font-weight-regular, 400);
    margin: calc(10px * .7);
    margin: calc(var(--plyr-control-spacing, 10px) * .7);
    margin-bottom: calc(calc(10px * .7)/2);
    margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) * .7)/2);
    padding-left: calc(calc(10px * .7) * 4);
    padding-left: calc(calc(var(--plyr-control-spacing, 10px) * .7) * 4);
    position: relative;
    width: calc(100% - (calc(10px * .7) * 2));
    width: calc(100% - (calc(var(--plyr-control-spacing, 10px) * .7) * 2))
}

.plyr__menu__container .plyr__control--back::after {
    border-right-color: #728197;
    border-right-color: var(--plyr-menu-arrow-color, #728197);
    left: calc((calc(10px * .7) * 1.5) - 4px);
    left: calc((calc(var(--plyr-control-spacing, 10px) * .7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px))
}

.plyr__menu__container .plyr__control--back::before {
    background: #dcdfe5;
    background: var(--plyr-menu-back-border-color, #dcdfe5);
    box-shadow: 0 1px 0 #fff;
    box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
    content: '';
    height: 1px;
    left: 0;
    margin-top: calc(calc(10px * .7)/2);
    margin-top: calc(calc(var(--plyr-control-spacing, 10px) * .7)/2);
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 100%
}

.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,
.plyr__menu__container .plyr__control--back:hover::after {
    border-right-color: currentColor
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
    padding-left: calc(10px * .7);
    padding-left: calc(var(--plyr-control-spacing, 10px) * .7)
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after,
.plyr__menu__container .plyr__control[role=menuitemradio]::before {
    border-radius: 100%
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
    background: rgba(0, 0, 0, .1);
    content: '';
    display: block;
    flex-shrink: 0;
    height: 16px;
    margin-right: 10px;
    margin-right: var(--plyr-control-spacing, 10px);
    transition: all .3s ease;
    width: 16px
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
    background: #fff;
    border: 0;
    height: 6px;
    left: 12px;
    opacity: 0;
    top: 50%;
    transform: translateY(-50%) scale(0);
    transition: transform .3s ease, opacity .3s ease;
    width: 6px
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
    background: #00b3ff;
    background: var(--plyr-control-toggle-checked-background, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)))
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
    opacity: 1;
    transform: translateY(-50%) scale(1)
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,
.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
    background: rgba(35, 40, 47, .1)
}

.plyr__menu__container .plyr__menu__value {
    align-items: center;
    display: flex;
    margin-left: auto;
    margin-right: calc((calc(10px * .7) - 2) * -1);
    margin-right: calc((calc(var(--plyr-control-spacing, 10px) * .7) - 2) * -1);
    overflow: hidden;
    padding-left: calc(calc(10px * .7) * 3.5);
    padding-left: calc(calc(var(--plyr-control-spacing, 10px) * .7) * 3.5);
    pointer-events: none
}

.plyr--full-ui input[type=range] {
    -webkit-appearance: none;
    background: 0 0;
    border: 0;
    border-radius: calc(13px * 2);
    border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
    color: #00b3ff;
    color: var(--plyr-range-fill-background, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    display: block;
    height: calc((3px * 2) + 13px);
    height: calc((var(--plyr-range-thumb-active-shadow-width, 3px) * 2) + var(--plyr-range-thumb-height, 13px));
    margin: 0;
    min-width: 0;
    padding: 0;
    transition: box-shadow .3s ease;
    width: 100%
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
    background: 0 0;
    border: 0;
    border-radius: calc(5px/2);
    border-radius: calc(var(--plyr-range-track-height, 5px)/2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -webkit-user-select: none;
    user-select: none;
    background-image: linear-gradient(to right, currentColor 0, transparent 0);
    background-image: linear-gradient(to right, currentColor var(--value, 0), transparent var(--value, 0))
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
    background: #fff;
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2));
    height: 13px;
    height: var(--plyr-range-thumb-height, 13px);
    position: relative;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    width: var(--plyr-range-thumb-height, 13px);
    -webkit-appearance: none;
    margin-top: calc(((13px - 5px)/2) * -1);
    margin-top: calc(((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2) * -1)
}

.plyr--full-ui input[type=range]::-moz-range-track {
    background: 0 0;
    border: 0;
    border-radius: calc(5px/2);
    border-radius: calc(var(--plyr-range-track-height, 5px)/2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -moz-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    user-select: none
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
    background: #fff;
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2));
    height: 13px;
    height: var(--plyr-range-thumb-height, 13px);
    position: relative;
    -moz-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    width: var(--plyr-range-thumb-height, 13px)
}

.plyr--full-ui input[type=range]::-moz-range-progress {
    background: currentColor;
    border-radius: calc(5px/2);
    border-radius: calc(var(--plyr-range-track-height, 5px)/2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px)
}

.plyr--full-ui input[type=range]::-ms-track {
    background: 0 0;
    border: 0;
    border-radius: calc(5px/2);
    border-radius: calc(var(--plyr-range-track-height, 5px)/2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none;
    color: transparent
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
    background: 0 0;
    border: 0;
    border-radius: calc(5px/2);
    border-radius: calc(var(--plyr-range-track-height, 5px)/2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
    background: 0 0;
    border: 0;
    border-radius: calc(5px/2);
    border-radius: calc(var(--plyr-range-track-height, 5px)/2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none;
    background: currentColor
}

.plyr--full-ui input[type=range]::-ms-thumb {
    background: #fff;
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2));
    height: 13px;
    height: var(--plyr-range-thumb-height, 13px);
    position: relative;
    -ms-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    width: var(--plyr-range-thumb-height, 13px);
    margin-top: 0
}

.plyr--full-ui input[type=range]::-ms-tooltip {
    display: none
}

.plyr--full-ui input[type=range]:focus {
    outline: 0
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
    border: 0
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
    outline-color: #00b3ff;
    outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    outline-offset: 2px;
    outline-style: dotted;
    outline-width: 3px
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
    outline-color: #00b3ff;
    outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    outline-offset: 2px;
    outline-style: dotted;
    outline-width: 3px
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
    outline-color: #00b3ff;
    outline-color: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    outline-offset: 2px;
    outline-style: dotted;
    outline-width: 3px
}

.plyr__poster {
    background-color: #000;
    background-color: var(--plyr-video-background, var(--plyr-video-background, #000));
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .2s ease;
    width: 100%;
    z-index: 1
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
    opacity: 1
}

.plyr__time {
    font-size: 13px;
    font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px))
}

.plyr__time+.plyr__time::before {
    content: '\2044';
    margin-right: 10px;
    margin-right: var(--plyr-control-spacing, 10px)
}

@media(max-width:767px) {
    .plyr__time+.plyr__time {
        display: none
    }
}

.plyr__tooltip {
    background: rgba(255, 255, 255, .9);
    background: var(--plyr-tooltip-background, rgba(255, 255, 255, .9));
    border-radius: 3px;
    border-radius: var(--plyr-tooltip-radius, 3px);
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, .15));
    color: #4a5464;
    color: var(--plyr-tooltip-color, #4a5464);
    font-size: 13px;
    font-size: var(--plyr-font-size-small, 13px);
    font-weight: 400;
    font-weight: var(--plyr-font-weight-regular, 400);
    left: 50%;
    line-height: 1.3;
    margin-bottom: calc(calc(10px/2) * 2);
    margin-bottom: calc(calc(var(--plyr-control-spacing, 10px)/2) * 2);
    opacity: 0;
    padding: calc(10px/2) calc(calc(10px/2) * 1.5);
    padding: calc(var(--plyr-control-spacing, 10px)/2) calc(calc(var(--plyr-control-spacing, 10px)/2) * 1.5);
    pointer-events: none;
    position: absolute;
    transform: translate(-50%, 10px) scale(.8);
    transform-origin: 50% 100%;
    transition: transform .2s .1s ease, opacity .2s .1s ease;
    white-space: nowrap;
    z-index: 2
}

.plyr__tooltip::before {
    border-left: 4px solid transparent;
    border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
    border-right: 4px solid transparent;
    border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
    border-top: 4px solid rgba(255, 255, 255, .9);
    border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, rgba(255, 255, 255, .9));
    bottom: calc(4px * -1);
    bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
    content: '';
    height: 0;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr .plyr__control:hover .plyr__tooltip,
.plyr__tooltip--visible {
    opacity: 1;
    transform: translate(-50%, 0) scale(1)
}

.plyr .plyr__control:hover .plyr__tooltip {
    z-index: 3
}

.plyr__controls>.plyr__control:first-child .plyr__tooltip,
.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip {
    left: 0;
    transform: translate(0, 10px) scale(.8);
    transform-origin: 0 100%
}

.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,
.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before {
    left: calc((18px/2) + calc(10px * .7));
    left: calc((var(--plyr-control-icon-size, 18px)/2) + calc(var(--plyr-control-spacing, 10px) * .7))
}

.plyr__controls>.plyr__control:last-child .plyr__tooltip {
    left: auto;
    right: 0;
    transform: translate(0, 10px) scale(.8);
    transform-origin: 100% 100%
}

.plyr__controls>.plyr__control:last-child .plyr__tooltip::before {
    left: auto;
    right: calc((18px/2) + calc(10px * .7));
    right: calc((var(--plyr-control-icon-size, 18px)/2) + calc(var(--plyr-control-spacing, 10px) * .7));
    transform: translateX(50%)
}

.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,
.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,
.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,
.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,
.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,
.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip {
    transform: translate(0, 0) scale(1)
}

.plyr__progress {
    left: calc(13px * .5);
    left: calc(var(--plyr-range-thumb-height, 13px) * .5);
    margin-right: 13px;
    margin-right: var(--plyr-range-thumb-height, 13px);
    position: relative
}

.plyr__progress input[type=range],
.plyr__progress__buffer {
    margin-left: calc(13px * -.5);
    margin-left: calc(var(--plyr-range-thumb-height, 13px) * -.5);
    margin-right: calc(13px * -.5);
    margin-right: calc(var(--plyr-range-thumb-height, 13px) * -.5);
    width: calc(100% + 13px);
    width: calc(100% + var(--plyr-range-thumb-height, 13px))
}

.plyr__progress input[type=range] {
    position: relative;
    z-index: 2
}

.plyr__progress .plyr__tooltip {
    font-size: 13px;
    font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
    left: 0
}

.plyr__progress__buffer {
    -webkit-appearance: none;
    background: 0 0;
    border: 0;
    border-radius: 100px;
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    left: 0;
    margin-top: calc((5px/2) * -1);
    margin-top: calc((var(--plyr-range-track-height, 5px)/2) * -1);
    padding: 0;
    position: absolute;
    top: 50%
}

.plyr__progress__buffer::-webkit-progress-bar {
    background: 0 0
}

.plyr__progress__buffer::-webkit-progress-value {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    min-width: var(--plyr-range-track-height, 5px);
    -webkit-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-moz-progress-bar {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    min-width: var(--plyr-range-track-height, 5px);
    -moz-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-ms-fill {
    border-radius: 100px;
    -ms-transition: width .2s ease;
    transition: width .2s ease
}

.plyr--loading .plyr__progress__buffer {
    animation: plyr-progress 1s linear infinite;
    background-image: linear-gradient(-45deg, rgba(35, 40, 47, .6) 25%, transparent 25%, transparent 50%, rgba(35, 40, 47, .6) 50%, rgba(35, 40, 47, .6) 75%, transparent 75%, transparent);
    background-image: linear-gradient(-45deg, var(--plyr-progress-loading-background, rgba(35, 40, 47, .6)) 25%, transparent 25%, transparent 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, .6)) 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, .6)) 75%, transparent 75%, transparent);
    background-repeat: repeat-x;
    background-size: 25px 25px;
    background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);
    color: transparent
}

.plyr--video.plyr--loading .plyr__progress__buffer {
    background-color: rgba(255, 255, 255, .25);
    background-color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, .25))
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
    background-color: rgba(193, 200, 209, .6);
    background-color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, .6))
}

.plyr__volume {
    align-items: center;
    display: flex;
    max-width: 110px;
    min-width: 80px;
    position: relative;
    width: 20%
}

.plyr__volume input[type=range] {
    margin-left: calc(10px/2);
    margin-left: calc(var(--plyr-control-spacing, 10px)/2);
    margin-right: calc(10px/2);
    margin-right: calc(var(--plyr-control-spacing, 10px)/2);
    position: relative;
    z-index: 2
}

.plyr--is-ios .plyr__volume {
    min-width: 0;
    width: auto
}

.plyr--audio {
    display: block
}

.plyr--audio .plyr__controls {
    background: #fff;
    background: var(--plyr-audio-controls-background, #fff);
    border-radius: inherit;
    color: #4a5464;
    color: var(--plyr-audio-control-color, #4a5464);
    padding: 10px;
    padding: var(--plyr-control-spacing, 10px)
}

.plyr--audio .plyr__control.plyr__tab-focus,
.plyr--audio .plyr__control:hover,
.plyr--audio .plyr__control[aria-expanded=true] {
    background: #00b3ff;
    background: var(--plyr-audio-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    color: #fff;
    color: var(--plyr-audio-control-color-hover, #fff)
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
    background-color: rgba(193, 200, 209, .6);
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, .6)))
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
    background-color: rgba(193, 200, 209, .6);
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, .6)))
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
    background-color: rgba(193, 200, 209, .6);
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, .6)))
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2), 0 0 0 3px rgba(35, 40, 47, .1);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, .1))
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2), 0 0 0 3px rgba(35, 40, 47, .1);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, .1))
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2), 0 0 0 3px rgba(35, 40, 47, .1);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, .1))
}

.plyr--audio .plyr__progress__buffer {
    color: rgba(193, 200, 209, .6);
    color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, .6))
}

.plyr--video {
    background: #000;
    background: var(--plyr-video-background, var(--plyr-video-background, #000));
    overflow: hidden
}

.plyr--video.plyr--menu-open {
    overflow: visible
}

.plyr__video-wrapper {
    background: #000;
    background: var(--plyr-video-background, var(--plyr-video-background, #000));
    height: 100%;
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

.plyr__video-embed,
.plyr__video-wrapper--fixed-ratio {
    height: 0;
    padding-bottom: 56.25%
}

.plyr__video-embed iframe,
.plyr__video-wrapper--fixed-ratio video {
    border: 0;
    left: 0;
    position: absolute;
    top: 0
}

.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container {
    padding-bottom: 240%;
    position: relative;
    transform: translateY(-38.28125%)
}

.plyr--video .plyr__controls {
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .75));
    background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .75)));
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    bottom: 0;
    color: #fff;
    color: var(--plyr-video-control-color, #fff);
    left: 0;
    padding: calc(10px/2);
    padding: calc(var(--plyr-control-spacing, 10px)/2);
    padding-top: calc(10px * 2);
    padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
    position: absolute;
    right: 0;
    transition: opacity .4s ease-in-out, transform .4s ease-in-out;
    z-index: 3
}

@media(min-width:480px) {
    .plyr--video .plyr__controls {
        padding: 10px;
        padding: var(--plyr-control-spacing, 10px);
        padding-top: calc(10px * 3.5);
        padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5)
    }
}

.plyr--video.plyr--hide-controls .plyr__controls {
    opacity: 0;
    pointer-events: none;
    transform: translateY(100%)
}

.plyr--video .plyr__control.plyr__tab-focus,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded=true] {
    background: #00b3ff;
    background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    color: #fff;
    color: var(--plyr-video-control-color-hover, #fff)
}

.plyr__control--overlaid {
    background: #00b3ff;
    background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b3ff)));
    border: 0;
    border-radius: 100%;
    color: #fff;
    color: var(--plyr-video-control-color, #fff);
    display: none;
    left: 50%;
    opacity: .9;
    padding: calc(10px * 1.5);
    padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: .3s;
    z-index: 2
}

.plyr__control--overlaid svg {
    left: 2px;
    position: relative
}

.plyr__control--overlaid:focus,
.plyr__control--overlaid:hover {
    opacity: 1
}

.plyr--playing .plyr__control--overlaid {
    opacity: 0;
    visibility: hidden
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
    display: block
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
    background-color: rgba(255, 255, 255, .25);
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, .25)))
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
    background-color: rgba(255, 255, 255, .25);
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, .25)))
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
    background-color: rgba(255, 255, 255, .25);
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, .25)))
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2), 0 0 0 3px rgba(255, 255, 255, .5);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, .5))
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2), 0 0 0 3px rgba(255, 255, 255, .5);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, .5))
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
    box-shadow: 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2), 0 0 0 3px rgba(255, 255, 255, .5);
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, .15), 0 0 0 1px rgba(35, 40, 47, .2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, .5))
}

.plyr--video .plyr__progress__buffer {
    color: rgba(255, 255, 255, .25);
    color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, .25))
}

.plyr:-webkit-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-ms-fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-webkit-full-screen video {
    height: 100%
}

.plyr:-ms-fullscreen video {
    height: 100%
}

.plyr:fullscreen video {
    height: 100%
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
    height: 100%;
    position: static
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
    height: 100%;
    position: static
}

.plyr:fullscreen .plyr__video-wrapper {
    height: 100%;
    position: static
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative
}

.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none
}

.plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none
}

.plyr:fullscreen.plyr--hide-controls {
    cursor: none
}

@media(min-width:1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }

    .plyr:-ms-fullscreen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }

    .plyr:fullscreen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

.plyr:-webkit-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-webkit-full-screen video {
    height: 100%
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
    height: 100%;
    position: static
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none
}

@media(min-width:1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

.plyr:-moz-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-moz-full-screen video {
    height: 100%
}

.plyr:-moz-full-screen .plyr__video-wrapper {
    height: 100%;
    position: static
}

.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-moz-full-screen.plyr--hide-controls {
    cursor: none
}

@media(min-width:1024px) {
    .plyr:-moz-full-screen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

.plyr:-ms-fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-ms-fullscreen video {
    height: 100%
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
    height: 100%;
    position: static
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none
}

@media(min-width:1024px) {
    .plyr:-ms-fullscreen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

.plyr--fullscreen-fallback {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%;
    bottom: 0;
    display: block;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10000000
}

.plyr--fullscreen-fallback video {
    height: 100%
}

.plyr--fullscreen-fallback .plyr__video-wrapper {
    height: 100%;
    position: static
}

.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    position: relative
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg {
    display: none
}

.plyr--fullscreen-fallback.plyr--hide-controls {
    cursor: none
}

@media(min-width:1024px) {
    .plyr--fullscreen-fallback .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

.plyr__ads {
    border-radius: inherit;
    bottom: 0;
    cursor: pointer;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

.plyr__ads>div,
.plyr__ads>div iframe {
    height: 100%;
    position: absolute;
    width: 100%
}

.plyr__ads::after {
    background: #23282f;
    border-radius: 2px;
    bottom: 10px;
    bottom: var(--plyr-control-spacing, 10px);
    color: #fff;
    content: attr(data-badge-text);
    font-size: 11px;
    padding: 2px 6px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    right: var(--plyr-control-spacing, 10px);
    z-index: 3
}

.plyr__ads::after:empty {
    display: none
}

.plyr__cues {
    background: currentColor;
    display: block;
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    left: 0;
    margin: -var(--plyr-range-track-height, 5px)/2 0 0;
    opacity: .8;
    position: absolute;
    top: 50%;
    width: 3px;
    z-index: 3
}

.plyr__preview-thumb {
    background-color: rgba(255, 255, 255, .9);
    background-color: var(--plyr-tooltip-background, rgba(255, 255, 255, .9));
    border-radius: 3px;
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, .15));
    margin-bottom: calc(calc(10px/2) * 2);
    margin-bottom: calc(calc(var(--plyr-control-spacing, 10px)/2) * 2);
    opacity: 0;
    padding: 3px;
    padding: var(--plyr-tooltip-radius, 3px);
    pointer-events: none;
    position: absolute;
    transform: translate(0, 10px) scale(.8);
    transform-origin: 50% 100%;
    transition: transform .2s .1s ease, opacity .2s .1s ease;
    z-index: 2
}

.plyr__preview-thumb--is-shown {
    opacity: 1;
    transform: translate(0, 0) scale(1)
}

.plyr__preview-thumb::before {
    border-left: 4px solid transparent;
    border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
    border-right: 4px solid transparent;
    border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
    border-top: 4px solid rgba(255, 255, 255, .9);
    border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, rgba(255, 255, 255, .9));
    bottom: calc(4px * -1);
    bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
    content: '';
    height: 0;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr__preview-thumb__image-container {
    background: #c1c8d1;
    border-radius: calc(3px - 1px);
    border-radius: calc(var(--plyr-tooltip-radius, 3px) - 1px);
    overflow: hidden;
    position: relative;
    z-index: 0
}

.plyr__preview-thumb__image-container img {
    height: 100%;
    left: 0;
    max-height: none;
    max-width: none;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr__preview-thumb__time-container {
    bottom: 6px;
    left: 0;
    position: absolute;
    right: 0;
    white-space: nowrap;
    z-index: 3
}

.plyr__preview-thumb__time-container span {
    background-color: rgba(0, 0, 0, .55);
    border-radius: calc(3px - 1px);
    border-radius: calc(var(--plyr-tooltip-radius, 3px) - 1px);
    color: #fff;
    font-size: 13px;
    font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
    padding: 3px 6px
}

.plyr__preview-scrubbing {
    bottom: 0;
    filter: blur(1px);
    height: 100%;
    left: 0;
    margin: auto;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 1
}

.plyr__preview-scrubbing--is-shown {
    opacity: 1
}

.plyr__preview-scrubbing img {
    height: 100%;
    left: 0;
    max-height: none;
    max-width: none;
    object-fit: contain;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr--no-transition {
    transition: none !important
}

.plyr__sr-only {
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    border: 0 !important;
    height: 1px !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important
}

.plyr [hidden] {
    display: none !important
}

.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: .8
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: 0 !important;
    -webkit-backface-visibility: hidden
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box
}

.mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.mfp-align-top .mfp-container:before {
    display: none
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045
}

.mfp-ajax-holder .mfp-content,
.mfp-inline-holder .mfp-content {
    width: 100%;
    cursor: auto
}

.mfp-ajax-cur {
    cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out
}

.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
    cursor: auto
}

.mfp-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.mfp-loading.mfp-figure {
    display: none
}

.mfp-hide {
    display: none !important
}

.mfp-preloader {
    color: #ccc;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -.8em;
    left: 8px;
    right: 8px;
    z-index: 1044
}

.mfp-preloader a {
    color: #ccc
}

.mfp-preloader a:hover {
    color: #fff
}

.mfp-s-ready .mfp-preloader {
    display: none
}

.mfp-s-error .mfp-content {
    display: none
}

button.mfp-arrow,
button.mfp-close {
    overflow: visible;
    cursor: pointer;
    background: 0 0;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: 0;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    touch-action: manipulation
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: .65;
    padding: 0 0 18px 10px;
    color: #fff;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace
}

.mfp-close:focus,
.mfp-close:hover {
    opacity: 1
}

.mfp-close:active {
    top: 1px
}

.mfp-close-btn-in .mfp-close {
    color: #333
}

.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close {
    color: #fff;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #ccc;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap
}

.mfp-arrow {
    position: absolute;
    opacity: .65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent
}

.mfp-arrow:active {
    margin-top: -54px
}

.mfp-arrow:focus,
.mfp-arrow:hover {
    opacity: 1
}

.mfp-arrow:after,
.mfp-arrow:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent
}

.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: .7
}

.mfp-arrow-left {
    left: 0
}

.mfp-arrow-left:after {
    border-right: 17px solid #fff;
    margin-left: 31px
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
    right: 0
}

.mfp-arrow-right:after {
    border-left: 17px solid #fff;
    margin-left: 39px
}

.mfp-arrow-right:before {
    border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px
}

.mfp-iframe-holder .mfp-close {
    top: -40px
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
    background: #000
}

img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0;
    margin: 0 auto
}

.mfp-figure {
    line-height: 0
}

.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
    background: #444
}

.mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px
}

.mfp-figure figure {
    margin: 0
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #f3f3f3;
    word-wrap: break-word;
    padding-right: 36px
}

.mfp-image-holder .mfp-content {
    max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer
}

@media screen and (max-width:800px) and (orientation:landscape),
screen and (max-height:300px) {
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, .6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0
    }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, .6);
        position: fixed;
        text-align: center;
        padding: 0
    }
}

@media all and (max-width:900px) {
    .mfp-arrow {
        -webkit-transform: scale(.75);
        transform: scale(.75)
    }

    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0
    }

    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%
    }

    .mfp-container {
        padding-left: 6px;
        padding-right: 6px
    }
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5) {

    html,
    body {
        width: 100%;
        overflow-x: clip;
    }

}

@font-face {
    font-family: "Roboto Mono";
    src: url(fonts/RobotoMono.ttf);
}

@font-face {
    font-family: "Roboto Mono";
    src: url(fonts/RobotoMono-Bold.ttf);
    font-weight: bold;
}

@font-face {
    font-family: "PPNeueBit-Bold";
    src: url(fonts/PPNeueBit-Bold.otf) format("opentype");
    font-weight: bold;
}

@font-face {
    font-family: "PPMondwest-Regular";
    src: url(fonts/PPMondwest-Regular.otf) format("opentype");
}


@font-face {
    font-family: "Neue";
    src: url(fonts/PPNeueMontreal-Bold.otf);
    font-weight: bold;
}

@font-face {
    font-family: "Neue";
    src: url(fonts/PPNeueMontreal-Italic.otf);
    font-style: italic;
}

@font-face {
    font-family: "Neue";
    src: url(fonts/PPNeueMontreal-Book.otf);
}

@font-face {
    font-family: "Neue";
    src: url(fonts/PPNeueMontreal-Medium.otf);
    font-weight: 500;
}




html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h5,
p,
a,
code,
em,
img,
q,
s,
strong,
tt,
var,
b,
u,
i,
center,
dt,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
canvas,
embed,
figure,
figcaption,
footer,
header,
menu,
nav,
output,
section,
summary,
time,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

.site-header {
    display: none !important;
}

.black {
    color: black !important;
}

.service-cont {
    font-size: 16px;
    font-weight: 500;
}

.light {
    color: rgba(25, 27, 29, .6);
}

.center {
    text-align: center !important;
}

.post-title h3 {
    font-size: 32px !important;
}

.categories h5 {
    color: rgba(42, 42, 42, 0.812) !important
}

.next-project-title {
    font-size: 100px !important;
    line-height: normal;
}


figcaption,
figure,
footer,
header,
menu,
nav,
section {
    display: block
}

body {
    line-height: normal;
}


ul {
    list-style: disc;
    padding-left: 1.3em
}

ul li {
    padding-bottom: 1em
}


q {
    quotes: none
}


q:before,
q:after {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}


body {
    margin: 0;
    font-family: "Neue";
    color: #000000
}

body.dark {
    background: #000000;
    color: #fff
}

/* Premium smooth transitions between dark and light themes for all text, backgrounds, and borders */
body,
h1,
h2,
h3,
h5,
p,
span,
a,
i,
.creative-copy-title,
.creative-copy-text,
.post-title h3,
.meta-pill,
.filter-btn,
.service-cont,
.service-toggle,
.index-header,
.index-hamburger-btn,
.hamburger-line,
.theme-toggle-btn {
    transition: background-color 0.8s cubic-bezier(0.16, 1, 0.3, 1),
        color 0.8s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body,
html {
    font-weight: normal;
    font-size: 20px;
    overflow-x: clip !important;
}

body {
    scrollbar-width: none !important;
    /* Hide scrollbar on body for Firefox */
}

a {
    background-color: transparent
}

b,
strong {
    font-weight: bolder
}

code {
    font-family: monospace, monospace;
    font-size: 1em
}

img {
    border-style: none
}

form>div {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    position: relative;
    float: left;
    padding-left: 1%;
    padding-right: 1%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

form>div::before {
    content: "";
    position: absolute;
    bottom: 0;
    height: 1px;
    background: #191b1d;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    width: 0
}

body.dark form>div::before {
    background: #fff
}

form>div.focus::before {
    width: 100%
}

form input {
    display: block;
    width: 100%;
    padding: 30px;
    border: none;
    background: #ebebeb;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

form input:focus,
form textarea:focus {
    outline: none !important
}

form label {
    position: absolute;
    top: 50%;
    left: 30px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #8f8d8d;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    pointer-events: none
}

form>div.focus label {
    top: 0;
    font-size: 12px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

form button {
    background: #ebebeb;
    border: none;
    padding: 20px 50px
}

body.dark form button,
body.dark form input,
body.dark form textarea {
    background: #131313;
    color: #fff
}

body.dark form button {
    color: #fff
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

.button:hover::before {
    width: 0
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

::-webkit-input-placeholder {
    color: #8f8d8d
}

::-moz-placeholder {
    color: #8f8d8d
}

::-ms-input-placeholder {
    color: #8f8d8d
}

::placeholder {
    color: #8f8d8d
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto;
    display: block;
    width: 100%;
    padding: 30px;
    border: none;
    background: #ebebeb;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

[type=checkbox],
[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

h1,
h2,
h3 {
    color: #000000;
}

body.dark h1,
body.dark h2,
body.dark h3,
body.dark h5,
body.dark p {
    color: #fff
}

h1 {
    font-size: 42px;
    line-height: normal;
    letter-spacing: -1.5px;
    color: #393334;
    text-transform: uppercase;
}

h2 {
    font-size: 36px;
    line-height: normal;
    letter-spacing: normal
}

h3 {
    font-size: 30px;
    line-height: normal;
    letter-spacing: normal
}

h5 {
    font-size: 18px;
    line-height: normal;
}

p {
    line-height: normal;
}

#cursor {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-width: 2px;
    border-style: solid
}

#dot {
    display: block;
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

body.loading {
    pointer-events: none
}

span.apl-background {
    position: fixed;
    top: 0;
    left: 0;
    background: #000000;
    width: 100%;
    height: 100%;
    z-index: -15
}

.apl-num-3 span {
    display: block
}

.alioth-page-transitions {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    visibility: hidden
}

.apt-image {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 999;
    width: 200px;
    height: auto;
    opacity: 0
}

.apt-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.apt-bg {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: #131313;
    z-index: 99
}

.alioth-page-transitions.light .apt-bg {
    background: #ebebeb
}

.trans-text {
    position: fixed;
    bottom: 10%;
    left: 8.5%;
    color: hsla(0, 0%, 100%, .2);
    z-index: 999;
    font-size: 60px;
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: -.07em;
    overflow: hidden;
    line-height: 115px;
    padding-right: 10px
}

.alioth-page-transitions.light .trans-text {
    color: rgba(25, 27, 29, .6)
}

.trans-image {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none
}

.trans-image-wrap,
.trans-image-wrap img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.site-header {
    display: block;
    position: absolute;
    width: 100%;
    height: 93px;
    z-index: 9999
}

.site-header.fullscreen_menu::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background: #ff0000;
    width: 100%;
    height: 0%;
}

.site-header.fullscreen_menu.menu-has-open::before {
    height: 100vh !important;
}

.site-header.fullscreen_menu::after {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: #ebebeb;
    z-index: -2;
    left: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.site-header.fullscreen_menu.menu-has-open::after {
    opacity: 1;
    visibility: visible
}

.header-wrapper {
    position: absolute;
    left: 50%;
    top: 64%;
    width: 83%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.header-wrapper.menu-opened {
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 100vh !important
}


.menu-toggle {
    display: block;
    z-index: 999;
    position: absolute
}

.menu-toggle {
    left: 95%
}

.header-widget {
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0
}

.site-logo {
    width: 140px;
    display: block;
    overflow: hidden;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

.site-logo img {
    width: 100%
}

.site-header.classic_menu .menu-toggle,
.site-header.classic_menu .sub-back {
    display: none
}

.site-navigation.classic {
    width: 50%;
    display: block;
    float: left;
    position: static;
    z-index: 999;
    margin-left: 25%
}

.menu a {
    text-decoration: none;
    color: #191b1d;
    display: block
}

.site-header.light .menu a {
    color: #ebebeb
}

.site-navigation.classic .menu.main-menu {
    list-style: none;
    padding: 0
}

.site-navigation.classic .menu.main-menu li {
    text-align: center;
    display: inline-block;
    font-size: 16px;
    line-height: 28px;
    position: relative;
    font-weight: 700;
    padding-bottom: 0;
    letter-spacing: -.045em
}

.site-navigation.classic .menu.main-menu>li>a {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    color: rgba(25, 27, 29, .6)
}

.site-header.light .site-navigation.classic .menu.main-menu>li>a {
    color: hsla(0, 0%, 100%, .4)
}

.site-navigation.classic .menu.main-menu>li.menu-item-active>a {
    color: #191b1d
}

.site-navigation.classic .menu.main-menu>li:first-child a {
    padding-left: 0
}

.site-navigation.classic .sub-menu {
    position: absolute;
    top: 100%;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    padding: 40px 0 40px 50px;
    background: #e0e0e0;
    left: -25px;
    white-space: nowrap;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
}

.site-header.light .site-navigation.classic .sub-menu {
    background: #101010
}

.site-navigation.classic .menu.main-menu>li.menu-item.has-children:hover>.sub-menu {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px)
}

.site-navigation.classic .sub-menu::before {
    content: "";
    position: absolute;
    top: -20px;
    background: 0 0;
    width: 100%;
    height: 20px;
    left: 0
}

.site-navigation.classic .sub-menu li.menu-item {
    display: block;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    opacity: 0;
    visibility: hidden;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0, 45em;
    line-height: 26px;
    padding-bottom: 10px;
    font-weight: 700;
    padding-right: 150px
}

.site-navigation.classic .sub-menu li.menu-item a {}

.site-navigation.classic .sub-menu li.menu-item:hover a {
    -webkit-transform: translateX(5px);
    -ms-transform: translateX(5px);
    transform: translateX(5px)
}

.site-navigation.classic .sub-menu li.menu-item.has-children::after {
    content: "\ea5d";
    position: absolute;
    top: 0;
    right: 25px;
    font-weight: 400;
    font-family: IcoFont
}

.site-navigation.classic .sub-menu .sub-menu {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateX(87%) translateY(-30px);
    -ms-transform: translateX(87%) translateY(-30px);
    transform: translateX(87%) translateY(-30px)
}

.site-navigation.classic .sub-menu li.menu-item.has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(87%) translateY(-40px);
    -ms-transform: translateX(87%) translateY(-40px);
    transform: translateX(87%) translateY(-40px)
}

.site-navigation.classic .menu.main-menu>li.menu-item.has-children:hover a::before {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    opacity: 0
}

.site-navigation.classic .menu.main-menu>li.menu-item.has-children:hover>.sub-menu::after {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.site-navigation.classic .menu.main-menu>li.menu-item.has-children:hover>.sub-menu li.menu-item {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    visibility: visible
}

.site-navigation.fullscreen {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 888
}

.site-navigation.fullscreen .fs-menu-wrapper {
    display: block;
    width: 100%;
    position: fixed;
    height: 100%;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.site-navigation.fullscreen .fs-menu-wrapper {
    display: none
}

.menu-item {
    font-family: "Roboto Mono", ui-monospace, monospace;
    text-transform: uppercase;
}

.site-navigation.fullscreen .menu.main-menu>li.menu-item {
    font-size: 90px;
    line-height: 100px;
    font-weight: normal;
    letter-spacing: -.03em;
    display: block;
    overflow: hidden;
    padding-bottom: 0
}

.site-navigation.fullscreen .menu.main-menu>li.menu-item a {
    position: relative;
    display: inline-block;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    color: rgba(25, 27, 29, .6);
    padding-right: 5px
}

.site-navigation.fullscreen .menu.main-menu>li.menu-item a::before {
    content: attr(data-hover);
    position: absolute;
    left: 0;
    width: 100%;
    overflow: hidden;
    color: #191b1d;
    -webkit-transition: width .75s cubic-bezier(.63, .03, .21, 1);
    -o-transition: width .75s cubic-bezier(.63, .03, .21, 1);
    transition: width .75s cubic-bezier(.63, .03, .21, 1);
    white-space: nowrap
}

.site-navigation.fullscreen .menu.main-menu.hovered>li.menu-item a::before {
    width: 0%
}

.site-navigation.fullscreen .menu.main-menu.hovered>li.menu-item a.hovered::before {
    width: 100%
}

.site-navigation.fullscreen .menu.main-menu {
    position: fixed;
    left: 25%;
    right: 0;
    top: 15%;
    padding: 0
}

.site-navigation.fullscreen ul.ulcol {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2
}

.sub-toggle {
    display: inline-block;
    position: relative;
    width: 50px;
    height: 50px;
    margin-left: 20px;
    top: -5px;
    -webkit-transition: -webkit-transform .6s ease;
    transition: -webkit-transform .6s ease;
    -o-transition: transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease, -webkit-transform .6s ease
}

.sub-togg-line {
    position: absolute;
    width: 0%;
    height: 1px;
    background: #000;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: width .4s ease, -webkit-transform .5s ease .4s;
    transition: width .4s ease, -webkit-transform .5s ease .4s;
    -o-transition: width .4s ease, transform .5s ease .4s;
    transition: width .4s ease, transform .5s ease .4s;
    transition: width .4s ease, transform .5s ease .4s, -webkit-transform .5s ease .4s
}

.has-sub-in .sub-togg-line {
    width: 100%
}

.has-sub-in .sub-togg-line:nth-child(2) {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
    -ms-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotate(-90deg)
}

.menu-item.has-children>a:hover>.sub-toggle {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.sub-back {
    cursor: pointer;
    overflow: hidden;
    display: block;
    position: absolute;
    opacity: 0;
    left: 0;
    visibility: hidden;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    font-size: 50px
}

.sub-back.is-active {
    opacity: .8;
    visibility: visible;
    left: 0;
    top: 100% !important;

}

.site-navigation.fullscreen ul ul {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    padding: 0
}

.site-navigation.fullscreen ul ul li {
    font-size: 90px;
    line-height: 90px;
    font-weight: normal;
    letter-spacing: -.03em;
    display: block;
    overflow: hidden;
    padding-bottom: 0
}

.site-navigation.fullscreen ul ul li a {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

.site-navigation.fullscreen ul.hidden>li,
.site-navigation.fullscreen ul.hidden {
    visibility: hidden
}

.site-navigation.fullscreen ul.opened>li,
.site-navigation.fullscreen ul.opened {
    visibility: visible;
    opacity: 1
}

.menu-widget {
    position: fixed;
    display: block
}

.site-navigation.classic .menu-widget {
    display: none
}

.menu-toggle {
    height: 25px;
    cursor: pointer
}

.menu-toggle.hidden {
    display: none
}

.toggle-line {
    width: 0;
    height: 2px;
    display: block;
    background: rgb(0, 0, 0);
    -webkit-transition: all .3s cubic-bezier(.475, .425, 0, .995);
    -o-transition: all .3s cubic-bezier(.475, .425, 0, .995);
    transition: all .3s cubic-bezier(.475, .425, 0, .995);
    left: 0
}

span.toggle-line:nth-child(2) {
    margin-top: 10px;
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    transition-delay: .1s
}

span.toggle-line:nth-child(1) {
    margin-top: 5px
}

body.loading span.toggle-line {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.menu-toggle.is-active .toggle-line:nth-child(1) {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.menu-toggle.is-active .toggle-line:nth-child(2) {
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    margin-top: 0
}

.menu-toggle.is-active .toggle-line {
    width: 35px
}

.site-navigation.fullscreen.menu-opened .fs-menu-wrapper {
    display: block
}

.site-navigation {
    display: none
}

.site-navigation.menu-opened {
    display: block
}

.site-header.light .toggle-line {
    background: #fff
}

.widget {
    margin-bottom: 40px;
    display: block;
    overflow: hidden
}

#footer {
    display: block;
    clear: both;
    background: #efefec;
    border-top: 1px rgba(0, 0, 0, 0.5) solid !important;
    /* Muted transparent black outline */
    margin-bottom: 0;
    padding: 75px 0 1px;
    z-index: 999;
}


#footer.dark {
    background: #131313;
    border-top: 1px solid #9a9a9a !important;
    /* Visible silver-grey top border in dark mode */
}

.section-creative {
    height: 100%;
    background: none;
}

.alioth-seperator {
    display: block;
    width: 0%;
    height: 1px;
    background: #fff;
    float: left
}

.alioth-latest-posts {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 100px
}

.alioth-latest-posts a {
    text-decoration: none
}

.alioth-latest-posts .post {
    display: block;
    float: left;
    width: 50%;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.alioth-latest-posts .post-title {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px
}

.scrollable-text {
    white-space: nowrap;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.alioth-single-project {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 50px
}

.alioth-single-project a {
    text-decoration: none;
    color: #191b1d
}

body.dark .alioth-single-project a,
.alioth-single-project.dark a {
    color: #fff
}

.sw-image {
    width: 100%;
    display: block;
    overflow: hidden;
    background-position: center;
}

.sw-image img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.sw-detail {
    position: relative;
    padding-top: 30px;
    padding-left: 30px;
    display: block
}

.a-recent-works {
    display: block;
    padding-top: 10%;
    padding-bottom: 0
}

.recent-works-wrapper {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.recent-works-bg-text {
    position: absolute;
    top: 0;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    font-size: 200px;
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: -.06em;
    color: #191b1d;
    pointer-events: none
}

.a-recent-works.dark .recent-works-bg-text {
    color: hsla(0, 0%, 100%, .2)
}

.linked-text {
    display: block;
    float: left;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.linked-text.loaded {
    pointer-events: all
}

.linked-text a {
    text-decoration: none;
    color: #191b1d;
    position: relative
}

.linked-text a>div {
    background-repeat: repeat;
    -webkit-background-clip: text;
    background-repeat: repeat;
    -webkit-background-clip: text;
    padding-right: 4px;
    margin-right: -4px
}

.linked-text a::before {
    content: "";
    position: absolute;
    width: 0%;
    height: 12px;
    background: #191b1d;
    bottom: 0;
    left: 0;
    border-top: 2px solid #fff;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    z-index: 1;
    transition: width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.8s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.linked-text.loaded a:hover::before {
    width: 0%
}

.linked-text.loaded a::before {
    width: 100%
}

.linked-line {
    overflow: hidden;
    padding-right: 5px
}

.linked-text .link-target {
    display: block;
    color: rgba(25, 27, 29, .6)
}

body.dark .linked-text a::before,
.linked-text.light a::before {
    background: #fff;
    border-top: 2px solid #191b1d
}

body.dark .link-target,
.linked-text.light .link-target {
    color: hsla(0, 0%, 100%, .2)
}

body.dark .linked-text a,
.linked-text.light a {
    color: #fff
}

.a-testimonials-wrapper {
    display: block;
    width: 100%;
    position: relative
}

.a-test-prev,
.a-test-next {
    display: inline-block;
    font-size: 18px;
    cursor: pointer
}

.a-test-prev {
    margin-right: 10px
}

.a-test-next {
    margin-left: 10px
}

span.a-test-current,
span.a-test-total {
    font-size: 14px;
    font-weight: 600;
    color: #191b1d;
    opacity: .7;
    letter-spacing: -.05em
}

.a-test-prev::after,
.a-test-next::before {
    content: "";
    width: 10px;
    height: 1px;
    display: inline-block;
    background: #000;
    vertical-align: middle;
    margin-top: -2.4px
}

.a-test-next::before {
    margin-right: -11px
}

.a-test-prev::after {
    margin-left: -11px
}

.cakomako {
    display: block
}

.a-testimonials-count {
    display: inline-block;
    width: 30px;
    height: 1px;
    background: #191b1d;
    vertical-align: middle;
    margin-top: -3px;
    margin-left: 10px;
    margin-right: 10px;
    position: relative
}

.a-testimonials-count span {
    position: absolute;
    left: 0;
    width: 0%;
    height: 100%;
    background: #191b1d
}

body.dark span.a-test-current,
body.dark span.a-test-total,
body.dark .a-test-prev,
body.dark .a-test-next {
    color: #fff
}

body.light span.a-test-current,
body.light span.a-test-total,
body.light .a-test-prev,
body.light .a-test-next {
    color: #191b1d
}

.btn {
    background-color: transparent;
    border: 1px solid black;
    color: black;
    border-radius: 100px;
    padding: 20px 25px;
    text-align: center;
    font-family: "Neue";
    font-size: 22px;
    font-weight: 500;
    text-decoration: none;
    transition: 0.4s ease;

}

.btn:hover {
    background-color: rgb(28, 26, 26);
    color: white;
    border: 1px solid black;
}

.social-list {
    list-style: none;
    padding: 0
}

.social-list li {
    font-size: 18px;
    line-height: 32px;
    padding: 0;
    margin-bottom: 10px
}

.social-list li:last-child {
    margin-bottom: 0
}

.social-list li a {
    text-decoration: none;
    color: rgba(25, 27, 29, .6);
    display: block;
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    opacity: 0
}

.cart-button {
    display: block;
    float: left;
    border: 1px solid #191b1d;
    border-radius: 35px;
    padding: 20px 35px;
    font-weight: 700;
    letter-spacing: -.05em;
    width: 48%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    margin: 1%;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

body.dark .cart-button {
    border: 1px solid #fff
}

.cart-button:hover {
    color: #fff;
    border: 1px solid #fff;
    background: #191b1d
}

body.dark .cart-button:hover {
    color: #191b1d;
    border: 1px solid #191b1d;
    background: #fff
}

.git-button a {
    text-decoration: none;
    color: #ebebeb;
    font-size: 50px;
    font-weight: 700;
    letter-spacing: -3px
}

.git-button {
    -webkit-transform: rotate(90deg) translateY(50%) translateX(50%);
    -ms-transform: rotate(90deg) translateY(50%) translateX(50%);
    transform: rotate(90deg) translateY(50%) translateX(50%);
    display: block;
    -webkit-transform-origin: right;
    -ms-transform-origin: right;
    transform-origin: right;
    opacity: 0
}

#page {
    visibility: visible
}


.wrapper {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 100px
}

.wrapper-full {
    width: 100%;
    margin-bottom: 100px
}

.section {
    width: 100%;
    margin-bottom: 100px;
    position: relative;
    background-size: cover;
    background-position: center
}

.section.fullscreen {
    height: 100%;
    margin-bottom: 0
}

.page-content .section:last-child {
    margin-bottom: 0
}

.wrapper:after,
.wrapper-full:after,
section:after {
    display: table;
    clear: both;
    content: ''
}



.c-col-4,
.c-col-6,
.c-col-12 {
    float: left;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-col-6 {
    width: 50%
}

.c-col-4 {
    width: 33.333333%
}

.c-col-12 {
    width: 100%
}

@media only screen and (max-width:576px) {
    .wrapper {
        max-width: 90%;
        margin-bottom: 25px
    }

    .wrapper-full {
        margin-bottom: 20px
    }



    .c-col-4,
    .c-col-6,
    .c-col-12 {
        width: 100%;
        margin-bottom: 35px
    }
}

@media only screen and (min-width:576px) {
    .wrapper {
        max-width: 90%
    }
}

@media only screen and (min-width:768px) {
    .wrapper {
        max-width: 90%
    }
}

@media only screen and (min-width:1025px) {
    .wrapper {
        max-width: 1014px
    }
}

@media only screen and (min-width:1200px) {
    .wrapper {
        max-width: 1274px
    }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {

    .hide {
        display: none;
    }


    .site-navigation.fullscreen .menu.main-menu {
        position: fixed;
        left: 25%;
        right: 0;
        top: 10% !important;
        padding: 0
    }

}


@media only screen and (min-width:1600px) {
    .wrapper {
        max-width: 1500px
    }
}

.section.parallax-bg {
    width: 100%;
    z-index: -1;
    background-size: cover;
    background-position: 50% 0%;
    background-repeat: no-repeat;
    overflow: hidden
}

.post.alioth-post {
    display: block;
    overflow: hidden;
    position: relative
}

.post.alioth-post a {
    text-decoration: none;
    color: #191b1d
}

.post-image,
.post-image img {
    width: 100%;
    height: 50vh;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.post-image {
    position: relative
}

body.light .post-cat {
    color: rgba(25, 27, 29, .6)
}

.blog-classic .post.alioth-post {
    width: 100%;
    float: left;
    margin: 0;
    margin-bottom: 30px
}

.blog-classic .post-image {
    width: 100%;
    height: auto !important;
}

.blog-classic .post-image img {
    width: 100%;
    aspect-ratio: 14 / 9 !important;
    -o-object-fit: cover;
    object-fit: cover;
    height: auto !important;
}

.alioth-blog.blog-classic {
    display: block;
    overflow: hidden
}

.blog-classic .post.alioth-post.sticky {
    width: 95.5%;
    margin: 0 auto;
    float: none;
    clear: both;
    margin-bottom: 100px
}

.blog-classic .post.alioth-post.sticky .post-image {
    width: 60%;
    display: block;
    float: left
}

.blog-classic .post.alioth-post.sticky .post-meta {
    width: 40%
}

.blog-classic .post.alioth-post .post-title {
    margin-top: 20px;
    margin-bottom: -10px
}

.blog-classic .post-meta {
    display: block;
    float: left;
    overflow: hidden;
    width: 100%;
    padding: 0 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.blog-classic .post.sticky .post-meta {
    padding-top: 50px
}

.alioth-blog.blog-classic .post.alioth-post .post-title h2 {
    margin-bottom: 0
}


.blog-classic .post-cat {
    color: rgba(25, 27, 29, .6)
}


body.dark .blog-classic .post-cat,
.blog-classic.dark .post-cat {
    color: hsla(0, 0%, 100%, .4)
}

.post.alioth-post .post-title {
    margin-top: 25px
}

.post.alioth-post .post-title h3,
.post.alioth-post .post-title h2 {
    margin-bottom: 10px
}

.blog-list .post.alioth-post {
    margin-bottom: 60px;
    padding-bottom: 30px
}

.alioth-blog.blog-list {
    margin-top: 50px
}

.blog-list {
    font-size: 22px !important;
    display: inline-block
}

.post-cat {
    font-size: 22px !important;
}

.blog-list .post-cat::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 1px;
    background: hsla(0, 0%, 100%, .6);
    vertical-align: middle;
    margin: 0 9px
}

body.light .blog-list .post-cat::before {
    background: #191b1d
}

.blog-list .post.alioth-post::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(25, 27, 29, .2)
}

body.dark .blog-list .post.alioth-post::after,
.blog-list.dark .post.alioth-post::after {
    background: hsla(0, 0%, 100%, .4)
}

.blog-list .post.alioth-post .post-image {
    display: none
}

.blog-list .post-images {
    position: fixed;
    width: 30%;
    -webkit-transform: translateY(50px) translateX(50px);
    -ms-transform: translateY(50px) translateX(50px);
    transform: translateY(50px) translateX(50px);
    z-index: 55
}

.blog-list .post-images .post-image {
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden
}

.blog-list .post-images .post-image img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

body.dark .blog-list .post-cat,
.blog-list.dark .post-cat {
    color: hsla(0, 0%, 100%, .4)
}

.alioth-products {
    display: block
}

.alioth-products .product {
    position: relative;
    margin-bottom: 40px
}

.gutter {
    width: 40px
}

.alioth-products .product a {
    text-decoration: none;
    color: #191b1d
}

body.dark .product-acts a:hover {
    color: #fff !important
}

ul.product-cats {
    margin: 0;
    padding: 0;
    list-style: none
}

ul.product-cats li a {
    text-decoration: none;
    color: #191b1d
}

body.dark ul.product-cats li a {
    color: hsla(0, 0%, 100%, .2)
}

.product-acts {
    display: block;
    position: absolute;
    bottom: 7%;
    left: 7%;
    overflow: hidden
}

.product-acts a {
    display: block;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.06em;
    color: rgba(25, 27, 29, .6) !important;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: color .1s ease, -webkit-transform .4s cubic-bezier(.42, .39, .06, .99);
    transition: color .1s ease, -webkit-transform .4s cubic-bezier(.42, .39, .06, .99);
    -o-transition: transform .4s cubic-bezier(.42, .39, .06, .99), color .1s ease;
    transition: transform .4s cubic-bezier(.42, .39, .06, .99), color .1s ease;
    transition: transform .4s cubic-bezier(.42, .39, .06, .99), color .1s ease, -webkit-transform .4s cubic-bezier(.42, .39, .06, .99)
}

body.dark .product-acts a {
    color: hsla(0, 0%, 100%, .2) !important
}

.product-acts a:hover {
    color: #191b1d !important
}

.alioth-products .product:hover .product-acts a {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.alioth-products .product::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ebebeb;
    z-index: 2;
    -webkit-transition: width 1s cubic-bezier(.54, .54, .14, .99);
    -o-transition: width 1s cubic-bezier(.54, .54, .14, .99);
    transition: width 1s cubic-bezier(.54, .54, .14, .99)
}

body.dark .alioth-products .product::before {
    background: #101010
}

.alioth-products .product.is_inview::before {
    width: 0%
}

ul.single-product-mets {
    list-style: none;
    padding: 0;
    text-align: center
}

ul.single-product-mets li {
    display: inline-block
}

ul.single-product-mets li a {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: -.05em;
    color: rgba(25, 27, 29, .6);
    text-decoration: none
}

ul.single-product-mets li a.active {
    color: #191b1d
}

body.dark ul.single-product-mets li a {
    color: hsla(0, 0%, 100%, .4)
}

body.dark ul.single-product-mets li a.active {
    color: #fff
}

ul.single-product-mets li::after {
    content: "/";
    margin-left: 7px;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: -.05em;
    color: rgba(25, 27, 29, .6)
}

body.dark ul.single-product-mets li::after {
    color: hsla(0, 0%, 100%, .2)
}

ul.single-product-mets li:last-child::after {
    display: none
}

ul.single-product-mets li a:hover {
    color: #191b1d
}

body.dark ul.single-product-mets li a:hover {
    color: #fff
}

.sp-dots .swiper-pagination-bullet {
    display: block;
    margin-bottom: 30px;
    background: 0 0;
    font-size: 12px;
    font-weight: 700;
    color: #191b1d;
    opacity: .3
}

.sp-dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1
}

body.dark .sp-dots .swiper-pagination-bullet {
    color: #fff
}

ul.single-product-mets .desc {
    display: block;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 46%;
    background: #ebebeb;
    padding: 40px 40px 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    display: none;
    z-index: 2
}

ul.single-product-mets .desc .desc-close {
    position: absolute;
    right: 40px;
    top: 40px;
    font-size: 30px;
    cursor: pointer
}

body.dark ul.single-product-mets .desc {
    background: #131313
}

.project-featured-image {
    display: block;
    width: 100%;
    height: 50%;
    position: relative;
    z-index: -2
}

.project-featured-image::before {
    content: "";
    display: block;
    position: absolute;
    background: #191b1d;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0
}

.project-featured-image img {
    width: 100%;
    height: 100%;
    display: block;
    -o-object-fit: cover;
    object-fit: cover
}

.project-featured-video,
.project-featured-video .plyr {
    width: 100%;
    height: 100%
}

.project-featured-video video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.project-featured-video .plyr__video-embed iframe {
    top: 0%;
    height: 100%;
    width: 100%
}

.project-title {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
    display: block
}

.project-title h1 .tit_word {
    overflow: hidden;
    margin-top: -30px;
    padding-right: 10px
}

.project-title h1 .tit_word span {
    display: block
}

.project-cat {
    font-size: 52px !important;
    line-height: normal
}


.project-other h5,
.project-cat {
    color: rgba(25, 27, 29, .6)
}


body.dark .project-other h5,
body.dark .project-cat {
    color: hsla(0, 0%, 100%, .4)
}

.tt-line {
    overflow: hidden;
    padding-right: 5px
}

.project-title .tit_word,
.project-cat,
.summ_line,
.project-other h5 {
    overflow: hidden
}

.project-cat span,
.summ_line span,
.project-other span,
.project-title .tit_word span {
    display: block
}

s .next-project-section {
    overflow: hidden;
    margin-bottom: 0;
    position: relative
}

.next-project-section a {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding-top: 150px;
    padding-bottom: 40px
}

.next-project-section::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #f1f1f1;
    z-index: -1;
    width: 100%;
    height: 100%;
    -webkit-transition: height .8s cubic-bezier(.25, .74, .22, .99);
    -o-transition: height .8s cubic-bezier(.25, .74, .22, .99);
    transition: height .8s cubic-bezier(.25, .74, .22, .99)
}

body.dark .next-project-section::after {
    background: #101010
}

.next-project-section:hover::after {
    height: 0%
}

.alioth-works {
    display: block;
    width: 100%;
    overflow: hidden
}

.aw-project {
    display: block;
    margin-bottom: 25px;
    overflow: hidden;
    height: 400px
}

.aw-project-image,
.aw-project img {
    height: 100%;
    background-position: center;
}

.aw-project a {
    text-decoration: none;
    color: #191b1d
}

.aw-project-wrap {
    position: relative;
    overflow: hidden;
    height: 100%
}

.aw-project .aw-project-wrap::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #ebebeb;
    z-index: 1;
    -webkit-transition: width .8s cubic-bezier(.54, .54, .14, .99);
    -o-transition: width .8s cubic-bezier(.54, .54, .14, .99);
    transition: width .8s cubic-bezier(.54, .54, .14, .99)
}

body.dark .aw-project .aw-project-wrap::before {
    background: #101010
}

.aw-project.is_inview .aw-project-wrap::before {
    width: 0
}

.aw-works-gutter {
    width: 10%
}

.aw-works-stamp {
    position: absolute;
    right: 0;
    width: 10px;
    height: 100px
}

.aw-project img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.aw-categories {
    display: block;
    margin-bottom: 50px
}

.portfolio-showcase.showcase-video {
    position: relative
}

.portfolio-showcase .plyr__controls {
    display: none
}

.plyr--full-ui input[type=range] {
    color: #000
}

.portfolio-showcase .plyr__video-embed iframe {
    top: 0%;
    height: 100%;
    width: 100%
}

.portfolio-showcase .plyr {
    width: 100%;
    height: 100%;
    pointer-events: none
}

.portfolio-showcase .plyr__video-wrapper {
    width: calc((75vh - 2rem) * 1.77777778);
    min-width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.showcase-video {
    width: 100%;
    height: 100%
}

.showcase-video video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

.showcase-footer {
    position: absolute;
    bottom: 7.5%;
    width: 83%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    pointer-events: none
}

.apc-cats {
    display: block;
    float: left;
    width: 100%;
    clear: both;
    margin-left: 7.5%;
    margin-bottom: 30px
}

.apc-cats ul {
    padding: 0;
    list-style: none;
    display: inline-block;
    overflow: hidden
}

.apc-cats ul li {
    font-size: 35px;
    font-weight: 700;
    letter-spacing: -.06em;
    opacity: .3;
    display: inline-block;
    cursor: pointer;
    padding: 0
}

.apc-cats ul.locked {
    pointer-events: none
}

.apc-cats ul li.active {
    opacity: 1
}

.apc-cats ul li::after {
    content: "/";
    display: inline-block;
    margin: 0 15px
}

.apc-cats ul li.active::after {
    opacity: .35
}

.apc-cats ul li:last-child::after {
    display: none
}

.apc-product-wrapper {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: auto;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    height: 400px;
}

.apc-product {
    display: block;
    height: 100%;
    margin-right: 30px;
    position: relative;
    width: 31.3vw;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.apc-product.hide {
    display: none
}

span.product-ov {
    position: absolute;
    top: 0;
    right: 0;
    width: 0%;
    height: 100%;
    background: #ebebeb
}

body.dark span.product-ov {
    background: #101010
}

span.sn_bef {
    position: absolute;
    width: 1px;
    height: 40px;
    background: rgba(25, 27, 29, .6);
    bottom: 140%;
    left: 5px
}

.a-plus-button {
    position: relative;
    display: inline-block;
    cursor: pointer;
    width: 50px;
    height: 50px
}

.a-plus-button::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #191b1d;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.a-plus-button::after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 50px;
    background: #191b1d;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: -webkit-transform .6s ease;
    transition: -webkit-transform .6s ease;
    -o-transition: transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease, -webkit-transform .6s ease
}

body.dark .a-plus-button::before,
body.dark .a-plus-button::after,
.a-plus-button.light::after,
.a-plus-button.light::before {
    background: #fff
}

.a-plus-button a {
    display: block;
    width: 100%;
    height: 100%;
    white-space: nowrap;
    color: #191b1d;
    font-size: 12px;
    overflow: hidden;
    font-weight: 600
}

body.dark .a-plus-button a,
.a-plus-button.light a {
    color: #fff
}

.a-plus-button a>span {
    display: inline-block;
    position: absolute;
    top: 30%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    left: 50%;
    overflow: hidden
}

.a-plus-button a>span>span {
    display: block;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .3s ease .3s;
    transition: -webkit-transform .3s ease .3s;
    -o-transition: transform .3s ease .3s;
    transition: transform .3s ease .3s;
    transition: transform .3s ease .3s, -webkit-transform .3s ease .3s
}

.a-plus-button:hover a>span>span {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.a-plus-button:hover::after {
    -webkit-transform: translateX(-50%) rotate(270deg);
    -ms-transform: translateX(-50%) rotate(270deg);
    transform: translateX(-50%) rotate(270deg)
}

.fullscreen-wall-showcase {
    position: fixed;
    width: 100%;
    height: 100%
}

.fw-images {
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    pointer-events: none
}

.portfolio-showcase .fw-images .plyr__video-wrapper {
    width: calc((100vh) * 1.77777778)
}

.fw-images .fw-project-image,
.fw-images .fw-project-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

.fw-images .fw-project-image {
    position: absolute;
    top: 0;
    right: 0
}

.fw-project {
    display: inline-block;
    padding: 20px 0;
    cursor: pointer;
    overflow: hidden;
    padding-right: 5px
}

.fw-project a {
    text-decoration: none;
    color: #191b1d;
    display: inline-block
}

body.dark .fw-project a,
.fullscreen-wall-showcase.dark .fw-project a {
    color: #fff
}

.fw-project .fw-project-category {
    display: none
}

.fw-project-title {
    font-size: 60px;
    font-weight: 700;
    letter-spacing: -.06em;
    display: inline-block;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.fw-project.opdown .fw-project-title {
    opacity: .2
}

.fw-project.active.opdown .fw-project-title {
    opacity: 1
}

.fw-project-image-wrap {
    position: absolute;
    top: 0;
    right: 0;
    width: 0%;
    height: 100%;
    overflow: hidden
}

.fw-project::after {
    content: "/";
    display: inline-block;
    font-size: 60px;
    margin: 0 20px;
    font-weight: 700;
    color: rgba(25, 27, 29, .2)
}

.fwt-line .fw-project:last-child::after {
    display: none
}

.fw-cat {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.05em;
    color: rgba(25, 27, 29, .6);
    overflow: hidden
}

body.dark .fw-cat,
.fullscreen-wall-showcase.dark .fw-cat,
body.dark .fw-project::after,
.fullscreen-wall-showcase.dark .fw-project::after {
    color: hsla(0, 0%, 100%, .6)
}

.swiper-slide.cs-project {
    height: 100vh;
    display: block;
    position: relative;
    border-right: 1px solid #e4e4e4;
    cursor: pointer
}

.cs-project .cs-project-image {
    display: none
}

.cs-images {
    position: fixed;
    display: block;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: -1
}

.cs-images .cs-project-image img,
.cs-images .cs-project-image {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0
}

.swiper-slide.cs-project::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(255 255 255/50%);
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    z-index: -1;
    opacity: 0;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.swiper-slide.cs-project.hovered::after {
    opacity: 1
}

.portfolio-showcase.showcase-list {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.showcase-list-wrapper {
    position: relative;
    left: 25%;
    width: 100%;
    height: 100%;
    margin-top: 250px
}

.portfolio-showcase.showcase-list .plyr {
    min-height: 500px
}

.sl-project {
    display: block;
    padding: 40px 0;
    cursor: pointer;
    z-index: auto;
    -webkit-transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, -webkit-transform .3s ease;
    -o-transition: transform .3s ease, opacity .3s ease;
    transition: transform .3s ease, opacity .3s ease;
    transition: transform .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    position: relative
}

.sl-project a {
    text-decoration: none;
    color: #191b1d;
    display: block;
    overflow: hidden
}

.showcase-list.dark .sl-project a,
body.dark .sl-project a {
    color: #fff
}

.sl-project.opdown {
    opacity: .1
}

.sl-project:hover {
    -webkit-transform: translateX(30px);
    -ms-transform: translateX(30px);
    transform: translateX(30px)
}

.sl-images {
    position: fixed;
    z-index: -1
}

.sl-images .sl-project-image {
    width: 50vw;
    position: absolute;
    top: 0;
    overflow: hidden;
    pointer-events: none;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    visibility: hidden
}

.sl-images .sl-project-image .sl-hover-wrap {
    width: 100%;
    height: 100%;
    -webkit-transform: scale(.7);
    -ms-transform: scale(.7);
    transform: scale(.7);
    overflow: hidden;
    -webkit-transition: -webkit-transform .6s cubic-bezier(0, .55, .45, 1);
    transition: -webkit-transform .6s cubic-bezier(0, .55, .45, 1);
    -o-transition: transform .6s cubic-bezier(0, .55, .45, 1);
    transition: transform .6s cubic-bezier(0, .55, .45, 1);
    transition: transform .6s cubic-bezier(0, .55, .45, 1), -webkit-transform .6s cubic-bezier(0, .55, .45, 1)
}

.sl-images .sl-project-image img {
    width: 100%;
    height: 100%;
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    -webkit-transition: -webkit-transform .6s cubic-bezier(0, .55, .45, 1);
    transition: -webkit-transform .6s cubic-bezier(0, .55, .45, 1);
    -o-transition: transform .6s cubic-bezier(0, .55, .45, 1);
    transition: transform .6s cubic-bezier(0, .55, .45, 1);
    transition: transform .6s cubic-bezier(0, .55, .45, 1), -webkit-transform .6s cubic-bezier(0, .55, .45, 1)
}

.sl-images .sl-project-image.active .sl-hover-wrap {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.sl-images .sl-project-image.active img {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.sl-project-title {
    font-size: 100px;
    font-weight: 700;
    letter-spacing: -.06em;
    position: relative;
    z-index: -1
}

.sl-project::before {
    content: attr(data-index);
    position: absolute;
    left: 0;
    top: 20px;
    font-size: 16px;
    letter-spacing: 0;
    font-weight: 500;
    -webkit-transform: translateX(-150%);
    -ms-transform: translateX(-150%);
    transform: translateX(-150%);
    color: rgba(25, 27, 29, .6);
    opacity: 0
}

.sl-project-meta div {
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.05em;
    color: rgba(25, 27, 29, .6)
}

.showcase-list.dark .sl-project::before,
body.dark .sl-project::before,
.showcase-list.dark .sl-project-meta div,
body.dark .sl-project-meta div {
    color: hsla(0, 0%, 100%, .4)
}

.sl-project-meta {
    display: block;
    margin-top: 10px;
    margin-left: 5px;
    position: relative;
    z-index: -1
}

.sl-project:hover .sl-project-title,
.sl-project:hover .sl-project-meta {
    z-index: 5
}

.portfolio-showcase.showcase-list .showcase-footer {
    position: fixed
}

.fullscreen-slider-showcase {
    display: block;
    position: relative;
    width: 100%;
    height: 100vh
}

@supports(-webkit-touch-callout:none) {
    .fullscreen-slider-showcase {
        height: -webkit-fill-available
    }
}

.fullscreen-slider-showcase .slide-bgimg,
.fullscreen-slider-showcase .swiper-wrapper {
    -webkit-transition-timing-function: cubic-bezier(.87, 0, .13, 1) !important;
    -o-transition-timing-function: cubic-bezier(.87, 0, .13, 1) !important;
    transition-timing-function: cubic-bezier(.87, 0, .13, 1) !important
}

.fs-project.swiper-slide .fs-project-image {
    display: none
}

.fs-project {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
    z-index: 2;
    pointer-events: none
}

.fs-project.active {
    visibility: visible
}

.fs-title {
    font-size: 110px;
    font-weight: 700;
    letter-spacing: -.06em;
    margin-bottom: 100px;
    line-height: 115px;
    width: 100%;
    display: block;
    overflow: hidden
}

.fullscreen-slider-showcase.dark .fs-title,
body.dark .fullscreen-slider-showcase .fs-title {
    color: #fff
}

.fs-meta {
    display: inline-block;
    margin-left: 5px
}

.fs-meta span {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.06em;
    color: rgba(25, 27, 29, .6);
    line-height: 25px
}

.fullscreen-slider-showcase.dark .fs-meta span,
body.dark .fullscreen-slider-showcase .fs-meta span {
    color: hsla(0, 0%, 100%, .5)
}

span.fs-prog {
    width: 100px;
    height: 1px;
    background: rgba(25, 27, 29, .3);
    vertical-align: middle;
    margin-top: -1px;
    margin-left: 15px;
    margin-right: 15px;
    position: relative
}

.fullscreen-slider-showcase.dark span.fs-prog,
body.dark .fullscreen-slider-showcase span.fs-prog {
    background: hsla(0, 0%, 100%, .2)
}

.fs-button {
    position: absolute;
    right: 20%;
    top: 32%;
    display: block;
    pointer-events: all
}

.fs-button a {
    text-decoration: none;
    color: #191b1d;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -.05em;
    position: relative;
    display: block
}

.fullscreen-slider-showcase.dark .fs-button a::after,
body.dark .fs-button a::after,
.fullscreen-slider-showcase.dark .fs-button a,
body.dark .fs-button a {
    color: #fff
}

.fs-button a::after {
    content: "\ea5d";
    font-family: IcoFont;
    font-size: 20px;
    vertical-align: middle;
    margin-left: 10px;
    margin-top: -1px;
    display: inline-block
}

.fs-button,
.fs-meta,
.fs-fraction {
    overflow: hidden
}

.fs-tit-char {
    overflow: hidden;
    padding-right: 3px;
    margin-right: -3px
}

.fs-tit-char>span,
.fs-button>span,
.fs-meta>span,
.fs-fraction>span {
    display: block
}

.fs-images {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.fs-images .fs-project-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.fs-fraction {
    display: block;
    position: absolute;
    left: 8.5%;
    top: 29.5%;
    overflow: hidden;
    z-index: 2
}

.fs-fraction span {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.06em;
    font-size: 15px;
    color: rgba(25, 27, 29, .6);
    display: block
}

.fullscreen-slider-showcase.dark .fs-fraction span,
body.dark .fs-fraction span {
    color: hsla(0, 0%, 100%, .4)
}

.fs-img-wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.portfolio-showcase.carousel-showcase {
    width: 100%;
    height: 100vh
}

.cas-project-wrapper {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%
}

.cas-project {
    display: block;
    margin-right: 300px;
    width: 50vw;
    position: relative;
    height: 50vh
}

.cas-project:last-child {
    margin-right: 0
}

.cas-headline {
    position: absolute;
    top: 50%;
    left: 8.5%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    max-width: 80vw;
    font-size: 60px;
    font-weight: 700;
    letter-spacing: -.06em;
    line-height: 75px;
    padding-left: 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.cas-headline .cas-line {
    overflow: hidden;
    padding-right: 6px
}

.cas-headline .cas-line span {
    display: block
}

.cas-titles {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    height: 250px;
    overflow: hidden
}

.cas-titles .cas-titles-wrap {
    display: block;
    position: relative;
    overflow: hidden;
    -webkit-transform: translateY(250px);
    -ms-transform: translateY(250px);
    transform: translateY(250px)
}

.cas-titles .cs-title {
    font-size: 150px;
    font-weight: 700;
    letter-spacing: -.06em;
    white-space: nowrap;
    padding: 50px 0
}

.cas-titles .cs-title a {
    text-decoration: none;
    color: #191b1d;
    display: block;
    overflow: hidden
}

.cas-progress {
    display: block;
    position: fixed;
    bottom: 7.5%;
    width: 50%;
    height: 1px;
    background: rgba(25, 27, 29, .2);
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.cas-progress span {
    position: absolute;
    left: 0;
    background: #191b1d;
    height: 100%;
    width: 0%
}

.carousel-showcase.dark .cas-progress,
body.dark .cas-progress {
    background: hsla(0, 0%, 100%, .2)
}


body.dark .cas-progress span {
    background: #fff
}

.cas-bg-text {
    font-size: 200px;
    font-weight: 700;
    letter-spacing: -.07em;
    position: fixed;
    top: 10%;
    left: 0;
    white-space: nowrap;
    opacity: .02
}

.carousel-showcase.dark .cas-titles .cs-title a,
body.dark .cas-titles .cs-title a,
.carousel-showcase.dark .cas-headline,
body.dark .cas-headline {
    color: #fff
}

.portfolio-showcase.showcase-slideshow {
    position: relative;
    width: 100%;
    height: 100vh
}

@supports(-webkit-touch-callout:none) {
    .portfolio-showcase.showcase-slideshow {
        height: -webkit-fill-available
    }
}

.showcase-slideshow-wrapper {
    position: absolute;
    top: 50%;
    right: 10%;
    -webkit-transform: translatey(-50%);
    -ms-transform: translatey(-50%);
    transform: translatey(-50%);
    width: 35%;
    height: 68%
}

.ss-project {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    visibility: hidden
}

.ss-project.active {
    visibility: visible
}

.ss-project .ss1-image {
    display: none
}

.ss1-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.ss1-title {
    font-size: 100px;
    font-weight: 700;
    letter-spacing: -.06em;
    float: left;
    width: 100%;
    display: block;
    line-height: 120px
}

.ss1-title .st-line {
    display: block
}

.ss1-summary {
    float: left;
    width: 100%;
    margin-top: 50px;
    font-size: 14px;
    line-height: 25px
}

.ss1-date {
    position: absolute;
    top: 0;
    right: 0
}

.ss1-cat {
    display: block;
    font-size: 30px;
    line-height: 35px;
    font-weight: 700;
    letter-spacing: -.05em;
    color: rgba(25, 27, 29, .6);
    margin-left: 100px;
    margin-bottom: 30px;
    float: left;
    overflow: hidden
}

.showcase-slideshow.dark .ss1-title,
.showcase-slideshow.dark .ss1-date,
body.dark .ss1-title,
body.dark .ss1-date {
    color: #fff
}

.showcase-slideshow.dark .ss1-cat,
body.dark .ss1-cat,
.showcase-slideshow.dark .ss1-summary,
body.dark .ss1-summary {
    color: hsla(0, 0%, 100%, .4)
}

.ss1-images {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.ss1-images .ss1-image-wrap img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.ss1-image-wrap {
    width: 100%;
    height: 100%
}

.ss1-image-wrap.active {
    width: 100%
}

.ss1-sl-image {
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease
}

.ss1-sl-image {
    position: absolute;
    top: 50%;
    left: 15%;
    -webkit-transform: translatey(-50%);
    -ms-transform: translatey(-50%);
    transform: translatey(-50%);
    width: 50%;
    height: 62%;
    overflow: hidden
}

.ss1-sl-image .plyr__video-wrapper {
    width: calc((75vh) * 1.77777778) !important
}

.ss1-sl-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.ss1-images .swiper-wrapper {
    -webkit-transition-timing-function: cubic-bezier(.51, .51, 0, 1.01);
    -o-transition-timing-function: cubic-bezier(.51, .51, 0, 1.01);
    transition-timing-function: cubic-bezier(.51, .51, 0, 1.01)
}

.ss1-fraction {
    position: absolute;
    right: 8%;
    bottom: 5%
}

.ss1-fraction div {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -.05em
}

.showcase-slideshow.dark .ss1-fraction div,
body.dark .ss1-fraction div {
    color: #fff
}

.ss1-button {
    display: block;
    border-radius: 50px;
    background: #ebebeb;
    display: inline-block;
    position: absolute;
    right: 20%;
    bottom: 20%;
    overflow: hidden;
    white-space: nowrap
}

.ss1-button a {
    display: block;
    text-decoration: none;
    color: #191b1d;
    padding: 20px 40px
}

body.dark .ss1-button {
    background: hsla(0, 0%, 100%, .2)
}

body.dark .ss1-button a {
    color: #fff
}

.ss1-button a::after {
    content: "\ea94";
    font-family: IcoFont;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle
}

.ss1-nav {
    position: absolute;
    bottom: 5%;
    left: 8%
}

.ss1-nav i {
    font-size: 25px
}

.ss1-prev::after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    background: #191b1d;
    margin: 0 auto;
    margin-top: -16px
}

.ss1-next::before {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    background: #191b1d;
    margin: 0 auto;
    margin-bottom: -16px
}

.ss1-nav div {
    padding: 10px 0;
    cursor: pointer
}

.showcase-slideshow.dark .ss1-nav div,
body.dark .ss1-nav div {
    color: #fff
}

.showcase-slideshow.dark .ss1-prev::after,
.showcase-slideshow.dark .ss1-next::before,
body.dark .ss1-prev::after,
body.dark .ss1-next::before {
    background: #fff;
    color: #fff
}

.tl-wrap,
.ssum-line {
    display: block;
    overflow: hidden
}

.ss2-project {
    position: absolute;
    width: 100%;
    height: 100%
}

.portfolio-showcase.showcase-slideshow-v2 {
    position: relative;
    width: 100%;
    height: 100vh
}

.portfolio-showcase.showcase-slideshow-v2::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #191b1d;
    width: 100%;
    height: 100%;
    z-index: 3;
    opacity: 0;
    pointer-events: none
}

.showcase-slideshow-2-wrapper {
    display: block;
    position: relative;
    max-width: 35%;
    height: 70%;
    top: 50%;
    left: 16%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.ss2-project-meta {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.ss2-project-image {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute
}

.ss2-project-image img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%
}

.ss2-project .ss2-project-image {
    display: none
}

.ss2-images {
    position: absolute;
    right: 8.5%;
    top: 50%;
    width: 35%;
    height: 70%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.slide-bgimg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover
}

.ss2-project-title {
    font-size: 100px;
    font-weight: 700;
    letter-spacing: -.06em;
    display: block;
    margin-bottom: 30px;
    line-height: 120px
}

body.dark .ss2-button a,
.showcase-slideshow-v2.dark .ss2-button a,
.showcase-slideshow-v2.dark .ss2-dots span.ss2-dot,
body.dark .ss2-dots span.ss2-dot,
body.dark .ss2-project-cat,
.showcase-slideshow-v2.dark .ss2-project-cat,
body.dark .ss2-project-title,
.showcase-slideshow-v2.dark {
    color: #fff
}

.ss2-project-cat {
    display: inline-block;
    margin-bottom: 25px;
    overflow: hidden;
    line-height: 35px;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: -.06em;
    color: rgba(25, 27, 29, .6)
}

body.dark .ss2-project-excerpt,
.showcase-slideshow-v2.dark .ss2-project-excerpt,
body.dark .ss2-project-cat,
.showcase-slideshow-v2.dark .ss2-project-cat {
    color: hsla(0, 0%, 100%, .4)
}

body.dark .ss2-back-texts,
.showcase-slideshow-v2.dark .ss2-back-texts {
    color: hsla(0, 0%, 100%, .01)
}

.ss2-project-cat span {
    display: block
}

.ss2-project-excerpt {
    width: 60%;
    font-size: 14px;
    line-height: 28px;
    margin-left: 7px;
    color: rgba(25, 27, 29, .4)
}

.ss2-project-excerpt>div {
    display: block;
    overflow: hidden
}

.ss2-project-excerpt>div>span {
    display: block
}

body.dark .ss2-button,
.showcase-slideshow-v2.dark .ss2-button,
.showcase-slideshow-v2.dark .ss2-back-texts {
    background: #131313
}

.ss2-dots {
    position: absolute;
    left: 8.5%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.ss2-dots span.ss2-dot {
    display: block;
    cursor: pointer;
    margin-left: 25px;
    opacity: .3;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -.05em;
    padding: 15px 0;
    background: 0 0;
    width: 0;
    height: 0;
    border-radius: 0;
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
    margin-bottom: 20px
}

.ss2-dot::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 1px;
    background: #191b1d;
    vertical-align: middle;
    margin-top: -25px;
    margin-left: 20px;
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease
}

.ss2-dots span.ss2-dot:hover {
    opacity: .6
}

.ss2-dots span.ss2-dot.swiper-pagination-bullet-active {
    opacity: 1;
    margin-left: 0
}

.ss2-dot.swiper-pagination-bullet-active::after {
    width: 20px
}

.ss2-project .title-line {
    overflow: hidden
}

.ss2-project {
    visibility: hidden
}

.ss2-project.active {
    visibility: visible
}

.ss2-nav {
    position: absolute;
    bottom: 8%;
    right: 25%;
    -webkit-transform: translateX(-30%);
    -ms-transform: translateX(-30%);
    transform: translateX(-30%)
}

.ss2-nav div {
    display: inline-block;
    cursor: pointer;
    vertical-align: middle
}

.ss2-nav i {
    font-size: 25px;
    display: inline-block;
    vertical-align: middle
}

.ss2-prev::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 1px;
    background: #191b1d;
    vertical-align: middle;
    margin-left: -15px
}

.ss2-nav div.ss2-prev {
    margin-right: 15px
}

.ss2-next::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 1px;
    background: #191b1d;
    vertical-align: middle;
    margin-right: -15px
}

.ss2-nav div.ss2-next {
    margin-left: 15px
}

.ss2-back-texts {
    position: absolute;
    top: 22%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 220px;
    font-weight: 700;
    white-space: nowrap;
    color: rgba(25, 27, 29, .02);
    width: 100%;
    height: auto
}

.ss2-back-text {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden
}

.ss2-back-text.active {
    visibility: visible
}

.ss2-back-text .bt-char {
    overflow: hidden
}

.ss2-back-text .bt-char span {
    display: block
}

.ss2-button {
    position: absolute;
    width: 150px;
    height: 150px;
    background: #ebebeb;
    border-radius: 50%;
    bottom: 20%;
    left: 50%;
    -webkit-transform: translateX(-80%);
    -ms-transform: translateX(-80%);
    transform: translateX(-80%);
    z-index: 2
}

.ss2-button a {
    text-decoration: none;
    color: #191b1d;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    white-space: nowrap;
    display: block
}

.ss2-button a::after {
    content: "\eac7";
    display: block;
    text-align: center;
    font-family: IcoFont;
    margin-top: 10px;
    font-size: 20px
}

.project-image {
    display: none
}

.wall-projects-top,
.wall-projects-bottom {
    white-space: nowrap;
    display: inline-block;
    width: auto
}

.wall-projects-top {
    margin-bottom: 30px;
    -webkit-transform: translateX(10%);
    -ms-transform: translateX(10%);
    transform: translateX(10%)
}

.wall-projects-bottom {
    float: right;
    -webkit-transform: translateX(-10%);
    -ms-transform: translateX(-10%);
    transform: translateX(-10%)
}

.wall-images {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 30%;
    height: 70%;
    z-index: -2;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    display: block
}

.wall-images img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

.wall-drag {
    position: absolute;
    width: 50%;
    height: 1px;
    bottom: 10%;
    background: rgba(25, 27, 29, .3);
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

body.dark .wall-drag {
    background: hsla(0, 0%, 100%, .2)
}

span.wall-prog {
    position: absolute;
    left: 0;
    width: 0%;
    height: 1px;
    background: #191b1d;
    z-index: 6
}

body.dark span.wall-prog {
    background: #fff
}

.ai-wrapper {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 30px
}

.aph_sub_line {
    overflow: hidden
}

.aph_sub_line span {
    display: block
}

.circular-button {
    position: absolute;
    bottom: 10%;
    left: 20%;
    background: #191b1d;
    border-radius: 50%;
    width: 150px;
    height: 150px;
    text-decoration: none;
    color: #fff
}

.circular-button.dark,
body.dark .circular-button {
    color: #fff;
    background: #101010
}

.circular-button span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    z-index: 2;
    opacity: 0
}

a.circular-button::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 0%;
    background: #ebebeb;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all .6s ease;
    -o-transition: all .6s ease;
    transition: all .6s ease;
    z-index: 1
}

a.circular-button.dark::after,
body.dark a.circular-button::after {
    background: #fff
}

a.circular-button:hover::after {
    width: 100%;
    height: 100%
}

a.circular-button:hover {
    color: #191b1d
}

a.circular-button.dark:hover,
body.dark a.circular-button:hover {
    color: #191b1d
}

.circular-button span i {
    display: block;
    margin-top: 10px
}

.alioth-embed-video {
    position: relative
}

.alioth-embed-video .plyr--full-ui input[type=range] {
    color: #000
}

.alioth-embed-video .plyr__video-embed iframe {
    top: -50%;
    height: 200%
}

.alioth-embed-video .video-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 123px;
    height: 123px;
    background: rgba(0, 0, 0, .49);
    z-index: 1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    cursor: pointer
}

.alioth-embed-video .video-overlay:hover {
    width: 130px;
    height: 130px
}

.alioth-embed-video .play-button {
    position: absolute;
    top: 50%;
    left: 53%;
    z-index: 2;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 40px;
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 30px solid #fff;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease
}

.alioth-embed-video .plyr__controls {
    opacity: 0
}

.alioth-embed-video.video-play .plyr__controls {
    opacity: 1
}

.alioth-embed-video.video-play .video-overlay {
    opacity: 0;
    pointer-events: none
}

.alioth-services.style_1 {
    width: 100%;
    height: 100vh
}

.alioth-services.style_1 .service {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    visibility: hidden
}

.alioth-services.style_1 .service.active {
    visibility: visible
}

.alioth-services.style_1 .service-title {
    font-size: 100px;
    font-weight: 700;
    letter-spacing: -.05px;
    margin-bottom: 50px;
    -webkit-transform: translateX(-20%);
    -ms-transform: translateX(-20%);
    transform: translateX(-20%);
    line-height: 120px
}

.alioth-services.style_1 .service-title .tit-line {
    overflow: hidden
}

.alioth-services.style_1 .service-content {
    font-size: 16px;
    line-height: 28px;
    display: block;
    width: 80%;
    float: right;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: rgba(25, 27, 29, .6)
}

.service-images {
    display: block;
    width: 50%;
    height: 100%;
    float: left;
    overflow: hidden;
    z-index: -1
}

.service-images .s-imgo,
.service-images .s-imgo img {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover
}

.alioth-services.style_2 {
    overflow: hidden;
    margin-top: 0
}

.alioth-services.style_2 .services {
    display: block;
    width: 100%;
    float: left
}

.alioth-services.style_2 .service-title {
    font-size: 80px;
    line-height: 100px;
    font-weight: 500;
    letter-spacing: -4px;
    font-family: "Neue";
    cursor: pointer;
    display: block;
    float: left;
    padding: 60px 0;
    overflow: hidden
}

.alioth-services.style_2 .service-title .ser_tit_line {
    overflow: hidden;
    padding-right: 10px
}

.alioth-services.style_2 .service-wrap {
    overflow: hidden;
    margin-left: 10px;
    display: block;
    float: left;
    position: relative
}

.alioth-services.style_2 .service-wrap::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 1px;
    background: #191b1d
}

.alioth-services.style_2 .service {
    display: block;
    position: relative;
    float: left
}

.alioth-services.style_2 .service::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(25, 27, 29, .2);
    position: absolute;
    bottom: 0
}

.alioth-services.style_2 .service-toggle {
    display: block;
    float: right;
    padding: 60px 0
}

.alioth-services.style_2 .service-toggle i {
    float: right;
    font-size: 50px;
    vertical-align: middle;
    display: block
}

.alioth-services.style_2 .service-cont {
    display: block;
    float: right;
    width: 65%;
    padding-right: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    opacity: 0;
    padding-top: 60px;
    padding-bottom: 60px
}

.alioth-services.style_2.dark .service-toggle,
body.dark .alioth-services .service-toggle,
body.dark .alioth-services .service-title,
.alioth-services.style_2.dark .service-title {
    color: #fff
}

body.dark .alioth-services .service::after,
.alioth-services.style_2.dark .service::after {
    background: hsla(0, 0%, 100%, .2)
}

body.dark .alioth-services .service-wrap::before,
.alioth-services.style_2.dark .service-wrap::before {
    background: #fff
}

.alioth-services.style_2.light .service-toggle,
.alioth-services.style_2.light .service-title {
    color: #191b1d !important
}

.alioth-services.style_2.light .service::after {
    background: rgba(25, 27, 29, .6) !important
}

.alioth-services.style_2.light .service-wrap::before {
    background: #191b1d !important
}

.single-image {
    width: 100%;
    display: block;
    position: relative;
    float: left
}

.single-image.lightbox {
    cursor: pointer
}

.single-image img {
    width: 100%
}

.single-image.parallax_wrapper {
    width: 100%;
    background-size: cover;
    background-position: 50% 0%;
    background-repeat: no-repeat;
    overflow: hidden
}

.alioth-team {
    display: block;
    clear: both;
    float: left
}

.swiper-container.team-container {
    overflow: visible
}

.team-progress {
    display: block;
    position: relative;
    width: 100%;
    height: 10px
}

.team-progress {
    display: block;
    position: relative;
    width: 80%;
    height: 1px;
    float: left;
    margin-top: 14.5px
}

.a-number-counter {
    position: relative;
    display: block
}

.ac-number {
    font-size: 100px;
    font-weight: 700;
    letter-spacing: -7.5px;
    height: 100px;
    position: relative;
    display: inline-block;
    padding-bottom: 20px;
    overflow-y: hidden;
    padding-right: 5px
}

.ac-number span {
    display: block
}

.numbers-wrapper {
    -webkit-transform: translateY(28%);
    -ms-transform: translateY(28%);
    transform: translateY(28%)
}

.ac-number span:last-child::after {
    content: attr(data-sign);
    display: inline-block;
    margin-left: 5px;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: all .6s ease;
    -o-transition: all .6s ease;
    transition: all .6s ease
}

.count_anim_end .ac-number span:last-child::after {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

span.ac-sign {
    font-size: 100px;
    font-weight: 700;
    letter-spacing: -7.5px;
    display: inline-block;
    padding-bottom: 20px;
    vertical-align: top;
    overflow: hidden
}

.a-number-counter.dark span.ac-sign {
    color: #fff
}

.ac-title {
    display: block;
    font-size: 16px;
    margin-top: -1px;
    overflow: hidden;
    color: rgba(25, 27, 29, .6)
}

.ac-title span {
    display: block;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .5s ease 1s;
    transition: -webkit-transform .5s ease 1s;
    -o-transition: transform .5s ease 1s;
    transition: transform .5s ease 1s;
    transition: transform .5s ease 1s, -webkit-transform .5s ease 1s
}

.a-number-counter.count_inview .ac-title span {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%)
}

.ac-title::before {
    content: "";
    display: block;
    background: hsla(0, 0%, 100%, .2);
    width: 0%;
    height: 1px;
    margin-bottom: 30px;
    -webkit-transition: all .7s ease;
    -o-transition: all .7s ease;
    transition: all .7s ease
}

.a-number-counter.count_inview .ac-title::before {
    width: 80%
}

.a-number-counter.dark .ac-number,
body.dark .ac-number {
    color: #fff
}

.a-number-counter.dark .ac-title,
body.dark .ac-title {
    color: hsla(0, 0%, 100%, .4)
}

.line-holder {
    overflow: hidden;
    display: block
}

.word-holder {
    overflow: hidden;
    display: inline-block;
    vertical-align: middle
}

.has-anim {
    display: block;
    width: 100%
}

.img-anim-wrapper {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden
}

.img-anim-ov {
    position: absolute;
    display: block;
    pointer-events: none;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.img-anim-wrapper img {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2)
}

.single-image span {
    display: block;
    position: absolute
}

.anim_line {
    display: block;
    overflow: hidden
}

@media only screen and (max-width:450px) {

    .post-cat {
        font-size: 16px !important;
    }

    .project-cat {
        font-size: 40px !important;
    }

    h1 {
        font-size: 30px;
        line-height: normal;
    }

    h2 {
        font-size: 26px;
        line-height: normal;
        letter-spacing: normal
    }

    h3 {
        font-size: 22px;
        line-height: normal;
        letter-spacing: normal
    }

    html,
    body {
        overflow-x: clip
    }

    .site-header {
        height: 60px
    }

    .site-navigation.fullscreen ul ul li {

        font-size: 60px;
        line-height: 60px;
        font-weight: normal;
        letter-spacing: -.03em;
        display: block;
        overflow: hidden;
        padding-bottom: 0
    }

    .site-navigation.fullscreen ul.ulcol {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1
    }

    .site-navigation.fullscreen .menu.main-menu {
        left: 0;
        bottom: unset;
        top: 15%;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none
    }

    .site-navigation.fullscreen .menu.main-menu>li.menu-item {

        font-size: 60px;
        line-height: 70px;
        font-weight: normal;
        letter-spacing: -.03em;
        display: block;
        overflow: hidden;
        padding-bottom: 0
    }

    .sub-toggle {
        width: 30px !important;
        height: 30px !important;
    }

    .site-navigation.fullscreen .fs-menu-wrapper {
        height: 100%
    }

    .site-navigation.fullscreen {
        height: 100%
    }

    .menu-toggle {
        left: unset;
        right: 0
    }

    .social-list li {
        display: inline-block;
        font-size: 15px;
        line-height: 20px;
        display: block
    }

    .sub-back.is-active {
        left: 0;
        top: 100%
    }

    .site-navigation.fullscreen .menu.main-menu.hovered>li.menu-item a::before {
        width: 100%
    }

    #footer {
        padding: 45px 0 1px !important
    }

    .btn {
        font-size: 20px !important;
    }

    .a-recent-works .a-button.style_1 {
        margin-top: 50px
    }

    .recent-works-bg-text {
        top: 0;
        font-size: 100px
    }

    .alioth-latest-posts .post {
        width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 50px
    }

    .alioth-latest-posts h2 {
        font-size: 25px;
        line-height: 35px
    }

    .project-title {
        -webkit-transform: translateY(-35%);
        -ms-transform: translateY(-35%);
        transform: translateY(-35%);
        display: block;
        width: 100%;
        margin-bottom: 50px;
        white-space: normal
    }

    .next-project-section a {
        padding-top: 70px
    }

    .next-project-section .c-col-12 {
        margin-bottom: 0
    }

    .cas-headline {
        font-size: 30px;
        line-height: 45px;
        max-width: 70vw;
        padding-left: 0
    }

    .cas-project {
        width: 80vw;
        height: 60vh
    }

    .cas-titles .cs-title {
        font-size: 40px;
        padding: 20px 0
    }

    .cas-titles {
        height: 80px
    }

    .cas-titles .cas-titles-wrap {
        -webkit-transform: translateY(80px);
        -ms-transform: translateY(80px);
        transform: translateY(80px)
    }

    .cas-progress {
        display: none
    }

    .fs-title {
        font-size: 65px;
        line-height: 70px;
        margin-bottom: 20px
    }

    span.fs-prog {
        width: 50px
    }

    .fs-button {
        position: absolute;
        left: 8.5%;
        top: 29.5%;
        display: block
    }

    .fs-fraction {
        top: 22.5%
    }

    .sl-project-title {
        font-size: 40px
    }

    .showcase-list-wrapper {
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        margin-top: 150px;
        text-align: center
    }

    .sl-project {
        padding: 20px 0
    }

    .sl-project-meta div {
        font-size: 15px
    }

    .sl-project-title::before {
        display: none
    }

    .sl-project:hover {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none
    }

    .sl-images .sl-project-image {
        width: 90vw
    }

    .alioth-services.style_2 .service-title {
        font-size: 35px;
        line-height: 45px;
        font-weight: 500;
        letter-spacing: -2px;
        padding: 30px 0
    }

    .alioth-services.style_2 .service-toggle {
        padding: 30px 0
    }

    .alioth-services.style_2 .service-cont {
        width: 100%;
        padding-right: 0;
        padding-top: 30px;
        padding-bottom: 50px;
        font-size: 16px;
        font-weight: medium;
    }


    .alioth-services.style_2 .service-wrap {
        margin-left: 0
    }

    .alioth-services.style_2 .service-toggle i {
        font-size: 35px
    }

    .linked-text a::before {
        height: 2px
    }

    .trans-text {
        font-size: 30px;
        line-height: 35px
    }

    .blog-classic .post.alioth-post,
    .blog-classic .post.alioth-post.sticky .post-meta,
    .blog-classic .post.alioth-post.sticky .post-image,
    .blog-classic .post.alioth-post.sticky {
        width: 100%
    }

    .blog-classic .post-meta {
        padding: 0
    }

    .blog-classic .post.sticky .post-meta {
        padding-top: 20px
    }

    .blog-classic .post.alioth-post {
        margin-bottom: 15px
    }

    .blog-list .post-images {
        width: 60%
    }

    .post-title h3 {
        font-size: 26px !important
    }

    ul.single-product-mets li::after {
        display: none
    }

    ul.single-product-mets .desc {
        width: 100%
    }

    .ss1-sl-image {
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        width: 100%;
        height: 100%;
        overflow: hidden
    }

    .showcase-slideshow-wrapper {
        position: absolute;
        top: 50%;
        right: unset;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        left: 50%
    }

    .ss1-cat {
        margin-left: 0;
        font-size: 20px;
        float: unset;
        margin-bottom: 0
    }

    .ss1-title {
        font-size: 50px;
        line-height: 70px
    }

    .ss1-nav {
        display: none
    }

    .ss1-button {
        right: unset;
        left: 50%;
        bottom: 10%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .ss1-sl-image .plyr__video-wrapper {
        width: calc((100vh) * 1.77777778) !important
    }

    .project-featured-video .plyr__video-embed,
    .project-featured-video .plyr__video-wrapper--fixed-ratio {
        height: 100%;
        width: calc((100vh) * 1.77777778) !important
    }

    .fw-project-title {
        font-size: 30px
    }

    .fw-project {
        padding: 10px 0;
        display: block
    }

    .fw-project::after {
        font-size: 30px
    }

    .fw-project a {
        pointer-events: none
    }

    .apc-product {
        height: 80%;
        width: 70vw
    }

    .apc-cats ul li::after {
        display: none
    }

    .apc-cats ul li {
        font-size: 30px;
        margin-bottom: 15px;
        display: block
    }

    .showcase-slideshow-2-wrapper {
        max-width: 100%;
        width: 100%;
        left: 0;
        height: 100%
    }

    .ss2-images {
        right: 0;
        width: 100%;
        height: 100%;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        top: 0;
        z-index: -1
    }

    .ss2-project-title {
        font-size: 50px;
        line-height: 60px
    }

    .ss2-project-meta {
        left: 10%;
        width: 80%
    }

    .ss2-back-texts {
        display: none
    }

    .ss2-dots {
        display: none
    }

    .ss2-project-excerpt {
        display: none
    }

    .ss2-nav {
        position: absolute;
        bottom: 5%;
        right: 5%;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none
    }

    .ss2-button {
        bottom: 5%;
        opacity: .6
    }

    .portfolio-showcase.showcase-slideshow-v2 .plyr__video-wrapper {
        width: calc((100vh) * 1.77777778)
    }

    .fw-images {
        width: 100%
    }

    .wall-projects-top {
        margin-bottom: 0
    }

    .aw-project {
        margin-bottom: 50px;
        height: 300px
    }

    .aw-categories {
        margin-bottom: 0
    }

    .aw-works-stamp {
        height: 35px
    }

    .alioth-embed-video .video-overlay {
        width: 80px;
        height: 80px
    }

    .alioth-embed-video .play-button {
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 15px solid #fff
    }

    .wall-images {
        width: 84%
    }

    .next-project-title {
        font-size: 50px !important;
        line-height: normal;
    }
}

@media(min-width:450px) and (max-width:900px) {


    .btn {
        margin: 0 30px 30px !important;
    }

    body,
    html {
        overflow-x: clip;
        width: 100%
    }

    .hide_tablet {
        display: none
    }

    .c-col-4 {
        width: 100%
    }

    .c-col-4p {
        width: 50%
    }

    .site-navigation.fullscreen .fs-menu-wrapper {
        height: 100%
    }

    .header-wrapper.menu-opened {
        height: 100vh
    }

    .site-navigation.fullscreen .menu.main-menu {
        bottom: unset;
        top: 20% !important;
        left: 0;
        width: 100%
    }

    .site-navigation.fullscreen ul ul li {

        font-size: 80px;
        line-height: 90px;
        font-weight: normal;
        letter-spacing: -.03em;
        display: block;
        overflow: hidden;
        padding-bottom: 0
    }


    .sub-back.is-active {
        left: 0;
        top: 100%
    }

    .showcase-slideshow-2-wrapper {
        max-width: 100%;
        width: 100%;
        left: 0;
        height: 100%
    }

    .ss2-images {
        right: 0;
        width: 100%;
        height: 100%;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        top: 0;
        z-index: -1
    }

    .ss2-project-title {
        font-size: 100px;
        line-height: 120px
    }

    .ss2-project-meta {
        left: 10%;
        width: 80%
    }

    .ss2-back-texts {
        display: none
    }

    .ss2-dots {
        display: none
    }

    .ss2-project-excerpt {
        display: none
    }

    .ss2-nav {
        position: absolute;
        bottom: 5%;
        right: 5%;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none
    }

    .ss2-button {
        bottom: 5%;
        opacity: .6
    }

    .portfolio-showcase.showcase-slideshow-v2 .plyr__video-wrapper {
        width: calc((100vh) * 1.77777778)
    }

    .fs-title {
        font-size: 80px;
        line-height: 95px
    }

    .fs-button {
        right: 10%;
        top: 30%
    }

    .showcase-slideshow-wrapper {
        width: 50%
    }

    .cas-project {
        width: 75vw;
        height: 70vh
    }

    .cas-titles .cs-title {
        font-size: 100px
    }

    .sl-project-title {
        font-size: 70px
    }

    .showcase-list-wrapper {
        left: 15%
    }

    .ss1-sl-image {
        width: 70%;
        height: 70%
    }

    .showcase-slideshow-wrapper {
        width: 50%;
        right: 50%;
        transform: translateX(50%) translateY(-50%)
    }

    .ss1-title {
        text-align: center
    }

    .ss1-button {
        right: 50%;
        transform: translateX(50%)
    }

    .linked-text a::before {
        height: 5px
    }

    .hide_tablet {
        display: none !important;
    }

}



h1 span.cursor {
    display: inline-block;
    background-color: #000000;
    margin-left: 0.1rem;
    width: 3px;
    animation: blink 1s infinite;
}

@keyframes blink {
    0% {
        background-color: #000000;
    }

    49% {
        background-color: #000000;
    }

    50% {
        background-color: transparent;
    }

    99% {
        background-color: transparent;
    }

    100% {
        background-color: #000000;
    }
}

video {
    width: 100%;
    height: auto;
}


/* Draggabilly v3 uses is-pointer-down / is-dragging (not .dragging) */


.draggableA.is-dragging,
.draggableB.is-dragging,
.draggableC.is-dragging,
.draggableD.is-dragging,
.draggableE.is-dragging,
.draggableF.is-dragging {
    user-select: none;
    cursor: grabbing;
}

html.draggabilly-grabbing,
html.draggabilly-grabbing * {
    cursor: grabbing !important;
}

.draggableA::after {
    content: "about me";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 4px);
    white-space: nowrap;
    font-size: clamp(8px, 1.5vw, 12px);
    line-height: 1.2;
    color: #000;
    pointer-events: none;
}

.draggableB::after {
    content: "resumé";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 4px);
    white-space: nowrap;
    font-size: clamp(8px, 1.5vw, 12px);
    line-height: 1.2;
    color: #000;
    pointer-events: none;
}


.draggableC::after {
    content: "graphic & motion";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0px);
    white-space: nowrap;
    font-size: clamp(8px, 1.5vw, 12px);
    line-height: 1.2;
    color: #000;
    pointer-events: none;
}


.draggableD::after {
    content: "video editing";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0px);
    white-space: nowrap;
    font-size: clamp(8px, 1.5vw, 12px);
    line-height: 1.2;
    color: #000;
    pointer-events: none;
}

.draggableE::after {
    content: "web development & design";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0px);
    white-space: nowrap;
    font-size: clamp(8px, 1.5vw, 12px);
    line-height: 1.2;
    color: #000;
    pointer-events: none;
}

.draggableF::after {
    content: "contact";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -6px);
    white-space: nowrap;
    font-size: clamp(8px, 1.5vw, 12px);
    line-height: 1.2;
    color: #000;
    pointer-events: none;
}


/* Fix shrink-to-fit wrapping for absolute ::after labels */
.draggableA::after,
.draggableB::after,
.draggableC::after,
.draggableD::after,
.draggableE::after,
.draggableF::after {
    display: inline-block;
    width: max-content;
}

@media (max-width: 1024px) {

    .draggableA::after,
    .draggableB::after,
    .draggableC::after,
    .draggableD::after,
    .draggableE::after,
    .draggableF::after {
        text-align: center;
        white-space: normal;
        font-size: 11px;
        max-width: min(260px, 44vw);
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
        margin-top: 4px;
    }
}

/* Dark Mode Draggable Text Labels Color */
body.dark .draggableA::after,
body.dark .draggableB::after,
body.dark .draggableC::after,
body.dark .draggableD::after,
body.dark .draggableE::after,
body.dark .draggableF::after {
    color: #ffffff !important;
}

.draggablee-tooltip {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    padding: 4px 8px;
    border: 1px solid rgba(255, 184, 0, 0.7);
    border-radius: 12px;
    background: rgba(255, 248, 230, 0.95);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #3a2a00;
    font-size: 12px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    box-shadow: 0 10px 28px rgba(80, 56, 0, 0.15);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease, visibility 0.15s ease;
}

.draggablee-tooltip.is-visible {
    opacity: 1;
    visibility: visible;
}

.draggableA,
.draggableB,
.draggableC,
.draggableD,
.draggableE,
.draggableF {
    cursor: grab;
}

/* Keep collage draggables aligned and contained inside section containers */
.container {
    position: relative;
    overflow: hidden;
}

.container .draggableC,
.container .draggableD,
.container .draggableE {
    position: absolute;
    width: clamp(40px, 6vw, 70px);
    height: clamp(40px, 6vw, 70px);
    background: url(img/folder.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    bottom: auto;
    right: auto;
    z-index: 2;
}

.container .draggableA {
    position: absolute;
    width: clamp(40px, 6vw, 70px);
    height: clamp(40px, 6vw, 70px);
    background: url(img/about-me.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    bottom: auto;
    right: auto;
    z-index: 3;
}

.container .draggableB {
    position: absolute;
    width: clamp(40px, 6vw, 70px);
    height: clamp(40px, 6vw, 70px);
    background: url(img/resume.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    bottom: auto;
    right: auto;
    z-index: 4;
}

.container .draggableF {
    position: absolute;
    width: clamp(40px, 6vw, 70px);
    height: clamp(40px, 6vw, 70px);
    background: url(img/contact.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    bottom: auto;
    right: auto;
    z-index: 5;
}

/* Scattered layout for A-F */
.container .draggableA {
    left: 77%;
    top: 45%;
}

.container .draggableB {
    left: 50%;
    top: 20%;
}

.container .draggableC {
    left: 70%;
    top: 27%;
}

.container .draggableD {
    left: 7%;
    top: 50%;
}

.container .draggableE {
    left: 30%;
    top: 25%;
}

.container .draggableF {
    left: 10%;
    top: 35%;
}

/* Tablet layout removed so scattered layout applies globally */

@media (max-width: 1024px) {
    .container .draggableA {
        left: 80%;
        top: 40%;
    }

    .container .draggableB {
        left: 55%;
        top: 7%;
    }

    .container .draggableC {
        left: 70%;
        top: 15%;
    }

    .container .draggableD {
        left: 15%;
        top: 45%;
    }

    .container .draggableE {
        left: 35%;
        top: 8%;
    }

    .container .draggableF {
        left: 14%;
        top: 20%;
    }
}


@media (max-width: 791px) {
    .container .draggableA {
        left: 80%;
        top: 39%;
    }

    .container .draggableB {
        left: 55%;
        top: 8%;
    }

    .container .draggableC {
        left: 75%;
        top: 15%;
    }

    .container .draggableD {
        left: 10%;
        top: 40%;
    }

    .container .draggableE {
        left: 32%;
        top: 8%;
    }

    .container .draggableF {
        left: 14%;
        top: 20%;
    }
}

/* Mobile layout removed so scattered layout applies globally */

@media (max-width: 591px) {
    .container .draggableA {
        left: 81%;
        top: 47%;
    }

    .container .draggableB {
        left: 58%;
        top: 14%;
    }

    .container .draggableC {
        left: 75%;
        top: 24%;
    }

    .container .draggableD {
        left: 10%;
        top: 46%;
    }

    .container .draggableE {
        left: 33%;
        top: 7%;
    }

    .container .draggableF {
        left: 13%;
        top: 27%;
    }
}


.grain {
    background-color: transparent;
    position: relative;
}

.grain>* {
    position: relative;
    z-index: 1;
}

.grain:after {
    animation: grain 8s steps(10) infinite;
    background-image: url("https://assets.website-files.com/5dff182dc3faab4c98b08388/5dff21c5e65e0610a8d38b86_noisy-texture-100x100-o5-d10-c-FFFFFA-t1.png");
    content: "";
    height: 300%;
    left: -50%;
    position: fixed;
    top: -100%;
    width: 300%;
    pointer-events: none;
    z-index: -1;
}

@keyframes grain {

    0%,
    100% {
        transform: translate(0, 0);
    }

    10% {
        transform: translate(-5%, -10%);
    }

    30% {
        transform: translate(3%, -15%);
    }

    50% {
        transform: translate(12%, 9%);
    }

    70% {
        transform: translate(9%, 4%);
    }

    90% {
        transform: translate(-1%, 7%);
    }
}


.about {
    font-family: "Neue";
    position: relative;
    display: flex;
    flex-flow: row wrap;
}

.services {
    font-size: calc(2px + 3.5vw);
}


@media (max-width: 1024px) {
    .services {

        font-size: calc(18px + 3.5vw);
    }
}

@media (max-width: 450px) {

    .services {
        font-size: calc(12px + 3.5vw);
    }

}



.creative-media-col {
    border-top: 0;
    border-left: 1px solid rgba(0, 0, 0, 0.5) !important;
    /* Muted transparent black outline */
    border-right: 0;
}

/* About Page: desktop layout with fixed left video column and natively scrolling right copy column */
.about-page .section-creative.creative-scrollable {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
}

.about-page .creative-layout {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
}

.about-page .creative-layout__row {
    height: auto !important;
    overflow: visible !important;
    display: block !important;
}

/* Left column: fixed on screen, no scroll, taking up left 50% */
.about-page .creative-media-col {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 50% !important;
    height: 100vh !important;
    overflow: hidden !important;
    border: none !important;
    z-index: 1 !important;
    padding: 0 !important;
    /* reset default paddings since it is full height */
}

/* Ensure the video container and video behave perfectly inside the fixed column */
.about-page .creative-media-col .container {
    height: 100% !important;
    width: 100% !important;
    position: relative !important;
}

.about-page .creative-media-col video,
.about-page .creative-media-col img,
.about-hero-composition img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Right column: scrolls natively with the page, shifted by 50% to the right */
.about-page .creative-copy-col {
    margin-left: 50% !important;
    width: 50% !important;
    height: auto !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 2 !important;
}


/* Mobile: reset about-page layout overrides — let columns stack normally */
@media (max-width: 1024px) {
    .about-page .section-creative.creative-scrollable {
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
    }

    .about-page .creative-layout {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .about-page .creative-layout__row {
        height: auto !important;
        overflow: visible !important;
        flex-direction: column !important;
        display: flex !important;
    }

    .about-page .creative-media-col {
        width: 100% !important;
        left: auto !important;
        top: auto !important;
        padding: 0 !important;
        overflow: visible !important;
        min-height: 50vh !important;
        height: 133.33cqw !important;
        position: relative !important;
    }

    /* Reset video container to scale to the video's natural height */
    .about-page .creative-media-col .container {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        overflow: hidden !important;
    }

    .about-hero-composition {
        width: 100cqw !important;
        height: 133.33cqw !important;
    }

    /* Keep absolute stacking on mobile so light/dark images sit directly on top of each other */
    .about-page .creative-media-col video,
    .about-page .creative-media-col img,
    .about-hero-composition img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    .about-page .creative-copy-col {
        overflow-y: visible !important;
        overflow-x: visible !important;
        height: auto !important;
        margin-left: 0 !important;
        width: 100% !important;
    }

    /* Adjust tooltip positions on tablet specifically (592px to 1024px) */
    @media (min-width: 592px) {
        .float-dev-anim {
            left: 31% !important;
            top: 40% !important;
        }

        .float-des-anim {
            left: 58% !important;
            top: 50% !important;
        }
    }

    /* Adjust tooltip positions on tiny mobile screens (up to 591px) */
    @media (max-width: 591px) {
        .float-dev-anim {
            left: 14% !important;
            top: 40% !important;
        }

        .float-des-anim {
            left: 56% !important;
            top: 52% !important;
        }
    }
}

@media (max-width: 1024px) {
    .creative-media-col {
        border-top: 1px solid rgba(0, 0, 0, 0.5) !important;
        /* Muted transparent black outline */
        border-left: 0;
    }
}

/* Dark Mode Layout Borders for Homepage Columns */
body.dark .creative-media-col {
    border-left: 1px solid #9a9a9a !important;
    /* Premium silver grey border outline */
    border-top: 0 !important;
}

/* About Page override for dark mode */
body.dark .about-page .creative-media-col {
    border: none !important;
}

@media (max-width: 1024px) {
    body.dark .creative-media-col {
        border-top: 1px solid #9a9a9a !important;
        /* Premium silver grey border outline */
        border-left: 0 !important;
    }

    /* Keep about page media column completely borderless on mobile in dark mode */
    body.dark .about-page .creative-media-col {
        border: none !important;
    }
}

.center-me-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -20%);
    max-width: 60%;
    max-height: 60%;
    z-index: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.creative-copy-title img {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


.contact-hero-composition img {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@media (max-width: 1024px) {
    .center-me-img {
        transform: translate(-50%, -30%);
    }
}

@media (min-width: 591px) and (max-width: 1024px) {
    .center-me-img {
        max-width: 70%;
        max-height: 70%;
        transform: translate(-50%, -40%);
    }
}

.creative-copy-title {
    font-size: clamp(1.75rem, 2vw + 0.8rem, 2.8rem);
    font-family: "Roboto Mono", ui-monospace, monospace;
    line-height: 1.1;
    margin-bottom: 1rem;
}

body.dark .creative-copy-title {
    color: #ebe9e9 !important;
}

.creative-copy-text {
    width: 100%;
    font-size: clamp(0.9rem, 1vw + 0.5rem, 1.4rem);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
    .creative-copy-col {
        height: auto !important;
        min-height: 0;
    }
}

/* --- CTA pill footer (index 2.html) --- */
.creative-100vh {
    height: 100vh;
    box-sizing: border-box;
    overflow: hidden;
}

.creative-scrollable {
    min-height: 100vh;
    box-sizing: border-box;
    overflow: visible;
}

.creative-scrollable .creative-layout {
    height: auto;
    min-height: 100vh;
}

.creative-scrollable .creative-layout__row {
    overflow: visible;
}

.creative-layout {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.creative-copy-col {
    padding: clamp(100px, 12vh, 140px) 40px clamp(14px, 2.2vw, 26px) 40px;
}

.creative-media-col {
    padding: clamp(90px, 8vh, 120px) 40px clamp(14px, 2.2vw, 26px) 40px;
}

.creative-layout__row {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: stretch;
    overflow: hidden;
}

.creative-layout__row>.c-col-6 {
    min-height: 0;
    float: none;
    width: auto;
    flex: 1 1 0;
}

.creative-layout__row .container {
    height: 100%;
    min-height: 0;
    width: 100%;
}

.cta-footer {
    padding: clamp(14px, 2.2vw, 26px) 40px;
    padding-top: 0;
    background: transparent;
    flex: 0 0 auto;
}

.cta-footer__inner {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: clamp(10px, 1.2vw, 14px) clamp(18px, 3vw, 42px);
    border: 1px solid rgba(0, 0, 0, 0.5) !important;
    /* Muted transparent black outline */
    border-radius: 9999px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(14px, 2.2vw, 28px);
    flex-wrap: wrap;
}

/* Three-column footer (index 2) */
.cta-footer__inner--3col {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(18px, 2.5vw, 28px) clamp(20px, 4vw, 48px);
}

.cta-footer__inner--3col .cta-footer__col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 0.5rem;
    min-width: 0;
    flex: 0 1 auto;
}

.cta-footer__col-label {
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-weight: 600;
    font-size: clamp(0.62rem, 0.28vw + 0.52rem, 0.72rem);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.42);
    line-height: 1.2;
}

.cta-footer__icon-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cta-footer__icon-row li {
    margin: 0;
    padding: 0;
}

.cta-footer__icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem;
    margin: -0.35rem;
    color: #1d1b1c;
    text-decoration: none;
    font-size: 1.1rem;
    line-height: 1;
    transition: color 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    /* Fast snappy timing */
}

.cta-footer__icon-link:hover {
    color: #474343;
}

.cta-footer__icon-link:focus-visible {
    outline: 2px solid #000;
    outline-offset: 3px;
}

.cta-footer__col-value {
    margin: 0;
    font-family: "Neue", system-ui, sans-serif;
    font-weight: 500;
    color: #1d1b1c;
    line-height: 1.35;
    font-size: clamp(0.95rem, 0.55vw + 0.8rem, 1.08rem);
    text-decoration: none;
    word-break: break-word;
    transition: color 0.2s ease, opacity 0.2s ease;
    border-bottom: none !important;
    /* Remove static border */
    padding-bottom: 1px !important;
    /* Offset border height perfectly */
    position: relative !important;
    align-self: flex-start;
}

/* Premium expanding underline animation */
.cta-footer__col-value::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background-color: rgba(0, 0, 0, 0.35) !important;
    /* Soft semi-transparent black matching original light mode design */
    transform: scaleX(0) !important;
    transform-origin: right !important;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    /* Fast snappy timing */
}

a.cta-footer__col-value:hover::after {
    transform: scaleX(1) !important;
    transform-origin: left !important;
}

body.dark .cta-footer__col-label {
    color: #a7a7a7 !important;
}

body.dark .cta-footer__col-value {
    color: #eeeeee !important;
}

body.dark .cta-footer__col-value::after {
    background-color: rgba(255, 255, 255, 0.35) !important;
    /* Soft semi-transparent white matching original dark mode design */
}


body.dark .cta-footer__icon-link {
    color: #eeeeee !important;
}

body.dark .cta-footer__icon-link:hover {
    color: #bdbdbd !important;
}

body.dark .cta-footer__inner {
    border-color: #9a9a9a !important;
    /* Visible capsule border outline in dark mode */
}

@media (max-width: 720px) {

    .cta-footer__inner {
        border-radius: 28px;
    }

    .cta-footer__inner--3col {
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
    }
}

@media (max-width: 1024px) {

    .creative-copy-col {
        padding: clamp(80px, 8vh, 100px) 40px 40px 40px;
    }

    .creative-media-col {
        padding: 40px;
        padding-top: 0;
    }

    .cta-footer {
        padding: 40px;
        padding-top: 0;
    }

    .creative-100vh {
        min-height: 100vh;
        min-height: 100dvh;
        height: auto;
        overflow: visible;
        display: flex;
        flex-direction: column;
    }

    .creative-layout {
        min-height: 100vh;
        min-height: 100dvh;
        height: auto;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
    }

    .creative-layout__row {
        flex-direction: column;
        overflow: visible;
    }

    .creative-layout__row>.c-col-6 {
        width: 100%;
        flex: 0 0 auto;
    }

    .creative-layout__row>.creative-media-col {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 45vh;
    }

    .creative-layout__row .container {
        height: 100% !important;
        margin-bottom: 0 !important;
        flex: 1 1 auto;
        overflow: hidden !important;
        align-items: flex-start !important;
        justify-content: center !important;
    }
}

@media (max-width: 720px) {

    .creative-copy-col {
        padding: clamp(70px, 8vh, 90px) clamp(16px, 4vw, 30px) 40px clamp(16px, 4vw, 30px);
    }

    .creative-media-col {
        padding: 40px clamp(16px, 4vw, 30px);
        padding-top: 0;
    }

    .cta-footer {
        padding: 40px clamp(16px, 4vw, 30px);
        padding-top: 0;
    }
}

/* -----------------------------------------
   Contact Page Hero - Fixed Image Positioning 
-------------------------------------------- */
@media (min-width: 1025px) {
    .contact-col-left {
        flex: 4 !important;
    }

    .contact-col-right {
        flex: 6 !important;
        border-left: none !important;
    }
}

@media (max-width: 1024px) {
    .contact-col-right {
        border-top: none !important;
        min-height: 50vh;
        height: 100cqw;
    }

    .contact-hero-composition {
        width: 100cqw !important;
        height: 100cqw !important;
    }
}

/* Fixed px positioning for contact hero images */
.contact-img-hook {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    z-index: 1;
}

.contact-img-hook-copy {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    z-index: 10;
}

.contact-img-hook img,
.contact-img-hook-copy img {
    width: 100%;
    height: auto;
    display: block;
}


.contact-img-rope {
    position: absolute;
    top: 14.625%;
    left: 50%;
    /* MUST be 50% to anchor to the same spot as the hook */
    margin-left: -48.125%;
    /* Use px here to move the rope left/right. Negative px moves it left! */
    transform: translateX(0);
    width: 35.375%;
    z-index: 2;
}

.contact-img-pager {
    position: absolute;
    top: 18.75%;
    left: 50%;
    /* MUST be 50% to anchor to the same spot as the hook */
    margin-left: 5.625%;
    /* Use px here to move the rope left/right. Negative px moves it left! */
    transform: translateX(0);
    width: 28.75%;
    z-index: 4;
}

.contact-img-kodak {
    position: absolute;
    top: 18.375%;
    left: 50%;
    /* MUST be 50% to anchor to the same spot as the hook */
    margin-left: -4.375%;
    /* Use px here to move the rope left/right. Negative px moves it left! */
    transform: translateX(0);
    width: 15%;
    z-index: 3;
}

.contact-img-denji {
    position: absolute;
    top: 15%;
    left: 50%;
    /* MUST be 50% to anchor to the same spot as the hook */
    margin-left: -21.875%;
    /* Use px here to move the rope left/right. Negative px moves it left! */
    transform: translateX(0);
    width: 15%;
    z-index: 6;
}

.contact-img-code {
    position: absolute;
    top: 18%;
    left: 50%;
    /* MUST be 50% to anchor to the same spot as the hook */
    margin-left: -16.25%;
    /* Use px here to move the rope left/right. Negative px moves it left! */
    transform: translateX(0);
    width: 20%;
    z-index: 2;
}

.contact-img-rope img,
.contact-img-pager img,
.contact-img-kodak img,
.contact-img-code img,
.contact-img-denji img {
    width: 100%;
    height: auto;
    display: block;
    transform-origin: top center;
    /* Anchors the swing to the top of the rope */
    transition: transform 1.5s cubic-bezier(0.4, 0, 0.2, 1);
    /* Smooth swinging motion */
}


.contact-img-rope:hover img {
    transform: rotate(1deg);
    /* Swings to the side on hover */
}

.contact-img-pager:hover img {
    transform: rotate(-3deg);
    /* Swings to the side on hover */
}

.contact-img-kodak:hover img {
    transform: rotate(2deg);
    /* Swings to the side on hover */
}

.contact-img-code:hover img {
    transform: rotate(-2deg);
    /* Swings to the side on hover */
}

.contact-img-denji:hover img {
    transform: rotate(3deg);
    /* Swings to the side on hover */
}

/* -----------------------------------------
   Works Page Custom Padding & Gutters
-------------------------------------------- */
.works-page-content {
    padding: clamp(100px, 12vh, 140px) 40px clamp(40px, 4vh, 60px) 40px !important;
}

.works-page-content .wrapper-full {
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
}

/* Set fluid bottom spacing on grid columns and remove duplicate post margin */
.works-page-content .wrapper-full .c-col-6 {
    margin-bottom: clamp(35px, 5vw, 65px) !important;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Dynamic responsive column scaling: 3 columns on desktop, 2 on tablet, 1 on mobile */
@media (min-width: 1025px) {
    .works-page-content .wrapper-full .c-col-6[data-category] {
        width: 33.333333% !important;
    }
}

@media (min-width: 721px) and (max-width: 1024px) {
    .works-page-content .wrapper-full .c-col-6[data-category] {
        width: 50% !important;
    }
}

@media (max-width: 720px) {
    .works-page-content .wrapper-full .c-col-6[data-category] {
        width: 100% !important;
    }
}

.works-page-content .blog-classic .post.alioth-post {
    margin-bottom: 0 !important;
    /* Eliminates redundant duplicate bottom margin */
}



/* Centered title and year separated by an elegant short horizontal line */
.works-page-content .post-meta {
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    /* Align everything flush-left side-by-side */
    align-items: center !important;
    /* Perfect vertical centering of text and line */
    width: auto !important;
    margin-top: 10px !important;
}

.works-page-content .blog-classic .post.alioth-post .post-title {
    margin: 0 !important;
    display: inline-block !important;
    width: auto !important;
    order: 1 !important;
    /* Title goes first */
    flex-shrink: 1 !important;
    min-width: 0 !important;
}

.works-page-content .post-title h3,
.project-info-col .alioth-services.style_2 .post-title h3 {
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* Elegant short horizontal connector line */
.works-page-content .post-meta::after {
    content: "" !important;
    order: 2 !important;
    /* Line goes in the middle */
    flex-grow: 0 !important;
    /* Does not stretch full width */
    width: 35px !important;
    /* Premium fixed short length */
    height: 1px !important;
    background: rgba(0, 0, 0, 0.35) !important;
    /* Clean soft line */
    margin: 0 15px !important;
    /* Perfect spacing around the line */
    align-self: center !important;
}

body.dark .works-page-content .post-meta::after {
    background: rgba(255, 255, 255, 0.35) !important;
    /* Subtle line for dark theme */
}

.works-page-content .blog-classic .post-cat {
    margin: 0 !important;
    float: none !important;
    display: inline-block !important;
    order: 3 !important;
    /* Year goes last */
    flex-shrink: 0 !important;
    font-size: clamp(0.9rem, 0.3vw + 0.8rem, 1.25rem) !important;
    /* Sleek, matching brand size */
    color: #474343 !important;
    /* Premium soft brand grey matching social links */
    font-weight: 500 !important;
    line-height: 1 !important;
}

@media (max-width: 1024px) {
    .works-page-content {
        padding: clamp(80px, 8vh, 100px) 40px clamp(30px, 3vh, 50px) 40px !important;
    }
}

@media (max-width: 720px) {
    .works-page-content {
        padding: clamp(70px, 8vh, 90px) clamp(16px, 4vw, 30px) clamp(30px, 3vh, 40px) clamp(16px, 4vw, 30px) !important;
    }
}

/* Post title and subtitle colors match contact/index CTA details */
.works-page-content .post-title h3,
.project-info-col .alioth-services.style_2 .post-title h3 {
    color: #474343 !important;
    font-weight: 500 !important;
    font-size: clamp(1.35rem, 1.2vw + 1.1rem, 2rem) !important;
    transition: color 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.works-page-content .post.alioth-post a:hover .post-title h3 {
    color: #1d1b1c !important;
}

body.dark .works-page-content .post-title h3,
body.dark .project-info-col .alioth-services.style_2 .post-title h3 {
    color: #bdbdbd !important;
}

body.dark .works-page-content .post.alioth-post a:hover .post-title h3 {
    color: #eeeeee !important;
}


.works-page-content .blog-classic .post-cat {
    color: #474343 !important;
    font-size: clamp(0.7rem, 0.35vw + 0.6rem, 0.88rem) !important;
}

body.dark .works-page-content .blog-classic .post-cat {
    color: #bdbdbd !important;
}

/* -----------------------------------------
   Works Page Category Filter
-------------------------------------------- */
.works-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: clamp(40px, 6vw, 70px);
    margin-bottom: clamp(40px, 6vw, 70px);
    font-family: "Neue", system-ui, sans-serif;
}

.filter-btn {
    background: transparent;
    border: 1px solid transparent;
    padding: 9px 26px;
    font-size: clamp(1.15rem, 1vw + 0.95rem, 1.75rem) !important;
    font-weight: 500;
    cursor: pointer;
    border-radius: 50px;
    color: #474343;
    /* Matches social icon hover/inactive color in light mode */
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    /* Match other animations */
    outline: none;
    font-family: inherit;
    text-transform: none;
    text-align: left;
}

.filter-btn:hover {
    color: #1d1b1c;
    /* Matches active social color */
}

.filter-btn.active {
    border-color: rgba(0, 0, 0, 0.35) !important;
    color: #1d1b1c;
    font-weight: 500;
}

/* Dark Mode Works Page Filters */
body.dark .filter-btn {
    color: #bdbdbd !important;
    /* Matches social icon hover/inactive color in dark mode */
}

body.dark .filter-btn:hover {
    color: #eeeeee !important;
    /* Matches active social color */
}

body.dark .filter-btn.active {
    border-color: rgba(255, 255, 255, 0.35) !important;
    color: #eeeeee !important;
}

/* Scrollable Horizontal Category Filters - Dynamically Applied when they would wrap */
.works-filter.is-scrollable {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    /* Prevents scroll hijacking on touch gestures */
    position: relative !important;
    z-index: 10 !important;
    /* Keeps container clickable and swipeable above overlays */
    padding-bottom: 12px !important;
    margin-top: clamp(25px, 4vw, 40px) !important;
    margin-bottom: clamp(25px, 4vw, 40px) !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    cursor: -webkit-grab !important;
    cursor: grab !important;
    user-select: none !important;
    -webkit-user-select: none !important;

    /* Breakout margin and padding to occupy edge-to-edge width of the screen */
    margin-left: -40px !important;
    margin-right: -40px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

@media (max-width: 720px) {
    .works-filter.is-scrollable {
        margin-left: calc(-1 * clamp(16px, 4vw, 30px)) !important;
        margin-right: calc(-1 * clamp(16px, 4vw, 30px)) !important;
        padding-left: clamp(16px, 4vw, 30px) !important;
        padding-right: clamp(16px, 4vw, 30px) !important;
    }
}

.works-filter.is-scrollable.dragging {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
}

.works-filter.is-scrollable::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.works-filter.is-scrollable .filter-btn {
    flex-shrink: 0 !important;
    padding: 8px 20px !important;
}

/* Premium Sticky Back to Home Navigation */

/* Reusable Project CTA button - styled like 'Back to Projects' */

/* Responsive Website & Year Metadata Row */
.meta-header-row {
    display: flex !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
}

@media (max-width: 720px) {
    .meta-header-row {
        flex-direction: column !important;
        gap: 20px !important;
    }
}

/* ---------------------------------------------------------
   Project Details Refactored Layout
   (Mockup-Perfect Two-Column Layout)
-------------------------------------------- */
.project-details-grid {
    display: grid;
    grid-template-columns: 4.2fr 5.8fr;
    /* 42% left column, 58% right column */
    gap: clamp(40px, 5vw, 80px);
    align-items: start;
    margin-bottom: 0 !important;
}

.project-info-col {
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    /* Sticks title and description while scrolling images! */
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.project-info-col .post-title {
    margin: 0 0 1rem 0 !important;
    display: inline-block !important;
    width: auto !important;
    flex-shrink: 0 !important;
}

.project-info-col .post-title h3 {
    font-family: "Neue", system-ui, sans-serif !important;
    font-size: clamp(1.35rem, 1.2vw + 1.1rem, 2rem) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: #1d1b1c !important;
    /* Active brand color for static header */
    transition: color 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.project-info-col .alioth-services.style_2 .post-title h3 {
    font-family: "Neue", system-ui, sans-serif !important;
    font-size: clamp(1.35rem, 1.2vw + 1.1rem, 2rem) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: #474343 !important;
    transition: color 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    margin: 0 !important;
    /* Resets base margin so it aligns vertically */
}

.project-info-col .alioth-services.style_2 .service:hover .post-title h3 {
    color: #1d1b1c !important;
}

.project-info-col .alioth-services.style_2 .service.active .post-title h3 {
    color: #1d1b1c !important;
}

body.dark .project-info-col .post-title h3 {
    color: #eeeeee !important;
    /* Active dark mode brand color */
}

body.dark .project-info-col .alioth-services.style_2 .post-title h3 {
    color: #bdbdbd !important;
}

body.dark .project-info-col .alioth-services.style_2 .service:hover .post-title h3 {
    color: #eeeeee !important;
}

body.dark .project-info-col .alioth-services.style_2 .service.active .post-title h3 {
    color: #eeeeee !important;
}

.meta-pill {
    position: relative;
    z-index: 1;
    cursor: text !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.85rem !important;
    font-family: "Neue", system-ui, sans-serif !important;
    font-size: clamp(0.75rem, 0.3vw + 0.7rem, 0.88rem) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #393334 !important;
}

.meta-pill::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    border-radius: 100px !important;
    background-color: #f1f1f1 !important;
    border: 1px solid #e1e1e1 !important;
    cursor: default !important;
}

body.dark .meta-pill {
    color: #ebe9e9 !important;
}

body.dark .meta-pill::before {
    background-color: #27282a !important;
    border: 1px solid #3c3d3f !important;
}

.project-gallery-col {
    display: flex;
    flex-flow: row wrap;
    gap: clamp(15px, 2vw, 30px);
}

.gallery-item-full {
    width: 100% !important;
    overflow: hidden !important;
}

.gallery-item-half {
    width: calc(50% - clamp(7.5px, 1vw, 15px)) !important;
    overflow: hidden !important;
}

@media (max-width: 767px) {
    .gallery-item-half.mobile-stack {
        width: 100% !important;
    }
}

/* Remove bottom margin on recommended works columns to eliminate extra footer space */
.works-page-content .wrapper-full .c-col-4 {
    margin-bottom: 0 !important;
}

.gallery-item-full img,
.gallery-item-half img,
.gallery-item-full video,
.gallery-item-half video {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: scale(1.01);
    /* Premium flush clean-cut images */
}


@media (min-width: 1025px) {
    .project-first-card {
        padding-left: 0 !important;
    }

    .project-last-card {
        padding-right: 0 !important;
    }
}

@media (max-width: 1024px) {
    .works-page-content .wrapper-full .project-first-card {
        padding-left: 0 !important;
        padding-right: 15px !important;
    }

    .works-page-content .wrapper-full .project-last-card {
        padding-left: 15px !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 1024px) {

    .project-details-grid {
        grid-template-columns: 1fr;
        /* Stack layout on tablet/mobile */
        gap: 50px;
    }

    .works-page-content .post-meta {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .works-page-content .post-meta::after {
        display: none !important;
    }

    .works-page-content .blog-classic .post-cat {
        margin-top: 6px !important;
    }

    .works-page-content .blog-classic .post-cat::before {
        content: "" !important;
        display: inline-block !important;
        width: 35px !important;
        height: 1px !important;
        background: rgba(0, 0, 0, 0.5) !important;
        margin-right: 15px !important;
        vertical-align: middle !important;
        margin-bottom: 2px !important;
    }

    body.dark .works-page-content .blog-classic .post-cat::before {
        background: #9a9a9a !important;
    }

    .project-info-col {
        position: static !important;
        /* Disable sticky on stacked views */
        height: auto !important;
        display: block !important;
    }
}

/* Individual Project Separator Line */
.project-separator {
    clear: both !important;
    width: 100% !important;
    border-top: 1px solid rgba(0, 0, 0, 0.5) !important;
    margin-top: clamp(60px, 8vw, 100px) !important;
    margin-bottom: clamp(60px, 8vw, 100px) !important;
}

body.dark .project-separator {
    border-top: 1px solid #9a9a9a !important;
}


/* Other Works Grid Responsiveness matching Works Page Breakpoints */
@media (min-width: 1025px) {
    .project-page .wrapper-full .c-col-4p {
        width: 33.333333% !important;
        display: block !important;
        margin-bottom: 0 !important;
    }

    .project-page .wrapper-full .project-first-card {
        padding-left: 0 !important;
        padding-right: 20px !important;
    }

    .project-page .wrapper-full .c-col-4p:not(.project-first-card):not(.project-last-card) {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .project-page .wrapper-full .project-last-card {
        padding-left: 20px !important;
        padding-right: 0 !important;
    }
}

@media (min-width: 721px) and (max-width: 1024px) {
    .project-page .wrapper-full .c-col-4p {
        width: 50% !important;
        display: block !important;
        margin-bottom: 0 !important;
        /* Keep the bottom clean as there is only 1 row */
    }

    .project-page .wrapper-full .c-col-4p.hide_tablet {
        display: none !important;
        /* Hide on tablet */
    }

    /* Card 1 (left) */
    .project-page .wrapper-full .project-first-card {
        padding-left: 0 !important;
        padding-right: 15px !important;
    }

    /* Card 3 (right) */
    .project-page .wrapper-full .project-last-card {
        padding-left: 15px !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 720px) {
    .project-page .wrapper-full .c-col-4p {
        width: 100% !important;
        display: block !important;
        margin-bottom: clamp(35px, 5vw, 65px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .project-page .wrapper-full .c-col-4p.hide_tablet {
        display: block !important;
    }

    .project-page .wrapper-full .project-last-card {
        margin-bottom: 0 !important;
        /* Keep the last item clean at the bottom */
    }
}

/* -----------------------------------------
   Other Works Card Design (Matches Works Page)
-------------------------------------------- */
.project-page .post-meta {
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    /* Align everything flush-left side-by-side */
    align-items: center !important;
    /* Perfect vertical centering of text and line */
    width: auto !important;
    margin-top: 10px !important;
}

.project-page .blog-classic .post.alioth-post .post-title {
    margin: 0 !important;
    display: inline-block !important;
    width: auto !important;
    order: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
}

.project-page .post-title h3 {
    margin: 0 !important;
    line-height: 1.2 !important;
    color: #1d1b1c !important;
    /* Active brand color */
    font-weight: 500 !important;
    font-size: clamp(1.35rem, 1.2vw + 1.1rem, 2rem) !important;
    transition: color 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: text !important;
    /* Text selection cursor for static heading */
}

/* Restore pointer cursor specifically for clickable accordion list item headers */
.project-page .alioth-services.style_2 .post-title h3 {
    cursor: pointer !important;
}

.project-page .post.alioth-post a:hover .post-title h3 {
    color: #1d1b1c !important;
}

body.dark .project-page .post-title h3 {
    color: #eeeeee !important;
    /* Active dark mode brand color */
}

body.dark .project-page .post.alioth-post a:hover .post-title h3 {
    color: #eeeeee !important;
}

.project-page .post-title a,
.project-page .post-title a h3 {
    text-decoration: none !important;
    color: #1d1b1c !important;
}

body.dark .project-page .post-title a,
body.dark .project-page .post-title a h3 {
    color: #eeeeee !important;
}

.project-page .post-title a:hover,
.project-page .post-title a:hover h3 {
    color: #1d1b1c !important;
    text-decoration: none !important;
}

body.dark .project-page .post-title a:hover,
body.dark .project-page .post-title a:hover h3 {
    color: #eeeeee !important;
}

.project-page .post-meta::after {
    content: "" !important;
    order: 2 !important;
    flex-grow: 0 !important;
    width: 35px !important;
    height: 1px !important;
    background: rgba(0, 0, 0, 0.35) !important;
    margin: 0 15px !important;
    align-self: center !important;
}

body.dark .project-page .post-meta::after {
    background: rgba(255, 255, 255, 0.35) !important
}

.project-page .blog-classic .post-cat {
    margin: 0 !important;
    float: none !important;
    display: inline-block !important;
    order: 3 !important;
    flex-shrink: 0 !important;
    font-size: clamp(0.7rem, 0.35vw + 0.6rem, 0.88rem) !important;
    color: #474343 !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

body.dark .project-page .blog-classic .post-cat {
    color: #bdbdbd !important;
}

@media (max-width: 1024px) {
    .project-page .post-meta {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .project-page .post-meta::after {
        display: none !important;
    }

    .project-page .blog-classic .post-cat {
        margin-top: 6px !important;
    }

    .project-page .blog-classic .post-cat::before {
        content: "" !important;
        display: inline-block !important;
        width: 35px !important;
        height: 1px !important;
        background: rgba(0, 0, 0, 0.5) !important;
        margin-right: 15px !important;
        vertical-align: middle !important;
        margin-bottom: 2px !important;
    }

    body.dark .project-page .blog-classic .post-cat::before {
        background: #9a9a9a !important;
    }
}

/* Premium Floating Theme Toggle Sticky Button */

.theme-toggle-btn {
    position: fixed !important;
    top: 30px !important;
    right: 40px !important;
    /* Pinned to top-right corner on other pages */
    background-color: #ebebeb !important;
    /* Matches Back to Home background in light mode */
    border: 1px solid rgba(0, 0, 0, 0.35) !important;
    /* Matches Back to Home border in light mode */
    padding: 0 !important;
    border-radius: 50px !important;
    /* Pill shape */
    z-index: 2000 !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03) !important;
    /* Matches Back to Home shadow in light mode */
    cursor: pointer !important;
    outline: none !important;
    display: block !important;
    width: 48px !important;
    height: 28px !important;
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
    /* Fast snappy timing */
}

/* Theme Toggle Button Hover States (perfectly matching Back to Home design system) */
.theme-toggle-btn:hover {
    background-color: #f3f3f3 !important;
    /* Restore subtle light grey hover background */
    border-color: rgba(0, 0, 0, 0.5) !important;
    /* Elegant black border hover state */
}

@media (max-width: 720px) {
    .theme-toggle-btn {
        right: clamp(16px, 4vw, 30px) !important;
        /* Mobile right alignment */
    }
}

/* Custom switch thumb using the fontawesome icon inside the toggle button */
.theme-toggle-btn i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    position: absolute !important;
    top: 3px !important;
    /* Centered inside 28px height with 1px border */
    left: 4px !important;
    font-size: 13px !important;
    /* Sized perfectly to act as thumb */
    color: #1d1b1c !important;
    /* Solid charcoal sun icon in light mode */
    background: transparent !important;
    border-radius: 0 !important;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    transform: translateX(0) !important;
    /* Placed on the left in light mode */
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure the FontAwesome icon glyph is fully visible and swap them via content */
.theme-toggle-btn i::before {
    display: block !important;
    position: static !important;
    font-size: inherit !important;
    color: inherit !important;
}

/* Force Light Mode (which has fa-moon in HTML) to show the Sun icon */
.theme-toggle-btn i.fa-moon::before {
    content: "\f185" !important;
}

/* Dark Mode Theme Toggle Styles */
body.dark .theme-toggle-btn {
    background-color: #131313 !important;
    /* Matches Back to Home background in dark mode */
    border-color: rgba(255, 255, 255, 0.35) !important;
    /* Matches Back to Home border in dark mode */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2) !important;
    /* Matches Back to Home shadow in dark mode */
}

body.dark .theme-toggle-btn:hover {
    background-color: #1a1a1a !important;
    /* Restore subtle dark slate hover background */
    border-color: #9a9a9a !important;
    /* Pure white/light grey border hover state */
}

body.dark .theme-toggle-btn i {
    color: #eeeeee !important;
    /* Solid warm white moon icon in dark mode to match Back to Home */
    transform: translateX(20px) !important;
    /* Slides to the right in dark mode */
}

/* Force Dark Mode (which has fa-sun in HTML) to show the Moon icon */
body.dark .theme-toggle-btn i.fa-sun::before {
    content: "\f186" !important;
}

/* Inline Header Text GIFs Color Inversion in Dark Mode */
.creative-copy-title img {
    transition: filter 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
    /* Match other animations */
}

body.dark .creative-copy-title img {
    filter: invert(1) brightness(1.5) !important;
}

/* Remove Layout Grid Dividers from Contact Page Hero */
.contact-col-right {
    border-left: 0 !important;
    border-top: 0 !important;
}

body.dark .contact-col-right {
    border-left: 0 !important;
    border-top: 0 !important;
}

/* Ensure all project cards on works page and project subpages have identical image heights */
.project-page .blog-classic .post-image,
.works-page-content .blog-classic .post-image {
    width: 100% !important;
    height: auto !important;
}

.project-page .blog-classic .post-image img,
.works-page-content .blog-classic .post-image img {
    width: 100% !important;
    aspect-ratio: 14 / 9 !important;
    -o-object-fit: cover !important;
    object-fit: cover !important;
    height: auto !important;
}

/* Tablet Portrait and Mobile Floating Controls Positioning Adjustments */
@media (max-width: 1024px) {

    .theme-toggle-btn {
        top: 15px !important;
    }
}

/* Custom Draggable Eye Item for About Page */

.post-title .creative-copy-title {
    margin-bottom: 0 !important;
}

/* Day/Night Portrait Swapping with Premium Smooth Fade Transition (No Movement) */
.me-day-img,
.me-night-img {
    transition-property: opacity !important;
    transition-duration: 0.6s !important;
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1) !important;
    z-index: 1 !important;
}

.me-main-img {
    z-index: 2 !important;
}

body.dark .me-day-img {
    opacity: 0 !important;
    pointer-events: none !important;
}

body.dark .me-night-img {
    opacity: 1 !important;
    pointer-events: auto !important;
}

body:not(.dark) .me-day-img {
    opacity: 1 !important;
    pointer-events: auto !important;
}

body:not(.dark) .me-night-img {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ==========================================================================
   Redesigned About Me Page Styles (Second Column)
   ========================================================================== */

/* About Page Services Accordion Scaling Override */
.project-info-col .alioth-services.style_2,
.creative-copy-col .alioth-services.style_2 {
    border-top: 1px solid rgba(128, 128, 128, 0.2);
}

.project-info-col .alioth-services.style_2 .service,
.creative-copy-col .alioth-services.style_2 .service {
    width: 100%;
    cursor: default !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    float: none !important;
}

.project-info-col .alioth-services.style_2 .service .post-title,
.creative-copy-col .alioth-services.style_2 .service .post-title,
.project-info-col .alioth-services.style_2 .service .service-toggle,
.creative-copy-col .alioth-services.style_2 .service .service-toggle {
    cursor: pointer !important;
}

.project-info-col .alioth-services.style_2 .post-title,
.creative-copy-col .alioth-services.style_2 .post-title {
    margin: 0 !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    flex-grow: 1 !important;
}

/* Restore original large accordion title font for About page */
.creative-copy-col .alioth-services.style_2 .post-title h3 {
    font-size: clamp(1.35rem, 1.2vw + 1.1rem, 2rem) !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    font-weight: 500 !important;
    font-family: "Neue" !important;
    cursor: pointer !important;
    color: #474343 !important;
    transition: color 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.dark .creative-copy-col .alioth-services.style_2 .post-title h3 {
    color: #bdbdbd !important;
}

.project-info-col .alioth-services.style_2 .service:hover .post-title h3,
.creative-copy-col .alioth-services.style_2 .service:hover .post-title h3 {
    color: #1d1b1c !important;
}

body.dark .project-info-col .alioth-services.style_2 .service:hover .post-title h3,
body.dark .creative-copy-col .alioth-services.style_2 .service:hover .post-title h3 {
    color: #eeeeee !important;
}

.project-info-col .alioth-services.style_2 .service-toggle,
.creative-copy-col .alioth-services.style_2 .service-toggle {
    margin: 0 !important;
    padding: 40px 0 !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

.project-info-col .alioth-services.style_2 .service-toggle i,
.creative-copy-col .alioth-services.style_2 .service-toggle i {
    font-size: clamp(16px, 1.5vw + 4px, 20px) !important;
    display: block !important;
    float: none !important;
}

.project-info-col .alioth-services.style_2 .service-wrap,
.creative-copy-col .alioth-services.style_2 .service-wrap {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
}

.project-info-col .alioth-services.style_2 .service-cont,
.creative-copy-col .alioth-services.style_2 .service-cont {
    width: 100% !important;
    padding: 0 !important;
    cursor: default !important;
}


.project-info-col .alioth-services.style_2 .service-cont h2.creative-copy-text,
.creative-copy-col .alioth-services.style_2 .service-cont h2.creative-copy-text {
    font-size: clamp(0.9rem, 1vw + 0.5rem, 1.4rem) !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    opacity: 0.85;
    margin: 0 !important;
    width: 100% !important;
    cursor: text !important;
}

body.dark .project-info-col .alioth-services.style_2 .service-cont,
body.dark .creative-copy-col .alioth-services.style_2 .service-cont {
    color: #eeeeee !important;
}

/* Fix duplicated underlines */
.project-info-col .alioth-services.style_2 .service-wrap::before,
.creative-copy-col .alioth-services.style_2 .service-wrap::before {
    display: none;
}

/* Experience Timeline Redesign */

/* Education Card styling */

/* Certifications interactive wrapper */

/* Skills / Services Grid Layout */
.skills-grid {
    display: block;
    width: 100%;
}

.project-info-col .skills-grid,
.creative-copy-col .skills-grid {
    margin-top: clamp(40px, 6vw, 70px) !important;
}

.project-info-col .skills-grid .alioth-services.style_2 {
    margin-top: 0 !important;
}

/* Marquee pill rows */

@keyframes marquee-scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes marquee-scroll-reverse {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}

/* ==========================================================================
   Custom Header and Full-Page Menu Overlay for index.html
   ========================================================================== */

/* 1. Header Layout */
.index-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 20px 40px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    z-index: 2100 !important;
    /* Above the overlay menu */
    pointer-events: none !important;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.index-header.hidden {
    transform: translateY(-100%);
}

.index-logo-col {
    pointer-events: auto !important;
}

.index-logo-img {
    height: 22px !important;
    width: auto !important;
    display: block !important;
    transition: filter 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
    -webkit-user-drag: none !important;
    user-drag: none !important;
}

/* Invert Logo on Dark Mode */
body.dark .index-logo-img {
    filter: invert(1) brightness(1.5) !important;
}

.index-controls-col {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    pointer-events: auto !important;
}

/* Override fixed position of theme-toggle-btn inside index-header */
.index-header .theme-toggle-btn {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin: 0 !important;
}

/* 2. Hamburger Button */
.index-hamburger-btn {
    background: transparent !important;
    /* Bare transparent background */
    padding: 0 !important;
    border-radius: 0 !important;
    /* Remove circle shape */
    border: none !important;
    /* Remove circle border outline */
    transition: none !important;
    /* Remove scale transform animation */
    box-shadow: none !important;
    /* Remove the drop shadow */
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    /* Larger premium snug width for bare layout */
    height: 44px !important;
    /* Larger premium snug height */
    outline: none !important;
}

/* Hamburger lines styling */
.hamburger-inner {
    width: 24px;
    /* Larger icon lines width */
    height: 14px;
    /* Larger icon lines height */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.hamburger-line {
    display: block;
    height: 2px;
    width: 100%;
    background-color: #1d1b1c !important;
    border-radius: 2px;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
    /* background-color handled by global theme block */
}

/* Dark Mode styles for Hamburger */
body.dark .index-hamburger-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body.dark .hamburger-line {
    background-color: #eeeeee !important;
}

/* Hamburger Hover states with high specificity to override !important base values */
body .index-hamburger-btn:hover .hamburger-line {
    background-color: #474343 !important;
    /* Elegant color transition to faded dark on hover matching social links */
}

body.dark .index-hamburger-btn:hover .hamburger-line {
    background-color: #bdbdbd !important;
    /* Elegant color transition to faded light on hover matching social links */
}

/* Hamburger Active / Morph Transitions */
.index-hamburger-btn.is-active .line-1 {
    transform: translateY(6px) rotate(45deg) !important;
    /* Centered transform for 14px height */
}

.index-hamburger-btn.is-active .line-2 {
    opacity: 0 !important;
    transform: scaleX(0) !important;
}

.index-hamburger-btn.is-active .line-3 {
    transform: translateY(-6px) rotate(-45deg) !important;
    /* Centered transform for 14px height */
}

/* 3. Overlay Menu Navigation */
.index-menu-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background-color: #ffffff !important;
    z-index: 2050 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    /* Fix flex-end overflow clipping */
    align-items: flex-start !important;
    padding: clamp(80px, 8vh, 120px) clamp(20px, 4%, 60px) clamp(50px, 5vh, 60px) clamp(20px, 4%, 60px) !important;
    /* Fluid top/bottom/left/right padding based on device size */
    box-sizing: border-box !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    overflow-y: auto !important;
    /* Enable scrolling on any device if height/width causes overflow */
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    /* Smooth iOS momentum scroll */
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.8s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
    -ms-overflow-style: none !important;
    /* Hide scrollbar on IE and Edge */
    scrollbar-width: none !important;
    /* Hide scrollbar on Firefox */
}

/* Hide scrollbar completely on Chrome, Safari, Opera */
.index-menu-overlay::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.index-menu-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Dark Mode Mesh Gradient nebula */
body.dark .index-menu-overlay {
    background-color: #000000 !important;
}

/* Bg Grain for Menu */
.index-menu-bg-grain {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.index-menu-bg-grain:after {
    animation: grain 8s steps(10) infinite !important;
    background-image: url("https://assets.website-files.com/5dff182dc3faab4c98b08388/5dff21c5e65e0610a8d38b86_noisy-texture-100x100-o5-d10-c-FFFFFA-t1.png") !important;
    content: "" !important;
    height: 300% !important;
    left: -50% !important;
    position: absolute !important;
    top: -100% !important;
    width: 300% !important;
    pointer-events: none !important;
    opacity: 0.08 !important;
}

body.dark .index-menu-bg-grain:after {
    opacity: 0.04 !important;
}

.index-menu-content {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(20px, 4.5vh, 40px) !important;
    /* Responsive gap dynamically adjusts with height */
    position: relative !important;
    z-index: 2 !important;
    margin-top: auto !important;
    /* Bottom-align elegantly, leaving premium breathing space under logo */
    margin-bottom: 0 !important;
}

.index-menu-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.index-menu-item {
    overflow: visible !important;
    width: fit-content !important;
}

.index-menu-item:last-child {
    margin-bottom: 0 !important;
}

.index-menu-link {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: #1d1b1c !important;
    transform: translateY(30px) !important;
    opacity: 0 !important;
    width: fit-content !important;
    /* Limit hover boundaries strictly to the text area */
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
    /* Elegant original entrance timing */
}

body.dark .index-menu-link {
    color: #eeeeee !important;
}

/* Stagger reveal when active */
.index-menu-overlay.is-open .index-menu-link {
    transform: translateY(0) !important;
    opacity: 1 !important;
    transition-delay: calc(var(--item-index) * 0.08s + 0.15s) !important;
    /* Original elegant stagger sequence */
}

.index-menu-text {
    font-size: clamp(2.75rem, 3vw + 1.8rem, 3.8rem);
    font-family: "Roboto Mono", ui-monospace, monospace;
    line-height: 1.1;
    letter-spacing: -1.5px;
    text-transform: uppercase !important;
    color: #474343 !important;
    /* Faded inactive base color in light mode matching social links */
    position: relative;
    display: inline-block;
    backface-visibility: hidden !important;
    will-change: transform;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    /* Match header animation timing */
}

body.dark .index-menu-text {
    color: #bdbdbd !important;
    /* Faded base color in dark mode matching category filters and social links precisely */
}

/* Signature sliding mask color wipe overlay (matches index 2.html exactly) */
.index-menu-text::before {
    content: attr(data-hover) !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    /* Default 100% so it looks solid in non-hovered list state */
    height: 100% !important;
    overflow: hidden !important;
    color: #1d1b1c !important;
    /* Solid charcoal text color in light mode */
    white-space: nowrap !important;
    backface-visibility: hidden !important;
    will-change: width;
    transition: width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    /* Match header/menu animation timing */
}

body.dark .index-menu-text::before {
    color: #eeeeee !important;
    /* Solid warm white text color in dark mode */
}

/* Wipe solid colors to 0% width for all items when any navigation link is hovered, except the hovered item itself */
.index-menu-list:has(.index-menu-link:hover) .index-menu-link:not(:hover) .index-menu-text::before {
    width: 0% !important;
}

/* Slide in the solid wipe color for the currently hovered item */
.index-menu-link:hover .index-menu-text::before {
    width: 100% !important;
    color: #1d1b1c !important;
}

body.dark .index-menu-link:hover .index-menu-text::before {
    color: #eeeeee !important;
}

/* Menu link hover transitions (Smooth right-shift - exact match ease/duration, NO underline) */
.index-menu-link:hover .index-menu-text {
    transform: translateX(15px) !important;
}

/* Sparkle Icons Wrapper */

/* Meta column styles aligned at bottom left */
.index-menu-meta-row {
    display: flex !important;
    gap: clamp(30px, 4vw, 60px) !important;
    /* Fluid gap adjusts with device width */
    margin-top: clamp(20px, 3vh, 40px) !important;
    /* Fluid margin adjusts with device height */
    opacity: 0 !important;
    transform: translateY(20px) !important;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), color 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
    transition-delay: 0.45s !important;
}

.index-menu-overlay.is-open .index-menu-meta-row {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.index-menu-meta-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* 4. Scroll Lock when Menu Open */
body.menu-open-lock,
html.menu-open-lock {
    overflow: hidden !important;
    height: 100vh !important;
}

/* 5. Responsiveness */
@media (max-width: 1024px) {
    .index-header {
        padding: 15px 30px !important;
    }

    .index-menu-overlay {
        padding: clamp(80px, 8vh, 100px) clamp(20px, 6%, 60px) clamp(40px, 4vh, 50px) clamp(20px, 6%, 60px) !important;
    }
}

@media (max-width: 768px) {
    .index-header {
        padding: 12px 20px !important;
    }

    .index-logo-img {
        height: 16px !important;
    }

    .index-menu-overlay {
        padding: clamp(70px, 8vh, 90px) clamp(16px, 6%, 40px) clamp(30px, 3vh, 40px) clamp(16px, 6%, 40px) !important;
    }

    .index-menu-text {
        font-size: clamp(2rem, 9vw, 3.2rem) !important;
    }

    .index-menu-meta-row {
        flex-direction: column !important;
        gap: 20px !important;
        margin-top: 24px !important;
    }
}

@media (max-height: 600px) {
    .index-menu-overlay {
        padding-top: clamp(60px, 6vh, 80px) !important;
    }
}

/* -----------------------------------------
   Projects: Remove Years and Connector Lines
-------------------------------------------- */
.works-page-content .blog-classic .post-cat,
.project-page .blog-classic .post-cat,
.works-page-content .blog-classic .post-cat::before,
.project-page .blog-classic .post-cat::before {
    display: none !important;
}

.works-page-content .post-meta::after,
.project-page .post-meta::after {
    display: none !important;
}

/* -----------------------------------------
   About Page: Light & Dark Mode Image Toggles (Smooth Cross-fade)
-------------------------------------------- */
.about-img-light,
.about-img-dark {
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.about-img-light {
    opacity: 1 !important;
    z-index: 2 !important;
}

.about-img-dark {
    opacity: 0 !important;
    z-index: 1 !important;
}

body.dark .about-img-light {
    opacity: 0 !important;
    z-index: 1 !important;
}

body.dark .about-img-dark {
    opacity: 1 !important;
    z-index: 2 !important;
}

/* -----------------------------------------
   About Page: Interactive Floating Tooltips
-------------------------------------------- */
.tooltip-wrapper {
    position: absolute;
    z-index: 10;
    pointer-events: none;
}

.creative-media-col .container:hover .tooltip-wrapper {
    animation-play-state: paused !important;
}

.float-dev-anim {
    left: 28%;
    top: 38%;
    animation: float-developer 2s ease-in-out infinite;
}

.float-des-anim {
    left: 54%;
    top: 46%;
    animation: float-designer 2s ease-in-out infinite;
    animation-delay: -0.9s;
}

.about-tooltip {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.85rem !important;
    font-family: "PPMondwest-Regular", system-ui, sans-serif !important;
    font-size: clamp(0.85rem, 0.4vw + 0.8rem, 1.05rem) !important;
    line-height: 1 !important;
    user-select: text !important;
    -webkit-user-select: text !important;
    border-radius: 0 !important;
    pointer-events: auto;
    cursor: default !important;
}

.about-tooltip .tooltip-text {
    cursor: text !important;
}

.tooltip-arrow-svg {
    cursor: default !important;
}

/* Tooltip Developer - Light Mode (Default) */
.tooltip-developer {
    background-color: #ffffff !important;
    color: #1d1b1c !important;
    border: 1px solid #e1e1e1 !important;
}

.tooltip-developer .tooltip-arrow-svg path {
    fill: #ffffff !important;
    stroke: #e1e1e1 !important;
}

/* Tooltip Designer - Light Mode (Default) */
.tooltip-designer {
    background-color: #1d1b1c !important;
    color: #ffffff !important;
    border: 1px solid #3c3d3f !important;
}

.tooltip-designer .tooltip-arrow-svg path {
    fill: #1d1b1c !important;
    stroke: #3c3d3f !important;
}

/* Alternate Colors on Dark Mode */
body.dark .tooltip-developer {
    background-color: #1d1b1c !important;
    color: #ffffff !important;
    border: 1px solid #3c3d3f !important;
}

body.dark .tooltip-developer .tooltip-arrow-svg path {
    fill: #1d1b1c !important;
    stroke: #3c3d3f !important;
}

body.dark .tooltip-designer {
    background-color: #ffffff !important;
    color: #1d1b1c !important;
    border: 1px solid #e1e1e1 !important;
}

body.dark .tooltip-designer .tooltip-arrow-svg path {
    fill: #ffffff !important;
    stroke: #e1e1e1 !important;
}



/* Floating Keyframes */
@keyframes float-developer {
    0% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(-4px, -6px);
    }

    100% {
        transform: translate(0, 0);
    }
}

@keyframes float-designer {
    0% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(4px, 6px);
    }

    100% {
        transform: translate(0, 0);
    }
}