
button:focus, .navbar-toggler:focus, .navbar-toggler:hover { outline: none !important;}

html, body {
	overflow-x: hidden !important;
	background: #FFF;
	font-family: 'Montserrat', 'Verdana', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 21px;
	color: #000;
	text-rendering: optimizeLegibility;
	font-feature-settings: "lnum";
}

body {
	margin: 0;
	padding: 0;
	overflow: hidden;
}
body.not-front{scroll-behavior: smooth !important;}


section {
	padding: 119px 0;
	position: relative;
}
.not-front > section:first-of-type {margin-top: 70px;}

body.front .not-front {display: none !important;}
.hide {display: none}
.show {	display: inherit !important}
.on-mobile {display: none !important}
.is-hidden {transition: all .5s ease !important;}

h1 {
	font-weight: 700;
	font-size: 28px;
	line-height: 35px;
	text-transform: uppercase;
}

h2 {
	color: #8E8E8E;
	font-weight: 700;
	font-size: 14px;
	line-height: 21px;
	text-transform: uppercase;
}

h1,h2 {margin-bottom: 0;}
@media(min-width:1500px) {.container{max-width:1400px;}}

@media(max-width:767.98px) {
	.container {width: 91%;}
	.on-mobile {display: block !important}
	.not-mobile {display: none !important}
	section {padding: 105px 0;}
	.not-front > section:first-of-type {margin-top: 35px;}
	h1 {
		font-size: 21px;
		line-height: 28px;
	}
}

@media(max-width:340px) {.container {width: 98%;}}


/**********************************************************************************MENU*/

.front #menu-bar {
	transition: all .5s ease !important;
	position: relative;
	top: calc(100vh - 70px);
	animation-name:fadeIn;
	animation-delay:1.5s;
}

.navbar {
	font-size: 12px !important;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 0.06rem;
	text-transform: uppercase;
	background: #000;
	padding: 0;
	width: 100%;
	z-index: 500;
	height: 70px;
}

.navbar-brand img {
	height: 70px;
	opacity: 0;
}

a.nav-link {
	color: #fff;
	border-right: solid 1px;
	padding: 0 21px;
}

a.nav-link:hover,
a.nav-link:active {
	color: #D29F13;
	border-right: solid 1px #fff;
}



.social-media>a.nav-link {
	background: #fff;
    color: #000;
    text-align: center;
    padding: 3px 0;
    width: 24px;
    height: 25px;
    border-radius: 1000px;
    border: none;
    font-size: 18px;
    line-height: 22px;
    margin: 0 21px;
    font-weight: initial;
}

