/*------------------------------------------------------------------
Project:	Serano - Creative Portfolio Template
Version:	1.0
Last change:	15/08/2022
Assigned to:	www.ClaPat.com 
Primary use:	Showcase Portfolio 
-------------------------------------------------------------------*/

@import url("content.css");
@import url("showcase.css");
@import url("shortcodes.css");
@import url("assets.css");

@font-face {
	font-family: 'mona-sansextrabold_wide';
	src: url('/webfonts/mona-sans-extraboldwide-webfont.woff2') format('woff2'),
		url('/webfonts/mona-sans-extraboldwide-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'mona-sans-semibold_wide';
	src: url('/webfonts/Mona-Sans-SemiBoldWide.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'mona-sanslight_wide';
	src: url('/webfonts/mona-sans-lightwide-webfont.woff2') format('woff2'),
		url('/webfonts/mona-sans-lightwide-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Neue Haas Grotesk Display Light';
	src: url('/webfonts/NeueHaasGroteskDisplayLight.otf') format('opentype');
}

@font-face {
	font-family: 'Neue Haas Grotesk Display Regular';
	src: url('/webfonts/NeueHaasGroteskDisplayRegular.otf') format('opentype');
}

@font-face {
	font-family: 'Neue Haas Grotesk Display Medium';
	src: url('/webfonts/NeueHaasGroteskDisplayMedium.otf') format('opentype');
}

@font-face {
	font-family: 'Neue Haas Grotesk Display Bold';
	src: url('/webfonts/NeueHaasGroteskDisplayBold.otf') format('opentype');
}

@font-face {
	font-family: 'Neue Haas Grotesk Display Black';
	src: url('/webfonts/NeueHaasGroteskDisplayBlack.otf') format('opentype');
}

/* Body font */
@font-face {
	font-family: 'Karu Light';
	src: url('/webfonts/karu-light.otf') format('opentype');
}



/*------------------------------------------------------------------

01. General Styles
02. Magic Cursor
03. Page Preloader
04. Header Elements
05. Main Content 
06. Footer Elements
07. Responsive Media Querries

-------------------------------------------------------------------*/


/*--------------------------------------------------
	01. General Settings
---------------------------------------------------*/

html,
body {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	height: 100%;
	width: 100%;
	color: #fff;
	background-color: #fff;
	user-select: none;
	/* supported by Chrome and Opera */
	-webkit-user-select: none;
	/* Safari */
	-khtml-user-select: none;
	/* Konqueror HTML */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
}

html {
	box-sizing: border-box;
	margin-right: 0px !important;
	overflow: visible !important;
}

body {
	overflow: hidden;
	overflow-y: scroll;
	-webkit-transition: opacity 0.2s ease-in-out 0.2s;
	transition: opacity 0.2s ease-in-out 0.2s;
}

body.smooth-scroll {
	overflow: hidden;
}

body.hidden {
	opacity: 0;
}

main {
	-webkit-transition: background 0.5s ease-in-out 0s;
	transition: background 0.5s ease-in-out 0s;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	border: 0;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

article,
aside,
details,
figcaption,
footer,
header,
hgroup,
nav,
section {
	display: block;
}

audio {
	display: inline-block;
	max-width: 100%;
}

address {
	font-style: italic;
	margin-bottom: 24px;
}

abbr[title] {
	border-bottom: 1px dotted #2b2b2b;
	cursor: help;
}

b,
strong {
	font-weight: 600;
	color: #000;
}

.light-content b,
.light-content strong,
.dark-section b,
.dark-section strong {
	font-weight: 600;
	color: #fff;
}

.light-content .light-section b,
.light-content .light-section strong {
	font-weight: 600;
	color: #000;
}

cite,
dfn,
em,
i {
	font-style: italic;
}

mark,
ins {
	background: none repeat scroll 0 0 #000;
	text-decoration: none;
	color: #fff;
	padding: 2px 8px;
	display: inline-block;
	border-radius: 2px;
}

.light-content mark,
.light-content ins,
.dark-section mark,
.dark-section ins {
	background: none repeat scroll 0 0 #fff;
	color: #000;
}

.light-content .light-section mark,
.light-content .light-section ins {
	background: none repeat scroll 0 0 #111;
	color: #fff;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family: monospace, serif;
	font-size: 15px;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	line-height: 1.6;
}

pre {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 24px;
	max-width: 100%;
	overflow: auto;
	padding: 12px;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
	background-color: rgba(0, 0, 0, 0.05)
}

.light-content pre,
.dark-section pre {
	background-color: rgba(255, 255, 255, 0.05);
	color: #fff;
}

.light-content .light-section pre {
	background-color: rgba(0, 0, 0, 0.05);
	color: #000;
}

blockquote,
q {
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

blockquote {
	color: #000;
	line-height: 1.6;
	font-size: 1.5rem;
	margin-bottom: 2.1875rem;
	font-weight: 500;
	padding-left: 3.5rem;
	margin: 0 0 1.5625rem;
	position: relative;
}

.light-content blockquote,
.dark-section blockquote {
	color: #fff;
}

.light-content .light-section blockquote {
	color: #000;
}

blockquote::before {
	content: "\275D";
	position: absolute;
	left: 0;
	top: 5px;
	line-height: 1;
	font-size: 3rem;
	font-weight: 500;
}

blockquote cite,
blockquote small {
	color: #2b2b2b;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.light-content blockquote cite,
.light-content blockquote small {
	color: #fff;
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 600;
}

small {
	font-size: smaller;
}

big {
	font-size: 125%;
}

sup,
sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

dl {
	margin-bottom: 24px;
}

dt {
	font-weight: bold;
}

dd {
	margin-bottom: 24px;
}

ul,
ol {
	list-style: none;
	margin: 0 0 24px 20px;
}

ul,
ol {
	list-style: none;
	margin: 20px 0 25px 20px;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin: 20px 0px 15px 25px;
}

li {
	line-height: 20px;
	color: #444;
	margin-bottom: 25px;
}

.light-content li,
.dark-section li {
	color: #ccc;
}

.light-content .light-section li {
	color: #444;
}

figure {
	margin: 0;
	position: relative;
	display: block;
}

figure.has-parallax {
	overflow: hidden;
}

.full figure.has-parallax {
	overflow: hidden;
	height: 100vh;
}

figure img {
	max-width: 100%;
}

.has-parallax-content>img,
.has-parallax>img {
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	object-position: center;
	object-fit: cover;
}

figcaption {
	background-color: rgba(0, 0, 0, 0.3);
	bottom: 0px;
	color: #fff;
	font-weight: 400;
	font-size: 10px;
	padding: 5px 10px;
	position: absolute;
	right: 0px;
	z-index: 10;
	border-radius: 0;
}

fieldset {
	border: 1px solid rgba(0, 0, 0, 0.1);
	margin: 0 0 24px;
	padding: 0;
}

legend {
	white-space: normal;
}

button,
input {
	line-height: normal;
}

input,
textarea {
	background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
	/* Removing the inner shadow, rounded corners on iOS inputs */
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
}

button[disabled],
input[disabled] {
	cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
	padding: 0;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

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

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

textarea {
	overflow: auto;
	vertical-align: top;
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin-bottom: 24px;
	width: 100%;
	color: #444;
}

thead,
.light-content .light-section thead {
	background-color: rgba(0, 0, 0, 1);
	color: #fff;
}

.light-content thead,
.dark-section thead {
	background-color: rgba(255, 255, 255, 1);
}

thead tr,
.light-content .light-section thead tr {
	color: #fff;
}

.light-content thead tr,
.dark-section thead tr {
	color: #000;
}

tr,
.light-content .light-section tr {
	color: #444;
}

.light-content tr,
.dark-section tr {
	color: #CCC;
}

tr:nth-child(2n),
.light-content .light-section tr:nth-child(2n) {
	background-color: rgba(0, 0, 0, 0.05);
}

.light-content tr:nth-child(2n),
.dark-section tr:nth-child(2n) {
	background-color: rgba(255, 255, 255, 0.1);
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	border-width: 0 1px 1px 0;
	padding: 10px;
}

td {
	border-width: 0 1px 1px 0;
	padding: 10px;
}

del {
	color: #767676;
}

hr {
	border: 0;
	height: 28px;
	width: 100%;
	float: none;
	margin: 0;
	display: inline-block;
	opacity: 1 !important;
	-webkit-transition: translateY(0px) !important;
	transform: translateY(0px) !important;
}

hr.animated-line {
	height: 1px;
	padding-top: 20px;
	padding-bottom: 20px;
}

hr.animated-line:before {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background: rgba(0, 0, 0, 0.1);
}

.light-content hr.animated-line:before,
.dark-section hr.animated-line:before {
	background: rgba(255, 255, 255, 0.15);
}

.light-content .light-section hr.animated-line:before {
	background: rgba(0, 0, 0, 0.1);
}

hr.animated.animated-line:before {
	width: 100%;
	-webkit-transition: width 0.7s ease-in-out 0.1s;
	transition: width 0.7s ease-in-out 0.1s;
}

hr:after {
	clear: both;
	content: " ";
	display: block;
	height: 0;
	visibility: hidden;
}

::selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}

::-moz-selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}

img {
	border: 0 none;
	max-width: 100%;
	vertical-align: middle;
	height: auto;
}

h1 {
	font-family: 'mona-sansextrabold_wide', sans-serif;
	font-size: 10rem;
}

h2,
h3,
h5,
h6 {
	font-family: 'mona-sansextrabold_wide';
	/* font-family: 'Raleway', sans-serif; */
	color: #000;
	margin-bottom: 20px;
}

.uppercase-titles h1,
.uppercase-titles h2,
.uppercase-titles h3,
.uppercase-titles h4,
.uppercase-titles h5,
.uppercase-titles h6 {
	text-transform: uppercase;
}

.normal-title {
	text-transform: none;
}

.primary-font-title {
	font-family: 'mona-sansextrabold_wide';
}

.secondary-font-title,
em {
	font-family: 'mona-sanslight_wide', sans-serif;
	font-style: normal;
	font-weight: 300;
}

h4 {
	font-family: 'mona-sans-semibold_wide';
	/* font-family: 'Raleway', sans-serif; */
}

.big-title {
	font-size: calc(1rem + 4.15vw);
	line-height: 1.5em;
}

h1 {
	font-size: calc(1rem + 4.15vw);
	line-height: 1.5em;
}

h2 {
	font-size: calc(1rem + 1.5vw);
	line-height: 1.1em;
}

h3 {
	font-size: calc(1rem + 1.7vw);
	line-height: 1.5em;
	font-weight: 700;
}

h4 {
	font-size: calc(1rem + 1vw);
	line-height: 1.5em;
}

h5 {
	font-size: calc(1rem + 0.6vw);
	line-height: 1.5em;
}

h6 {
	font-size: 18px;
	line-height: 36px;
}

h6.has-icon {
	padding-left: 20px;
	box-sizing: border-box;
	display: inline-block;
	width: auto;
	position: relative;
}

h6.has-icon::before {
	font: var(--fa-font-solid);
	content: "\f101";
	font-size: 12px;
	line-height: inherit;
	text-align: left;
	position: absolute;
	left: 0;
}

.no-margins {
	margin: 0;
}

.light-content h1,
.light-content h2,
.light-content h3,
.light-content h4,
.light-content h5,
.light-content h6,
.dark-section h1,
.dark-section h2,
.dark-section h3,
.dark-section h4,
.dark-section h5,
.dark-section h6 {
	color: #fff;
}

.light-content .light-section h1,
.light-content .light-section h2,
.light-content .light-section h3,
.light-content .light-section h4,
.light-content .light-section h5,
.light-content .light-section h6 {
	color: #000;
}

p {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 300;
	margin-bottom: 20px;
	color: #444;
}

.light-content p,
.dark-section p {
	color: #fff;
}

.light-content .light-section p {
	color: #fff;
}

.bigger {
	font-size: 20px;
	line-height: 30px;
}

.smaller {
	font-size: 12px;
	line-height: 24px;
}

.container {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.container::after {
	clear: both;
	content: " ";
	display: table;
}

a:hover,
a:active {
	outline: 0;
	color: #000;
}

a,
.light-content .light-section a {
	text-decoration: none;
	color: #000;
	outline: 0;
}

.light-content a,
.dark-section a,
.white-header a {
	color: #fff;
}

.light-content .white-header a {
	color: #000;
}

a:hover {
	text-decoration: none;
}

.one_half {
	width: 48% !important;
}

.one_third {
	width: 30.6% !important;
}

.one_fourth {
	width: 22% !important;
}

.one_fifth {
	width: 16.8% !important;
}

.one_sixth {
	width: 13.33% !important;
}

.two_fifth {
	width: 37.6% !important;
}

.two_fourth {
	width: 48% !important;
}

.two_third {
	width: 65.33% !important;
}

.three_fifth {
	width: 58.4% !important;
}

.three_fourth {
	width: 74% !important;
}

.four_fifth {
	width: 79.2% !important;
}

.five_sixth {
	width: 82.67% !important;
}

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

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

.text-align-left {
	text-align: left;
}

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

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

.outer {
	display: table;
	width: 100%;
	height: 100%;
}

.inner {
	display: table-cell;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.light-section-wrapper,
.dark-section-wrapper {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: 1000% !important;
	width: 100vw !important;
}

.light-section-container,
.dark-section-container {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
}

.content-row {
	position: relative;
	width: 100%;
	margin: 0 auto;
	z-index: 1;
	opacity: 1;
	box-sizing: border-box;
}

.clip-effects {
	overflow: hidden;
	clip-path: inset(6% 18% 0% 18%);
}

.content-row::after {
	clear: both;
	content: " ";
	display: table;
}

.small {
	max-width: 820px;
	width: 100%;
	margin: 0 auto;
}

.large {
	max-width: 1380px;
	width: 100%;
	margin: 0 auto;
}

.full {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: 1000% !important;
	width: 100vw !important;
}

.row_padding_top {
	padding-top: 9vw;
}

.row_padding_top_custom {
	padding-top: 7vw;
}

@media (max-width: 768px) {
	.row_padding_top_custom {
		padding-top: 8vw;
	}
}

.row_padding_bottom {
	padding-bottom: 9vw;
}

.row_padding_bottom_custom {
	padding-bottom: 7vw;
}

.row_padding_left {
	padding-left: 80px;
}

.row_padding_right {
	padding-right: 80px;
}

.row_padding_all {
	padding-top: 4vw;
	padding-bottom: 4vw;
	padding-left: 80px;
	padding-right: 80px;
}

#rotate-device {
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	background-color: #0f1010;
	background-image: url(/images/rotate.png);
	background-size: 100px 100px;
	background-position: center;
	background-repeat: no-repeat;
	display: none;
}

i.arrow-icon {
	border: solid #000;
	border-width: 0px 3px 3px 0px;
	box-sizing: border-box;
	display: block;
	position: relative;
	top: 0px;
	left: 0px;
	height: 20px;
	width: 20px;
}

.light-content i.arrow-icon,
.dark-content .item i.arrow-icon {
	border: solid #fff;
	border-width: 0px 3px 3px 0px;
}

.light-content .change-header i.arrow-icon,
.dark-content .change-header i.arrow-icon {
	border: solid #000;
	border-width: 0px 3px 3px 0px;
}

i.arrow-icon::after {
	content: "";
	position: absolute;
	width: 28px;
	height: 3px;
	top: 7px;
	left: -6px;
	background-color: #000;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.light-content i.arrow-icon:after,
.light-content .change-header i.arrow-icon::after,
.dark-content .item i.arrow-icon::after {
	background-color: #fff;
}

.light-content .change-header i.arrow-icon::after,
.dark-content .change-header i.arrow-icon::after {
	background-color: #000;
}

i.arrow-icon-down {
	border: solid #222;
	border-width: 0px 2px 2px 0px;
	box-sizing: border-box;
	display: block;
	position: relative;
	top: 14px;
	left: 14px;
	height: 12px !important;
	width: 12px !important;
	line-height: 12px !important;
}

i.arrow-icon-down.left {
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
}

i.arrow-icon-down::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 2px;
	top: 4px;
	left: -3px;
	background-color: #222;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);

}

.light-content i.arrow-icon-down {
	border: solid #fff;
	border-width: 0px 2px 2px 0px;
}

.light-content i.arrow-icon-down::after {
	background-color: #fff;
}

i.arrow-icon-up {
	border: solid #222;
	border-width: 2px 2px 0px 0px;
	box-sizing: border-box;
	display: block;
	position: relative;
	top: 14px;
	left: 14px;
	height: 12px !important;
	width: 12px !important;
	line-height: 12px !important;
}

i.arrow-icon-up.right {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

i.arrow-icon-up::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 2px;
	top: 4px;
	left: -3px;
	background-color: #222;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.light-content i.arrow-icon-up {
	border: solid #fff;
	border-width: 2px 2px 0px 0px;
}

.light-content i.arrow-icon-up::after {
	background-color: #fff;
}

/*--------------------------------------------------
	02. Magic Cursor
---------------------------------------------------*/


#magic-cursor {
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	pointer-events: none;
	z-index: 10000;
	-webkit-transition: opacity 0.2s ease-in-out 0.5s;
	transition: opacity 0.2s ease-in-out 0.5s;
}

.hidden-ball #magic-cursor {
	opacity: 0 !important;
	visibility: hidden;
}

#ball {
	position: fixed;
	width: 80px;
	height: 80px;
	border: 2px solid #999999;
	border-radius: 50%;
	pointer-events: none;
	opacity: 1;
	box-sizing: border-box;
	-webkit-transform: scale(0.5);
	transform: scale(0.5);
}

.light-content #ball,
#ball.over-movie,
.light-content #ball.with-icon {
	border: 2px solid #999999;
	border-color: #999999;
}

#ball.with-blur {
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

#ball:before {
	font: var(--fa-font-solid);
	content: "\f106";
	font-size: 14px;
	width: 8px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	position: absolute;
	left: 32px;
	top: -42px;
	color: #999;
	opacity: 0;
	transform: translateY(-20px);
	-webkit-transform: translateY(-20px);
	transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content #ball:before {
	color: #999;
}

#ball::after {
	font: var(--fa-font-solid);
	content: "\f107";
	font-size: 14px;
	width: 8px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	position: absolute;
	left: 32px;
	top: 100px;
	color: #999;
	opacity: 0;
	transform: translateY(20px);
	-webkit-transform: translateY(20px);
	transition: all 0.15s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content #ball:before,
.light-content #ball:after {
	color: #999;
}

