@import "components/banners.css";
@import "components/buttons.css";
@import "components/dropdowns.css";
@import "components/fades.css";
@import "components/features.css";
@import "components/footer_1.css";
@import "components/menus.css";
@import "components/modals.css";
@import "components/nav_bars.css";
@import "components/overlays.css";
@import "components/popups.css";
@import "components/preloaders.css";
@import "components/scroll_anchors.css";
@import "components/text_groups.css";
@import "components/tiles.css";

/* general -------------------------- */
h1.page-header {
    font-weight: 400;
}
.fade-in-initial,
.fade-in-secondary {
    opacity: 0;
}
br.mob {
    display: none;
}
::-webkit-scrollbar {
    display: none;
}
body {
    scrollbar-width: none;
}
body {
    overflow: -moz-scrollbars-none;
    -ms-overflow-style: none;
}
.video-bg {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.5s ease;
}
.hidden {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.py-2xl {
    padding-top: calc(var(--space-xlrg) * 1.5);
    padding-bottom: calc(var(--space-xlrg) * 1.5);
}
.container-lrg.extra-padding {
    padding: 0 calc(var(--container-padding) * 2);
}
.scroll-anchor  {
    position: relative;
    top: -100px;
    visibility: hidden;
}
.pt-section {
    padding-top: var(--space-lrg);
}
.z-index-0 {
    z-index: 0;
}
.z-index-1 {
    z-index: 1;
}
.scroll_top {
    cursor: pointer;
}
@media only screen and (max-width: 768px) {
    br.mob {
        display: block;
    }
    .pt-section {
        padding-top: var(--space-med);
    }
}
@media only screen and (max-width: 501px) {
    :root {
        --h1-font-size: 2rem;
    }
    .container-lrg.extra-padding {
        padding: 0 var(--container-padding);
    }
}

/* button flair -------------------------- */
.button {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
    font-weight: 500;
    border: 2px solid var(--white);
    padding: 10px 20px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 1.1rem;
    text-decoration: none;
    color: var(--white);
}
.button:hover {
    color: var(--black);
}
.button__flair {
  position: absolute;
  left: 0; top: 0; right: 0; bottom: 0;
  pointer-events: none;
  transform: scale(0);
  transform-origin: 0 0;
  will-change: transform;
}
.button__flair:before {
  content: "";
  position: absolute;
  left: 0; top: 0;
  width: 170%;
  aspect-ratio: 1/1;
  background: var(--white); /* or your accent color */
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  display: block;
}
.button__label {
  position: relative;
  z-index: 1;
}
.services-button {
    border-color: var(--black);
    color: black;
    transition: opacity 0.3s ease;
}
.services-button:hover {
    color: var(--white);
}
.services-button .button__flair:before {
    background: var(--black);
}
.services-button.active {
    background: var(--purple);
    color: var(--white);
    border-color: var(--purple);
}
.services-button.active .button__flair:before {
    background: var(--purple);
}
@media only screen and (max-width: 501px) {
    .services-button {
        font-size: 0.9rem;
    }
}

/* header --------------------------- */
.colony_nav {
    background: var(--black);
    transition: 0.5s;
}
.colony_nav.transparent {
    background: transparent;
}
.colony_nav .nav_inner {
    padding: var(--space-xsml) var(--container-padding);
    transition: 0.3s;
}
.colony_nav .logo img {
    height: 50px;
    width: auto;
}
.colony_nav .logo img.logo-black {
    display: none;
}
.colony_nav .links a,
.colony_nav .open_colony_modal {
    color: var(--white);
    font-size: 1.25rem;
    font-weight: 700;
    background: none;
    display: block;
}
.colony_nav .links .label {
    padding-left: 5px;
    padding-right: 5px;
}
.colony_nav .links .line {
    margin-top: 7px;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, var(--blue), var(--purple));
    max-width: 0;
    transition: 0.5s ease-in-out;
}
.colony_nav .links a:hover .line,
.colony_nav .open_colony_modal:hover .line {
    max-width: 100px;
}

/* light */
.colony_nav.light {
    background: var(--white);
}
.colony_nav.light .logo img.logo-black {
    display: block;
}
.colony_nav.light .logo img.logo-white {
    display: none;
}
.colony_nav.light .links a,
.colony_nav.light .open_colony_modal {
    color: var(--black);
}
.colony_nav.light .menu_open {
    color: var(--black);
}

/* scrolled */
.colony_nav.scrolled,
.colony_nav.scrolled.light {
    background: var(--black);
}
.colony_nav.scrolled a,
.colony_nav.scrolled.light a,
.colony_nav.scrolled .open_colony_modal {
    color: var(--white);
}
.colony_nav.light.scrolled .logo img.logo-black {
    display: none;
}
.colony_nav.light.scrolled .logo img.logo-white {
    display: block;
}

@media only screen and (max-width: 501px) {
    .colony_nav .logo img {
        height: 40px;
        width: auto;
    }
}

/* on hover */
.colony_nav a:hover {
    color: var(--white);
}

/* links */
.nav-about a.link-about,
.nav-services a.link-services,
.nav-work a.link-work,
.nav-feed a.link-feed,
.colony_nav.light.nav-about a.link-about,
.colony_nav.light.nav-services a.link-services,
.colony_nav.light.nav-work a.link-work,
.colony_nav.light.nav-feed a.link-feed {
    color: var(--blue);
}