.social-media>a.nav-link:first-child{
	background: none;
    color: #fff;
    margin-right: 0;
    font-size: 24px;
    padding: 0;
 
}
.social-media>a.nav-link:last-child {margin: 0; padding:3px 0 0 2px}
.social-media>a.nav-link:hover{background: #D29F13;}
.social-media>a.nav-link:first-child:hover {background:none; color:#D29F13;}


/**********************************************************************************STICKY / NOT-FRONT MENU*/

.sticky {transition: all .5s ease;}

#menu-bar.sticky,
.not-front .navbar {
	background: #000;
	position: fixed;
	top: 0;
}

.navbar.sticky .navbar-brand img,.not-front .navbar .navbar-brand img {	opacity: 1}

@media(max-width:767.98px) {
	.navbar.sticky .navbar-toggler,
	.not-front .navbar .navbar-toggler {
		margin-top: 7px;
		background: none;
	}
	.navbar.sticky .animated-icon1,
	.not-front .animated-icon1 {
		margin-right: 0;
	}
	.navbar.sticky .animated-icon1 span,
	.not-front .animated-icon1 span {
		background: #fff;
	}
	i.fa-linkedin-in.fab {
    padding: 2px;
    font-size: 26px;
}
}

@media(max-width:767.98px) {
	.navbar.sticky .navbar-toggler,
	.not-front .navbar .navbar-toggler {
		margin-top: 7px;
		background: none;
	}
	.navbar.sticky .animated-icon1,
	.not-front .animated-icon1 {
		margin-right: 0;
	}
	.navbar.sticky .animated-icon1 span,
	.not-front .animated-icon1 span {
		background: #fff;
	}
}


/**********************************************************************************MENU MOBILE*/

@media(max-width:767.98px) {
	.front .navbar {
		position: fixed !important;
		top: 0 !important;
		bottom: inherit;
	}
	a.nav-link {
		border-right: none;
		padding: 0;
		margin: 35px 28px;
	}
	a.nav-link:hover,
	a.nav-link:active {
		border-right: none;
	}
	.social-media>a.nav-link {
	padding: 5px;
    width: 35px;
    height: 36px;
    font-size: 28px;
    margin: 0 28px;
	}
	.social-media>a.nav-link:first-child {
		font-size: 35px;
		margin-left:0;
	}
	.navbar {background: transparent}
	.navbar-toggler {
		margin-top: 42px;
		background: #ebebeb;
		border-radius: 0;
	}
	.offcanvas-collapse {
		text-align: center;
		color: transparent;
		height: 0;
		padding: 0;
		width: 100vw;
		position: fixed;
		z-index: 100;
		top: 68px;
		left: 0;
		background-color: #000;
		overflow-x: hidden;
		transition: .5s;
	}
	.animated-icon1 {
		width: 35px;
		height: 28px;
		position: relative;
		margin: 12px 12px 7px;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		-o-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		cursor: pointer
	}
	.animated-icon1 span {
		display: block;
		position: absolute;
		height: 3px;
		width: 100%;
		border-radius: 0;
		opacity: 1;
		right: 0;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .25s ease-in-out;
		-moz-transition: .25s ease-in-out;
		-o-transition: .25s ease-in-out;
		transition: .25s ease-in-out
	}
	.animated-icon1 span {
		background: #000
	}
	.animated-icon1 span:nth-child(1) {
		top: 0
	}
	.animated-icon1 span:nth-child(2) {
		top: 10px
	}
	.animated-icon1 span:nth-child(3) {
		top: 20px
	}
	.offcanvas-collapse.open {
		padding: 2rem;
		top: 68px;
		height: calc(100vh - 68px);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
	}
	.animated-icon1.open span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		-o-transform: rotate(135deg);
		transform: rotate(135deg)
	}
	.animated-icon1.open span:nth-child(2) {
		opacity: 0;
		right: -60px
	}
	.animated-icon1.open span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		-o-transform: rotate(-135deg);
		transform: rotate(-135deg)
	}
	.navbar.open {
		background: #000;
		z-index: 502 !important;
	}
	.navbar.open img {opacity: 1;}
	.animated-icon1.open {margin-right: 0}
	.animated-icon1.open span {	background: #fff;
	}
	.navbar-toggler.open {
        margin-top: 7px;
		background: none;
	}
}







/**********************************************************************************HOME - ABERTURA*/

#main-top {
	padding: 0;
	margin-top: -70px;
	transform-origin: bottom;
	transition: all .5s ease !important;
	height: calc(100vh - 70px);
	opacity: 1;
}

.logo-top {
	width: 12vw;
    position: absolute;
    left: 21vw;
    top: 0;
    z-index: 5;
	animation-delay: 0.5s !important;
	transition: all 0.5s;
    transition-delay: 0.3s;
	}

.logo-top:before {
    content: '';
    background: #ebebeb;
    width: 100vw;
    height: 88%;
    z-index: 2;
    position: absolute;
    bottom: -2vw;
    right: -14vh;

}

.container-logo-v {
	z-index: 10;
	position: relative;
	animation-delay: 2s !important;
}

.banner-home {
	background-color:#000;
	position: absolute;
	top: 14vh;
	right: 0;
	transition: all 0.8s;
    transition-delay: 0.3s;
}

.banner-home img {
	width: auto;
	height: 70vh;
	animation-delay: 1.5s !important;
}

.banner-home-small {
	height: 46vh;
    width: 21vw;
    background: url(../img/banner2.gif) no-repeat center bottom;
	background-size: 88%;
    background-color: #807f82;
    overflow: hidden;
    position: absolute;
    top: 54vh;
    left: 27vw;
    z-index: 500;
    opacity: 1;
	animation-delay: 1.5s !important;
	transition: all 1s !important;
}

#main-top span.h-line {
    height: 7px;
    min-width: 14vw;
    background: #D29F13;
    position: absolute;
    bottom: 21vh;
    left: 35vh;
    z-index: 501;
    top: inherit;
    right: inherit;

}

#v-line-top {
	height: 35vh;
    width: 7px;
    background: #D29F13;
    position: absolute;
    top: 0;
    right: 7%;
    z-index: 500;
    opacity: 1;
}
#main-top span.h-line, #v-line-top {animation-delay:0.5s !important;}
#main-top.is-hidden #v-line-top {
	bottom: 100vh;
}