.scale-up #ball:before,
.scale-drag-horizontal #ball:before {
	opacity: 1;
	transform: translateY(0px);
	-webkit-transform: translateY(0px);
	transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.scale-drag-horizontal #ball:before {
	color: #fff;
}

.scale-up #ball:after,
.scale-drag-horizontal #ball:after {
	opacity: 1;
	transform: translateY(0px);
	-webkit-transform: translateY(0px);
	transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.scale-drag-horizontal #ball:after {
	color: #fff;
}

.scale-up.scale-none #ball:before,
.scale-up.scale-none #ball:after {
	opacity: 0;
}

#ball-drag-x {
	position: absolute;
	width: 72px;
	height: 72px;
	pointer-events: none;
	opacity: 1;
	box-sizing: border-box;
}

#ball-drag-x::before {
	font: var(--fa-font-solid);
	content: "\f053";
	font-size: 14px;
	width: 8px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	position: absolute;
	left: -37px;
	top: 30px;
	color: #000;
	opacity: 0;
	transform: translateX(-20px);
	-webkit-transform: translateX(-20px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content #ball-drag-x:before {
	color: #fff;
}

#ball-drag-x::after {
	font: var(--fa-font-solid);
	content: "\f054";
	font-size: 14px;
	width: 8px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	position: absolute;
	right: -40px;
	left: auto;
	top: 30px;
	color: #000;
	opacity: 0;
	transform: translateX(20px);
	-webkit-transform: translateX(20px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content #ball-drag-x:before,
.light-content #ball-drag-x:after {
	color: #fff;
}

.drag-cursor-white #ball-drag-x:before,
.drag-cursor-white #ball-drag-x:after {
	color: #fff;
}

.drag-cursor-black #ball-drag-x:before,
.drag-cursor-black #ball-drag-x:after {
	color: #000;
}

.scale-drag-x #ball-drag-x:before {
	opacity: 1;
	transform: translateX(0px);
	-webkit-transform: translateX(0px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.scale-drag-x #ball-drag-x:after {
	opacity: 1;
	transform: translateX(0px);
	-webkit-transform: translateX(0px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.scale-up.scale-drag #ball-drag-x:before,
.scale-up.scale-drag #ball-drag-x:after {
	opacity: 0;
}

#ball-drag-y {
	position: absolute;
	width: 72px;
	height: 72px;
	pointer-events: none;
	opacity: 1;
	box-sizing: border-box;
}

#ball-drag-y:before {
	font: var(--fa-font-solid);
	content: "\f077";
	font-size: 14px;
	width: 8px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	position: absolute;
	left: 32px;
	top: -40px;
	color: #000;
	opacity: 0;
	transform: translateY(-20px);
	-webkit-transform: translateY(-20px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content #ball-drag-y:before {
	color: #fff;
}

#ball-drag-y::after {
	font: var(--fa-font-solid);
	content: "\f078";
	font-size: 14px;
	width: 8px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	position: absolute;
	left: 32px;
	top: 100px;
	color: #000;
	opacity: 0;
	transform: translateY(20px);
	-webkit-transform: translateY(20px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content #ball-drag-y:before,
.light-content #ball-drag-y:after {
	color: #fff;
}

.scale-drag-y #ball-drag-y:before {
	opacity: 1;
	transform: translateY(0px);
	-webkit-transform: translateY(0px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.scale-drag-y #ball-drag-y:after {
	opacity: 1;
	transform: translateY(0px);
	-webkit-transform: translateY(0px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.scale-up.scale-drag #ball-drag-y:before,
.scale-up.scale-drag #ball-drag-y:after {
	opacity: 0;
}

#ball i {
	color: #fff;
	width: 76px;
	height: 80px;
	line-height: 78px;
	text-align: center;
	font-size: 14px;
	display: block;
	opacity: 1;
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

#ball {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#ball p {
	color: #fff;
	width: auto;
	height: 16px;
	line-height: 16px;
	padding-top: 0px;
	padding-left: 0px;
	box-sizing: border-box;
	margin: 0 auto;
	margin-bottom: 0;
	text-align: center;
	font-size: 10px;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	align-self: center;
	opacity: 1;
	position: relative;
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content #ball p {
	color: #fff;
}

#ball p.center-first::before {
	content: "[";
	font-size: 12px;
	font-weight: 500;
	position: absolute;
	height: 20px;
	top: calc(50% - 10px);
	left: -8px;
	line-height: 20px;
}

#ball p.center-first::after {
	content: "]";
	font-size: 12px;
	font-weight: 500;
	position: absolute;
	height: 20px;
	top: calc(50% - 10px);
	right: -8px;
	line-height: 20px;
}

.light-content #ball i,
#ball.over-movie i,
.light-content #ball.with-icon i {
	color: #fff;
}

.drag-cursor-white #ball i,
.drag-cursor-white #ball.with-icon i {
	color: #fff;
}

.drag-cursor-black #ball i,
.drag-cursor-black #ball.with-icon i {
	color: #000;
}

.light-content #ball.with-icon.dark-icon i {
	color: #000;
}

.scale-up #ball i {
	opacity: 0;
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

#ball.with-icon i {
	width: 76px;
}

#ball.with-icon i:nth-child(2) {
	display: none;
}

#ball.close-icon i {
	width: 75px;
	height: 76px;
	font-size: 14px;
}

#ball.over-movie i.fa-play,
#ball.over-movie.pause-movie i.fa-pause {
	display: block;
}

#ball.over-movie i.fa-pause,
#ball.over-movie.pause-movie i.fa-play {
	display: none;
}

#ball-loader {
	width: 100px;
	height: 100px;
	position: absolute;
	background-color: transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid #999999;
	border-left: 4px solid transparent;
	border-top: 4px solid transparent;
	border-radius: 100px;
	box-sizing: border-box;
	opacity: 0;
	-webkit-transform: translate(-14px, -14px) rotate(0deg);
	transform: translate(-14px, -14px) rotate(0deg);
	-webkit-animation: rotating 0.8s ease-in-out infinite;
	animation: rotating 0.8s ease-in-out infinite;
	-webkit-transition: opacity 0s ease-in-out 0s;
	transition: opacity 0s ease-in-out 0s;
}

.light-content #ball-loader {
	border-bottom: 4px solid #999999;
}

.show-loader #ball-loader {
	opacity: 1;
	-webkit-transition: opacity 0.2s ease-in-out 0s;
	transition: opacity 0.2s ease-in-out 0s;
}

@keyframes rotating {
	0% {
		-webkit-transform: translate(-14px, -14px)rotate(0deg);
		transform: translate(-14px, -14px) rotate(0deg);
	}

	95% {
		-webkit-transform: translate(-14px, -14px) rotate(350deg);
		transform: translate(-14px, -14px) rotate(350deg);
	}

	100% {
		-webkit-transform: translate(-14px, -14px) rotate(360deg);
		transform: translate(-14px, -14px) rotate(360deg);
	}
}

.show-loader a,
.show-loader nav,
.scale-up a,
.scale-up .hide-ball,
scale-up .link,
.scale-up .button-wrap,
.scale-up #burger-wrapper,
.scale-up .disable-drag,
.scale-drag a,
.scale-drag .move-title {
	pointer-events: none !important;
}

.disable-cursor #magic-cursor {
	display: none;
}

#ball i.arrow-icon {
	border: solid #fff;
	border-width: 3px 3px 0px 0px;
	box-sizing: border-box;
	display: block;
	position: absolute;
	top: 28px;
	left: 30px;
	height: 20px;
	width: 20px;
}

.light-content #ball i.arrow-icon {
	border: solid #fff;
	border-width: 3px 3px 0px 0px;
}

#ball i.arrow-icon:after {
	content: "";
	position: absolute;
	width: 30px;
	height: 3px;
	top: 8px;
	left: -8px;
	background-color: #fff;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.light-content #ball i.arrow-icon:after {
	background-color: #fff;
}


/*--------------------------------------------------
	03. Page Preloader
---------------------------------------------------*/

.disable-ajaxload .preloader-wrap {
	display: none;
}

.preloader-wrap {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	bottom: 0;
	background: #000;
	z-index: 1800;
	text-align: center;
}

.preloader-wrap .outer {
	padding: 0px;
	box-sizing: border-box;
}

.preloader-wrap .inner {
	vertical-align: middle;
	box-sizing: border-box;
}

#contactform #submit.is-loading {
	cursor: not-allowed;
	opacity: 0.8;
}

.percentage-wrapper {
	position: relative;
	display: block;
	text-align: center;
	background-color: #000;
	float: left;
	width: 9vw;
	overflow: hidden;
	z-index: 10;
}

.percentage {
	opacity: 1;
	font-family: 'mona-sanslight_wide';
	font-size: calc(1rem + 2vw);
	line-height: calc(1rem + 2.5vw);
	font-weight: 500;
	color: #fff;
	display: table;
	margin: 0 auto;
	margin-top: 1px;
}

.percentage::after {
	content: "%";
}

.percentage-intro {
	height: 20px;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	color: rgba(255, 255, 255, 0.6);
	position: absolute;
	bottom: 60px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.trackbar {
	width: auto;
	height: auto;
	margin: 0 auto;
	display: table;
	position: relative;
	padding: 0px;
	opacity: 1;
}

.loadbar {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	position: absolute;
	top: 0px;
	right: 0;
	overflow: hidden;
	z-index: 20;
}

.hold-progress-bar {
	width: 0%;
	height: 0px;
	background: rgba(0, 0, 0, 1);
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	overflow: hidden;
}

.preloader-intro {
	position: relative;
	display: block;
	color: #fff;
	overflow: hidden;
	padding-left: 0vw;
	float: right;
	z-index: 0;
}

.uppercase-titles .preloader-intro {
	text-transform: uppercase;
}

.preloader-intro span {
	position: relative;
	display: block;
	font-family: 'mona-sansextrabold_wide';
	font-weight: 500;
	position: relative;
	font-size: calc(1rem + 2vw);
	line-height: calc(1rem + 2.5vw);
}

/*--------------------------------------------------
	04. Header Elements
---------------------------------------------------*/


header {
	width: 100%;
	height: 55px;
	left: 0;
	top: 0;
	background-color: var(--header-solid-bg, transparent);
	position: fixed;
	box-sizing: border-box;
	z-index: 1000;
	pointer-events: none;
	-webkit-transition: background 0.4s ease-in-out 0.3s;
	transition: background 0s ease-in-out 0s;
}

header::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--header-solid-bg, transparent);
	/* background:var(--header-gradient-bg, transparent); */
	opacity: 1;
	pointer-events: none;
	z-index: 0;
	transition: background 0.35s ease, opacity 0.35s ease;
}

header.header-bg-dark {
	--header-solid-bg: #0c0c0c;
	--header-solid-bg: hsla(0, 0%, 0%, 0.65);
	/* --header-gradient-bg:linear-gradient(180deg, rgba(12,12,12,0.95) 0%, rgba(12,12,12,0.9) 40%, rgba(12,12,12,0) 100%); */
}

header.header-bg-light {
	--header-solid-bg: #f9f9f9;
	--header-solid-bg: hsla(0, 0%, 100%, .85);
	/* --header-gradient-bg:linear-gradient(180deg, rgba(249,249,249,0.98) 0%, rgba(249,249,249,0.92) 40%, rgba(249,249,249,0) 100%); */
}

header.header-bg-transparent {
	--header-solid-bg: transparent;
	--header-gradient-bg: transparent;
}

header.header-bg-transparent::before {
	opacity: 0;
	background: transparent;
}

#header-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	align-content: center;
	box-sizing: border-box;
	height: inherit;
	padding: 10px 65px;
	margin: 0 auto;
	position: relative;
	width: 100%;
	z-index: 20;
	opacity: 0;
}

.header-visible #header-container {
	opacity: 1;
}