/* menu ---------------------------------- */
.colony_menu {
    background: var(--black);
}
.menu_close {
    color: var(--blue);
    top: var(--space-sml);
    right: 50%;
    transform: translateX(50%);
}
.colony_menu .links_wrp {
    padding: 0;
    padding-top: calc(var(--space-xlrg) + var(--space-sml));
}
.colony_menu .links li {
    display: block;
    margin-bottom: calc(var(--space-sml) * 1.5);
}
.colony_menu .links a,
.colony_menu .open_colony_modal {
    display: block;
    font-size: 1.65rem;
    line-height: 1em;
    color: var(--white);
    font-weight: 900;
    text-align: center;
    background: transparent;
    padding: 0;
    width: 100%;
}

/* popup ------------------------------ */
.colony_popup {
    background: var(--black);
    border: 1px solid var(--white);
    border-radius: 0.5em;
    padding: calc(var(--space-sml) * 1.25);
}
.colony_popup .content {
    padding-right: 0;
}
.colony_popup .title {
    padding-right: 30px;
    font-weight: 900;
    font-size: 1.5rem;
    font-style: italic;
    max-width: 20rem;
}
.colony_popup .title span {
    color: var(--blue);
}
.colony_popup .colony_form {
    margin-top: var(--space-sml);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-xsml);
}
.colony_popup input {
    background: var(--black);
    color: var(--white);
    padding: 7px var(--space-xsml);
    border-bottom: 2px solid rgba(255,255,255,0.2);
    height: 50px;
}
.colony_popup input::placeholder {
    color: var(--white);
}
.colony_popup button,
.colony_popup button:hover {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--black);
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}
.colony_popup button .label {
    color: var(--white);
    font-weight: 900;
    font-style: italic;
    padding: 0 var(--space-xsml);
}
.colony_popup button .line {
    margin-top: 7px;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, var(--blue), var(--purple));
}
@media only screen and (max-width: 1100px) {
    .colony_popup button .line {
        margin-top: 9px;
    }
}
@media only screen and (max-width: 768px) {
    .colony_popup {
        padding: var(--space-sml);
    }
    .colony_popup input {
        font-size: 0.9rem;
    }
    .colony_popup button .line {
        margin-top: 10px;
    }
}

/* contact ---------------------------- */
.contact-modal {
    backdrop-filter: blur(5px);
    padding: 0;
}
.contact-modal .background {
    background: rgba(0,0,0,1);
}
.contact-modal .close {
    z-index: 1002;
    font-size: 2.25rem;
    color: var(--blue);
    right: calc(var(--space-sml) * 1.5);
    top: calc(var(--space-sml) * 1);
}
.contact-modal .content {
    max-width: 700px;
    background: var(--black);
    color: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: var(--space-med);
}
.contact-modal input,
.contact-modal textarea {
    background: transparent;
    color: var(--white);
    border-bottom: 1px solid rgba(255,255,255,0.2);
}
.contact-modal ::placeholder {
    color: var(--white);
}
.contact-modal button {
    background: transparent;
    margin-top: var(--space-sml);
}
.contact-modal button .label {
    color: var(--white);
    font-weight: 700;
    font-size: 1.25rem;
    font-style: italic;
    padding: 0 var(--space-sml);
}
.contact-modal button .line {
    margin-top: var(--space-xsml);
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, var(--blue), var(--purple));
}
@media only screen and (max-width: 991px) {
    .contact-modal .close {
        top: var(--space-sml);
        right: 50%;
        transform: translateX(50%);
    }
}
@media only screen and (max-width: 991px) {
    .contact-modal .content {
        padding: 0 var(--space-sml);
    }
}


