/*
 Theme Name: Fluxo - Jamute
 Author: Fluxo
 Author URI: https://fluxo.design
*/

/* OS VALORES EM VW VALEM PARA UMA TELA DE 1460px DE LARGURA */

/* COLORS */
:root {
    --sunset: #F05064;
    --dark: #0c2126;
    --light: #FFF;
    --gray_30: #DEE1E5;
    --gray_50: #B2B6BA;
    --gray_70: #7C8288;
    --gray_90: #52575B;
    --light_10: rgba(255,255,255,0.1);
    --light_20: rgba(255,255,255,0.2);
    --light_30: rgba(255,255,255,0.3);
    --light_50: rgba(255,255,255,0.5);
    --light_70: rgba(255,255,255,0.7);
    --black_60: rgba(0,0,0,0.6);
    --black_50: rgba(0,0,0,0.5);
    --black_40: rgba(0,0,0,0.4);
    --white: #FFF;
    /* --black: #000; */
    --black: #0c2126;
}

/* TEXT COLORS */

.color-primary, .color-sunset {
    color: var(--sunset);
}
.color-gray-30 {
    color: var(--gray_30);
}
.color-gray-50 {
    color: var(--gray_50);
}
.color-gray-70 {
    color: var(--gray_70);
}
.color-gray-90 {
    color: var(--gray_90);
}
.color-white {
    color: var(--white);
}
.color-light-20 {
    color: var(--light_20);
}
.color-light-30 {
    color: var(--light_30);
}
.color-light-50 {
    color: var(--light_50);
}
.color-black-50 {
    color: var(--black_50);
}
.color-light {
    color: var(--light);
}
.color-dark {
    color: var(--dark);
}
.color-black {
    color: var(--black);
}

/* BACKGROUND COLORS */

.bg-primary, .bg-sunset {
    background-color: var(--sunset);
}
.bg-dark {
    background-color: var(--dark);
}
.bg-light {
    background-color: var(--light);
}
.bg-gray-30 {
    background-color: var(--gray_30);
}
.bg-gray-50 {
    background-color: var(--gray_50);
}
.bg-gray-70 {
    background-color: var(--gray_70);
}
.bg-gray-90 {
    background-color: var(--gray_90);
}
.bg-light-20 {
    background-color: var(--light_20);
}
.bg-light-30 {
    background-color: var(--light_30);
}
.bg-light-50 {
    background-color: var(--light_50);
}
.bg-black-50 {
    background-color: var(--black_50);
}
.bg-white {
    background-color: var(--white);
}
.bg-black {
    background-color: var(--black);
}