#logo {
	position: relative;
	display: table;
	pointer-events: initial;
	z-index: 10;
	/* top: 7px; */
	float: left;
	/* margin: auto 0; */
}

#logo a {
	display: block;
	-webkit-transition: transform 0.5s ease-in-out 0.1s;
	transition: transform 0.5s ease-in-out 0.1s;
}

#logo a.disable,
.open #logo a {
	pointer-events: none;
}

#logo img {
	display: block;
	height: 30px;
	width: auto;
	max-width: none;
	-webkit-transition: opacity 0.15s ease-in-out 0s;
	transition: opacity 0.15s ease-in-out 0s;
}

#logo img.black-logo {
	opacity: 1;
}

.light-content #logo img.black-logo {
	opacity: 0;
}

#logo img.white-logo {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.light-content #logo img.white-logo {
	opacity: 1;
}

.white-header #logo img.black-logo {
	opacity: 0;
}

.light-content .white-header #logo img.black-logo {
	opacity: 1;
}

.light-content .white-header.over-white-section #logo img.black-logo,
.show-loader1 .light-content .white-header #logo img.black-logo {
	opacity: 0;
}

.white-header #logo img.white-logo {
	opacity: 1;
}

.light-content .white-header #logo img.white-logo {
	opacity: 0;
}

.light-content .white-header.over-white-section #logo img.white-logo,
.show-loader1 .light-content .white-header #logo img.white-logo {
	opacity: 1;
}

.menu-open.light-content .slide-in #logo img.white-logo {
	opacity: 1;
}

nav {
	pointer-events: none;
}

nav.open {
	pointer-events: initial;
}

.dark-content-header #logo img.black-logo {
	opacity: 1 !important;
}

.dark-content-header #logo img.white-logo {
	opacity: 0 !important;
}

.light-content-header #logo img.black-logo {
	opacity: 0 !important;
}

.light-content-header #logo img.white-logo {
	opacity: 1 !important;
}

@media all and (min-width: 1025px) {

	.classic-menu nav {
		position: relative;
		width: auto;
		top: 0px;
		-webkit-transition: all 0.2s ease-in-out 0.5s;
		transition: all 0.2s ease-in-out 0.5s;
		display: block;
		float: right;
		height: 35px;
		margin: auto 0;
		background-color: transparent !important;
		opacity: 1 !important;
	}

	.classic-menu .flexnav {
		display: block;
		float: right;
		position: relative;
		width: auto;
		max-height: 60px;
	}

	.classic-menu .flexnav li ul {
		min-width: 180px;
	}

	.classic-menu .flexnav .touch-button {
		background: transparent none repeat scroll 0 0;
	}

	.flexnav .touch-button .navicon {
		display: none;
	}

	.classic-menu .flexnav li {
		background: transparent none repeat scroll 0 0;
		padding: 0 30px;
		padding-bottom: 5px;
		padding-top: 5px;
	}

	.classic-menu .menu-timeline {
		opacity: 1 !important;
		-webkit-transition: translateY(0px) !important;
		transform: translateY(0px) !important;
		pointer-events: initial;
	}

	.classic-menu .flexnav li:last-child {
		padding-right: 0px;
	}

	.classic-menu .before-span {
		opacity: 1 !important;
		-webkit-transition: translateY(0px) !important;
		transform: translateY(0px) !important;

	}

	.classic-menu .flexnav li a {
		font-family: 'Poppins', sans-serif;
		background: transparent none repeat scroll 0 0;
		padding: 0;
		position: relative;
		border-left: medium none;
		color: #222;
		font-size: 16px;
		font-weight: 400;
		line-height: 24px;
		display: block;
		overflow: hidden;
	}

	.light-content .classic-menu .flexnav li a {
		color: #fff;
	}

	.light-content .classic-menu.white-header .flexnav li a {
		color: #222;
	}

	.classic-menu.white-header .flexnav li a {
		color: #fff;
	}

	.flexnav:hover li a {
		color: rgba(0, 0, 0, 0.4);
	}

	.light-content .classic-menu .flexnav:hover li a {
		color: rgba(255, 255, 255, 0.4);
	}

	.classic-menu.white-header .flexnav:hover li a {
		color: rgba(255, 255, 255, 0.4);
	}

	.light-content .classic-menu.white-header .flexnav:hover li a {
		color: rgba(0, 0, 0, 0.4);
	}

	.classic-menu .flexnav li:hover a {
		color: #222;
	}

	.light-content .classic-menu .flexnav li:hover a {
		color: #fff;
	}

	.classic-menu.white-header .flexnav li:hover a {
		color: #fff;
	}

	.light-content .classic-menu.white-header .flexnav li:hover a {
		color: #222;
	}

	.classic-menu .flexnav li a span {
		position: relative;
		display: block;
		-webkit-transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
		transform-origin: 100% 0%;
	}

	.classic-menu .flexnav li a span::before {
		position: absolute;
		top: 100%;
		width: 100%;
		left: 0;
		content: attr(data-hover);
	}

	.classic-menu .flexnav li:hover a span {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
		transform-origin: 0% 0%;
	}

	.classic-menu .flexnav li a span:nth-child(2),
	.classic-menu .flexnav li a span:nth-child(3) {
		display: none;
	}

	.classic-menu .flexnav li ul li a {
		padding: 0 20px 20px;
		background-color: transparent;
		font-size: 14px;
		font-weight: 400;
		text-transform: none;
		color: #fff !important;
		opacity: 0.6;
		-webkit-transition: all 0.05s ease-in-out;
		-moz-transition: all 0.05s ease-in-out;
		-o-transition: all 0.05s ease-in-out;
		-ms-transition: all 0.05s ease-in-out;
		transition: all 0.05s ease-in-out;
	}

	.classic-menu .flexnav li ul li a.link::before {
		display: none;
	}

	.classic-menu .flexnav li ul li a.active,
	.classic-menu .flexnav li ul li a:hover {
		opacity: 1;
	}

	.classic-menu .flexnav li>ul li {
		margin-left: 0;
		padding: 0;
		opacity: 1 !important;
		transform: none !important;
	}

	.classic-menu .flexnav li ul {
		-webkit-transform: translate3d(0px, 30px, 0px);
		transform: translate3d(0px, 30px, 0px);
		display: block !important;
		opacity: 0 !important;
		height: inherit !important;
		overflow: visible !important;
		visibility: hidden;
		left: 15px;
		top: 60px;
		padding-top: 20px;
		background: #000;
		border-radius: 3px;
		-webkit-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s ease-in-out !important;
		transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s ease-in-out !important;
	}

	.classic-menu .flexnav li:last-child ul {
		left: auto;
		right: -10px;
	}

	.classic-menu .flexnav li ul ul {
		left: 5px !important;

	}

	.classic-menu .flexnav li ul:after {
		display: block;
		content: '';
		position: absolute;
		top: -6px;
		left: 20px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 10px 9px;
		border-color: transparent transparent #000;
	}

	.classic-menu .flexnav li:last-child ul:after {
		left: auto;
		right: 20px;
	}

	.classic-menu .flexnav ul li ul:after {
		display: block;
		content: '';
		position: absolute;
		top: 15px;
		left: -10px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 10px 9px;
		border-color: transparent transparent #000;
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
	}

	.classic-menu .flexnav li ul li>ul,
	.classic-menu .flexnav li ul.open ul.open {
		top: -5px;
		z-index: 10;
	}

	.classic-menu .flexnav li:last-child ul li>ul,
	.classic-menu .flexnav li:last-child ul.open ul.open {
		margin-left: -100%;
		left: -5px !important;
		right: auto;
		top: 0;
	}

	.classic-menu .flexnav li:last-child ul li ul::after {
		right: -10px;
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	.classic-menu .flexnav ul li ul li a {
		background: #000;
	}

	.classic-menu .flexnav ul li ul li ul li a {
		background: #000;
	}

	.classic-menu .flexnav li ul.flexnav-show {
		-webkit-transform: translate3d(0px, 0px, 0px);
		transform: translate3d(0px, 0px, 0px);
		opacity: 1 !important;
		visibility: visible;
		-webkit-transition: opacity 0.2s ease-in-out 0.1s, visibility 0.2s ease-in-out, transform 0.2s ease-in-out 0.1s;
		transition: opacity 0.2s ease-in-out 0.1s, visibility 0.2s ease-in-out, transform 0.2s ease-in-out 0.1s;
	}

	.classic-menu .flexnav .touch-button {
		display: none;
	}


	/*-- Full Screen Menu --*/

	.fullscreen-menu .nav-height {
		overflow-y: scroll;
		position: relative;
		height: 100%;
		padding: 40px 0;
		padding-right: 30px;
		width: calc(100% + 30px);
		box-sizing: border-box;
	}

	.fullscreen-menu nav {
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		box-sizing: border-box;
		visibility: visible;
		pointer-events: none;
		opacity: 0;
		padding: 20px 0;
	}

	.fullscreen-menu nav.open {
		visibility: visible;
		pointer-events: initial;
	}


	.fullscreen-menu .flexnav {
		max-height: 2000px;
		-webkit-transition: all 0.2s ease-in 0.6s;
		transition: all 0.2s ease-in 0.6s;
		display: table;
		width: auto;
		padding: 0 20px;
		box-sizing: border-box;
		margin: 0 auto;
		float: none;
	}

	.fullscreen-menu .flexnav.flexnav-show {
		-webkit-transition: all .3s ease-out 0.2s;
		transition: all .3s ease-out 0.2s;
	}

	.fullscreen-menu .flexnav li {
		text-align: center;
		padding: 0;
		box-sizing: border-box;
		float: none;
	}

	.fullscreen-menu .menu-timeline {
		opacity: 0;
	}

	.fullscreen-menu .flexnav .touch-button {
		width: 100%;
		display: block;
		height: 6vw;
	}

	.fullscreen-menu .flexnav li ul li .touch-button {
		height: 32px;
	}

	.fullscreen-menu .flexnav:hover li ul li a.active,
	.fullscreen-menu .flexnav:hover li ul li:hover>a {
		opacity: 1;
	}

	.fullscreen-menu .flexnav .touch-button .navicon {
		display: none;
	}

	.fullscreen-menu .flexnav li.link {
		border-bottom: none;
	}

	.fullscreen-menu .flexnav li a {
		font-family: 'mona-sansextrabold_wide';
		font-weight: 500;
		font-size: calc(1rem + 5.15vw);
		line-height: 120px;
		padding: 0 50px;
		-webkit-transition: all .1s ease-in-out 0s;
		transition: all .1s ease-in-out 0s;
	}

	.uppercase-titles .fullscreen-menu .flexnav>li>a {
		text-transform: uppercase;
	}

	.fullscreen-menu .flexnav li a {
		color: #222;
	}

	.fullscreen-menu.invert-header .flexnav li a {
		color: #fff;
	}

	.fullscreen-menu .flexnav:hover li a,
	.fullscreen-menu .flexnav.hover li a {
		opacity: 1;
	}

	.fullscreen-menu .flexnav li:hover a,
	.fullscreen-menu .flexnav li a.active {
		opacity: 1;
	}

	.fullscreen-menu .flexnav:hover li ul li a {
		opacity: 0.3;
	}

	.fullscreen-menu .flexnav:hover li ul li a.active,
	.fullscreen-menu .flexnav:hover li ul li:hover>a {
		opacity: 1;
	}

	.fullscreen-menu .flexnav a.link::before {
		display: none;
	}

	.fullscreen-menu .flexnav li ul {
		margin-top: 0px;
		margin-bottom: 30px;
		position: relative;
		left: 0;
	}

	.fullscreen-menu .flexnav li ul:after {
		display: none;
	}

	.fullscreen-menu .flexnav li ul li a {
		padding: 0;
		font-family: 'Poppins', sans-serif;
		font-size: 16px;
		line-height: 30px;
		font-weight: 500;
		border-top: none;
		text-transform: none;
	}

	.fullscreen-menu .flexnav ul li ul li a {
		background: transparent;
	}

	.fullscreen-menu .flexnav li ul li>ul,
	.fullscreen-menu .flexnav li ul.open ul.open {
		margin-left: 0;
		top: 0;
	}

	.fullscreen-menu .menu-timeline {
		opacity: 1;
	}

	.fullscreen-menu .menu-timeline .before-span {
		opacity: 0;
		display: block;
		-webkit-transform: translateY(120px);
		transform: translateY(120px);
		-webkit-perspective: 480px;
		perspective: 480px;
	}

	.fullscreen-menu .flexnav li,
	.fullscreen-menu .flexnav li a {
		background-color: transparent;
		border: 0;
	}

	.fullscreen-menu .flexnav li a .span-cube {
		position: relative;
		display: block;
		overflow: visible !important;
		-webkit-transform-style: preserve-3d;
		transform-style: preserve-3d;
		-webkit-transform: translateZ(-60px) rotateX(0deg);
		transform: translateZ(-60px) rotateX(0deg);
		transform-origin: center;
		-webkit-transition: transform 0.3s ease-in-out;
		transition: transform 0.3s ease-in-out;
	}

	.fullscreen-menu .flexnav li:hover a .span-cube,
	.fullscreen-menu .flexnav li.hover a .span-cube {
		-webkit-transform: translateZ(-60px) rotateX(90deg);
		transform: translateZ(-60px) rotateX(90deg);
	}

	.fullscreen-menu .flexnav li a span:nth-child(1) {
		font-family: 'mona-sansextrabold_wide';
		color: transparent;
		position: relative;
		width: 100%;
		display: block;
	}

	.fullscreen-menu .flexnav li a span:nth-child(2) {
		font-family: 'mona-sansextrabold_wide';
		color: #222;
		position: absolute;
		top: 0;
		width: 100%;
		left: 0;
		opacity: 1;
		-webkit-transform: rotateX(0deg) translateZ(60px);
		transform: rotateX(0deg) translateZ(60px);
		backface-visibility: hidden;
		-webkit-transition: opacity 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;
	}

	.fullscreen-menu .flexnav li:hover a span:nth-child(2),
	.fullscreen-menu .flexnav li.hover a span:nth-child(2) {
		opacity: 0;
	}

	.fullscreen-menu .flexnav li a span:nth-child(3) {
		font-family: 'mona-sanslight_wide';
		color: #222;
		position: absolute;
		top: 50%;
		width: 100%;
		left: 0;
		opacity: 0;
		-webkit-transform: rotateX(-90deg) translateZ(0px);
		transform: rotateX(-90deg) translateZ(0px);
		backface-visibility: hidden;
		-webkit-transition: opacity 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;
	}

	.fullscreen-menu .flexnav li:hover a span:nth-child(3),
	.fullscreen-menu .flexnav li.hover a span:nth-child(3) {
		opacity: 1;
	}

	.fullscreen-menu.invert-header .flexnav li a span:nth-child(2),
	.fullscreen-menu.invert-header .flexnav li a span:nth-child(3) {
		color: #fff;
	}

}

nav,
nav.open {
	background: transparent;
}

#burger-wrapper {
	width: 40px;
	height: 40px;
	float: right;
	top: 0px;
	right: 0;
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	pointer-events: initial;
}

.classic-menu .button-wrap.right.menu {
	display: none;
}

.burger-dots #menu-burger {
	top: 0px;
	width: 25px;
	height: 25px;
	position: relative;
	margin: 0 auto;
	z-index: 2;
	pointer-events: none;
}