/* footer ----------------------------- */
.colony_footer {
    position: relative;
    z-index: 1;
    padding: var(--space-med) 0;
    background: var(--black);
}
.colony_footer .footer-top {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.colony_footer .logo img {
    height: 50px;
    width: auto;
}
.colony_footer a {
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1em;
    color: var(--white);
}
.colony_footer .label {
    font-family: var(--inter-tight);
    font-style: italic;
    color: var(--blue);
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: var(--space-xsml);
}
.colony_footer .open_contact_modal {
    cursor: pointer;
}
.colony_footer .contact-grp:last-of-type {
    margin-top: var(--space-med);
}
.colony_footer .navigation {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}
.colony_footer .links {
    list-style: none;
    margin-bottom: 0;
}
.colony_footer .links li {
    margin-bottom: var(--space-xsml);
    text-align: right;
}
.colony_footer .links li:last-of-type {
    margin-bottom: 0;
}
.colony_footer .footer-bottom .divider {
    margin-top: var(--space-med);
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, var(--blue), var(--purple));
    margin-bottom: var(--space-med);
}
.colony_footer .social-wrp {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.colony_footer .social {
    display: flex;
    gap: calc(var(--space-xsml) * 1.5);
}
.colony_footer .social i {
    height: 40px;
    width: 40px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid rgba(255,255,255,1);
    font-size: 0.8rem;
    transition: 0.5s;
}
.colony_footer .social i:hover {
    color: var(--black);
    background: var(--white);
}
.colony_footer .compliance {
    display: block;
    text-align: right;
    font-size: 0.8rem;
}
.colony_footer .compliance a {
    font-size: 0.8rem;
}
@media only screen and (max-width: 768px) {
    .colony_footer .contact,
    .colony_footer .links {
        display: none;
    }
    .colony_footer .navigation {
        align-items: center;
    }
    .colony_footer .divider {
        margin-top: var(--space-sml);
    }
    .colony_footer .social-wrp {
        flex-direction: column;
    }
    .colony_footer .compliance {
        margin-top: var(--space-sml);
        text-align: center;
    }
    .colony_footer .colony_branding {
        margin-top: var(--space-xsml);
    }
}
@media only screen and (max-width: 501px) {
    .colony_footer .logo img {
        height: 40px;
        width: auto;
    }
}

/* splash ----------------------------- */
.splash {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99;
    overflow: hidden;
    opacity: 1;
}
.splash .video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.splash .video-mobile {
    display: none;
}
@media only screen and (max-width: 768px) {
    .splash .video-desktop {
        display: none;
    }
    .splash .video-mobile {
        display: block;
    }
}

/* home ------------------------------- */
/* intro */
.home-intro {
    padding: calc(var(--space-xlrg) * 1.5) 0;
}
.home-intro p.h3 {
    max-width: 50rem;
    font-weight: 300;
    font-size: 1.75rem;
    line-height: 1.3em;
}

/* services */
.home-services h3 {
    font-weight: 300;
    font-size: 1.75rem;
    line-height: 1.3em;
}
.home-services .services-tab .label {
    padding-left: var(--space-xsml);
    font-size: 1.4rem;
    font-weight: 600;
    transition: 0.5s;
    position: relative;
    z-index: 1;
}
.home-services .services-tab .line {
    margin-top: var(--space-xsml);
    height: 3px;
    width: 100%;
    background: linear-gradient(to right, var(--blue), var(--purple));
}
.home-services .services-tab .content {
    margin-top: var(--space-sml);
    padding-left: var(--space-xsml);
    padding-right: var(--space-xsml);
    width: 100%;
    font-weight: 300;
    line-height: 1.3em;
}
.home-services .services-tab .content p:last-of-type {
    margin-bottom: 0;
}

/* work */
.work-list-grid.home-work-grid {
    margin-top: 0 !important;
}
.home-work-grid .work-card:nth-of-type(1) {
    padding-top: var(--space-sml);
}
.home-work-grid .work-card:nth-of-type(2) {
    padding-top: var(--space-lrg);
}
@media only screen and (max-width: 600px) {
    .home-work-grid .work-card:nth-of-type(1),
    .home-work-grid .work-card:nth-of-type(2) {
        padding-top: 0;
    }
}

/* work list --------------------------- */
.work-list-header {
    padding-top: var(--space-lrg);
}

.work-list-filters {
    margin-top: var(--space-lrg);
}
.work-list-filters .container-lrg {
    display: flex;
}
.work-filters {
    display: inline-flex;
    flex-wrap: wrap;
    column-gap: var(--space-sml);
    row-gap: var(--space-xsml);
}
.work-filter {
    background: none;
    color: var(--white);
    font-weight: 500;
    white-space: nowrap;
    user-select: none;
}
.work-filters-wrp .line {
    margin-top: calc(var(--space-xsml) * 1.5);
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, var(--blue), var(--purple));
}
.work-filter:last-of-type {
    padding-right: 0;
}
.work-filter:hover {
    color: var(--blue);
}
.work-filter.active {
    color: var(--blue);
}
.work-list-filters-mobile {
    margin-top: var(--space-lrg);
    display: none;
}
@media only screen and (max-width: 768px) {
    .work-list-filters {
        display: none;
    }
    .work-list-filters-mobile {
        display: block;
    }
}

/*mobile filters */
.mobile-filter {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
}
.mobile-filter .label {
    font-size: 1.1rem;
    font-weight: 800;
    font-style: italic;
    color: var(--blue);
    margin-right: var(--space-sml);
}
.mobile-filter i {
    font-size: 1.5rem;
}