@font-face {
    font-family: 'Neue Montreal';
    src: url('fonts/NeueMontreal-MediumItalic.woff2') format('woff2'),
        url('fonts/NeueMontreal-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Montreal';
    src: url('fonts/NeueMontreal-Italic.woff2') format('woff2'),
        url('fonts/NeueMontreal-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Montreal';
    src: url('fonts/NeueMontreal-Regular.woff2') format('woff2'),
        url('fonts/NeueMontreal-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Montreal Book';
    src: url('fonts/PPNeueMontreal-Book.woff2') format('woff2'),
        url('fonts/PPNeueMontreal-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.font-neue-montreal-book:not(.font-medium, .font-bold, b, strong), .font-neue-montreal-book:not(.font-medium, .font-bold, b, strong) *:not(.font-medium, .font-bold, b, strong), .animate-text-fill, .animate-text-fill * {
    font-family: 'Neue Montreal Book', sans-serif !important;
    font-weight: normal !important;
}

@font-face {
    font-family: 'Neue Montreal';
    src: url('fonts/NeueMontreal-BoldItalic.woff2') format('woff2'),
        url('fonts/NeueMontreal-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Montreal';
    src: url('fonts/NeueMontreal-Bold.woff2') format('woff2'),
        url('fonts/NeueMontreal-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Montreal';
    src: url('fonts/NeueMontreal-Medium.woff2') format('woff2'),
        url('fonts/NeueMontreal-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


* {
    box-sizing: border-box;
    font-family: "Neue Montreal", sans-serif !important;
}
html body {
    font-family: "Neue Montreal", sans-serif;
    -webkit-font-smoothing: antialiased;
    background-color: var(--dark);
    color: var(--light);
    margin: 0;
    transition: background-color 1s;
}
ul.menu, ul.menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}
input:-webkit-autofill,
input:-webkit-autofill::first-line,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus, 
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px var(--dark) inset !important;
    -webkit-text-fill-color: var(--light) !important;
    font-weight: 800;
    font-size: 1rem !important;
    line-height: 100% !important;
    font-family: "Neue Montreal", sans-serif !important;
}
::placeholder { 
    color: #ccc;
}
::selection { 
    background-color: var(--light);
    color: var(--dark);
}
.bg-dark ::selection { 
    background-color: var(--dark);
    color: var(--light);
}
.hidden {
    display: none;
}
.mobile-view {
    display: none;
}
.desktop-view {
    display: block;
}
a[href^="tel"] {
    color:inherit;
    text-decoration:none;
}
.bg-img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    outline: none !important;
    width: 100%;
    height: 100%;
}
a {
    text-decoration: none;
    color: inherit;
}
a:not(.button,.home-services-section .titulo):hover, a:not(.button,.home-services-section .titulo):active, a:not(.button,.home-services-section .titulo):focus {
    text-decoration: none;
    color: inherit;
}
p a {
    text-decoration: underline;   
    text-underline-offset: 0.2em;
    text-decoration-thickness: 0.06em;
}
p a:hover {
    text-decoration: none;
}
p {
    line-height: inherit;
    margin: 0 0 1em 0;
}
p:last-child {
    margin-bottom: 0;
}
.overflow_hidden {
    overflow: hidden;
}
.post-edit {
    display: none !important;
}

svg, img, embed, object, video {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

.grecaptcha-badge, .slick-slide {
    outline: none !important;
}



/* ENTRY ANIMATION */

.animate_trigger {
    transform: translate3d(0, 5vw, 0);
    opacity: 0;
    transition: all 1s ease 0.1s;
    will-change: transform;
}
.animate_trigger.animate_in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}



/* HIDE SCROLL BAR */

.hide-scrollbar::-webkit-scrollbar-track {
    width: 0;
    height: 0;
    -webkit-box-shadow: none;
    background-color: transparent;
    display: none;
}
.hide-scrollbar::-webkit-scrollbar-thumb {
    width: 0;
    height: 0;
    background-color: transparent;
    display: none;
}
.hide-scrollbar::-webkit-scrollbar {
    width: 0;
    height: 0;
    background-color: transparent;
    display: none;
}
.hide-scrollbar {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}



/* LAYOUT */


.p-relative {
    position: relative;
}
.p-absolute {
    position: absolute;
}
.p-fixed {
    position: fixed;
}
.p-sticky {
    position: sticky;
}

.d-inline-block {
    display: inline-block;
}

.grid-12 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}
.grid-9 {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
}
.grid-8 {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
}
.grid-5 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}
.grid-6 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}
.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.grid-1 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}

.grid-span-1 {
    grid-column: span 1;
}
.grid-span-2 {
    grid-column: span 2;
}
.grid-span-3 {
    grid-column: span 3;
}
.grid-span-4 {
    grid-column: span 4;
}
.grid-span-5 {
    grid-column: span 5;
}
.grid-span-6 {
    grid-column: span 6;
}
.grid-span-7 {
    grid-column: span 7;
}
.grid-span-8 {
    grid-column: span 8;
}
.grid-span-9 {
    grid-column: span 9;
}
.grid-span-10 {
    grid-column: span 10;
}
.grid-span-11 {
    grid-column: span 11;
}
.grid-span-12 {
    grid-column: span 12;
}

.column_count-2 {
    column-count: 2;
}
.column_count-3 {
    column-count: 3;
}
.column_count-4 {
    column-count: 4;
}
.column_count-2 > *,
.column_count-3 > *,
.column_count-4 > * {
    break-inside: avoid;
}

.flex {
    display: flex;
}
.flex-justify {
    justify-content: space-between;
}
.flex-justify-end {
    justify-content: flex-end;
}
.flex-justify-start {
    justify-content: flex-start;
}
.flex-justify-center {
    justify-content: center;
}
.justify-end {
    justify-content: flex-end;
}
.flex-align-end {
    align-items: flex-end;
}
.flex-align-start {
    align-items: flex-start;
}
.flex-align-start {
    align-items: flex-start;
}
.flex-end {
    align-items: flex-end;
}
.flex-start {
    align-items: flex-start;
}
.flex-center {
    align-items: center;
}
.flex-baseline {
    align-items: baseline;
}
.flex-row {
    flex-direction: row;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-column {
    flex-direction: column;
}
.flex-column-reverse {
    flex-direction: column-reverse;
}
.flex-wrap {
    flex-wrap: wrap;
}
.flex-align-self-end {
    align-self: flex-end;
}
.flex-align-self-center {
    align-self: center;
}

.order-1 {
    order: 1;
}
.order-2 {
    order: 2;
}

.gap-0_5rem {
    gap: 0.5rem;
}
.gap-1rem {
    gap: 1rem;
}
.gap-2rem {
    gap: 2rem;
}
.gap-3rem {
    gap: 3rem;
}
.gap-4rem {
    gap: 4rem;
}
.gap-5rem {
    gap: 5rem;
}

.gap-0_5em {
    gap: 0.5em;
}
.gap-1em {
    gap: 1em;
}
.gap-2em {
    gap: 2em;
}
.gap-3em {
    gap: 3em;
}
.gap-4em {
    gap: 4em;
}
.gap-5em {
    gap: 5em;
}

.gap-10 {
    gap: 0.52vw;
}
.gap-15 {
    gap: 0.78vw;
}
.gap-20 {
    gap: 1.04vw;
}
.gap-30 {
    gap: 1.56vw;
}
.gap-40 {
    gap: 2.08vw;
}
.gap-50 {
    gap: 2.60vw;
}
.gap-60 {
    gap: 3.13vw;
}
.gap-100 {
    gap: 5.21vw;
}
.gap-200 {
    gap: 10.42vw;
}
.gap-300 {
    gap: 15.63vw;
}
.gap-400 {
    gap: 20.84vw;
}

.h-100 {
    height: 100%;
}

.w-10 {
    width: 10%;
}
.w-20 {
    width: 20%;
}
.w-25 {
    width: 25%;
}
.w-33 {
    width: 33.33%;
}
.w-30 {
    width: 30%;
}
.w-40 {
    width: 40%;
}
.w-45 {
    width: 45%;
}
.w-50 {
    width: 50%;
}
.w-55 {
    width: 55%;
}
.w-60 {
    width: 60%;
}
.w-66 {
    width: 66.66%;
}
.w-70 {
    width: 70%;
}
.w-75 {
    width: 75%;
}
.w-80 {
    width: 80%;
}
.w-85 {
    width: 85%;
}
.w-90 {
    width: 90%;
}
.w-95 {
    width: 95%;
}
.w-100 {
    width: 100%;
}

.mb-0_5rem {
    margin-bottom: 0.5rem;
}
.mb-1rem {
    margin-bottom: 1rem;
}
.mb-1_5rem {
    margin-bottom: 1.5rem;
}
.mb-2rem {
    margin-bottom: 2rem;
}
.mb-3rem {
    margin-bottom: 3rem;
}
.mb-4rem {
    margin-bottom: 4rem;
}
.mb-5rem {
    margin-bottom: 5rem;
}

.mb-0_5em {
    margin-bottom: 0.5em;
}
.mb-1em {
    margin-bottom: 1em;
}
.mb-1_5em {
    margin-bottom: 1.5em;
}
.mb-2em {
    margin-bottom: 2em;
}
.mb-3em {
    margin-bottom: 3em;
}
.mb-4em {
    margin-bottom: 4em;
}
.mb-5em {
    margin-bottom: 5em;
}

.mt-0_5rem {
    margin-top: 0.5rem;
}
.mt-1rem {
    margin-top: 1rem;
}
.mt-2rem {
    margin-top: 2rem;
}
.mt-3rem {
    margin-top: 3rem;
}
.mt-4rem {
    margin-top: 4rem;
}
.mt-5rem {
    margin-top: 5rem;
}

.mt-0_5em {
    margin-top: 0.5em;
}
.mt-1em {
    margin-top: 1em;
}
.mt-2em {
    margin-top: 2em;
}
.mt-3em {
    margin-top: 3em;
}
.mt-4em {
    margin-top: 4em;
}
.mt-5em {
    margin-top: 5em;
}

.ml-0_5rem {
    margin-left: 0.5rem;
}
.ml-1rem {
    margin-left: 1rem;
}
.ml-2rem {
    margin-left: 2rem;
}
.ml-3rem {
    margin-left: 3rem;
}
.ml-4rem {
    margin-left: 4rem;
}
.ml-5rem {
    margin-left: 5rem;
}

.ml-0_5em {
    margin-left: 0.5em;
}
.ml-1em {
    margin-left: 1em;
}
.ml-2em {
    margin-left: 2em;
}
.ml-3em {
    margin-left: 3em;
}
.ml-4em {
    margin-left: 4em;
}
.ml-5em {
    margin-left: 5em;
}

.mr-0_5rem {
    margin-right: 0.5rem;
}
.mr-1rem {
    margin-right: 1rem;
}
.mr-2rem {
    margin-right: 2rem;
}
.mr-3rem {
    margin-right: 3rem;
}
.mr-4rem {
    margin-right: 4rem;
}
.mr-5rem {
    margin-right: 5rem;
}

.mr-0_5em {
    margin-right: 0.5em;
}
.mr-1em {
    margin-right: 1em;
}
.mr-2em {
    margin-right: 2em;
}
.mr-3em {
    margin-right: 3em;
}
.mr-4em {
    margin-right: 4;
}
.mr-5em {
    margin-right: 5em;
}

.mt-auto {
    margin-top: auto;
}
.mb-auto {
    margin-bottom: auto;
}
.ml-auto {
    margin-left: auto;
}
.mr-auto {
    margin-left: auto;
}
.m-auto {
    margin: auto;
}

.mb-10 { margin-bottom: 0.52vw; }
.mb-20 { margin-bottom: 1.04vw; }
.mb-30 { margin-bottom: 1.56vw; }
.mb-34 { margin-bottom: 1.77vw; }
.mb-40 { margin-bottom: 2.08vw; }
.mb-50 { margin-bottom: 2.60vw; }
.mb-60 { margin-bottom: 3.13vw; }
.mb-70 { margin-bottom: 3.65vw; }
.mb-80 { margin-bottom: 4.17vw; }
.mb-90 { margin-bottom: 4.69vw; }
.mb-100 { margin-bottom: 5.21vw; }
.mb-200 { margin-bottom: 10.42vw; }

.mb-100p {
    margin-bottom: 100%;
}

.mt-10 { margin-top: 0.52vw; }
.mt-20 { margin-top: 1.04vw; }
.mt-30 { margin-top: 1.56vw; }
.mt-34 { margin-top: 1.77vw; }
.mt-40 { margin-top: 2.08vw; }
.mt-50 { margin-top: 2.60vw; }
.mt-60 { margin-top: 3.13vw; }
.mt-70 { margin-top: 3.65vw; }
.mt-80 { margin-top: 4.17vw; }
.mt-90 { margin-top: 4.69vw; }
.mt-100 { margin-top: 5.21vw; }
.mt-200 { margin-top: 10.42vw; }

.ml-10 { margin-left: 0.52vw; }
.ml-17 { margin-left: 0.89vw; }
.ml-20 { margin-left: 1.04vw; }
.ml-30 { margin-left: 1.56vw; }
.ml-34 { margin-left: 1.77vw; }
.ml-40 { margin-left: 2.08vw; }
.ml-50 { margin-left: 2.60vw; }
.ml-60 { margin-left: 3.13vw; }
.ml-70 { margin-left: 3.65vw; }
.ml-80 { margin-left: 4.17vw; }
.ml-90 { margin-left: 4.69vw; }
.ml-100 { margin-left: 5.21vw; }

.mr-10 { margin-right: 0.52vw; }
.mr-20 { margin-right: 1.04vw; }
.mr-30 { margin-right: 1.56vw; }
.mr-34 { margin-right: 1.77vw; }
.mr-40 { margin-right: 2.08vw; }
.mr-50 { margin-right: 2.60vw; }
.mr-60 { margin-right: 3.13vw; }
.mr-70 { margin-right: 3.65vw; }
.mr-80 { margin-right: 4.17vw; }
.mr-90 { margin-right: 4.69vw; }
.mr-100 { margin-right: 5.21vw; }

.pb-0_5rem {
    padding-bottom: 0.5rem;
}
.pb-1rem {
    padding-bottom: 1rem;
}
.pb-2rem {
    padding-bottom: 2rem;
}
.pb-3rem {
    padding-bottom: 3rem;
}
.pb-4rem {
    padding-bottom: 4rem;
}
.pb-5rem {
    padding-bottom: 5rem;
}

.pb-0_5em {
    padding-bottom: 0.5em;
}
.pb-1em {
    padding-bottom: 1em;
}
.pb-2em {
    padding-bottom: 2em;
}
.pb-3em {
    padding-bottom: 3em;
}
.pb-4em {
    padding-bottom: 4em;
}
.pb-5em {
    padding-bottom: 5em;
}

.pt-0_5rem {
    padding-top: 0.5rem;
}
.pt-1rem {
    padding-top: 1rem;
}
.pt-2rem {
    padding-top: 2rem;
}
.pt-3rem {
    padding-top: 3rem;
}
.pt-4rem {
    padding-top: 4rem;
}
.pt-5rem {
    padding-top: 5rem;
}

.pt-0_5em {
    padding-top: 0.5em;
}
.pt-1em {
    padding-top: 1em;
}
.pt-2em {
    padding-top: 2em;
}
.pt-3em {
    padding-top: 3em;
}
.pt-4em {
    padding-top: 4em;
}
.pt-5em {
    padding-top: 5em;
}

.pl-0_5rem {
    padding-left: 0.5rem;
}
.pl-1rem {
    padding-left: 1rem;
}
.pl-2rem {
    padding-left: 2rem;
}
.pl-3rem {
    padding-left: 3rem;
}
.pl-4rem {
    padding-left: 4rem;
}
.pl-5rem {
    padding-left: 5rem;
}

.pl-0_5em {
    padding-left: 0.5em;
}
.pl-1em {
    padding-left: 1em;
}
.pl-2em {
    padding-left: 2em;
}
.pl-3em {
    padding-left: 3em;
}
.pl-4em {
    padding-left: 4em;
}
.pl-5em {
    padding-left: 5em;
}

.pr-0_5rem {
    padding-right: 0.5rem;
}
.pr-1rem {
    padding-right: 1rem;
}
.pr-2rem {
    padding-right: 2rem;
}
.pr-3rem {
    padding-right: 3rem;
}
.pr-4rem {
    padding-right: 4rem;
}
.pr-5rem {
    padding-right: 5rem;
}

.pr-0_5em {
    padding-right: 0.5em;
}
.pr-1em {
    padding-right: 1em;
}
.pr-2em {
    padding-right: 2em;
}
.pr-3em {
    padding-right: 3em;
}
.pr-4em {
    padding-right: 4em;
}
.pr-5em {
    padding-right: 5em;
}

.pt-10 { padding-top: 0.52vw; }
.pt-20 { padding-top: 1.04vw; }
.pt-30 { padding-top: 1.56vw; }
.pt-34 { padding-top: 1.77vw; }
.pt-40 { padding-top: 2.08vw; }
.pt-50 { padding-top: 2.60vw; }
.pt-60 { padding-top: 3.13vw; }
.pt-70 { padding-top: 3.65vw; }
.pt-80 { padding-top: 4.17vw; }
.pt-90 { padding-top: 4.69vw; }
.pt-100 { padding-top: 5.21vw; }
.pt-125 { padding-top: 6.51vw; }
.pt-150 { padding-top: 7.81vw; }
.pt-200 { padding-top: 10.42vw; }
.pt-300 { padding-top: 15.63vw; }
.pt-400 { padding-top: 20.84vw; }
.pt-500 { padding-top: 26.04vw; }
.pt-600 { padding-top: 31.26vw; }

.pb-10 { padding-bottom: 0.52vw; }
.pb-20 { padding-bottom: 1.04vw; }
.pb-30 { padding-bottom: 1.56vw; }
.pb-34 { padding-bottom: 1.77vw; }
.pb-40 { padding-bottom: 2.08vw; }
.pb-50 { padding-bottom: 2.60vw; }
.pb-60 { padding-bottom: 3.13vw; }
.pb-70 { padding-bottom: 3.65vw; }
.pb-80 { padding-bottom: 4.17vw; }
.pb-90 { padding-bottom: 4.69vw; }
.pb-100 { padding-bottom: 5.21vw; }
.pb-125 { padding-bottom: 6.51vw; }
.pb-200 { padding-bottom: 10.42vw; }
.pb-300 { padding-bottom: 15.63vw; }

.pl-10 { padding-left: 0.52vw; }
.pl-20 { padding-left: 1.04vw; }
.pl-30 { padding-left: 1.56vw; }
.pl-34 { padding-left: 1.77vw; }
.pl-40 { padding-left: 2.08vw; }
.pl-50 { padding-left: 2.60vw; }
.pl-60 { padding-left: 3.13vw; }
.pl-70 { padding-left: 3.65vw; }
.pl-80 { padding-left: 4.17vw; }
.pl-90 { padding-left: 4.69vw; }
.pl-100 { padding-left: 5.21vw; }

.pr-10 { padding-right: 0.52vw; }
.pr-20 { padding-right: 1.04vw; }
.pr-30 { padding-right: 1.56vw; }
.pr-34 { padding-right: 1.77vw; }
.pr-40 { padding-right: 2.08vw; }
.pr-50 { padding-right: 2.60vw; }
.pr-60 { padding-right: 3.13vw; }
.pr-70 { padding-right: 3.65vw; }
.pr-80 { padding-right: 4.17vw; }
.pr-90 { padding-right: 4.69vw; }
.pr-100 { padding-right: 5.21vw; }

.p-34 {
    padding: 1.77vw;
}
.p-60 {
    padding: 3.13vw;
}

.hyphens {
    hyphens: auto;
}


.img-wrapper.cover img, .img-wrapper.cover video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-wrapper.contain img, .img-wrapper.contain video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hide-br br {
    display: none;
}


/* BUTTONS */

.button {
    display: flex;
    width: fit-content;
    align-items: center;
    font-weight: 700;
    text-transform: uppercase;
    user-select: none;
    cursor: pointer;
    transition: opacity 0.5s;
}
.button svg {
    width: 0.625vw;
}
.button-light {
    color: var(--light);
}
.button-light span {
    border: solid 1px var(--light);
}
.button-light .button-title:nth-child(2) {
    color: var(--dark);
    background-color: var(--light);
}
.button-light .button-arrow:nth-child(2) {
    background-color: var(--light);
}
.button-light .button-arrow:nth-child(2) svg path {
    fill: var(--dark);
}
.button-light .button-title:nth-child(3) {
    color: var(--light);
    background-color: transparent;
}
.button-light .button-arrow:nth-child(3) {
    background-color: transparent;
}
.button-light .button-arrow:nth-child(3) svg path {
    fill: var(--light);
}
.button-dark {
    color: var(--dark);
}
.button-dark span {
    border: solid 1px var(--dark);
}
.button-dark .button-title:nth-child(2) {
    color: var(--light);
    background-color: var(--dark);
}
.button-dark .button-arrow:nth-child(2) {
    background-color: var(--dark);
}
.button-dark .button-arrow:nth-child(1) svg path {
    fill: var(--dark);
}
.button-dark .button-arrow:nth-child(2) svg path {
    fill: var(--light);
}
.button-dark .button-arrow:nth-child(3) svg path {
    fill: var(--dark);
}
.button span {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    border-radius: 3em;
    position: relative;
    overflow: hidden;
    height: 3.22vw;
}
.button-arrow-interaction {
    height: 200%;
    width: 3.22vw;
}
.button-arrow-wrapper {
    width: 3.22vw;
}
.button-arrow {
    width: 3.22vw;
    height: 3.22vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
.button-title-interaction {
    height: 300%;
}
.button-title {
    height: 3.22vw;
    padding: 0 1.04vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
.button-interaction {
    transition: transform 0.5s cubic-bezier(0.8, 0, 0, 1);
}
.button.state-initial .button-interaction {
    transform: translate3d(0, 0, 0);
}
.button.state-hover .button-interaction {
    transform: translate3d(0, -3.22vw, 0);
}
.button.state-exit .button-interaction {
    transform: translate3d(0, calc(-3.22vw * 2), 0);
}
.button.state-reset .button-interaction {
    transition: 0s; /* Zera a transição para reset instantâneo */
}

.cursor-pointer {
    cursor: pointer;
}

/* TYPOGRAPHY */

.font-14 {
    font-size: 0.73vw;
    line-height: 130%;
}
.font-18, h6, html {
    font-size: 0.89vw;
    line-height: 130%;
}
.font-24, h5 {
    font-size: 1.25vw;
    line-height: 130%;
}
.font-28, h4 {
    font-size: 1.46vw;
    line-height: 130%;
}
.font-32, h3, .contato-item {
    font-size: 1.67vw;
    line-height: 130%;
}
.font-44, h2, .contato-item h3 {
    font-size: 2.29vw;
    line-height: 130%;
}
.font-76, h1 {
    font-size: 3.96vw;
    line-height: 120%;
}
.font-76px {
    font-size: 76px;
    line-height: 110%;
}
.font-100 {
    font-size: 5.21vw;
    line-height: 130%;
}
.font-192 {
    font-size: 10vw;
    line-height: 120%;
}

.contato-item {
    color: var(--light_50);
}
.contato-item h3 {
    color: var(--light);
}

.line-height-1 {
    line-height: 1;
}
.line-height-1_5 {
    line-height: 1.5;
}
.line-height-2 {
    line-height: 2;
}

.font-light {
    font-weight: 300;
}
.font-regular, .font-book {
    font-weight: 400;
}
.font-medium {
    font-weight: 500;
}
.font-semibold {
    font-weight: 500;
}
.font-bold, b, strong {
    font-weight: 700;
}
.font-extrabold {
    font-weight: 800;
}
.font-black {
    font-weight: 800;
}

.align-center {
    text-align: center;
}
.align-right {
    text-align: right;
}

.uppercase, .eyebrown {
    text-transform: uppercase;
}

.ellipsis {
    display: block;
    white-space: nowrap;
    overflow: hidden; 
    text-overflow: ellipsis;
}

.eyebrown {
    color: var(--sunset);
    font-weight: 500;
    line-height: 110%;
}


/* HEADER + MENU */

.header {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 100;
    transform: translate3d(0, -110%, 0);
    transition: transform 0.8s cubic-bezier(0.8, 0, 0, 1) 0s;
    mix-blend-mode: difference;
    will-change: transform;
}
.header.active {
    transform: translate3d(0, 0, 0);
}
body:after {
    content: "";
    display: block;
    position: fixed;
    z-index: 4;
    left: 0;
    top: 0;
    width: 100%;
    height: 9.2vw;
    transition: all 0.8s cubic-bezier(0.8, 0, 0, 1);
    backdrop-filter: blur(5px);
    -webkit-mask: -webkit-gradient(linear, left 100%, left 65%, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 1)));
    will-change: backdrop-filter, -webkit-mask;
}
html.menu-open body:after {
    backdrop-filter: blur(10px);
}
body.header-collapsed:after {
    height: 5vw;
}
.header .logo {
    width: 7.1vw;
    display: block;
    user-select: none;
    transition: width 0.8s cubic-bezier(0.8, 0, 0, 1) 0s, transform 0.8s cubic-bezier(0.8, 0, 0, 1) 0s;
    transform: scale(1);
    transform-origin: left;
    will-change: width, transform;
}
.header-collapsed .header .logo {
    width: 5.3vw;
    transform: scale(0.8);
}
.single .header, .page-work .header {
    mix-blend-mode: difference;
}
.menu-desktop {
    line-height: 1;
    transition: font-size 0.8s cubic-bezier(0.8, 0, 0, 1) 0s;
    will-change: font-size;
}
.header-collapsed .menu-desktop {
    font-size: 1.1vw;
}
.menu-desktop ul {
    display: flex;
    align-items: center;
    gap: 1em;
}
.menu-desktop ul li {
    color: var(--light_50);
    user-select: none;
    display: flex;
    flex-direction: column;
    height: 1em;
    overflow: hidden;
}
.menu-desktop ul li.current_page_item {
    font-weight: 700;
    color: var(--light);
    pointer-events: none;
}
.menu-mobile, .bg-close-menu {
    display: none;
}
.menu-desktop a {
    transition: transform 0.8s cubic-bezier(0.8, 0, 0, 1) 0s;
    will-change: transform;
}
.menu-desktop ul li:not(.current_page_item) a:first-child, .single-work .menu-desktop ul li:not(.btn-menu-work) a:first-child {
    font-weight: 500;
}
.menu-desktop a:last-child {
    font-weight: bold;
    color: var(--light) !important;
}
.menu-desktop ul li:hover a {
    transform: translate3d(0, -100%, 0);
}

.header > .flex {
    transition: padding 0.8s cubic-bezier(0.8, 0, 0, 1) 0s, transform 0.8s cubic-bezier(0.8, 0, 0, 1) 0s, background-color 0.8s cubic-bezier(0.8, 0, 0, 1) 0s;
    will-change: padding, transform, background-color;
}
.header-collapsed .header > .flex {
    padding-top: 0;
    padding-bottom: 1vw;
}



/* BODY */

.site-content {
    position: relative;
    z-index: 4;
}


/* FOOTER */

.fp-watermark {
    display: none !important;
}
.footer {
    border-top: solid 2px var(--light);
}
.footer-marquee, .marquee-listings {
    overflow: hidden;
}
.footer-marquee img {
    height: 7.9vw;
    width: auto;
}
.footer-marquee .js-marquee-wrapper, .footer-marquee .js-marquee {
    display: flex;
    align-items: center;
    gap: 3em;
}
.footer .redes_sociais.gap-50 {
    gap: 2.67vw;
}
.footer .redes_sociais a .link_title, .footer .addresses a {
    text-decoration: none;
    text-underline-offset: 0.3em;
    text-decoration-thickness: 0.2em;
    text-decoration-color: var(--sunset) !important;
}
.footer .redes_sociais a:hover .link_title, .footer .addresses a:hover {
    text-decoration: underline;
}


/* FULLPAGE JS */

.home #fullpage .section {
    opacity: 0;
    transition: opacity 0.5s ease 0.5s;
}
html.fp-enabled #fullpage .section {
    opacity: 1;
}
html.fp-enabled #fullpage .section.home-awards-section > .fp-overflow {
    overflow-y: hidden;
}
html.fp-enabled #fullpage .section.home-awards-section.active > .fp-overflow {
    overflow-y: auto;
}
.single #fullpage .section {
    opacity: 1;
    transition: 0s;
}
.fullpage-wrapper .fp-overflow {
    width: 100%;
    position: relative;
}