#main-top.is-hidden {
    transform-origin: bottom;
    background-color: #000;
    opacity: 0;
    height: 70px;
    margin-top: 0;
    animation-delay: 0.1s;
}

#main-top.is-hidden .logo-top {
	top: -100vh;
	opacity: 0;
	transition: all 0.1s ease;
}
#main-top.is-hidden .banner-home {
	opacity: 0;
	transition: all 0.1s ease;
	transform-origin: right;
	right: -130vh;
}

.banner-home-small.is-hidden {
    transition: all 0.3s !important;
    top: -100vh;
	z-index: 500;
}

@media(max-width:767.98px) {
	#main-top {
		margin-top: 0;
	}
	.logo-top {
    width: 28vh;
    position: absolute;
    left: 4vw;
    top: 0;
	}
	.logo-top:before {
    bottom: -7vw;
    right: -2vh;
	}
	.banner-home {
	height: 70vh;
    top: 21vh;
    width: 84vw;
    left: 16vw;
    position: absolute;
	overflow:hidden;
	}
	.banner-home img {
    width: auto;
    height: 100%;
    margin-left: -57%;
	}
	#main-top span.h-line {
	left: 10vw;
    bottom: 28vh;
    width: 24vw;
	z-index:499;
	}
	#v-line-top {
    height: 23vh;
    width: 7px;
    bottom: -70px;
    left: 42vw;
	top: inherit;
	}
}
/**********************************************************************************REEL*/
.carousel-indicators {
    right: 0;
    bottom: 28%;
    left: 0;
    width: 24px;
    height: auto;
    z-index: 0;
    display: inherit;
    justify-content: inherit;
    padding-left: 0;
    margin-right: 0;
    margin-left: 12%;
}

.carousel-indicators li {
    width: 24px;
    height: 24px;
    margin-right: 0;
    margin-left: 0;
    background-color: #ebebeb;
    border-radius: 100%;
    opacity: 1;
    transition: .6s ease;
	animation-duration:0.5s !important;
}
.carousel-indicators li.animate__zoomIn:first-of-type {
	animation-delay:1.8s !important;
}
.carousel-indicators li.animate__zoomIn:last-of-type {
	animation-delay:2.2s !important;
}

.carousel-indicators .active {
    background-color: #000;
}
.carousel-indicators li:hover {
    background-color: #D29F13;
}
.carousel-indicators:before {
content: '';
    background: #ebebeb;
    width: 100vw;
    height: 40vh;
    z-index: 2;
    position: absolute;
    top: 120%;
    right: -14vw;
}
.carousel-indicators .v-line {
    height: 35vh;
    width: 7px;
    background: #D29F13;
    position: absolute;
    bottom: -21vh;
    right: 210%;
    z-index: 500;
    opacity: 1;
	animation-delay: 1s !important;
}
.animate__fadeIn.carousel-inner {
    animation-delay: 1.5s !important;
}

@media(max-width:767.98px){
.carousel-indicators {
    display: inline-flex;
    width: 100%;
    margin: auto;
    bottom: -56px;
}
.carousel-indicators li {
    margin: 0 0 0 21px;
}
.carousel-indicators:before {
    width: 56vw;
    height: 42vh;
    bottom: -42%;
	top:inherit;
}
.loader{
	justify-content:flex-end;
}
}

/**********************************************************************************GALERIA*/

#work {
    padding: 210px 0 0;
    overflow: hidden;
}
.not-front #work {margin-top: 0 !important;}

.masonry {
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	grid-auto-rows: 24px;
}

#galeria {
	overflow: hidden;
	padding-top: 36px;
}

.front #work .v-line {
    height: 35vh;
    width: 7px;
    background: #D29F13;
    position: absolute;
    top: 0;
    left: -2rem;
    z-index: 1;
    opacity: 1;
    animation-delay: 1s !important;
}

.front #galeria:before {
    content: '';
    background: #ebebeb;
    width: 28vw !important;
    height: 30vh !important;
    z-index: 0;
    position: absolute;
    top: 9vh;
    left: -10rem;
}
@media(min-width:1500px) {
.masonry {
    grid-gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    grid-auto-rows: 24px;
}
}
@media(max-width:767.98px) {
    #work {
    padding: 140px 0 0;
    margin-top: 70px;
}

#galeria {    
	padding-top: 0;
    margin-top: 98px;
	}

}