.work-list-grid {
    margin-top: var(--space-lrg);
    padding-bottom: var(--space-lrg);
    min-height: 65vh;
}
.home-work-list-grid {
    margin-top: 0;
    min-height: auto;
}
.work-grid {
    grid-template-columns: repeat(3, 1fr);
    row-gap: var(--space-med);
}
.load_more {
    background: 0;
}
.load_more .label {
    color: var(--white);
    font-weight: 900;
    font-style: italic;
    padding: 0 var(--space-xsml);
}
.load_more .line {
    margin-top: 7px;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, var(--blue), var(--purple));
    max-width: 0;
    transition: 0.5s ease-in-out;
}
.load_more:hover .line {
    max-width: 200px;
}
@media only screen and (max-width: 991px) {
    .work-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media only screen and (max-width: 768px) {
    .work-list-grid {
        margin-top: var(--space-lrg);
    }
    .home-work-list-grid {
        margin-top: 0;
        min-height: auto;
    }
    .load_more .line {
        max-width: 200px;
    }
}
@media only screen and (max-width: 600px) {
    .work-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* work card --------------------------- */
.work-card,
.work-card:hover {
    text-decoration: none;
    color: var(--white);
}
.work-card .head {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
}
.work-card .head img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: 1;
    transition: opacity 0.5s;
}
.work-card:hover .head img {
    opacity: 0;
}
.work-card .head .video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.work-card .body {
    padding-top: calc(var(--space-xsml) * 1.5);
}
.work-card .body .title {
    font-weight: 700;
    font-size: 1.15rem;
    font-style: italic;
    line-height: 1em;
}
.work-card .body .role {
    opacity: 0.75;
    font-size: calc(max(0.8rem,14px));
    font-weight: 300;
    line-height: 1.5em;
    margin-top: 5px;
}
@media only screen and (max-width: 768px) {
    .work-card:hover .head img {
        opacity: 1;
    }
    .work-card .video-bg {
        display: none;
    }
}

/* work single --------------------------- */
.block-txt-white {
    color: var(--white);
}
.block-txt-white h1 {
    color: var(--white);
}
.block-txt-black {
    color: var(--blackSoft);
}
.block-txt-black h1 {
    color: var(--blackSoft);
}
.block-bg-black {
    background: var(--black);
    color: var(--white);
}
.block-bg-black h1 {
    color: var(--white);
}
.block-bg-white {
    background: var(--white);
    color: var(--blackSoft);
}
.block-bg-white h1 {
    color: var(--blackSoft);
}
.block-bg-theme {
    background: var(--blue);
    color: var(--white);
}
.block-bg-theme h1 {
    color: var(--white);
}

/* block hero */
.block-hero {
    position: relative;
    height: 100vh;
    min-height: 700px;
}
.block-hero .colony_overlay {
    padding: var(--container-padding);
}
.block-hero .colony_overlay.content-left {
    align-items: flex-end;
    justify-content: flex-start;
}
.block-hero .colony_overlay.content-left .fade {
    background: linear-gradient(to top right, rgba(0, 0, 0, 0.5), transparent 85%, transparent);
}
.block-hero .colony_overlay.fade {
    background: rgba(0,0,0,0.3);
}
.block-hero h1 {
    margin-bottom: 0;
}
.block-hero .content-hidden h1 {
    display: none;
}
.block-hero .scroll-icon i {
    color: var(--white);
    font-size: 2rem;
}
.block-hero .content-center .scroll-icon,
.block-hero .content-hidden .scroll-icon {
    position: absolute;
    bottom: var(--container-padding);
    left: 50%;
    transform: translateX(-50%);
}
.block-hero .content-left .scroll-icon {
    position: absolute;
    bottom: var(--container-padding);
    right: var(--container-padding);
}
@media only screen and (max-width: 768px) {
    .block-hero .content-center .scroll-icon,
    .block-hero .content-hidden .scroll-icon {
        bottom: 12vh;
    }
}

/* hero video */
.block-hero-video .video-bg {
    object-fit: cover;
}
.block-hero-video .video-bg,
.block-hero-video .video-bg-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}
.block-hero-video .video-bg-desktop {
    width: 100vw;
    height: 56.25vw;
    min-height: 102vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    visibility: visible;
}
.block-hero-video .video-bg-mobile {
    width: 100vw;
    height: 200vw;
    min-height: 56.25vh;
    min-width: 102vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
    visibility: hidden;
}
.block-hero-video .video-mobile {
    display: none;
}
@media only screen and (max-width: 768px) {
    .block-hero-video .video-bg-desktop,
    .block-hero-video .video-desktop {
        display: none;
        visibility: hidden;
    }
    .block-hero-video .video-bg-mobile,
    .block-hero-video .video-mobile {
        display: block;
        visibility: visible;
    }
}

/* hero image */
.block-hero-image {
    position: relative;
}
.block-hero-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
@media only screen and (max-width: 501px) {
    .block-hero {
        min-height: 600px;
    }
    .block-hero .colony_overlay.content-left {
        padding-bottom: 20vh;
    }
}

/* spacer */
.block-spacer.height-extrasmall {
    height: var(--space-xsml);
}
.block-spacer.height-small {
    height: var(--space-sml);
}
.block-spacer.height-medium {
    height: var(--space-med);
}
.block-spacer.height-large {
    height: var(--space-lrg);
}
.block-spacer.height-extralarge {
    height: var(--space-xlrg);
}