.menu-overlay #menu-burger {
	display: block;
}

.burger-dots #menu-burger span {
	display: block;
	position: absolute;
	height: 5px;
	width: 5px;
	border-radius: 5px;
	background-color: #000;
	opacity: 1;
	top: 8px;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: background-color 0.05s ease-in-out, transform 0.2s ease-in-out, height 0.2s ease-in-out, width 0.2s ease-in-out, top 0.2s ease-in-out, left 0.2s ease-in-out;
	transition: background-color 0.05s ease-in-out, transform 0.2s ease-in-out, height 0.2s ease-in-out, width 0.2s ease-in-out, top 0.2s ease-in-out, left 0.2s ease-in-out;
}

#burger-wrapper .touch-button {
	display: none;
}

.burger-dots #menu-burger span:nth-child(1) {
	left: 0px;
}

.burger-dots #menu-burger span:nth-child(2) {
	left: 10px;
}

.burger-dots #menu-burger span:nth-child(3) {
	left: 20px;
}

.button-wrap.right.menu.burger-dots .icon-wrap:hover #menu-burger span:nth-child(1) {
	left: 10px;
}

.button-wrap.right.menu.burger-dots .icon-wrap:hover #menu-burger span:nth-child(3) {
	left: 10px;
}

.button-wrap.right.menu.burger-dots .icon-wrap:hover #menu-burger.open span:nth-child(1) {
	left: 3px;
}

.button-wrap.right.menu.burger-dots .icon-wrap:hover #menu-burger.open span:nth-child(3) {
	left: 3px;
}

.burger-dots #menu-burger.open span:nth-child(1) {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 12px;
	height: 2px;
	width: 20px;
	left: 3px;
}

.burger-dots #menu-burger.open span:nth-child(2) {
	-webkit-transform: scale(0);
	transform: scale(0);
}

.burger-dots #menu-burger.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 12px;
	height: 2px;
	width: 20px;
	left: 3px;
}

.button-wrap.right.burger-lines {
	right: -30px;
}

.burger-lines #menu-burger {
	width: 16px;
	height: 22px;
	position: relative;
	margin: 0 auto;
	z-index: 2;
	pointer-events: none;
}

.burger-lines #menu-burger span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	opacity: 1;
	right: 0;
	background-color: #000;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: background-color 0.05s ease-in-out, transform 0.2s ease-in-out, top 0.2s ease-in-out;
	transition: background-color 0.05s ease-in-out, transform 0.2s ease-in-out, top 0.2s ease-in-out;
}

.burger-lines #menu-burger span:nth-child(1) {
	top: 5px;
}

.burger-lines #menu-burger span:nth-child(2) {
	top: 13px;
}

.burger-lines #menu-burger span:nth-child(3) {
	display: none;
}

.burger-lines #menu-burger.open span:nth-child(1) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 10px;
}

.burger-lines #menu-burger.open span:nth-child(2) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 10px;
}

.light-content #menu-burger span {
	background-color: #fff;
}

.white-header #menu-burger span {
	background-color: #fff;
}

.light-content .white-header #menu-burger span {
	background-color: #000;
}

.light-content .white-header.over-white-section #menu-burger span,
.show-loader1 .light-content .white-header #menu-burger span {
	background-color: #fff;
}

.dark-content-header #menu-burger span {
	background-color: #000 !important;
}

.light-content-header #menu-burger span {
	background-color: #fff !important;
}

.dark-content-header .button-text {
	color: #000 !important;
}

.light-content-header .button-text {
	color: #fff !important;
}


/*--------------------------------------------------
	05. Main Content
---------------------------------------------------*/

#content-scroll {
	z-index: 1;
	position: relative;
}

.smooth-scroll #content-scroll {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	overflow: hidden;
}

.scroll-content {
	cursor: default !important;
}

.scale-up .scroll-content {
	cursor: grabbing !important;
}

.scrollbar-track {
	background: transparent !important;
}


/*--------------------------------------------------
	06. Footer Elements
---------------------------------------------------*/

footer {
	position: relative;
	width: 100%;
	height: 120px;
	z-index: 900;
	box-sizing: border-box;
	text-align: center;
	bottom: 0;
	left: 0;
	overflow: hidden;
	pointer-events: none;
}

footer.fixed {
	position: fixed;
}

footer.showcase-footer {
	position: fixed;
}

footer.showcase-footer #footer-container {
	display: flex;
	justify-content: center;
	align-items: center;
}

#footer-container {
	padding: 0 80px;
	margin: 20px auto;
	height: 80px;
	opacity: 0;
	position: absolute;
	width: 100%;
	box-sizing: border-box;
	bottom: 0;
	left: 0;
}

.footer-middle {
	position: absolute;
	margin: 0 auto;
	width: 100%;
	height: inherit;
	display: table;
	left: 0;
	pointer-events: none;
	;
}

.copyright {
	position: relative;
	top: 25px;
	width: auto;
	height: 30px;
	overflow: hidden;
	font-size: 14px;
	line-height: 30px;
	font-weight: 500;
	color: #000;
	pointer-events: initial;
	display: table;
	width: auto;
	padding: 0px 20px 0px 20px;
	max-width: 820px;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}

.light-content .copyright {
	color: #fff;
}

.socials-wrap {
	position: relative;
	float: right;
	color: #000;
	width: 240px;
	height: 160px;
	box-sizing: border-box;
	pointer-events: initial;
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.light-content .socials-wrap {
	color: #fff;
}

footer .socials-wrap {
	margin-top: 0px;
}

.socials-wrap:hover {
	transform: translateY(-40px);
	-webkit-transform: translateY(-40px);
}

.socials-text {
	float: right;
	font-size: 14px;
	font-weight: 500;
	line-height: 40px;
	transform: translateY(20px);
}

.socials-wrap:hover .socials-text {
	transform: translateY(15px) translateX(5px);
	-webkit-transform: translateY(15px) translateX(5px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.socials-icon {
	float: right;
	width: 30px;
	height: 40px;
	font-size: 14px;
	line-height: 40px;
	text-align: right;
	margin-left: 10px;
	transform: scale(1) translateY(20px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.socials-wrap:hover .socials-icon {
	transform: scale(0) translateY(40px);
	width: 0;
	margin: 0;
	overflow: hidden;

}

.socials-icon:after,
.socials-text:after {
	content: "";
	clear: both;
	display: table;
}

.socials {
	height: auto;
	line-height: 30px;
	position: relative;
	width: auto;
	margin: 0 auto;
	margin-top: 10px;
	text-align: center;
	bottom: 0;
	display: table;
	transform: translateX(15px);
	-webkit-transform: translateX(15px);
}

.socials-wrap .socials {
	display: inline-block;
	width: 100%;
	text-align: right;
}

.socials li {
	margin-right: 0px;
	margin-left: 10px;
	list-style: none;
	color: #999;
	font-size: 15px;
	margin-bottom: 0;
	line-height: 40px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	width: 40px;
	float: right;
	z-index: 2;
	-webkit-transition: background 0.4s ease-in-out 0s;
	transition: background 0.4s ease-in-out 0s;
}

.socials-wrap .socials li {
	opacity: 0;
	transform: translateY(20px);
	-webkit-transform: translateY(20px);
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.socials-wrap:hover .socials li:nth-child(5) {
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.05s;
	opacity: 1;
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
}

.socials-wrap:hover .socials li:nth-child(4) {
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
	opacity: 1;
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
}

.socials-wrap:hover .socials li:nth-child(3) {
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
	opacity: 1;
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
}

.socials-wrap:hover .socials li:nth-child(2) {
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
	opacity: 1;
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
}

.socials-wrap:hover .socials li:nth-child(1) {
	transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
	opacity: 1;
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
}

.socials li:last-child {
	margin-left: 0px;
}

.socials li a {
	color: #000;
	font-size: 14px;
	font-weight: 500;
	display: block;
	height: 40px;
	width: 40px;
	line-height: 40px;
	text-align: center;
	-webkit-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
}

.socials:hover li a {
	opacity: 0.3;
}

.socials li a:hover {
	color: #000;
	opacity: 1;
}

.light-content .socials li a {
	color: #fff;
}

.light-content .socials:hover li a {
	opacity: 0.3;
}

.light-content .socials li a:hover {
	color: #fff;
	opacity: 1;
}

.button-wrap {
	position: relative;
	cursor: pointer;
	top: 0px;
	pointer-events: initial;
	width: auto;
	display: table;
}

.button-wrap:after {
	clear: both;
	content: " ";
	display: block;
	height: 0;
	visibility: hidden;
}

.button-wrap.left {
	float: left;
	left: -32px;
}

.button-wrap.right {
	float: right;
	right: -26px;
}

#main .button-wrap.left {
	float: none;
	left: -24px;
}

#main .button-wrap.button-link.left {
	float: none;
	left: -20px;
}

#main .button-wrap.right {
	float: none;
	right: auto;
}

#main .button-wrap.button-link.right {
	right: -2px;
}

.icon-wrap {
	width: 80px;
	height: 65px;
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	float: left;
}

#main .icon-wrap {
	width: 60px;
	height: 60px;
}

.button-wrap.left .icon-wrap {
	float: left;
}

.button-wrap.right .icon-wrap {
	float: right;
}

#main .text-align-right .button-wrap.right {
	float: right;
}

.button-icon {
	height: 40px;
	width: 40px;
	color: #000;
	text-align: center;
	line-height: 40px;
	font-size: 18px;
}

.button-icon i.fa-solid.fa-sort {
	font-size: 14px;
	line-height: 38px;
}

.light-content .button-icon,
.dark-section .button-icon {
	color: #fff;
}

.light-content .light-section .button-icon {
	color: #000;
}

.white-header .button-icon {
	color: #fff;
}

.light-content .white-header .button-icon {
	color: #000;
}

.button-icon i {
	height: 40px;
	line-height: 40px;
	width: 40px;
	text-align: center;
}

#main .button-icon i {
	line-height: 40px;
}

#main .button-icon i.fa.fa-arrow-right {
	font-size: 14px;
}

.button-text {
	font-weight: 500;
	font-size: 14px;
	line-height: 30px;
	margin: 25px 0;
	overflow: hidden;
	width: auto;
	padding: 0 10px;
	color: #000;
	-webkit-transition: color 0.05s ease-in-out;
	transition: color 0.05s ease-in-out;
}

#main #hero-footer .button-text span::after {
	content: none;
}

#main .button-text {
	font-size: 16px;
	line-height: 30px;
	font-weight: 500;
	margin: 15px 0;
	transition: transform .2s ease-out;
}

#main #hero:not(.has-image) #hero-footer .button-text {
	font-size: 14px;
	line-height: 30px;
}

#main .large-btn .button-text {
	font-size: 20px !important;
	font-weight: 500;
	margin: 15px 0;
	transition: transform .2s ease-out;
}

.light-content .button-text,
.dark-section .button-text {
	color: #fff;
}

.light-content .light-section .button-text {
	color: #000;
}

.white-header .button-text {
	color: #fff;
}

.light-content .white-header .button-text {
	color: #000;
}

.light-content .white-header.over-white-section .button-text,
.show-loader1 .light-content .white-header .button-text {
	color: #fff;
}

.button-wrap.left a {
	text-align: left;
	float: left;
}

.button-wrap.right a {
	text-align: right;
	float: right;
}

.button-wrap.right .button-text {
	padding-left: 0px;
}

.button-text span {
	position: relative;
	display: inline-block;
	-webkit-transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
	width: auto;
	text-align: center;
	transform-origin: 100% 0%;
}

.button-link .button-text,
#main .button-link .button-text {
	overflow: visible;
	transition: padding 0.3s ease-out;
}

.button-link.left .button-text {
	padding-left: 0px;
}

.button-link.left:hover .button-text {
	padding-left: 10px;
}

.button-link .button-text span::before {
	content: '';
	position: absolute;
	bottom: 1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: transparent;
	transform: scaleX(1);
	transform-origin: right;
	transition: transform 0.3s ease-out;
}

.button-link.left .button-text span::before {
	transform-origin: left;
}

.light-content .button-link .button-text span::before,
.dark-section .button-link .button-text span::before {
	background: transparent;
}

.light-content .light-section .button-link .button-text span::before {
	background: transparent;
}

.button-wrap.button-link:hover .button-text span {
	transform: translateY(0);
	-webkit-transform: translateY(0);
}

.button-link:hover .button-text span::before {
	transform: scaleX(0);
	-webkit-transform: scaleX(0);
	transform-origin: left;
}

.button-link.left:hover .button-text span::before {
	transform-origin: right;
}

.button-link .button-icon i {
	background-color: #000;
	border: 1px solid rgba(0, 0, 0, 1);
	color: transparent;
	font-size: 14px;
	border-radius: 100%;
	transform: scale(0.2);
	box-sizing: border-box;
	transition: all .3s ease-out;
	text-indent: -100px;
	overflow: hidden;
	opacity: 1;
}

.button-link:hover .button-icon i {
	background-color: #000;
	color: #fff;
	border: 1px solid rgba(0, 0, 0, 1);
	transform: scale(1.2);
	text-indent: 0px;
	opacity: 1;
}

.light-content .button-link .button-icon i,
.dark-section .button-link .button-icon i {
	background-color: #fff;
	border: 1px solid rgba(255, 255, 255, 1);
}

.light-content .button-link:hover .button-icon i,
.dark-section .button-link:hover .button-icon i {
	background-color: #fff;
	color: #000;
	border: 1px solid rgba(255, 255, 255, 1);
	opacity: 1;
}

.light-content .light-section .button-link .button-icon i {
	border: 1px solid rgba(0, 0, 0, 1);
}

.light-content .light-section .button-link:hover .button-icon i {
	background-color: #000;
	color: #fff;
	border: 1px solid rgba(0, 0, 0, 1);
	opacity: 1;
}


.button-link.right .button-icon i {
	transform: scale(0.2) translateX(-60px);
	-webkit-transform: scale(0.2) translateX(-60px);
}

.button-link.right:hover .button-icon i {
	transform: scale(1.2) translateX(0px);
	-webkit-transform: scale(1.2) translateX(0px);
}

.button-wrap.left .button-text span {
	text-align: left;
}

.button-wrap.right .button-text span {
	text-align: right;
}

.button-text span::before {
	position: absolute;
	width: auto;
	top: 100%;
	left: 0;
	content: attr(data-hover);
}

.header-middle .button-text span::before {
	content: attr(data-on);
}

.button-wrap:hover .button-text span {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	transform-origin: 0% 0%;
}

.link-text {
	font-weight: 500;
	font-size: 14px;
	line-height: 30px;
	margin: 0;
	overflow: hidden;
	display: table;
	width: auto;
	padding: 0;
	color: #000;
	-webkit-transition: color 0.05s ease-in-out;
	transition: color 0.05s ease-in-out;
}

footer .link-text {
	float: left;
	opacity: 0;
	margin-top: 25px;
}

p .link-text {
	display: inline-table;
	font-size: 16px;
}

.light-content .link-text,
.dark-section .link-text {
	color: #fff;
}

.light-content .light-section .link-text {
	color: #000;
}