.masonry .col {
	color: transparent;
	overflow: hidden;
	grid-row-end: span 6;
}

.masonry .col--2x {
	grid-row-end: span 5;
}

.masonry .col--3x {
	grid-row-end: span 6;
}

.masonry .col--4x {
	grid-row-end: span 7;
}


a.thumb {
    background-color: #9a9a9a;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

}

#galeria.bw a {
	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	/* Firefox 10+, Firefox on Android */
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: gray;
	/* IE 6-9 */
	transform:scale(1) !important;
	transition: all 0.3s ease-in-out !important;
	
	
}

#galeria.bw a:hover {
	-webkit-filter: none;
	-moz-filter: none;
	-ms-filter: none;
	filter: none;
	transform:scale(1.05) !important;
	outline:none;
	transition: all 0.3s ease-in-out !important;
}

#galeria a {
	-webkit-filter: none;
	-moz-filter: none;
	-ms-filter: none;
	filter: none;
	z-index: 10;
	transition: all 0.3s ease-in-out !important;
}

.loader{
	display:inline-flex;
	justify-content:center;
}
.loader::after {
	content: '';
    background: #ebebeb;
    width: 35%;
    height: 21vh;
    position: absolute;
    top: -310%;
    left: 14%;
}
.loader span.h-line {
    height: 7px;
    width: 14vw !important;
    min-width: inherit;
    background: #D29F13;
    top: 11px;
    margin-right: 28px;
    position: relative;
    z-index: 2;
}

div.loader-dot {
	width: 24px;
	height: 24px;
	margin:0 7px;
	border-radius:100%;
	background-color:#000;
	z-index:10;
	animation: loadingDots 1.5s ease-in-out infinite;
}

@keyframes loadingDots{
	0%, 100% {
		background-color:#ebebeb; 
		transform:scale(0.2);
	}
	50%{ 
	transform:scale(1);
	background-color:#000; 
	}
}

div.loader-dot:nth-child(3) {animation-delay:0.2s;}
div.loader-dot:last-child {animation-delay:0.4s;}

@media(max-width:767.98px) {

.loader::after {
    width: 56%;
    height: 10vh;
    top: -210%;
    left: 14%;
}
.loader span.h-line {
    height: 4px;
    width: 21vw !important;
    top: 5px;
    margin-right: 7px;
}
div.loader-dot {
    width: 14px;
    height: 14px;
    margin: 0 7px;
}
}


/**********************************************************************************PROJECT*/

.project-head {
	position: relative;
	padding-bottom: 14px;
	margin-bottom: 42px;
}

.project-head span.h-line {
	bottom: 0;
	top: inherit;
	left: 0;
	right: inherit;
	width: 63vw;
}

.project-description {
	margin: 70px 0 -42px -40px;
	background: #ebebeb;
	padding: 42px !important;
}

.project-description:first-of-type {
	margin: 0 0 42px 0;
	padding: 0 !important;
	background: none;
}

.video-container {
	margin-bottom: 28px;
	z-index: 10;
}

@media(max-width:767.98px) {
	.project-head {
		margin-bottom: 28px;
	}
	.project-head span.h-line {
		height: 3px;
		width: 90vw;
	}
	.project-description {
		margin-top: 28px;
	}
	.project-description:first-of-type {
		margin-bottom: 28px;
	}
}


/**********************************************************************************CONTACT*/

.contact-head {
	position: relative;
	padding-bottom: 14px;
	margin-bottom: 14px;
}

.contact-head span.h-line {
	bottom: 0;
	top: inherit;
	left: 0;
	right: inherit;
	width: 35vw;
}

@media(max-width:767.98px) {
	.contact-head span.h-line {
		width: 90vw;
	}
	#faq-container{padding-top:77px;}
}

#faq-container{margin-top:0;}

.faq {
	background: #ebebeb;
	padding: 0 28px 28px;
}

.faq h1 {
	margin: 18px 0 28px;
	padding-top: 18px;
}

.faq h1:before {
	content: '';
	width: 21px;
	height: 70px;
	background: #D29F13;
	position: absolute;
	margin: -28px -35px 0;
}


/**********************************************************************************CONTACT FORM*/

.form-group {
	margin-bottom: 21px;
	padding: 0;
}

input.form-control,
textarea.form-control {
	padding: 14px;
	background: transparent;
	border: solid 2px #000;
}

input.form-control {
	border-radius: 1000px !important;
	height: 42px;
	line-height: 1;
}