/* copy */
.block-copy {
    padding-top: var(--space-xlrg);
    padding-bottom: var(--space-xlrg);
}
.block-copy-flexible {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

.block-copy.padding-top-large {
    padding-top: calc(var(--space-xlrg) * 2);
}
.block-copy.padding-bottom-large {
    padding-bottom: calc(var(--space-xlrg) * 2);
}
.block-copy.padding-top-none {
    padding-top: 0
}
.block-copy.padding-bottom-none {
    padding-bottom: 0
}
.block-copy .content-wrp {
    max-width: 50rem;
}
.block-copy .content-wrp.content-wrp-sml {
    max-width: 25rem;
}
.block-copy .content-wrp.content-wrp-left {
    margin-right: auto;
}
.block-copy .content-wrp.content-wrp-center {
    margin: 0 auto;
}
.block-copy .content-wrp.content-wrp-right {
    margin-left: auto;
}
.block-copy p:last-of-type {
    margin-bottom: 0;
}
.block-copy strong {
    font-weight: 900;
}
.block-copy em {
    font-style: italic;
}

.block-copy .grid-2 {
    grid-template-columns: 1fr 1fr;
    column-gap: var(--space-med);
    row-gap: var(--space-sml);
}
@media only screen and (max-width: 768px) {
    .block-copy {
        padding-top: var(--space-lrg);
        padding-bottom: var(--space-lrg);
    }
    .block-copy.padding-top-large {
        padding-top: calc(var(--space-xlrg) * 1);
    }
    .block-copy.padding-bottom-large {
        padding-bottom: calc(var(--space-xlrg) * 1);
    }
    .block-copy {
        padding-left: 0;
        padding-right: 0;
    }
    .block-copy .grid-2 {
        grid-template-columns: 1fr;
    }
}

/* block image */
.block-image .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}
.block-image .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
.block-image .grid-2.gap-none,
.block-image .grid-3.gap-none {
    gap: 0;
}
.block-image .grid-2.gap-extrasmall,
.block-image .grid-3.gap-extrasmall {
    gap: var(--space-xsml);
}
@media only screen and (max-width: 501px) {
    .block-image .grid-2,
    .block-image .grid-3 {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* feature video & image */
.block-feature-assets,
.block-feature-image,
.block-feature-video {
    position: relative;
    padding: var(--space-lrg) 0;
}
.block-feature-assets.padding-top-large,
.block-feature-image.padding-top-large,
.block-feature-video.padding-top-large {
    padding-top: calc(var(--space-lrg) * 2);
}
.block-feature-assets.padding-top-none,
.block-feature-image.padding-top-none,
.block-feature-video.padding-top-none {
    padding-top: 0;
}
.block-feature-assets.padding-bottom-large,
.block-feature-image.padding-bottom-large,
.block-feature-video.padding-bottom-large {
    padding-bottom: calc(var(--space-lrg) * 2);
}
.block-feature-assets.padding-bottom-none,
.block-feature-image.padding-bottom-none,
.block-feature-video.padding-bottom-none {
    padding-bottom: 0;
}
.block-feature-assets .assets-wrp,
.block-feature-image .image-wrp,
.block-feature-video .video-wrp {
    position: relative;
    width: 80vw;
    margin: 0 auto;
    z-index: 1;
}
.block-feature-assets .bg-image,
.block-feature-image .bg-image,
.block-feature-video .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.block-feature-assets .bg-image img,
.block-feature-image .bg-image img,
.block-feature-video .bg-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.block-feature-assets.bg-faded .bg-image img,
.block-feature-image.bg-faded .bg-image img,
.block-feature-video.bg-faded .bg-image img {
    opacity: 0.5;
}
.block-feature-assets.bg-left .bg-image,
.block-feature-image.bg-left .bg-image,
.block-feature-video.bg-left .bg-image {
    width: 40%;
    height: 100%;
}
.block-feature-assets.bg-right .bg-image,
.block-feature-image.bg-right .bg-image,
.block-feature-video.bg-right .bg-image {
    width: 40%;
    left: unset;
    right: 0;
}
.block-feature-assets .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}
.block-feature-assets .grid-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xsml);
}
@media only screen and (max-width: 768px) {
    .block-feature-assets .assets-wrp,
    .block-feature-image .image-wrp,
    .block-feature-video .video-wrp {
        width: calc(100% - (var(--container-padding) * 1));
    }
    .block-feature-assets .grid-2,
    .block-feature-assets .grid-3 {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* features */
.block-features {
    height: 70vh;
}

/* featured-images */
.block-interactive-images {
    position: relative;
    padding: calc(var(--space-xlrg) * 1.5) 0;
}
.block-interactive-images .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
.block-interactive-images.bg-left .bg-image {
    width: 40%;
    height: 100%;
}
.block-interactive-images.bg-right .bg-image {
    width: 40%;
    left: unset;
    right: 0;
}
.block-interactive-images .bg-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.block-interactive-images.bg-faded .bg-image img {
    opacity: 0.5;
}
.block-interactive-images .grid-3 {
    position: relative;
    grid-template-columns: repeat(3, 1fr);
    z-index: 1;
}
.block-interactive-images .grid-3 img {
    position: relative;
    transition: 0.5s ease-in-out;
}
.block-interactive-images .grid-3 .grid-item:nth-child(1),
.block-interactive-images .grid-3 .grid-item:nth-child(3) {
    padding-top: var(--space-med);
}
.block-interactive-images .grid-3 img:hover {
    transform: translate(0, -50px);
}
@media only screen and (max-width: 768px) {
    .block-interactive-images .grid-3 img:hover {
        transform: translate(0, 0);
    }
}
@media only screen and (max-width: 501px) {
    .block-interactive-images .grid-3 {
        grid-template-columns: repeat(1, 1fr);
    }
    .block-interactive-images .grid-3 img:hover {
        transform: translate(0, 0);
    }
    .block-interactive-images .grid-3 .grid-item:nth-child(1),
    .block-interactive-images .grid-3 .grid-item:nth-child(3) {
        padding-top: 0;
        padding-right: 20vw;
    }
    .block-interactive-images .grid-3 .grid-item:nth-child(2) {
        padding-left: 20vw;
    }
}

/* image flexible */
.block-assets-flexible {
    padding-top: var(--space-sml);
    padding-bottom: var(--space-sml);
    height: 70vh;
    min-height: 60vw;
}
.block-assets-flexible.padding-top-large {
    padding-top: var(--space-lrg);
}
.block-assets-flexible.padding-bottom-large {
    padding-bottom: var(--space-lrg);
}
.block-assets-flexible.padding-top-none {
    padding-top: 0;
}
.block-assets-flexible.padding-bottom-none {
    padding-bottom: 0;
}
.block-assets-flexible .container-lrg {
    position: relative;
    height: 100%;
}
.block-assets-flexible .asset-wrp.asset-small {
    max-width: 30vw;
}
.block-assets-flexible .asset-wrp.asset-medium {
    max-width: 50vw;
}
.block-assets-flexible .asset-wrp.asset-large {
    max-width: 75vw;
}
.block-assets-flexible .asset-wrp {
    position: absolute;
}
.block-assets-flexible .asset-wrp.pos-y-top {
    top: 0;
}
.block-assets-flexible .asset-wrp.pos-y-center {
    top: 50%;
    transform: translateY(-50%);
}
.block-assets-flexible .asset-wrp.pos-y-bottom {
    bottom: 0;
}
.block-assets-flexible .asset-wrp.pos-x-left {
    left: 0;
}
.block-assets-flexible .asset-wrp.pos-x-right {
    right: 0;
}
.block-assets-flexible .asset-wrp.pos-x-left.pos-x-padding-standard {
    left: var(--container-padding);
}
.block-assets-flexible .asset-wrp.pos-x-right.pos-x-padding-standard {
    right: var(--container-padding);
}
.block-assets-flexible .asset-wrp.pos-front {
    z-index: 2;
}

/* scroller */
.block-scroller {
    padding: var(--space-lrg) 0;
    overflow: hidden;
}
.block-scroller.padding-top-large {
    padding-top: calc(var(--space-xlrg) * 1.5);
}
.block-scroller.padding-bottom-large {
    padding-bottom: calc(var(--space-xlrg) * 1.5);
}
.block-scroller.padding-top-none {
    padding-top: 0;
}
.block-scroller.padding-bottom-none {
    padding-bottom: 0;
}
.scroller-swiper {
    position: relative;
}
.scroller-swiper .swiper-slide {
    position: relative;
    cursor: grab;
    border-radius: 0.5rem;
    overflow: hidden;
}
.scroller-swiper .swiper-slide img {
    user-select: none;
}
.scroller-swiper .swiper-slide .colony_overlay {
    user-select: none;
    z-index: 1;
}
.scroller-swiper .swiper-button-prev::after,
.scroller-swiper .swiper-button-next::after {
    display: none;
}
.block-scroller .swiper-pagination {
    position: relative;
    top: initial;
    bottom: initial;
    left: initial;
    right: initial;
    margin-top: var(--space-xsml);
}
.block-scroller .swiper-pagination-bullet {
    background: var(--white);
}
.block-scroller.block-txt-white .swiper-pagination-bullet {
    background: var(--white);
}
.block-scroller.block-txt-black .swiper-pagination-bullet {
    background: var(--black);
}
.block-scroller.block-bg-white .swiper-pagination-bullet {
    background: var(--black);
}
.block-scroller.block-bg-black .swiper-pagination-bullet {
    background: var(--white);
}

/* code block */
.block-code {
    padding-top: var(--space-lrg);
    padding-bottom: var(--space-lrg);
}
.block-code.padding-top-large {
    padding-top: calc(var(--space-xlrg) * 1.5);
}
.block-code.padding-bottom-large {
    padding-bottom: calc(var(--space-xlrg) * 1.5);
}
.block-code.padding-top-none {
    padding-top: 0
}
.block-code.padding-bottom-none {
    padding-bottom: 0
}
.block-code {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* scroll top */
.scroll-top {
    padding: var(--space-med) 0;
    text-align: center;
}
.scroll-top i {
    color: var(--blue);
    font-size: 2.5rem;
}

/* feed --------------------------- */
.feed-list-header {
    padding-top: var(--space-lrg);
    color: var(--black);
}

.feed-list-grid {
    margin-top: var(--space-lrg);
}
.feed-grid {
    row-gap: var(--space-med);
    padding-bottom: var(--space-lrg);
}
.feed-list-grid {
    min-height: 65vh;
}

.feed-list-filters {
    margin-top: var(--space-lrg);
}
.feed-list-filters .container-lrg {
    display: flex;
    justify-content: flex-start;
}
.feed-filters {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: var(--space-sml);
    row-gap: var(--space-xsml);
}
.feed-filters-wrp .line {
    margin-top: calc(var(--space-xsml) * 1.5);
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, var(--blue), var(--purple));
}
.feed-filter {
    background: none;
    color: var(--black);
    font-weight: 600;
    white-space: nowrap;
    user-select: none;
}
.feed-filter:last-of-type {
    padding-right: 0;
}
.feed-filter.active {
    color: var(--blue);
}
.feed-list-filters-mobile {
    margin-top: var(--space-lrg);
    display: none;
}
.feed-list-filters-mobile i {
    color: var(--black);
}
@media only screen and (max-width: 768px) {
    .feed-list-filters {
        display: none;
    }
    .feed-list-filters-mobile {
        display: block;
    }
}


.feed-grid {
    grid-template-columns: repeat(3, 1fr);
}
.feed-card,
.feed-card:hover {
    text-decoration: none;
    color: var(--white);
    display: block;
}
.feed-card .head {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
}
.feed-card .head img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: 1;
    transition: 0.5s;
}
.feed-card:hover .head img {
    transform: scale(1.05);
}
.feed-card .body {
    padding-top: calc(var(--space-xsml) * 1.5);
}
.feed-card .body .title {
    font-weight: 800;
    font-style: italic;
    line-height: 1em;
    color: var(--black);
}
.feed-card .body .role {
    opacity: 0.75;
    font-size: 0.9rem;
    font-weight: 300;
}
@media only screen and (max-width: 991px) {
    .feed-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media only screen and (max-width: 768px) {
    .feed-list-grid {
        margin-top: var(--space-lrg);
    }
}
@media only screen and (max-width: 600px) {
    .feed-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* feed single --------------------------- */
.feed-single.base-bg-white {
    background: var(--white);
    color: var(--black);
}
.feed-single.base-bg-black {
    background: var(--black);
    color: var(--white);
}

.feed-single-nav {
    padding-top: var(--space-sml);
    font-size: 0.8rem;
    text-transform: lowercase;
}
.feed-single-nav a {
    text-decoration: none;
}

/* hero */
.feed-block-hero {
    margin-top: var(--space-sml);
    padding: var(--space-med) 0;
    position: relative;
}
.feed-block-hero .bg-blur {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(10px);
    z-index: 1;
}
.feed-block-hero .img-wrp {
    position: relative;
    z-index: 2;
}
.feed-block-hero .img-wrp.ratio-169 {
    padding-top: 56.25%;
}
.feed-block-hero img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
}

/* meta */
.feed-block-meta {
    padding-top: var(--space-sml);
}
.feed-block-meta .meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: var(--space-sml);
    border-bottom: 1px solid var(--blue);
    font-weight: 600;
}
.feed-block-meta i {
    margin-right: 7px;
    color: var(--blue);
}
.feed-block-meta .author_wrp {
    display: flex;
    align-items: center;
    gap: var(--space-xsml);
}
.feed-block-meta .avatar img {
    height: 60px;
    width: 60px;
    border-radius: 100px;
}
.feed-block-meta .author {
    text-align: left;
    font-size: 0.8rem;
    line-height: 1.5em;
}
.feed-block-meta .author .name {
    color: var(--blue);
    font-weight: 700;
}
.feed-block-meta .duration,
.feed-block-meta .date{
    font-size: 0.8rem;
    line-height: 1.3em;
}
@media only screen and (max-width: 600px) {
    .feed-block-meta .meta  {
        position: relative;
        flex-direction: column-reverse;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 5px;
    }
    .feed-block-meta .date {
        position: absolute;
        top: 0;
        right: 0;
    }
    .feed-block-meta .author_wrp {
        margin-top: var(--space-sml);
    }
}

/* feed single */
.feed-single strong {
    font-weight: 900;
}
.feed-single em {
    font-style: italic;
}

/* title */
.feed-block-title {
    margin-top: var(--space-med);
}

/* copy */
.feed-single .feed-block-copy:nth-of-type(1) {
    margin-top: 0;
}
.feed-block-copy h2,
.feed-block-copy h3 {
    margin-top: var(--space-med);
}

/* feature image */
.feed-block-feature-image {
    position: relative;
}
.feed-block-feature-image .feature-image {
    padding-top: 56.25%;
    position: relative;
}
.feed-block-feature-image .img-wrp {
    width: 85%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    overflow: hidden;
}
.feed-block-feature-image.ratio-169 .img-wrp {
    padding-top: 47.8125%;
}
.feed-block-feature-image .img-wrp img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
}
.feed-block-feature-image .bg-image {
    width: 85%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: red;
}
.feed-block-feature-image.ratio-169 .bg-image {
    padding-top: 47.8125%;
}
.feed-block-feature-image .bg-blur {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(5px);
}