.link-text span {
	position: relative;
	display: inline-block;
	-webkit-transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
	width: auto;
	text-align: center;
	transform-origin: 100% 0%;
	pointer-events: initial;
	cursor: pointer;
}

.link-text span::before {
	position: absolute;
	width: auto;
	top: 100%;
	left: 0;
	content: attr(data-hover);
}

.link-text:hover span {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	transform-origin: 0% 0%;
}

nav,
nav.open {
	background: transparent;
}

.hero-caption-contact {
	padding-bottom: 100px !important;
}


/*--------------------------------------------------
	07. Responsive
---------------------------------------------------*/


@media only screen and (max-width: 1466px) {

	.row_padding_all {
		padding-left: 60px;
		padding-right: 60px;
	}

	.row_padding_left {
		padding-left: 60px;
	}

	.row_padding_right {
		padding-right: 60px;
	}

	.percentage-wrapper {
		width: 10vw;
	}

	.percentage-intro {
		bottom: 50px;
	}

	header {
		height: 55px;
	}

	#header-container {
		padding: 10px 60px;
	}

	.flexnav li {
		padding: 20px;
	}

	footer {
		height: 100px;
	}

	#footer-container {
		padding: 0 60px;
		margin: 10px auto;
	}

	.socials-wrap:hover .socials-text {
		transform: translateY(20px) translateX(5px);
		-webkit-transform: translateY(20px) translateX(5px);
	}

}


@media only screen and (max-width: 1024px) {

	.parallax-wrap {
		transform: none !important;
	}

	.parallax-element {
		transform: none !important;
	}

	.has-parallax figcaption {
		display: none;
	}

	.destroy {
		display: none;
	}

	.row_padding_left {
		padding-left: 0px;
	}

	.row_padding_right {
		padding-right: 0px;
	}

	.full.row_padding_left {
		padding-left: 40px;
	}

	.full.row_padding_right {
		padding-right: 40px;
	}

	.row_padding_all {
		padding-top: 4vw;
		padding-bottom: 4vw;
		padding-left: 0px;
		padding-right: 0px;
	}

	.full.row_padding_all {
		padding-top: 4vw;
		padding-bottom: 4vw;
		padding-left: 40px;
		padding-right: 40px;
	}

	#magic-cursor {
		display: none;
	}

	.percentage-wrapper {
		width: 12vw;
	}

	.percentage-intro {
		bottom: 40px;
	}

	#header-container {
		padding: 10px 40px;
	}

	nav {
		height: 100vh;
		width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		box-sizing: border-box;
		visibility: visible;
		pointer-events: none;
		opacity: 0;
		padding: 20px 0;
	}

	nav.open {
		visibility: visible;
		pointer-events: initial;
	}

	.nav-height {
		position: relative;
		height: 100%;
		padding: 40px 0;
		width: 100%;
		box-sizing: border-box;
		overflow-y: auto;
	}

	.flexnav {
		padding: 0 20px;
		max-height: 2000px;
		display: table;
		width: auto;
		margin: 0 auto;
		text-align: center;
		box-sizing: border-box;
		background: transparent;
		-webkit-transition: all 0.2s ease-in 0.6s;
		transition: all 0.2s ease-in 0.6s;
	}

	.flexnav.flexnav-show {
		-webkit-transition: all .3s ease-out 0.2s;
		transition: all .3s ease-out 0.2s;
	}

	.flexnav.opacity {
		opacity: 1;
	}

	.flexnav li {
		padding: 0;
		-webkit-transition: color .15s ease-out 0s;
		transition: color .15s ease-out 0s;
	}

	.flexnav:hover li {
		color: rgba(255, 255, 255, 0.4)
	}

	.flexnav li:hover {
		color: rgba(255, 255, 255, 1)
	}

	.flexnav li a,
	.flexnav li ul li a {
		background: transparent;
	}

	.flexnav li a {
		font-family: 'mona-sansextrabold_wide';
		font-weight: 500;
		font-size: calc(1rem + 4.15vw);
		line-height: calc(1rem + 4.5vw);
		padding: 0;
		-webkit-transition: all .1s ease-in-out 0s;
		transition: all .1s ease-in-out 0s;
	}

	.uppercase-titles .flexnav>li>a {
		text-transform: uppercase;
	}

	.flexnav li a {
		color: #000;
	}

	.invert-header .flexnav li a {
		color: #fff;
	}

	.flexnav:hover li a {
		opacity: 1;
	}

	.flexnav li:hover a,
	.flexnav li a.active {
		opacity: 1;
	}

	.flexnav .touch-button {
		width: 100%;
		display: block;
		height: calc(1rem + 5.5vw);
	}

	.menu-timeline .before-span {
		opacity: 0;
		display: block;
		-webkit-transform: translateY(120px);
		transform: translateY(120px);
		-webkit-perspective: 480px;
		perspective: 480px;
	}

	.flexnav li,
	.flexnav li a {
		background-color: transparent;
		border: 0;
	}

	.flexnav li a .span-cube {
		position: relative;
		display: block;
		overflow: visible !important;
		-webkit-transform-style: preserve-3d;
		transform-style: preserve-3d;
		-webkit-transform: translateZ(-30px) rotateX(0deg);
		transform: translateZ(-30px) rotateX(0deg);
		transform-origin: center;
		-webkit-transition: transform 0.3s ease-in-out;
		transition: transform 0.3s ease-in-out;
	}

	.flexnav li:hover a .span-cube,
	.flexnav li.hover a .span-cube {
		-webkit-transform: translateZ(-30px) rotateX(90deg);
		transform: translateZ(-30px) rotateX(90deg);
	}

	.flexnav li a span:nth-child(1) {
		font-family: 'mona-sansextrabold_wide';
		color: transparent;
		position: relative;
		width: 100%;
		display: block;
	}

	.flexnav li a span:nth-child(2) {
		font-family: 'mona-sansextrabold_wide';
		color: #222;
		position: absolute;
		top: 0;
		width: 100%;
		left: 0;
		opacity: 1;
		-webkit-transform: rotateX(0deg) translateZ(30px);
		transform: rotateX(0deg) translateZ(30px);
		backface-visibility: hidden;
		-webkit-transition: opacity 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;
	}

	.flexnav li:hover a span:nth-child(2),
	.flexnav li.hover a span:nth-child(2) {
		opacity: 0;
	}

	.flexnav li a span:nth-child(3) {
		font-family: 'mona-sanslight_wide';
		color: #222;
		position: absolute;
		top: 50%;
		width: 100%;
		left: 0;
		opacity: 0;
		-webkit-transform: rotateX(-90deg) translateZ(0px);
		transform: rotateX(-90deg) translateZ(0px);
		backface-visibility: hidden;
		-webkit-transition: opacity 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;
	}

	.flexnav li:hover a span:nth-child(3),
	.flexnav li.hover a span:nth-child(3) {
		opacity: 1;
	}

	.invert-header .flexnav li a span:nth-child(2),
	.invert-header .flexnav li a span:nth-child(3) {
		color: #fff;
	}

	.flexnav li ul {
		margin-bottom: 15px;
	}

	.flexnav li ul li a {
		padding: 0;
		font-family: 'Poppins', sans-serif;
		font-size: 16px;
		line-height: 30px;
		font-weight: 500;
		border-top: none;
		text-transform: none;
		opacity: 0.4;
	}

	.flexnav li ul li:hover a,
	.flexnav li ul li a.active {
		opacity: 1;
	}

	.flexnav:hover li ul li a {
		opacity: 0.3;
	}

	.flexnav:hover li ul li a.active,
	.flexnav:hover li ul li:hover>a {
		opacity: 1;
	}

	.flexnav ul li ul li a {
		background: transparent;
	}

	.flexnav li ul li ul li a {
		padding: 10px 40px;
	}

	.flexnav li ul li .touch-button {
		height: 30px;
	}

	.flexnav .touch-button .navicon {
		display: none;
	}

	#menu-burger span.touch-button {
		display: none;
	}

	.classic-menu .button-wrap.right.menu {
		display: block;
	}

	#footer-container {
		padding: 0 40px;
	}

	.copyright {
		text-align: center;
	}

	.socials-wrap {
		/* width: 240px;
		height: 40px;
		float:right;
		margin:0 auto;
		right:-10px;
		transform: translateX(0px) translateY(20px)!important;
		-webkit-transform: translateX(0px) translateY(20px)!important; */
	}

	.socials-wrap:hover {
		transform: translateY(20px);
		-webkit-transform: translateY(20px);
	}

	.socials-icon,
	.socials-text {
		display: none;
	}

	.socials-wrap .socials {
		margin-top: 3px;
		text-align: right;
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
	}

	.socials-wrap .socials li {
		opacity: 1;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}

	.socials-wrap:hover .socials li {
		opacity: 1;
		transform: translateY(0px) !important;
		-webkit-transform: translateY(0px) !important;
	}

	.socials li {
		margin-right: 10px;
		line-height: 30px;
		height: 30px;
		width: 30px;
		margin: 0 5px auto;
		display: inline-block;
		float: none;
	}

	.socials li a {
		height: 30px;
		width: 30px;
		line-height: 30px;
	}

}


@media only screen and (max-width: 767px) {

	figcaption {
		background-color: rgba(0, 0, 0, 0.3);
		bottom: 0px;
		font-size: 10px;
		padding: 5px 10px;
		right: 0px;
		border-radius: 0;
	}

	.text-aligh-right {
		text-align: left;
	}

	.one_half {
		width: 100% !important;
	}

	.one_half {
		padding-right: 0 !important;
	}

	.one_half.last {
		padding-left: 0 !important;
		margin-bottom: 0px !important;
	}

	.one_third {
		width: 100% !important;
	}

	.one_fourth {
		width: 100% !important;
	}

	.one_fifth {
		width: 100% !important;
	}

	.one_sixth {
		width: 100% !important;
	}

	.two_fifth {
		width: 100% !important;
	}

	.two_fourth {
		width: 100% !important;
	}

	.two_third {
		width: 100% !important;
	}

	.three_fifth {
		width: 100% !important;
	}

	.three_fourth {
		width: 100% !important;
	}

	.four_fifth {
		width: 100% !important;
	}

	.five_sixth {
		width: 100% !important;
	}

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

	.row_padding_top {
		padding-top: 10vw;
	}

	.row_padding_bottom {
		padding-bottom: 10vw;
	}

	.row_padding_left {
		padding-left: 0px;
	}

	.row_padding_right {
		padding-right: 0px;
	}

	.full.row_padding_left {
		padding-left: 30px;
	}

	.full.row_padding_right {
		padding-right: 30px;
	}

	.row_padding_all {
		padding-top: 4vw;
		padding-bottom: 4vw;
		padding-left: 0px;
		padding-right: 0px;
	}

	.full.row_padding_all {
		padding-top: 4vw;
		padding-bottom: 4vw;
		padding-left: 30px;
		padding-right: 30px;
	}

	hr {
		height: 20px;
	}

	.percentage-wrapper {
		width: 16vw;
	}

	.percentage-intro {
		bottom: 30px;
	}

	header {
		height: 50px;
	}

	#header-container {
		padding: 0;
		margin: 0 auto;
	}

	#logo {
		left: 30px;
		/* top: 15px; */
	}

	.button-wrap.right.menu {
		right: 4px;
	}

	.button-wrap.right.menu.burger-lines {
		right: 0px;
	}

	header .button-text {
		display: none;
	}

	.flexnav li a {
		font-size: calc(1rem + 7vw);
		line-height: calc(1rem + 9.5vw);
	}

	footer {
		height: 80px;
	}

	.footer-button-wrap {
		bottom: 80px;
	}

	#footer-container {
		height: 80px;
		padding: 0 30px;
		margin: 0;
	}

	#footer-container #backtotop.button-wrap.left {
		float: none;
		top: 5px;
		left: 0;
		right: 0;
		position: absolute;
		display: block;
	}

	#backtotop.button-wrap.left .button-text {
		text-align: left;
		float: left;
		display: none;
	}

	#backtotop.button-wrap.left .icon-wrap {
		float: none;
		position: absolute;
		right: auto;
		left: 0;
		margin: auto;
		top: 0px;
		opacity: 0.4;
		-webkit-transition: opacity 0.2s ease-out 0s;
		transition: opacity 0.2s ease-out 0s;
	}

	#backtotop.button-wrap.left:hover .icon-wrap {
		opacity: 1;
	}

	.footer-middle {
		max-width: 1180px;
		height: 20px;
		position: relative;
		margin: 0 auto;
		left: 0;
		width: 100%;
		top: 0px;
		margin-bottom: 15px;
	}

	.copyright {
		margin: 0 auto;
		left: auto;
		right: auto;
		top: 0;
		height: 20px;
		line-height: 20px;
	}

	footer.showcase-footer .arrows-wrap {
		right: auto;
		left: -30px;
		float: left;
		margin: auto;
	}

	.socials-wrap {
		width: auto;
		float: none;
		display: table;
		left: auto;
		right: auto;
		top: 0;
		margin: 0 auto;
		height: 20px;
		line-height: 20px;
		/* transform: translateX(0px) translateY(0px)!important; */
		/* -webkit-transform: translateX(0px) translateY(0px)!important; */
	}

	.socials-wrap .socials {
		text-align: center;
		margin: 0 auto;
		height: 20px;
		line-height: 20px;
		display: table;
		width: auto;
	}

	.socials li,
	.socials li a {
		height: 20px;
		line-height: 20px;
		margin: 0 auto;
	}

	h3 {
		font-size: calc(1rem + 2.7vw);
		line-height: calc(1rem + 3.2vw);
	}

	.hero-caption-contact {
		padding-top: 130px !important;
		padding-bottom: 40px !important;
	}

}


@media only screen and (max-width: 479px) {

	.hero-caption-contact {
		padding-bottom: 40px !important;
	}

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

	.text-about {
		margin-bottom: 35px !important;
	}

	.row_padding_top {
		padding-top: 12vw;
	}

	.row_padding_bottom {
		padding-bottom: 12vw;
	}

	.row_padding_left {
		padding-left: 0px;
	}

	.row_padding_right {
		padding-right: 0px;
	}

	.full.row_padding_left {
		padding-left: 20px;
	}

	.full.row_padding_right {
		padding-right: 20px;
	}

	.row_padding_all {
		padding-top: 4vw;
		padding-bottom: 4vw;
		padding-left: 0px;
		padding-right: 0px;
	}

	.full.row_padding_all {
		padding-top: 4vw;
		padding-bottom: 4vw;
		padding-left: 20px;
		padding-right: 20px;
	}

	hr {
		height: 10px;
	}

	.percentage-wrapper {
		width: 20vw;
	}

	#logo {
		left: 20px;
	}

	.button-wrap.right.menu {
		right: -6px;
	}

	.button-wrap.right.menu.burger-lines {
		right: -10px;
	}

	#footer-container {
		padding: 0px;
		margin: 0;
	}

	footer.showcase-footer #footer-container {
		padding: 0px 20px;
	}

	.arrows-wrap {
		left: -10px;
		width: 80px;
	}

	.prev-wrap,
	.next-wrap {
		width: 40px;
	}

	footer.showcase-footer .arrows-wrap {
		right: 0;
		left: 0;
		float: none;
		margin: auto;
	}

	footer.showcase-footer .arrows-wrap {
		width: 100%;
	}

	footer.showcase-footer .prev-wrap,
	footer.showcase-footer .next-wrap {
		width: 60px;
	}

	footer.showcase-footer .footer-middle {
		top: 0px;
	}

	footer.showcase-footer .showcase-subtitles-wrap {
		left: 0;
	}

	footer.showcase-footer .socials-wrap {
		/* display:none; */
	}

	.button-text {
		display: none;
	}

	#main-page-content .button-text,
	#hero .button-text {
		display: block;
	}

	#hero-footer {
		display: none !important;
	}
}