label.btn-upload {
	position: relative;
	width: 140px;
	margin-bottom: 0;
	line-height: 28px;
}

input#myfile {
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	opacity: 0;
	height: 42px;
	cursor: pointer;
}

.file-return {
	min-height: 42px;
	margin-bottom: 0;
	margin-left: 14px;
	padding: 14px 0 0;
}

.file-return a,
.has-file,
.file-return p {
	margin-bottom: 7px;
}

.has-file {
	font-style: italic;
	font-weight: 700;
	text-decoration: underline !important;
}

.has-file i {
	margin-left: 14px;
	font-size: 21px;
	line-height: 1;
	position: absolute;
	cursor: pointer;
}

.has-file i:hover {
	color: #D29F13;
}

textarea.form-control {
	border-radius: 14px;
}

input.form-control:focus,
textarea.form-control:focus {
	box-shadow: 0 0 black;
	border: solid 2px #D29F13;
}

.btn-primary {
	color: #fff;
	background-color: #000000;
	border-color: #000;
	border-radius: 1000px;
	padding: 7px;
	height: 42px;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	color: #fff;
	background-color: #D29F13 !important;
	border-color: #D29F13 !important;
	outline: none !important;
	box-shadow: none !important;
}

p.alert-danger {
	margin: 7px 14px;
	background: none;
	color: #ff0000;
	font-weight: 500;
}

.form-control.alert-danger {
	border: solid 2px #ff0000;
}

.highlight {
	padding: 21px 21px 21px 0;
	margin-bottom: 21px;
	position: relative;
	z-index: 5;
}

.highlight p:before {
	content: '';
	background: #ebebeb;
	width: 100vw;
	height: 100%;
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
}

.highlight a {
	font-weight: bold;
	color: #ebebeb;
	background: #000;
	padding: 2px 4px;
}

@media(max-width:767.98px) {
	label.btn-upload,
	input#myfile {
		width: 100%
	}
	.highlight p:before {
		display: none;
	}
	.highlight {
		padding: 21px;
		background: #ebebeb;
		z-index: 0;
	}
}


/**********************************************************************************MODAL*/

.modal {
	background: rgb(0 0 0 / 70%);
}

.modal-content {
	border-radius: 0;
	border: none !important;
	padding: 28px;
	margin: 0;
}

.modal h1 {
	font-size: 21px;
}

#modalUpload .modal-content {
	background: none;
}

#modalUpload .modal-body {
	color: #fff;
	text-align: center;
}

#modalUpload i {
	margin-bottom: 21px;
}

@media(max-width:767.98px) {
	.modal-dialog {
		margin: 1.4rem;
	}
}


/**********************************************************************************404*/

#sorry {
	min-height: 72vh;
}

.text-404 {
	font-size: 70px;
	font-weight: 700;
	padding-bottom: 28px;
	display: block;
}

/**********************************************************************************FOOTER*/

footer {
	height: 98px;
	padding: 28px;
	position: relative;
}

p.copyright {
	font-size: 70%;
	line-height: 1.4;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 0;
}

span.h-line {
	height: 4px;
	min-width: 42vw;
	background: #D29F13;
	position: absolute;
	top: 0;
	right: 0;
}

@media(max-width:767.98px) {
	footer {
		height: 77px;
		padding: 28px 0 0;
		position: relative;
	}
	footer span.h-line {
		left: 0;
		right: auto;
		min-width: 80vw;
		height: 3px;
	}
}
/**********************************************************************************GO TOP*/

#go-top {
	background: #EBEBEB;
	position: fixed;
	right: 0;
	width: 7vw;
	height: 35px;
	bottom: 210px;
	z-index: 500;
	opacity: 0;
	transition: all 0.25s;
}

#go-top.animate__fadeInRightBig {opacity: 1 !important;}

#go-top a {
	color: #fff;
	background: #000;
	padding: 7px;
	width: 35px;
	height: 35px;
	text-align: center;
	position: absolute;
	border-radius: 100%;
	top: -14px;
	left: -14px;
}

#go-top a:hover {background: #D29F13 !important;}
#go-top a:visited {background: #000;}

@media(max-width:767.98px) {
	#go-top {
		width: 14vw;
		height: 35px;
		bottom: 42px;
	}
}
pre {
    font-family: 'Montserrat', 'Verdana', sans-serif;
    font-size: 14px;
    line-height: 28px;
    color: #000;
    text-rendering: optimizeLegibility;
    font-feature-settings: "lnum";
}