/* sharing */
.feed-block-share {
    margin-top: var(--space-sml);
}

/* scroll top */
.feed-single .scroll-top {
    padding-top: var(--space-lrg);
}
.feed-single.base-bg-black {
    background: var(--black);
}

/* more */
.feed-single-more {
    padding-top: var(--space-med);
}
.feed-single-more .feed-card .title {
    color: var(--white);
}

/* about --------------------------- */
.about-header {
    overflow: hidden;
}
.about-header-title .title-1 {
    font-size: 6vw;
    line-height: 1.2em;
}
.about-header-title .title-2 {
    text-align: center;
    font-size: 7vw;
    line-height: 1.2em;
}

.about-story {
    padding-bottom: calc(var(--space-xlrg) + 15vw);
}
.about-story h2,
.about-team h2 {
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    margin-bottom: calc(var(--space-sml) * 1.5);
}
.about-story p {
    font-size: 1.25rem;
    line-height: 1.3em;
    max-width: 55rem;
}
.about-story p:last-of-type {
    margin-bottom: 0;
}

.miroma-header {
    margin-bottom: calc(var(--space-sml) * 1.5);
}
.miroma h2 {
    margin-bottom: 0;
}
.miroma-logo {
    display: flex;
    align-items: center;
}
.miroma-inline-logo {
    height: 40px;
    width: auto;
    padding-bottom: 7px;
}
.miroma-icon {
    width: 250px;
    height: auto;
}
@media only screen and (max-width: 991px) {
    .miroma {
        flex-direction: column;
    }
}
@media only screen and (max-width: 501px) {
    .miroma-inline-logo {
        height: 35px;
    }
    .miroma-icon {
        width: 200px;
        height: auto;
    }
}