/* HOMEPAGE - HERO + CIRCLE CAROUSEL */

.html-homepage {
    max-width: 100vw;
}
.html-homepage.fp-enabled {
    overflow: unset;
}
.page-home {
    z-index: 1;
}
.hero * {
    user-select: none;
}
.circle-carousel-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: absolute;
    z-index: 5;
    width: 100vw;
    height: 100svh;
    overflow: hidden;
}
.circle-carousel {
    position: relative;
    width: 100vw;
    height: calc(100% - 11vw);
    margin-top: 11vw;
    opacity: 0;
    filter: blur(15px);
    transition: 1s;
    will-change: opacity, filter;
}
.circle-track {
    position: absolute;
    width: 145vw;
    height: 145vw;
    top: 0;
    left: 50%;
    transform-origin: center center;
    transition: transform 1.2s cubic-bezier(0.8,0,0,1);
}
.circle-slide {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-origin: center center;
}
.hero-video, .hero-poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.hero-video {
    z-index: 1;
}
.hero-poster {
    z-index: 2;
    will-change: transform, opacity;
}
.circle-slide-active .hero-poster {
    pointer-events: none;
}
.content-carousel-wrapper {
    display: flex;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100svh - 7.7vw);
    overflow: visible;
    z-index: 6;
    mix-blend-mode: difference;
    opacity: 0;
    transition: opacity 0.5s ease !important;
}
.content-carousel-wrapper .swiper-slide {
    transition: opacity 0s ease 0.8s !important;
}
.content-carousel-wrapper .slide-content > .flex {
    position: relative;
    gap: 2em;
    height: 100%;
    padding: 9.2vw 0 2.2vw;
}
.content-carousel-wrapper .swiper-wrapper {
    opacity: 1;
    transition: opacity 0.5s;
}
body.resizing .content-carousel-wrapper .swiper-wrapper {
    opacity: 0;
}
.content-carousel-wrapper .slide-content .slide_animate, .content-carousel-wrapper .layout_1 .bottom-right {
    opacity: 0;
    will-change: transform, opacity, filter;
}
.content-carousel-wrapper .slide-content.swiper-slide-active .slide_animate {
    animation-name: slide_move_in;
    animation-duration: 1.5s;
    animation-iteration-count: 1;
    animation-delay: 1s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
}
.content-carousel-wrapper .slide-content.swiper-slide-leaving .slide_animate {
    animation-name: slide_move_out;
    animation-duration: 1.2s;
    animation-iteration-count: 1;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
}
@keyframes slide_move_in {
    0%   {transform: translate3d(0, 10vw, 0); opacity: 0;}
    2%   {opacity: 0;}
    98%  {opacity: 1;}
    100% {transform: translate3d(0, 0, 0);opacity: 1;}
}
@keyframes slide_move_out {
    0%   {transform: translate3d(0, 0, 0); opacity: 1}
    98%  {opacity: 0;}
    100% {transform: translate3d(0, -10vw, 0); opacity: 0;}
    101% {transform: translate3d(0, 10vw, 0); opacity: 0;}
}
.content-carousel-wrapper .layout_2 .titulo_3 {
    padding-left: 17%;
}
.content-carousel-wrapper .font-192, .about_us-section .font-192 {
    line-height: 0.75;
}
.content-carousel-wrapper .layout_1 .bottom-right, .content-carousel-wrapper .slide-content.layout_2 .slide_link {
    margin-bottom: 0;
}
.content-carousel-wrapper .layout_1 .grid-2, .content-carousel-wrapper .layout_2 .hide-scrollbar > .flex {
/*    padding-bottom: 5.7vw;*/
}
.content-carousel-wrapper .layout_1 .texto p {
    margin-bottom: 0;
    display: inline;
}
.content-carousel-wrapper .button {
    opacity: 0;
    pointer-events: none;
}
.content-carousel-wrapper .layout_1.slide-content.swiper-slide-active .bottom-right {
    animation-name: text_parallax_in;
    animation-duration: 1.5s;
    animation-iteration-count: 1;
    animation-delay: 1s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
}
.content-carousel-wrapper .layout_1.slide-content.swiper-slide-leaving .bottom-right {
    animation-name: text_parallax_out;
    animation-duration: 1.2s;
    animation-iteration-count: 1;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
}
@keyframes text_parallax_in {
    0%   {transform: translate3d(0, 20vw, 0); opacity: 0;}
    8%   {opacity: 0;}
    90%  {opacity: 1;}
    100% {transform: translate3d(0, 0, 0);opacity: 1;}
}
@keyframes text_parallax_out {
    0%   {transform: translate3d(0, 0, 0); opacity: 1}
    100% {transform: translate3d(0, -20vw, 0); opacity: 0;}
    101% {transform: translate3d(0, 20vw, 0); opacity: 0;}
}
.waveform-container {
    width: 90%;
    height: 3.1vw;
    position: relative;
}
.waveform-wrapper {
    width: 100%;
}
.waveform-wrapper > div {
    width: 100%;
}
.waveform-placeholder {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    height: 2vw;
    width: 100%;
    animation-name: mirror;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}