@media only screen and (min-device-width : 375px) and (max-device-width : 667px) and (orientation : landscape) {

	#rotate-device {
		display: block;
	}
}


.red-text {
	color: #ff005a !important;
	font-weight: 800;
}

.red-text-italic {
	color: #ff005a !important;
	font-style: italic;
}

.text-white {
	color: #ffffff !important;
}

.justify-start {
	display: flex !important;
	justify-content: flex-start !important;
}

.justify-end .img-mask {
	display: flex !important;
	justify-content: flex-end !important;
	right: 0;
	left: 0;
}

.img-mask {
	width: 100%;
	height: 100%;
}

@media (max-width: 900px) {
	.img-mask {
		width: 35vw;
		height: 100%;
	}
}

.home-portfolio .img-mask {
	width: 35vw;
	height: 75%;
}

@media (max-width: 900px) {
	.home-portfolio .img-mask {
		height: 100%;
		width: 80%;
	}
}


/* Layout em coluna: um item por "linha" */
.showcase-portfolio.layout-three {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: visible;
	/* importante para o pedaço do próximo item aparecer */
}

/* Cada item do portfólio em uma linha */
.showcase-portfolio.layout-three .clapat-item {
	width: 100%;
	display: flex;
	margin: 0 0 1vh;
	/* espaço "normal" para baixo */
}

/* Garante que as classes de alinhamento funcionem */
.showcase-portfolio.layout-three .clapat-item.justify-start {
	justify-content: flex-start;
}

.showcase-portfolio.layout-three .clapat-item.justify-end {
	justify-content: flex-end;
}

/* A partir do segundo item, sobe um pouco para "invadir" o anterior */
.showcase-portfolio.layout-three .clapat-item:nth-child(n+2) {
	margin-top: -35vh;
	/* ajuste fino do quanto aparece do próximo item */
}

/* Bloco interno que contém a imagem */
.showcase-portfolio.layout-three .slide-inner {
	width: min(40vw, 600px);
	/* largura do bloco de imagem */
}

/* Máscara de imagem ocupando toda a largura do slide-inner */
.showcase-portfolio.layout-three .img-mask {
	width: 100%;
	overflow: hidden;
}

/* Garante que as imagens apareçam e preencham o bloco */
.showcase-portfolio.layout-three .img-mask img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;

	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* Inverte o zoom das capas do portfólio (home):
   antes: já vinha com zoom e no hover “encolhia”.
   agora: começa normal e no hover dá o zoom. */
.showcase-portfolio.home-portfolio .item-wrap-image {
	-webkit-transform: scale(1) !important;
	transform: scale(1) !important;
}

.showcase-portfolio.home-portfolio .item-parallax:hover .item-appear .item-wrap-image,
.showcase-portfolio.home-portfolio .above .item-wrap-image {
	-webkit-transform: scale(1.05) !important;
	transform: scale(1.05) !important;
}

/* Responsivo: sem overlap e tudo centralizado no mobile */
@media (max-width: 900px) {
	.showcase-portfolio.layout-three {
		gap: 4rem;
	}

	.showcase-portfolio.layout-three .clapat-item {
		justify-content: center;
		margin: 0 0 .5rem;
	}

	.showcase-portfolio.layout-three .clapat-item:nth-child(n+2) {
		margin-top: 0;
		/* remove o overlap no mobile */
	}

	.showcase-portfolio.layout-three .slide-inner {
		width: 80%;
	}
}

.shapes-value {
	max-width: 125px;
	margin-top: -10px;
}

@media only screen and (max-width: 767px) {
	.shapes-value {
		max-width: 100px;
		margin-top: 15px;
	}
}

/* coloca o fundo atrás do texto, mantendo ele à direita */
/* #hero-description .inner {
    position: relative;
    padding-left: calc(50% - 13px);
    z-index: 1;
} */

/* “cartão” semi-transparente por trás do bloco de texto */
/* #hero-description .inner::before {
    content: "";
    position: absolute;
    top: -30px;
    bottom: -30px;
    left: calc(50% - 40px);
    right: 0;
    background: rgba(0, 0, 0, 0.45);
    border-radius: 24px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: -1;
} */

/* #hero-description .inner {
    position: relative;
    padding-left: calc(50% - 13px);
    z-index: 1;
} */

/* sombra em fade de baixo para cima */
/* #hero-description .inner::before {
    content: "";
    position: absolute;
    left: calc(50% - 40px);
    right: 0;
    bottom: -10px;
    height: 460px;
    background: linear-gradient( to top, rgba(0, 0, 0, 0.75) 50%, rgba(0, 0, 0, 0) 100% );
	border-radius: 5px;
    z-index: -1;
    pointer-events: none;
} */

.dark-content .hero-title {
	color: #0d0d0d !important;
}

/* Hero com fade geral de baixo pra cima */
#hero.hero-fade {
	position: relative;
	z-index: 1;
	/* garante que o conteúdo fique num contexto próprio */
}

/* faz o degradê escuro no fundo do hero inteiro */
#hero.hero-fade::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 45vh;
	/* altura do fade – ajuste aqui */
	background: linear-gradient(to top,
			#0C0C0C 2.1875rem,
			rgba(0, 0, 0, 0) 100%);
	pointer-events: none;
	z-index: 0;
	/* atrás do texto, na frente da imagem */
}

/* garante que todo o conteúdo do hero fique acima do fade */
#hero.hero-fade>* {
	position: relative;
	z-index: 1;
}

#portfolio-title h2 {
	position: relative;
	/* deixa o GSAP cuidar dos transforms */
	z-index: 10;
	/* font-family: 'Neue Haas Grotesk Display Medium', sans-serif !important; */
	font-weight: 500;
}

/* Ajusta o título do portfólio */
#portfolio-title {
	position: relative;
	margin: 0 auto;
	/* centraliza o bloco */
	text-align: center;
	/* centraliza o texto dentro dele */
	max-width: 1300px;
	/* controla a largura máxima */
	padding: 5% 3vw;
	/* respiro lateral pra não grudar nas bordas */
	transform-origin: center center;
	/* garante expansão a partir do centro */
}

.portfolio-row #portfolio-title {
	text-align: center !important;
}

.portfolio-page .img-mask {
	width: 35vw;
	height: auto;
}

/* .portfolio-page .img-mask {
	width: 24vw;
	height: 100%;
} */

@media (max-width: 900px) {
	.portfolio-page .img-mask {
		width: 100%;
		height: 100%;
	}

	.portfolio-page .img-mask {
		transform: scale(1.3);
	}

	#first-title {
		max-width: 100%;
	}
}

/* Fade no texto do vídeo */
#video.video-fade {
	position: relative;
	z-index: 1;
	/* garante que o conteúdo fique num contexto próprio */
}

/* faz o degradê escuro no fundo do hero inteiro */
#video.video-fade::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 90vh;
	/* altura do fade – ajuste aqui */
	background: linear-gradient(to top,
			rgba(0, 0, 0, 1) 2.1875rem,
			rgba(0, 0, 0, 0) 100%);
	pointer-events: none;
	z-index: 0;
	/* atrás do texto, na frente da imagem */
}

/* garante que todo o conteúdo do hero fique acima do fade */
#video.video-fade>* {
	position: relative;
	z-index: 1;
}

/* Ajusta o título do portfólio */
#portfolio-title {
	position: relative;
	margin: 0 auto;
	/* centraliza o bloco */
	text-align: center;
	/* centraliza o texto dentro dele */
	max-width: 1100px;
	/* controla a largura máxima */
	padding: 0 5vw;
	/* respiro lateral pra não grudar nas bordas */
	transform-origin: center center;
	/* garante expansão a partir do centro */
}

.portfolio-row #portfolio-title {
	text-align: center !important;
}

@media (min-width: 768px) {
	.mobile {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.desktop {
		display: none !important;
	}
}

#portfolio-title {
	padding-bottom: 100px !important;
	z-index: -10;
}

.showcase-portfolio {
	margin-bottom: 50px !important;
}

.about-h2 {
	font-family: 'mona-sansextrabold_wide';
	/* font-family: 'Neue Haas Grotesk Display Bold', sans-serif; */
	font-size: 1.7vw;
	line-height: 120%;
	font-weight: 500;
}

.next-hero-title-about {
	font-size: calc(1rem + 3vw) !important;
	line-height: calc(1rem + 3vw) !important;
}

.link-icon {
	max-width: 27px;
	margin-bottom: 10px;
}

.hero-subtitle {
	font-family: 'mona-sans-semibold_wide', sans-serif;
	/* font-family: 'Neue Haas Grotesk Display Medium', sans-serif; */
	font-weight: 500;
	text-transform: unset !important;
}

.hero-title-privacy {
	font-size: calc(1rem + 2.5vw) !important;
	line-height: calc(1rem + 3.5vw) !important;
	width: 800px !important;
	display: flex !important;
	justify-content: center !important;
	align-content: center !important;
}

@media (max-width: 767px) {
	.about-h2 {
		font-size: 7vw;
	}

	.next-hero-title-about {
		font-size: calc(1rem + 1.6vw) !important;
		line-height: calc(1rem + 2.7vw) !important;
	}

	#portfolio-title {
		padding-bottom: 30px !important;
		padding-top: 30px !important;
	}
}


.project-idividual-page .content-full-width {
	padding: 0px !important;
}

/* .continuous-image {
	margin: 35px 0 !important;
} */

@media only screen and (max-width: 767px) {

	/* .continuous-image {
			margin: 15px 0 !important;
		} */

	#hero-caption {
		padding-left: 2px;
		padding-right: 2px;
	}

	p {
		font-size: 18px;
		line-height: 140%;
	}
}

.contacts .one_half {
	margin-right: 0px !important;
}

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

.portfolio-content {
	padding-left: 5%;
	padding-right: 5%;
}

@media (max-width: 900px) {
	.portfolio-content {
		padding-left: 0;
		padding-right: 0;
	}
}

.screen-height {
	min-height: 100vh !important;
	max-width: 100% !important;
	max-height: 1080px !important;
}

@media (max-width: 767px) {
	.screen-height {
		min-height: 0 !important;
	}
}

/* Seção do vídeo full viewport, sem padding, conteúdo centralizado */
.video-hero-section {
	margin: 0;
	padding: 0;
	background: #fff;

	/* Garante altura de tela inteira */
	min-height: 100vh;

	/* Centraliza o vídeo */
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Vídeo centralizado, sem bordas e ocupando a largura */
.video-hero-section video {
	display: block;
	margin: 0;
	padding: 0;
	max-width: 100%;
	max-height: 100vh;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.normal-title {
	text-transform: unset !important;
}



/* Counter 360 */

.row-360 {
	padding-bottom: 7%;
}

/* SEÇÃO (aplica nessa row específica) */
.hb-counter-section {
	background: #111111;
	/* bem escuro, igual ao print */
	padding: 120px 0;
}

/* WRAPPER DOS CÍRCULOS */
.hb-counter-wrapper {
	max-width: 1400px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
}

/* PRIMEIRO CÍRCULO SEM OVERLAP À ESQUERDA */
.hb-counter-item:first-child {
	margin-left: 0;
}

/* CÍRCULO */
.hb-counter-item {
	width: 380px;
	height: 380px;
	border-radius: 50%;
	border: 1px solid #2c2c2c;
	/* borda bem suave */
	margin-left: -50px;
	/* overlap forte como no print */
	/* background: #111111; */
	position: relative;
	overflow: hidden;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	text-align: center;
	box-sizing: border-box;
}

/* z-index para o “empilhamento” ficar bonito */
.hb-counter-item {
	z-index: 1;
}

.hb-counter-item:nth-child(2) {
	z-index: 2;
}

.hb-counter-item:nth-child(3) {
	z-index: 3;
}

.hb-counter-item:nth-child(4) {
	z-index: 4;
}

/* NÚMERO */
.hb-counter-number {
	font-size: 4.2rem;
	/* bem grande, como na referência */
	font-weight: 300;
	line-height: 1;
	color: #ffffff;
	margin-bottom: 12px;
}

/* TEXTO */
.hb-counter-item p {
	font-size: 0.95rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.6);
	/* cinza claro, não 100% branco */
}

/* RESPONSIVO */
@media (max-width: 1024px) {
	.hb-counter-section {
		padding: 80px 0;
	}

	.hb-counter-wrapper {
		flex-wrap: wrap;
		gap: 1.5rem;
	}

	.hb-counter-item {
		margin-left: 0;
		/* sem overlap no mobile */
		width: min(260px, 70vw);
		height: min(260px, 70vw);
	}

	.hb-counter-number {
		font-size: 2.4rem;
	}

	.hb-counter-item p {
		font-size: 0.9rem;
	}
}

/* ROW DOS TEXTOS */
.hb-methods-row {
	padding-top: 0;
	/* gruda um pouco mais nas bolas */
	/* padding-bottom: 120px; */
}

/* WRAPPER DAS 3 COLUNAS */
/* .hb-methods-wrapper {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 0;
} */

/* WRAPPER DAS 3 COLUNAS */
.hb-methods-wrapper {
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	/* espaça as colunas sem invadir */
	gap: 60px;
	/* respiro entre elas */
	padding: 0;
	/* segura o texto dentro da área segura */
}

/* CADA COLUNA – alinhada às bolas por overlap semelhante */
.hb-method-column {
	width: 380px;
	margin-left: -60px;
	position: relative;
	flex: 1 1 280px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.hb-method-column:first-child {
	margin-left: 0;
}

/* BOTÃO + */
.hb-method-toggle {
	margin-top: 0px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: transparent;
	cursor: pointer;
	position: relative;
	/* necessário para centralizar o ícone */
	padding: 0;
	outline: none;
	margin-bottom: 15px;
}

.hb-method-toggle-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-51%, -58%);
	/* centro exato do círculo */

	font-size: 18px;
	line-height: 1;
	color: #ff1b57;
	/* seu rosa */
	display: block;
}

.hb-method-column.is-open .hb-method-toggle,
.hb-method-column.is-open .hb-method-toggle-icon {
	background: #ff005a;
	border-color: #ff005a;
	color: #0c0c0c !important;
}

/* PAINEL DE TEXTO (toggle) */
.hb-method-panel {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.45s ease, opacity 0.3s ease;
}

/* quando aberto */
.hb-method-column.is-open .hb-method-panel {
	max-height: 600px;
	/* grande o suficiente para o conteúdo */
	opacity: 1;
}

/* TÍTULOS E TEXTOS (mantendo o que já tínhamos) */
.hb-method-title {
	/* font-family: 'Neue Haas Grotesk Display Bold', sans-serif; */
	font-family: 'mona-sans-semibold_wide', sans-serif;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	text-transform: none !important;
	margin-bottom: 10px;
	color: #ffffff;
}