.about-team .container-lrg {
    position: relative;
    top: -15vw;
}
.about-team .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}
.team-member-rebbeca {
    padding-top: var(--space-lrg);
}
.team-member-alex {
    padding-top: var(--space-med);
}
@media only screen and (max-width: 991px) {
    .about-team .grid-4 {
        grid-template-columns: 1fr 1fr;
    }
    .about-story {
        padding-bottom: calc(var(--space-xlrg) + 30vw);
    }
    .about-team .container-lrg {
        position: relative;
        top: -30vw;
    }
    .team-member-rebbeca {
        padding-top: var(--space-med);
    }
    .team-member-alex {
        padding-top: var(--space-med);
    }
}
@media only screen and (max-width: 501px) {
    .about-story {
        padding-bottom: calc(var(--space-xlrg) + 45vw);
    }
    .about-team .container-lrg {
        position: relative;
        top: -45vw;
    }
}

/* services --------------------------- */
.services-header {
    min-height: 75vh;
}
.services-header .h3 {
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.3em;
}
.services-header .intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.service-tabs {
    width: 100%;
    max-width: 32rem;
}
.service-tab {
    transition: 0.3s;
}
.service-tab, 
.service-tab:hover {
    color: var(--white);
    text-decoration: none;
    padding: var(--space-sml) var(--space-xsml);
    border-bottom: 1px solid var(--white);
    cursor: pointer;
}
.service-tab:hover .label {
    color: var(--blue);
}
.service-tab:hover {
    padding: var(--space-sml) var(--space-sml);
}
.service-tab .label {
    font-size: 1.5rem;
    font-weight: 700;
    transition: 0.5s;
    position: relative;
    z-index: 1;
}
@media only screen and (max-width: 991px) {
    .services-header .grid-2 {
        grid-template-columns: 1fr;
        row-gap: var(--space-xlrg);
    }
}
@media only screen and (max-width: 991px) {
    .service-tab:hover .label {
        color: var(--white);
    }
    .service-tab:hover {
        padding: var(--space-sml) var(--space-xsml);
    }
}