.waveform-placeholder.active {
    opacity: 1;
}
.waveform-placeholder img {
    position: relative;
    bottom: 0.175vw;
    animation-name: loading_pulse;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-timing-function: ease;
    transform-origin: bottom;
}
@keyframes loading_pulse {
    0%   {opacity: 0.3; transform: scaleY(0.1);}
    50%  {opacity: 0.7; transform: scaleY(0.9);}
    100% {opacity: 0.3; transform: scaleY(0.1);}
}
@keyframes mirror {
    0%   {transform: scaleX(1);}
    50%  {transform: scaleX(1);}
    51%  {transform: scaleX(-1);}
    99% {transform: scaleX(-1);}
    100% {transform: scaleX(1);}
}
.hero .controls-wrapper {
    position: sticky;
    z-index: 8;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7.7vw;
    background-color: rgba(0,0,0,0.5);
    backdrop-filter: blur(12px);
    transform: translate3d(0, 10vw, 0px);
    transition: transform 0.8s cubic-bezier(0.8,0,0,1);
    padding: 1.2vw 1.77vw 1.77vw 1.77vw;
}
/*.home .hero .controls-wrapper:not(.timer-hidden):after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: var(--light_50);
    animation-name: timer_carrossel;
    animation-duration: 12s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in;
    animation-fill-mode: forwards;
    transform-origin: bottom left;
}
@keyframes timer_carrossel {
    0%      {transform: scale3d(0, 1, 1);}
    100%    {transform: scale3d(1, 1, 1);}
}*/
.hero .controls-wrapper button {
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    appearance: none !important;
    cursor: pointer;
    position: relative;
    bottom: -0.08vw;
}
.hero .controls-wrapper .controls-center button {
    width: 2em;
    align-items: center;
    justify-content: center;
}
.hero .controls-wrapper .controls-center button img {
    height: 0.85em;
    width: auto;
}
.hero .controls-wrapper .controls-center {
    position: relative;
    top: 0.95vw;
}
.hero .btn-toggle-volume img {
    cursor: pointer;
    width: 1.66vw;
    transform: rotate(180deg);
    opacity: 1;
    transition: transform 0.8s cubic-bezier(0.8,0,0,1), opacity 0.5s;
}
.hero .btn-toggle-volume.muted:hover img {
    opacity: 1;
}
.hero .btn-toggle-volume.muted img {
    transform: rotate(0deg);
    opacity: 0.5;
}
.hero .btn-toggle-volume span {
    color: var(--light);
}
.hero .btn-toggle-volume > span {
    display: flex;
    opacity: 1;
    transition: 0.5s;
    gap: 0.4em;
}
.hero .btn-toggle-volume.muted > span {
    opacity: 0.5;
}
.hero .btn-toggle-volume.muted:hover > span {
    opacity: 1;
}
.hero .btn-toggle-volume .off {
    display: inline;
}
.hero .btn-toggle-volume .on {
    display: none;
}
.hero .btn-toggle-volume.muted .off {
    display: none;
}
.hero .btn-toggle-volume.muted .on {
    display: inline;
}
.hero .btn-play-pause-video {
    transform: scale(1.07);
}
.hero .btn-play-pause-video .btn-play-video, .hero .btn-play-pause-video.paused .btn-pause-video {
    display: none;
}
.hero .btn-play-pause-video.paused .btn-play-video {
    display: block;
}
.home .hero .btn-prev, .home .hero .btn-next {
    pointer-events: none;
}
.hero .slide-image-receiver {
    width: 7.1vw;
}
.hero .slide-info-wrapper {
    height: 3.5em;
}
.hero .slide-title-receiver, .hero .slide-agency-receiver {
    height: 1.2em;
    max-width: calc(calc(100vw - calc(0.8vw * 2)) / 12);
    display: block;
    overflow: hidden;
    white-space: nowrap;
}
.hero .slide-title-receiver *, .hero .slide-agency-receiver * {
    display: inline-block;
}
.hero .waveform-counter, .hero .waveform-duration {
    margin-bottom: 0.9vw;
    width: 5%;
    opacity: 0;
    transition: 0.5s;
}
.hero .show-cursor .waveform-counter, .hero .show-cursor .waveform-duration {
    opacity: 1;
}
.hero .waveform-duration {
    text-align: right;
}
.btn-arrow-left, .btn-arrow-right {
    position: absolute;
    left: 0;
    top: 0;
    width: 30%;
    height: 100%;
    z-index: 2;
    display: none;
}
.btn-arrow-right {
    left: unset;
    right: 0;
}
.content-carousel-wrapper .btn-arrow-left {
    cursor: url("images/btn-prev.svg"), auto;
}
.content-carousel-wrapper .btn-arrow-right {
    cursor: url("images/btn-next.svg"), auto;
}
.content-carousel-wrapper.swiper-initialized .btn-arrow-left[disabled="true"], .content-carousel-wrapper.swiper-initialized .btn-arrow-right[disabled="true"] {
    cursor: default;
}
.home .hero .bkp-arrow-left, .home .hero .bkp-arrow-right {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 30%;
    height: 100%;
    z-index: 7;
    cursor: url("images/btn-prev.svg"), pointer;
    pointer-events: none;
}
.home .hero .bkp-arrow-right {
    left: unset;
    right: 0;
    cursor: url("images/btn-next.svg"), pointer;
}
.home .hero.show-bkp-arrows .bkp-arrow-left, .home .hero.show-bkp-arrows .bkp-arrow-right {
    pointer-events: all;
}
.slide-link-receiver {
    position: absolute;
    z-index: 4;
    left: 50%;
    top: 11.3vw;
    transform: translateX(-50%);
    width: 32.4vw;
    height: 17.7vw;
    display: block;
    cursor: pointer;
}
.trantitioning .slide-link-receiver {
    display: none;
}