.hb-method-title span:first-child {
	color: #ff005a;
	font-weight: 600;
	/* font-style: italic; */
}

.first-column-title {
	margin-bottom: 0px;
}

.hb-method-subtitle {
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 12px;
	color: #ffffff;
	opacity: .7;
}

.hb-method-lead {
	font-size: 1.02rem;
	line-height: 1.7;
	/* line-height: 1.2em; */
	color: rgba(255, 255, 255, 0.7);
	min-height: 105px;
}

/* LISTA NUMERADA */
.hb-method-list {
	list-style: none;
	margin: 12px 0 0 0;
	padding: 0;
	/* font-size: 1rem; */
	line-height: .9em;
	color: rgba(255, 255, 255, 0.7);
	counter-reset: method-counter;
	font-weight: 400;
	letter-spacing: 0.7;
}

.hb-method-list li {
	counter-increment: method-counter;
	position: relative;
	padding-left: 25px;
	margin-bottom: 7px;
}

.hb-method-list li::before {
	content: counter(method-counter, decimal-leading-zero) ".";
	position: absolute;
	left: 0;
	top: 0;
	font-size: .9rem;
	color: #ff005a;
}



/* CADA COLUNA – agora sem overlap */
.hb-method-column {
	flex: 1 1 0;
	/* max-width: 360px; */
	margin-left: 0;
	position: relative;
}

.hb-method-column:first-child {
	margin-left: 0;
}

/* RESPONSIVO */
@media (min-width: 1920px) {
	.hb-methods-wrapper {
		max-width: 1400px;
	}
}

@media (max-width: 1919px) {

	.content-max-width-methods,
	.content-max-width-methods-about {
		box-sizing: border-box;
		padding-left: 60px;
		padding-right: 60px;
	}
}

@media (max-width: 1024px) {
	.hb-methods-wrapper {
		flex-direction: column;
		gap: 32px;
		padding: 0;
	}

	.hb-method-column {
		width: 100%;
		margin-left: 0;
	}
}

@media (min-width: 768px) {
	.hb-method-title-wrapper {
		min-height: 60px;
	}
}

/* Mobile: círculos empilhados e sobrepostos verticalmente */
@media (max-width: 767px) {

	.services-about {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.title-services {
		font-size: calc(1rem + 2.6vw);
		line-height: calc(1rem + 3.2vw);
	}


	/* .services-about .pinned-section {

	} */

	.content-max-width-methods {
		box-sizing: border-box;
		padding-left: 0px;
		padding-right: 0px;
	}

	.content-max-width-methods-about {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.hb-counter-wrapper {
		flex-direction: column;
		align-items: center;
		gap: 0;
		/* sem espaço entre os itens */
		overflow: visible;
		/* deixa a sobreposição aparecer */
	}

	.hb-counter-item {
		margin-left: 0;
		/* remove o offset horizontal usado no desktop */
		width: min(280px, 80vw);
		height: min(280px, 80vw);

		/* sobreposição vertical (ajusta o valor até ficar do jeito que você curtir) */
		margin-top: -50px;
	}

	.hb-counter-item:first-child {
		margin-top: 0;
		/* o primeiro não sobe, começa normal */
	}

	.row-360 {
		padding-bottom: 15%;
		padding-top: 5vw;
	}

	.row-360-details {
		padding-bottom: 12vw;
	}

	.row-360-home {
		padding-top: 15vw;
	}

	.hb-method-title {
		font-size: 1.1rem;
		line-height: 1.2em;
	}

	.hb-method-toggle {
		margin-top: 5px;
	}

	.hb-methods-wrapper {
		gap: 40px;
	}

	.hb-methods-row {
		padding-bottom: 15vw;
	}
}

.white-icon {
	color: #fff !important;
}

/* Video portfolio */
.video-portfolio-section {
	margin: 0;
	padding: 0;
	/* background: #fff; */
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 8vw;
}

/* Vídeo centralizado, sem bordas e ocupando a largura */
.video-portfolio-section video {
	display: block;
	margin: 0;
	padding: 0;
	max-width: 100%;
	max-height: 100vh;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* Row com duas imagens lado a lado no desktop, sem gap nas laterais */
.continuous-two-images {
	display: flex;
	justify-content: space-between;
	/* espaço só entre as imagens */
	align-items: stretch;
}

/* Cada bloco ocupa metade da largura menos metade do espaçamento central */
.continuous-two-images .continuous-image {
	width: calc(50% - 0px);
	/* se quiser um "gap" de ~20px entre elas */
}

/* Garante que a imagem ocupe todo o bloco */
.continuous-two-images .continuous-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Mobile: volta a ficar uma abaixo da outra, sem sobrar espaço lateral extra */
@media (max-width: 767px) {
	.continuous-two-images {
		flex-direction: column;
	}

	.continuous-two-images .continuous-image {
		width: 100%;
	}
}


/* nova navegação de projetos */
/* Wrapper geral do nav de projetos */
.hb-project-nav {
	background-color: #0c0c0c;
	padding-top: 60px;
	padding-bottom: 60px;
}

/* Trilho horizontal */
.hb-project-rail {
	position: relative;
	display: flex;
	align-items: stretch;
	overflow: hidden;
	width: 100%;
	min-height: 85vh;
	padding-top: 4vw;
	padding-bottom: 4vw;
	touch-action: pan-y;
	/* permite scroll vertical no mobile */
}

/* Cada capa de projeto */
.hb-project-card {
	position: relative;
	flex-shrink: 0;
	height: clamp(220px, 75vh, 90vh);
	cursor: pointer;
	transition: filter 0.3s ease-out;
	touch-action: pan-y;
	/* permite scroll vertical no mobile */
}

/* Capa central aberta */
.hb-project-card.is-active {
	flex-basis: 70%;
}

/* Capas laterais “fechadas” (somente parte visível) */
.hb-project-card.is-left,
.hb-project-card.is-right {
	flex-basis: 15%;
}

/* Link ocupa toda a capa */
.hb-project-link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Background da capa */
.hb-project-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform-origin: center center;
}

/* Overlay com título / label */
.hb-project-info {
	position: absolute;
	left: 32px;
	bottom: 32px;
	color: #ffffff;
	z-index: 2;
	pointer-events: none;
	background-color: #0c0c0c70;
	border-radius: 3px;
}

.hb-project-label {
	display: inline-block;
	font-size: 11px;
	line-height: 1.3em;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.8;
}

.hb-project-title {
	margin-top: 6px;
	font-size: 20px;
	line-height: 1.1em;
}

/* Efeito “fechado”: escurece laterais */
.hb-project-card.is-left .hb-project-bg,
.hb-project-card.is-right .hb-project-bg {
	filter: brightness(0.7);
}

/* Hover suave em desktop */
@media (hover: hover) and (pointer: fine) {
	.hb-project-card.is-active:hover .hb-project-bg {
		filter: brightness(1.05);
	}
}

/* Responsivo – no mobile, vira stack vertical */
/* @media (max-width: 767px) {
    .hb-project-rail {
        flex-direction: column;
        height: auto;
    }

    .hb-project-card,
    .hb-project-card.is-active,
    .hb-project-card.is-left,
    .hb-project-card.is-right {
        flex-basis: auto;
        width: 100%;
        height: 55vh;
    }

    .hb-project-card + .hb-project-card {
        margin-top: 16px;
    }
} */

/* --- MOBILE: manter comportamento do desktop (trilho horizontal) --- */
@media (max-width: 767px) {

	.hb-project-rail {
		flex-direction: row;
		/* volta para linha */
		align-items: stretch;
		justify-content: center;
		padding: 15vw 0 12vw 0;
		min-height: 70vh;
	}

	.hb-project-card {
		flex-basis: 15%;
		/* mesmo valor base das laterais */
		height: 60vh;
	}

	.hb-project-card.is-active {
		flex-basis: 70%;
		/* central aberto */
	}

	/* remove margin-top herdado do layout em coluna */
	.hb-project-card+.hb-project-card {
		margin-top: 0;
	}

	.hb-project-info {
		padding: 24px 20px;
	}

	.hb-project-title {
		font-size: 18px;
		line-height: 1.3;
	}
}


/* --- Project Nav: layout mobile --- */
@media (max-width: 767px) {

	/* garante que o bloco aparece */
	#project-nav {
		display: block !important;
		overflow: hidden;
	}

	/* container dos cards (ajusta para a classe que você usou) */
	.hb-projects-nav {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		min-height: auto;
	}

	/* cada card vira um bloco 100% */
	.hb-project-card {
		flex: 0 0 auto;
		width: 100%;
		/* min-height: 220px; */
		border-radius: 0;
	}

	/* remove qualquer deslocamento lateral que tenhamos aplicado no desktop */
	.hb-project-card.is-left,
	.hb-project-card.is-right {
		transform: none !important;
	}

	.hb-project-bg {
		border-radius: 0;
	}

	/* título e textos alinhados ao centro (opcional) */
	.hb-project-meta {
		text-align: center;
	}
}

/* --- BASE GERAL: DESKTOP E MOBILE --- */
.hb-project-rail {
	display: flex;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	overflow: hidden;
	position: relative;
}

/* cards base */
.hb-project-card {
	position: relative;
	flex: 0 0 15%;
	/* laterais "fechadas" */
	min-height: 260px;
	cursor: pointer;
	color: #fff;
	transition:
		flex-basis 0.6s ease,
		transform 0.6s ease,
		opacity 0.6s ease;
}

.hb-project-card.is-left,
.hb-project-card.is-right {
	flex: 0 0 15%;
	/* garante igualdade para ambos os lados */
}

.hb-project-card.is-active {
	flex: 0 0 70%;
	/* card central "aberto" */
}

/* fundo das capas */
.hb-project-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: inherit;
}

/* infos */
.hb-project-info {
	position: absolute;
	z-index: 2;
	padding: 30px 25px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100px;
}

/* label “Next” / “Now” e título – mantém seu tema */
.hb-project-label {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 10px;
}

.hb-project-title {
	font-size: 20px;
	line-height: 1.3em;
}

/* hover / foco – anima levemente as laterais */
.hb-project-card:not(.is-active):hover .hb-project-bg {
	transform: scale(1.03);
	opacity: 0.85;
}

/* Botão de navegação mobile - efeito vidro */
.hb-project-nav-btn {
	display: none;
}

@media (max-width: 1024px) {

	/* Tamanho dos cards controlado pelo JS/GSAP */
	.hb-project-card,
	.hb-project-card.is-left,
	.hb-project-card.is-right {
		flex: 0 0 10% !important;
		/* laterais menores - mesmo tamanho para ambos */
		min-width: 0;
		/* permite encolher */
		overflow: visible;
		/* permite ver o texto abaixo */
	}

	.hb-project-card.is-active {
		flex: 0 0 80% !important;
		/* card ativo maior */
	}

	/* Info controlado via GSAP - estado inicial */
	.hb-project-info-v2 {
		opacity: 0;
		transform: translateX(-20px);
		pointer-events: none;
	}

	/* Pointer events no card ativo */
	.hb-project-card.is-active .hb-project-info-v2 {
		pointer-events: auto;
	}

	.hb-project-nav-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		bottom: 20px;
		left: 20%;
		transform: translateX(50%) translateY(10px);
		width: 50px;
		height: 50px;
		background: rgba(0, 0, 0, 0.5);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		/* border: 1px solid rgba(255, 255, 255, 0.15); */
		border-radius: 12px;
		z-index: 10;
		color: #fff;
		text-decoration: none;
		transition: all 0.3s ease;
		opacity: 0;
		transform: translateY(10px);
	}

	.hb-project-card.is-active .hb-project-nav-btn {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}

	.hb-project-nav-btn:hover,
	.hb-project-nav-btn:active {
		background: rgba(0, 0, 0, 0.7);
		border-color: rgba(255, 255, 255, 0.3);
		transform: translateX(-50%) translateY(0) scale(1.05);
	}

	.hb-project-nav-btn svg {
		width: 22px;
		height: 22px;
		stroke: #fff;
	}
}

/* ===================================
   PROJECT NAVIGATION V2 (info abaixo)
   =================================== */

.hb-project-rail-v2 {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	overflow: hidden;
	position: relative;
	padding: 40px 0;
	gap: 20px;
}

.hb-project-card-v2 {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 0 0 15%;
	cursor: pointer;
	color: #fff;
	transition: flex-basis 0.6s ease, transform 0.6s ease, opacity 0.6s ease;
}

.hb-project-card-v2.is-active {
	flex: 0 0 70%;
}

.hb-project-link-v2 {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 16/10;
	overflow: hidden;
	border-radius: 8px;
}

.hb-project-bg-v2 {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.6s ease, filter 0.6s ease;
}

.hb-project-card-v2.is-left .hb-project-bg-v2,
.hb-project-card-v2.is-right .hb-project-bg-v2 {
	filter: brightness(0.7);
}

.hb-project-card-v2.is-active .hb-project-bg-v2 {
	transform: scale(1.02);
	filter: brightness(1);
}

.hb-project-card-v2:not(.is-active):hover .hb-project-bg-v2 {
	transform: scale(1.03);
	opacity: 0.85;
}

/* Info abaixo da imagem */
.hb-project-info-v2 {
	padding: 16px 8px 0 8px;
	text-align: left;
}

/* .is-left .hb-project-info-v2 {
    padding-left: 50px;
} */

.hb-project-label-v2 {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 6px;
	display: block;
}

.hb-project-title-v2 {
	font-size: 18px;
	line-height: 1.3em;
	font-weight: 500;
	margin: 0;
}

/* Mobile v2 */
@media (max-width: 1024px) {
	.hb-project-rail-v2 {
		padding: 20px 10px;
		gap: 10px;
	}

	.hb-project-card-v2 {
		flex: 0 0 15%;
		min-height: auto;
	}

	.hb-project-card-v2.is-active {
		flex: 0 0 70%;
	}

	.hb-project-link-v2 {
		aspect-ratio: 10/14;
	}

	.hb-project-info-v2 {
		padding: 12px 4px 0 12px;
	}

	.hb-project-title-v2 {
		font-size: 14px;
	}
}

/* --- MOBILE: MANTER LAYOUT EM LINHA --- */
/* @media (max-width: 767px) {

    .hb-project-card {
        flex: 0 0 60vw;
        min-height: 220px;
    }

    .hb-project-card.is-active {
        flex: 0 0 80vw;
    }

    .hb-project-info {
        padding: 24px 20px;
    }
} */

.video-portfolio-section video {
	width: 100%;
	height: auto;
	display: block;
}