.service-section {
    position: relative;
    overflow: hidden;
    z-index: 1;
    background: var(--black);
}
.service-detail {
    display: grid;
    grid-template-columns: 2fr 3fr;
}
.service-detail .asset {
    position: relative;
}
#section-content-studio .asset {
    position: static;
}
/*.service-detail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 100% 50%;
    z-index: 0;
}*/
.service-detail .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-top: var(--space-xlrg);
    padding-right: var(--container-padding);
    padding-bottom: var(--space-xlrg);
    padding-left: var(--space-lrg);
}
.service-detail p,
.service-detail li {
    font-size: 0.9rem;
}
.service-detail li {
    margin-bottom: 5px;
}
.service-detail li:last-of-type {
    margin-bottom: 0;
}
.service-section.is-alternate {
    background: var(--white);
    color: var(--black);
}
.service-section.is-alternate .service-detail {
    grid-template-columns: 3fr 2fr;
}
.service-section.is-alternate .content {
    order: 1;
    padding-left: var(--container-padding);
    padding-right: var(--space-lrg);
}
.service-section.is-alternate .asset {
    order: 2;
}

#section-content-studio .img-content {
    position: absolute;
    height: 105%;
    width: auto;
    top: 0;
    left: 0;
    z-index: 0;
}
.content-content-studio {
    position: relative;
    z-index: 1;
}
@media only screen and (max-width: 991px) {
    .service-detail,
    .service-section.is-alternate .service-detail {
        grid-template-columns: 1fr;
    }
    .service-detail .content,
    .service-section.is-alternate .service-detail .content {
        order: 1;
        padding-left: calc(var(--container-padding) * 2);
        padding-right: calc(var(--container-padding) * 2);
    }
    .service-detail .asset,
    .service-section.is-alternate .service-detail .asset {
        width: 100%;
        order: 2;
    }

    /* content studio */
    #section-content-studio .asset {
        position: relative;
        overflow: hidden;
    }
    #section-content-studio .img-content {
        position: relative;
        height: auto;
        width: 100vw;
        max-width: unset;
        top: unset;
        left: unset;
        z-index: 1;
    }

    /* influencer marketing */
    #section-influencer-marketing .content {
        padding-bottom: 0;
    }
    #section-influencer-marketing .asset {
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }
    #section-influencer-marketing img {
        height: auto;
        width: 80vw;
    }

    /* social media */
    #section-social-media .asset {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
    }
    #section-social-media img {
        height: auto;
        width: 80vw;
    }

    /* partnership activation */
    #section-partnership-activation .content {
        padding-bottom: 0;
    }
    #section-partnership-activation .asset {
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }
    #section-partnership-activation img {
        height: 600px;
        width: auto;
    }

    /* public relations */
    #section-public-relations .content {
        padding-bottom: 0;
    }
    #section-public-relations .asset {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
    }
    #section-public-relations img {
        height: auto;
        width: 70vw;
    }
}

@media only screen and (max-width: 501px) {
    /* content studio */
    #section-content-studio .img-content {
        width: 190vw;
    }

    /* influencer marketing */
    #section-influencer-marketing img {
        height: auto;
        width: 90vw;
    }

    /* social media */
    #section-social-media img {
        height: auto;
        width: 100%;
    }

    /* partnership activation */
    #section-partnership-activation img {
        height: auto;
        width: 95vw;
    }

    /* public relations */
    #section-public-relations img {
        height: auto;
        width: 95vw;
    }
}