/* HOMEPAGE - ABOUT SECTION */

.about_us-section {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 1s !important;
    position: relative;
    z-index: 7;
}
.about_us-section .font-192 {
    width: fit-content;
    position: relative;
    z-index: 2;
}
.about_us-section .about_us-wrapper {
    width: 100%;
    padding-top: 9.2vw;
}
.about_us-section .about_us-wrapper .button {
    position: absolute;
    z-index: 2;
    left: 9.9%;
    bottom: 10.42vw;
}
.about_us-section .img-wrapper {
    transition: 0.8s;
    opacity: 0;
    pointer-events: none;
    width: 31.4vw;
    z-index: 1;
    filter: blur(10px);
    will-change: filter, opacity;
}
.about_us-section .about_us-item .texto:hover + .img-wrapper {
    opacity: 1;
    filter: blur(0);
}
.about_us-section .img-wrapper.left_top {
    left: 0;
    top: 0;
}
.about_us-section .img-wrapper.center_top {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.about_us-section .img-wrapper.right_top {
    right: 0;
    top: 0;
}
.about_us-section .img-wrapper.left_center {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.about_us-section .img-wrapper.center_center {
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
.about_us-section .img-wrapper.right_center {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.about_us-section .img-wrapper.right_bottom {
    right: 0;
    bottom: 0;
}
.about_us-section .img-wrapper.center_bottom {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.about_us-section .img-wrapper.left_bottom {
    left: 0;
    bottom: 0;
}



/* TITLE REVEAL ANIMATION */

.reveal-animation {
    position: relative;
    opacity: 0;
    transition: 0.5s;
}
.reveal-animation-line {
    overflow: hidden;
}
.reveal-animation-text {
    transform: translate3d(0, 0, 0);
    transition: transform 1s cubic-bezier(0.8, 0, 0, 1);
    will-change: transform;
}
.reveal-animation.off-bottom .reveal-animation-text {
    transform: translate3d(0, 100%, 0); /* Off-screen at bottom */
}
.reveal-animation.off-top .reveal-animation-text {
    transform: translate3d(0, -100%, 0); /* Off-screen at top */
}
.swiper-initialized .reveal-animation {
    opacity: 1;
}


/* HOMEPAGE - SERVICES SECTION */

.services-intro > .button-wrapper {
    margin-bottom: 0.85vw;
    opacity: 0;
    transition: opacity 0.5s linear 0s;
}
.home-services-intro-section.active .services-intro > .button-wrapper {
    opacity: 1;
    transition: opacity 0.5s linear 1s;
    position: relative;
    z-index: 6;
}


/* HOMEPAGE - SERVICE SLIDER */

.home-services-section {
    width: fit-content;
    opacity: 0;
}
.home-services-section .titulo {
    font-family: 'Neue Montreal Book', sans-serif !important;
    font-weight: normal !important;
    margin-left: 9.95vw;
    width: auto;
    color: var(--light);
    opacity: 0.2;
    cursor: pointer;
    pointer-events: none !important;
}
.services-slider-item .titulo.hover {
    opacity: 1 !important;
}
.services-slider-item {
    position: relative;
    z-index: 5;
    pointer-events: none !important;
}
.services-work-slider-wrapper {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 4;
    transform: translate3d(0, 140vh, 0);
}
.image-video-swapper img {
    min-height: 25vw;
}
.image-video-swapper:after {
    content: "";
    display: block;
    position: absolute;
    right: 1em;
    bottom: 1em;
    z-index: 1;
    width: 1.9vw;
    height: 1.9vw;
    background-image: url(images/ico-expand.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    mix-blend-mode: difference;
}
/*.work-slider-item {
    transform: translate3d(0, 20vw, 0);
    transition: transform 0.5s ease 0s;
}
.work-slider-item.on_screen {
    transform: translate3d(0, 0, 0);
}*/


/* HOMEPAGE - AWARDS SECTION */

.awards_marquee {
    overflow: hidden;
}
.awards_marquee > .wrapper > div {
    display: flex;
    align-items: center;
    gap: 4em;
}
.awards_marquee-item {
    gap: 0.2em;
    width: max-content;
}
.awards_marquee .nome_do_premio {
    white-space: nowrap;
    text-transform: uppercase;
}
.awards_marquee .js-marquee {
    display: flex;
    gap: 4em;
}
.awards_marquee-item {
    position: relative;
}
.awards_marquee-item:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 4.7vw;
    width: 4.7vw;
    background-color: var(--white);
    z-index: -1;
    border-radius: 50%;
}
.awards_marquee-item img {
    height: 4.7vw;
    width: 4.7vw;
    object-fit: contain;
    mix-blend-mode: difference;
    padding: 0.7vw 0.5vw;
}
.awards_marquee-item .numero {
    margin-left: 0.1em;
    text-transform: uppercase;
}


/* HOMEPAGE - OUTCOME SECTION - BENTÔ BOC */

.outcome-item {
    height: 31.45vw;
    position: relative;
}
.outcome-item:not(.empty) {
    border: solid 1px var(--light_70);
}
.outcome-item .icone {
    height: 7vw;
    width: auto;
    margin-top: -5vw;
}
.outcome-item .font-192 {
    line-height: 1;
}
.outcome-item .bg-color {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.outcome-item .bg-color + .img-wrapper {
    mix-blend-mode: multiply;
}
.outcome-item.layout_news .img-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.outcome-content {
    position: relative;
    z-index: 3;
}
.outcome-content .eyebrown {
    color: var(--light);
}


/* CLIENTS SECTION */

.clients-section.fp-auto-height.fp-section {
    height: 100vh !important;
}
.clients-section > .fp-overflow {
    height: 100%;
}
.client-switcher-wrapper {
    transition: opacity 1s;
    opacity: 0;
}
.client-switcher {
    position: relative;
    width: fit-content;
}
.client-switcher.active-1:after {
    content: "";
    display: block;
    width: 12.1vw;
    height: 1.5px;
    background-color: var(--sunset);
    position: absolute;
    bottom: -0.4em;
    left: 0;
    transition: all 1s cubic-bezier(0.8, 0, 0, 1);
}
.client-switcher.active-2:after {
    content: "";
    display: block;
    width: 15.8vw;
    height: 1.5px;
    background-color: var(--sunset);
    position: absolute;
    bottom: -0.4em;
    left: calc(100% - 15.8vw);
    transition: all 1s cubic-bezier(0.8, 0, 0, 1);
}
.client-switcher > div {
    transition: all 1s cubic-bezier(0.8, 0, 0, 1);
    color: var(--light_20);
    text-shadow: 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent;
    cursor: pointer;
}
.client-switcher > div.active {
    text-shadow: -0.5px -0.5px 0 var(--light), 0.5px -0.5px 0 var(--light), -0.5px 0.5px 0 var(--light), 0.5px 0.5px 0 var(--light);
    color: var(--light);
    pointer-events: none;
}
.clients_marquee {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    max-width: unset;
    opacity: 0;
    transition: opacity 1s;
}
.clients_marquee.active {
    position: relative;
    opacity: 1;
}
.clients_marquee-wrapper {
    height: 7vw;
}
.clients_marquee-wrapper, .footer_marquee-wrapper {
    overflow: hidden;
}
.clients_marquee-item img {
    height: 7vw;
    width: auto;
}
.clients_marquee > .wrapper > div, .footer_marquee > .wrapper > div {
    display: flex;
    align-items: center;
    gap: 3em;
}
.clients_marquee-item, .footer-marquee-item {
    width: max-content;
}
.clients_marquee .js-marquee, .footer_marquee .js-marquee {
    display: flex;
    gap: 3em;
}
.client-switcher-wrapper, .clients_marquee-wrapper {
    transform: translate3d(0, 0, 0) !important;
}
.client-switcher-wrapper.animate_trigger {
    transition-delay: 0.9s !important;
}
.clients_marquee-wrapper.animate_trigger {
    transition-delay: 1.2s !important;
}


/* TITLE IN/OUT ANIMATION */

.title_animation_wrapper {
    transition: all 0.8s cubic-bezier(0.8, 0, 0, 1), opacity 0.8s;
}
.title_slide_out_top .button {
    opacity: 0;
}


/* HERO SECTION */

.section.hero.work {
    height: 100vh;
    max-height: 60vw;
    overflow: hidden;
}
.hero-video-wrapper {
    height: 100%;
}
.single-work .menu-desktop ul li.btn-menu-work {
    font-weight: bold;
    color: var(--light);
}
.work-info-wrapper .conteudo_do_bloco-item:not(:last-child) {
    border-bottom: solid 1px var(--light_20);
}



/* TEXT FILL ANIMATION */

.animate-text-fill-wrapper {
    color: var(--gray_90);
}
.animate-text-fill div {
    position: relative;
    display: inline-block;
    height: 1.2em;
}
.animate-text-fill span {
    position: absolute;
    width: 0;
    height: 100%;
    color: var(--light);
    left: 0;
    overflow:hidden;
}
.animate-text-fill-wrapper p:first-child > div:first-child {
    margin-left: 8.2vw;
}
.single-work .animate-text-fill-wrapper p:first-child > div:first-child {
    margin-left: 16.2vw;
}


/* LISTINGS SECTION */

.listings-wrapper {
    overflow: scroll;
    white-space: nowrap;
    opacity: 1;
    transition: opacity 0.5s;
}
.selected-listing {
    border-bottom: solid 1px var(--sunset);
    padding-bottom: 0.15em;
}
.marquee-listings .js-marquee-wrapper, .marquee-listings .js-marquee {
    display: flex;
    align-items: center;
    gap: 4em;
}
.marquee-wrapper {
    opacity: 0;
    transition: 1s;
}


/* WORK LIST */

.work-list-item {
    width: 39.6vw;
}
.work-list-item:nth-child(3n - 1) {
    margin-left: auto;
    margin-top: -18vw;
    margin-bottom: 11vw;
}
.work-list-item:nth-child(3n) {
    margin-left: 23.3vw;
    margin-bottom: 8.4vw;
}
.work-list-item:nth-child(6n) {
    margin-left: 38.2vw;
    margin-bottom: 7vw;
}
.work-list-item:nth-child(8n) {
    margin-left: auto;
    margin-right: 8vw;
    margin-top: -14vw;
}
.work-list-item:nth-child(9n) {
    margin-left: 21vw;
    margin-bottom: 7vw;
}
.work-list-item:nth-child(16n), .work-list-item:nth-child(12n + 12) {
    margin-top: 0;
}
.work-list-item:nth-child(17n) {
    margin-top: 12vw;
    margin-left: 0;
}
.image-video-swapper .work-video {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.work-list:not(.just-music-view) .image-video-swapper:hover .work-video {
    opacity: 1;
    pointer-events: all;
}
.work-list:not(.just-music-view) .image-video-swapper:hover .work-poster {
    opacity: 0;
    pointer-events: none;
}


/* WORK LIST - MOSAIC VIEW -  JUST MUSIC VIEW */

.work-list.mosaic-view {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3.13vw 1.04vw;
    margin-bottom: 5em;
}
.work-list.mosaic-view .work-list-item, .work-list.just-music-view .work-list-item {
    width: 100%;
    margin: 0;
}
.work-list.mosaic-view .work-list-item > .mobile-view {
    display: block;
}
.work-list.mosaic-view .work-list-item > .desktop-view {
    display: none;
}
.work-list.mosaic-view .image-video-swapper img {
    min-height: 13.3vw;
}
.work-list.just-music-view .image-video-swapper img {
    min-height: 15.2vw;
}
.work-list.just-music-view .image-video-swapper {
    border-radius: 1.1vw;
    transition: border-radius 0.8s cubic-bezier(0.8, 0, 0, 1);
    overflow: hidden;
}
.work-list.just-music-view .image-video-swapper:hover {
    border-radius: 50%;
}
.work-list .image-video-swapper:before {
    content: "";
    display: block;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(images/just-music-hover.svg);
    background-size: 5.1vw;
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--black_60);
    transition: opacity 0.8s;
    opacity: 0;
    z-index: 1;
}
.work-list .image-video-swapper:hover:before {
    opacity: 1;
}
.work-list.just-music-view {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 3.13vw 1.04vw;
    margin-bottom: 5em;
}
.work-list.just-music-view .project-info {
    display: flex;
    flex-direction: column;
    gap: 0.6em;
    margin-top: 0.3em;
}
.work-list.just-music-view .project-info > div {
    width: 100%;
}
.work-list.just-music-view .image-video-swapper:after {
    display: none;
}


/* HERO SWITCHES */

.switch-wrapper {
    background-color: var(--light_20);
    width: 1.3vw;
    height: 0.8vw;
    border-radius: 1em;
    position: relative;
    bottom: 0.05vw;
}
.switch-circle {
    background-color: var(--light);
    position: absolute;
    left: 0.15vw;
    top: 0.15vw;
    width: 0.5vw;
    height: 0.5vw;
    transition: left 0.5s cubic-bezier(0.8, 0, 0, 1);
    border-radius: 50%;
}
.btn-switch.active .switch-circle {
    left: calc(100% - 0.5vw - 0.15vw);
}
.btn-switch .text {
    display: inline-block;
    position: relative;
    bottom: -0.05vw;
    opacity: 0.5;
    transition: opacity 0.5s;
}
.btn-switch.active .text, .btn-switch:hover .text {
    opacity: 1;
}


/* OUR TEAM */

.our-team-slider-1 {
    transition-delay: 0.3s !important;
}
.our-team-slider-1 .cargo {
    width: 8vw;
    margin-top: 0.8em;
}
.our-team-slider-1 .button {
    opacity: 0;
    pointer-events: none;
    transition: 0.6s;
}
.our-team-slider-2 {
    height: 42vw;
    transition-delay: 0.6s !important;
}
.our-team-slider-1 .reveal-animation-text {
    transform: translate3d(0px, 100%, 0px) !important;
}
.our-team-slider-3 {
    margin-top: -5vw;
}
.our-team-slider-3.animate_in {
    transform: translate3d(0px, 5vw, 0px) !important;
    transition: opacity 0.2s ease 0.2s !important;
}
.our-team-slider-3 .reveal-animation-text {
    transition: transform 1.5s cubic-bezier(0.8, 0, 0, 1) 0.2s, opacity 0.2s ease 0.2s !important;
}
.our-team-slider-3.animate_in .reveal-animation-text {
    transform: translate3d(0px, 0px, 0px) !important;
}
.nome-vertical-swiper {
    overflow: hidden;
    height: 4.9em;
}
.nome-vertical-swiper .font-76 {
    line-height: 1.1;
    overflow: hidden;
}


/* IMAGE GALLERY */

.image-gallery-section {
    overflow: hidden;
    width: 100vw;
}
.image_gallery-wrapper {
    max-width: unset;
    width: calc(calc(15.2vw * 7) + calc(1.04vw * 6));
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    transition: all 1s cubic-bezier(0.8, 0, 0, 1);
}
.image_gallery-item {
    transition: all 1s cubic-bezier(0.8, 0, 0, 1);
    width: 15.2vw;
    height: 30.7vw;
}
.image_gallery-item:nth-child(1) {
    height: 33.9vw;
}
.image_gallery-item:nth-child(2) {
    height: 26.8vw;
    margin-top: 9.5vw;
}
.image_gallery-item:nth-child(3) {
    height: 25.1vw;
}
.image_gallery-item:nth-child(4) {
    height: 30.7vw;
    margin-top: 4.7vw;
}
.image_gallery-item:nth-child(5) {
    height: 23.4vw;
    margin-top: 6vw;
}
.image_gallery-item:nth-child(6) {
    height: 27.5vw;
}
.image_gallery-item:hover {
    width: 63vw;
}
.image_gallery-item:first-child:hover {
    margin-left: 5vw;
}
.image_gallery-item:last-child:hover {
    margin-right: 5vw;
}


/* SERVICES SLIDER SECTION */

.services-slider-section .services-title {
    transition: 0.5s;
    color: var(--gray_90);
    cursor: pointer;
    font-size: 3.75vw;
}
.services-slider-section .services-title.active {
    pointer-events: none !important;
}
.services-slider-section .services-title.active, .services-slider-section .services-title:hover {
    color: var(--light);
}
.services-slider {
    overflow: visible;
}
.services-slider img {
    max-height: calc(100vh - 24vw);
}
.services-slider .img-wrapper {
    transform: translate3d(0, 15vw, 0);
    opacity: 0;
}
.services-slider .texto {
    transform: translate3d(0, 10vw, 0);
    opacity: 0;
    height: 0;
    overflow: hidden;
    will-change: transform, height;
    backface-visibility: hidden;
}
.services-slide.swiper-slide-active .texto {
    height: 100%;
}
.cta-section .button {
    margin-bottom: 1em;
}
.services-slider-section .swiper-controls {
    position: sticky;
    top: 8.7vw;
}


/* CONTACT PAGE */


.contact-info-wrapper .titulo {
    position: sticky;
    top: 10vw
}
.contato-item a {
    text-decoration: underline !important;
    text-underline-offset: 0.28em !important;
    text-decoration-thickness: 0.04em !important;
}
.contato-item a:hover {
    text-decoration: none !important;
}










@media only screen and (max-width: 2200px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}




@media only screen and (max-width: 1680px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}



@media only screen and (max-width: 1440px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}



@media only screen and (max-width: 1366px) and (min-height: 680px) and (max-height: 690px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}



@media only screen and (max-width: 1280px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/



}



@media only screen and (max-width: 1024px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/




}