@media only screen and (min-width: 1920px) {

	.row-img-metodologia {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.img-metodologia {
		width: 40%;
	}

	.row-360 {
		padding-top: 7vw;
	}
}

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

	.row-img-metodologia {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.img-metodologia {
		width: 55%;
	}

	.row-360 {
		padding-top: 10vw;
	}
}

@media (max-width: 767px) {

	.row-img-metodologia {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.img-metodologia {
		width: 90%;
	}

	.video-portfolio-tubarao video {
		height: 200px;
	}
}

.hb-full-video-section {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: 0;
}

.hb-full-video {
	max-width: 100%;
	max-height: 100vh;
	height: auto;
	width: auto;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	/* mantém proporção sem cortar */
}


/* --------------------------------------------------
   Harpia – Footer 2025 (layout tipo Interbrand)
   -------------------------------------------------- */

footer:not(.showcase-footer) {
	height: auto;
	padding: 40px;
}

/* Container principal do footer */
footer:not(.showcase-footer) #footer-container {
	position: relative;
	margin: 0 auto;
	padding: 0 80px;
	width: 100%;
	box-sizing: border-box;
	height: auto;
}

/* Bloco central com navegação + métricas + copyright */
footer:not(.showcase-footer) .footer-middle {
	position: relative;
	width: 100%;
	height: auto;
	display: block;
	pointer-events: initial;
}

.hb-footer-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

/* Linha de navegação (Home / About / Work / Contact) */
.hb-footer-nav-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
}

.hb-footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 24px;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0.12em;
}

.hb-footer-nav a {
	text-decoration: none;
	color: #fff !important;
	opacity: 1;
	transition: opacity 0.2s ease;
}

.hb-footer-nav a:hover {
	opacity: 0.7;
}

/* Métricas – 3 colunas grandes no desktop */
.hb-footer-metrics {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
	padding: 50px 0;
}

.hb-footer-metric {
	flex: 1 1 0;
	min-width: 220px;
	max-width: 33%;
}

.hb-footer-metric-number {
	font-size: 28px;
	line-height: 1.3;
	/* font-weight: 400; */
	margin: 0 0 8px;
	/* font-family: 'Neue Haas Grotesk Display Bold', sans-serif; */
	/* font-family: 'mona-sans-semibold_wide', sans-serif; */
	font-family: 'mona-sansextrabold_wide', sans-serif;
	font-weight: 500;
}

.hb-footer-metric-text {
	margin: 0;
	font-size: 16px;
	line-height: 1.3em;
	color: #999;
	max-width: 360px;
}

/* Linha de base (copyright) */
.hb-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

/* Sobrescreve o estilo antigo da .copyright para caber nesse layout */
footer:not(.showcase-footer) .copyright {
	position: static;
	top: auto;
	padding: 0;
	margin: 0;
	height: auto;
	max-width: none;
	font-size: 14px;
	line-height: 1.6;
	text-align: left;
	font-weight: 300;
}

/* Reposiciona back-to-top e socials dentro do novo grid */
footer:not(.showcase-footer) #backtotop {
	position: absolute;
	left: 80px;
	bottom: 30px;
}

footer:not(.showcase-footer) .socials-wrap {
	position: absolute;
	right: 80px;
	bottom: 20px;
	height: auto;
}

.hb-footer-inner {
	text-align: left;
}

/* --------------------------------------------------
   Responsivo footer
   -------------------------------------------------- */

@media only screen and (max-width: 1024px) {

	footer:not(.showcase-footer) #footer-container {
		padding: 0 40px;
	}

	.hb-footer-metric-number {
		font-size: 24px;
	}
}


@media only screen and (max-width: 767px) {

	footer:not(.showcase-footer) {
		padding: 7vw 10px 2vw 10px;
	}

	footer:not(.showcase-footer) #footer-container {
		padding: 0 10px 20px;
	}

	.hb-footer-inner {
		gap: 15px;
	}

	.hb-footer-nav-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.hb-footer-nav {
		flex-wrap: wrap;
		row-gap: 8px;
		gap: 14px;
	}

	.hb-footer-metrics {
		flex-direction: column;
		gap: 24px;
		padding: 10px 0;
	}

	.hb-footer-metric {
		max-width: none;
		padding-bottom: 15px;
	}

	.hb-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	/* Back-to-top e socials descem para baixo no mobile */
	footer:not(.showcase-footer) #backtotop,
	footer:not(.showcase-footer) .socials-wrap {
		position: static;
		margin-top: 16px;
	}
}


/* ================================
   Linha de base do footer
   ================================ */

.hb-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	/* alinha pela base */
	padding: 40px 0px;
	width: 100%;
	/* max-width: 1280px; */
	margin: 0 auto;
	box-sizing: border-box;
}

/* Copyright alinhado à esquerda, sem centralização */
.hb-footer-bottom .copyright {
	margin: 0;
	padding: 0;
	text-align: left;
	max-width: 60%;
}

/* ================================
   Socials sempre visíveis
   ================================ */

.hb-footer-bottom .new-socials-wrap {
	position: static !important;
	/* cancela o absolute antigo */
	right: auto;
	bottom: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	font-size: 12px;
	letter-spacing: 0.16em;
	color: #fff;
}

/* “Follow Us” + ícone de share */
.new-socials-follow-text-icon {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}

/* lista de ícones */
.new-socials {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 0;
}

.new-socials li {
	display: flex;
	align-items: center;
	margin-bottom: 0px !important;
}

.new-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-size: 16px;
}

.new-socials i {
	color: #fff;
}

/* ================================
   Responsivo
   ================================ */

@media only screen and (max-width: 1024px) {
	.hb-footer-bottom {
		flex-direction: row;
		/* align-items: center; */
		/* padding: 24px 20px 32px; */
		gap: 16px;
		padding: 40px 0 0 0;
	}

	.hb-footer-bottom .copyright {
		max-width: 100%;
		align-items: flex-start;
	}

	.hb-footer-bottom .new-socials-wrap {
		align-items: flex-end;
	}

	.new-socials {
		justify-content: flex-end;
	}

	.new-socials-follow-text-icon {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.hb-no-padding-top-mobile {
		padding-top: 0px !important;
	}

	.list-rotator-title {
		background-color: #f9f9f9;
		padding-top: 10% !important;
	}
}


/* ORIGIN SECTION -------------------------------------------------- */

.hb-origin-section {
	position: relative;
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.hb-origin-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	align-items: flex-start;
}

.hb-origin-col {
	flex: 1 1 280px;
}

.hb-origin-left {
	max-width: 420px;
}

.hb-origin-center {
	max-width: 360px;
	text-align: center;
	margin-inline: auto;
	margin-top: 5px;
}

.hb-origin-right {
	max-width: 420px;
	margin-top: 5px;
}

.hb-origin-overline {
	font-size: 2.1rem;
	text-transform: uppercase;
	margin-bottom: 1rem;
	color: #ffffff;
	font-weight: 400;
}

.hb-origin-title {
	font-size: 2.2rem;
	line-height: 1.2;
	margin-bottom: 1.5rem;
	text-transform: unset !important;
}

.hb-origin-pink {
	color: #ff005a;
	text-transform: capitalize !important;
}

.hb-origin-blue {
	color: #3e7bff;
	text-transform: capitalize !important;
}

.hb-origin-text {
	/* font-size: 1.1rem; */
	/* line-height: 1.2; */
	color: #d0d0d0 !important;
	margin-bottom: 1rem;
}

.hb-origin-photos {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 1.25rem;
	margin-top: 1.75rem;
	width: 100%;
}

.hb-origin-thumb {
	overflow: hidden;
	flex: 0 0 auto;
	max-width: 100%;
	background: rgba(255, 255, 255, 0.04);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
}

.hb-origin-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hb-origin-img-01 {
	flex-basis: 27%;
	max-width: 27%;
	height: 180px;
}

.hb-origin-img-02 {
	flex-basis: 32%;
	max-width: 32%;
	height: 200px;
}

.hb-origin-img-03 {
	flex-basis: 41%;
	max-width: 41%;
	height: 220px;
}

.hb-origin-caption {
	font-size: 0.8rem;
	color: #b5b5b5;
	margin-top: 1.2rem;
}

.hb-origin-main-photo img {
	width: 100%;
	height: auto;
	display: block;
}

.hb-origin-metric {
	margin-top: 1.5rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #e4e4e4;
	font-size: 0.8rem;
}

.hb-origin-card {
	/* background: #111111; */
	/* border-radius: 10px; */
	padding: 2rem 2rem 1.5rem;
	position: relative;
	overflow: hidden;
}

.hb-origin-card-bar {
	position: absolute;
	top: 0;
	left: 0;
	height: 4px;
	width: 100%;
	background: #3e7bff;
}

.hb-origin-card-title {
	font-size: 1.3rem;
	margin-bottom: 0.75rem;
	text-transform: unset !important;
}

.hb-origin-card-text {
	font-size: 1.1rem;
	line-height: 1.2;
	color: #d5d5d5;
	margin-bottom: 0.75rem;
}

.hb-origin-card-highlight {
	margin: 1rem 0 1.5rem;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: unset !important;
}

.hb-origin-eagle-photo img {
	width: 100%;
	height: auto;
	display: block;
	margin-top: 0.5rem;
}

.hb-origin-photo-caption {
	font-size: 0.7rem;
	color: #9a9a9a;
	margin-top: 0.6rem;
}

.hb-origin-card p {
	color: #d5d5d5;
}

.hb-origin-left .mb-15 {
	margin-bottom: 15px;
}

/* Responsivo */
@media (max-width: 1024px) {
	.hb-origin-grid {
		gap: 2.5rem;
	}
}

@media (max-width: 768px) {
	.hb-origin-grid {
		flex-direction: column;
	}

	.hb-origin-title {
		font-size: calc(1rem + 2.7vw);
		line-height: calc(1rem + 3.7vw);
		font-weight: 500;
	}

	.hb-origin-card {
		padding: 0px;
	}

	.hb-origin-card-title {
		margin-top: 15px;
	}

	.hb-origin-photos {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: end;
		gap: 0.75rem;
	}

	.hb-origin-thumb,
	.hb-origin-img-01,
	.hb-origin-img-02,
	.hb-origin-img-03 {
		flex-basis: auto;
		max-width: 100%;
		width: 100%;
		height: 180px;
	}

	.hb-origin-img-01 {
		flex-basis: 27%;
		height: 150px;
	}

	.hb-origin-img-02 {
		flex-basis: 32%;
		height: 180px;
	}

	.hb-origin-img-03 {
		flex-basis: 41%;
		height: 200px;
	}

	.hb-origin-photos .hb-origin-thumb:last-child {
		grid-column: span 1;
	}

	.hb-origin-section {
		padding-top: 17vw;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}

.video-border {
	border: 1px solid #e6e6e654;
	border-radius: 12px;
}

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

.border-top {
	border-top: 1px solid #f1f1f1;
}

/* Fix para linha residual no clipped-image */
.clipped-image-wrapper {
	margin-bottom: -2px;
	background-color: #0c0c0c;
}

.clipped-image-wrapper::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 10px;
	background-color: #0c0c0c;
	z-index: 20;
}

.clipped-image-pin {
	background-color: #0c0c0c;
}

.clipped-image-gradient {
	bottom: -1px !important;
}

@media only screen and (min-width: 768px) {
	.clipped-image-gradient {
		height: 28% !important;
	}

	.clipped-image-wrapper.hb-home-video .clipped-image-gradient {
		height: 22% !important;
	}
}

@media only screen and (max-width: 767px) {
	.clipped-image-gradient {
		height: 25% !important;
	}

	.clipped-image-wrapper.hb-home-video .clipped-image-gradient {
		height: 20% !important;
	}
}

.clipped-image-wrapper+.about-row,
.clipped-image-wrapper+.content-row {
	margin-top: -5px;
	position: relative;
	z-index: 50;
}

.about-row {
	position: relative;
	z-index: 100;
	margin-top: -10px;
	background-color: #0c0c0c;
}

.bold {
	font-weight: 700 !important;
}

.hb-hero-subtitle-project {
	font-size: 1.1rem;
	line-height: 1.4em;
	margin-top: 12px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 100%;
	color: rgba(255, 255, 255, 0.8);
	text-transform: unset !important;
	font-weight: 400 !important;
}

/* Botão */
.button-border {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
}

.list-rotator-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
}

.row_padding_top_services {
	padding-top: 2vw !important;
}

.row_padding_bottom_services {
	padding-bottom: 2vw !important;
}

@keyframes appear {
	from {
		opacity: 0;
		transform: scale(0.5);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* A animação do título da metodologia é controlada via GSAP (ScrollTrigger) */
/* (mantemos o @keyframes appear disponível para outros usos, se necessário) */
#method-title {
	animation: none;
}

.italic {
	font-style: italic !important;
}

.thin-title {
	font-weight: 300 !important;
}

h3 .thin-title {
	font-weight: 300 !important;
}

.hb-hero-logo-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.hb-hero-logo-wrapper img {
	width: auto;
	height: 100px;
}

.hb-hero-logo-wrapper #logo-sandro {
	width: auto;
	height: 70px;
	margin-bottom: 20px;
}

.carousel-header {
	padding: 0 80px 2vw;
}

.portfolio-page .clapat-slider-wrapper {
	padding: 7vw 0;
}

.carousel-title {
	font-size: 2rem;
	line-height: 1.5em;
	margin-bottom: 0px;
}

@media only screen and (max-width: 767px) {
	.carousel-header {
		padding: 5vw 20px;
	}
}

.max-width-block {
	max-width: 600px;
	margin-left: 0;
	margin-right: 0;
}

.intro-privacy {
	margin-left: auto;
	margin-right: auto;
}

.display-grid {
	display: grid !important;
}

.container-links {
	max-width: 800px;
	justify-items: start;
}

.hb-privacy-title {
	font-size: calc(1rem + 0.3vw);
	line-height: 1.2em;
	margin-bottom: 20px;
}

.hb-privacy-subtitle {
	font-size: calc(0.9rem + 0.1vw);
	line-height: 1.7em;
	font-weight: 500;
	margin-top: 30px;
	text-transform: unset !important;
	font-family: 'Releway', sans-serif;
}

.dark-content p {
	color: #000 !important;
}

.content-privacy .row_padding_bottom_custom,
.content-privacy .row_padding_top_custom {
	padding-bottom: 5vw;
	padding-top: 5vw;
}

.intro-privacy {
	padding-top: 3vw !important;
	padding-bottom: 180px !important;
}

.hero-styles-privacy .hero-subtitle {
	margin-top: 5px;
	padding-top: 0px !important;
}

.hero-privacy {
	height: 90vh !important;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.title-contacts {
	font-weight: 500 !important;
}

.copy-wrapper {
	display: block;
}

.privacy-footer {
	margin-bottom: 20px;
	font-weight: 300;
}

.red-icon {
	color: #ff005a !important;
}

.red-icon:hover {
	color: #fff !important;
}

@media only screen and (min-width: 768px) {
	.desktop-only {
		display: block !important;
	}

	.mobile-only {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.desktop-only {
		display: none !important;
	}

	.mobile-only {
		display: block !important;
	}

	.slide-img img {
		border-radius: 20px !important;
	}

	.clapat-button-next,
	.clapat-button-prev {
		display: none !important;
	}
}

.bgvid-desktop {
	display: block;
	width: 100%;
	height: 100%;
}

.bgvid-mobile {
	display: none;
	width: 100%;
	height: 100%;
}

.bgvid-desktop,
.bgvid-mobile {
	object-fit: cover;
}

@media (max-width: 768px) {
	.bgvid-desktop {
		display: none !important;
	}

	.bgvid-mobile {
		display: block !important;
	}
}