/*---------- Resets --- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label,legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0px; padding: 0px; border: 0; font-weight: normal; font-style: normal; text-decoration: none; outline: none; list-style: none }
body { margin: 0; font-family: 'Raleway', sans-serif;}
* { outline: none } a, a:active, a:visited, a:hover { cursor: pointer; text-decoration: none }
header, nav, section, article, main, aside, footer { display: block }
*, *:after, *:before { -moz-box-sizing: border-box; box-sizing: border-box; }
html { font-size: 62.5% }  /* html element 62.5% font-size for REM use */
article { -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.clear:before, .clear:after { content: " "; display: table } .clear:after { clear: both } .clear { *zoom: 1; } .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden } .clearfix { display: block; height: 1% } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; }
img { max-width: 100%; vertical-align: bottom; height: auto; }
/* print */
@media print { body { width: 100% !important; margin: 0 !important; padding: 0 !important; line-height: 1.4; word-spacing: 1.1pt; letter-spacing: 0.2pt; font-family: Garamond,"Times New Roman", serif; color: #000; background: none; font-size: 12pt } h1,h2,h3,h4,h5,h6 { font-family: Helvetica, Arial, sans-serif } h1 { font-size: 19pt } h2 { font-size: 17pt } h3 { font-size: 15pt } h4,h5,h6 { font-size: 12pt } code { font: 10pt Courier, monospace } blockquote { margin: 1.3em; padding: 1em } img { display: block; margin: 1em 0 } a img { border: none } table { margin: 1px; text-align: left } th { border-bottom: 1px solid #333;  font-weight: bold } td { border-bottom: 1px solid #333 } th, td { padding: 4px 10px 4px 0 } caption { background: #fff; margin-bottom: 2em; text-align: left } thead { display: table-header-group } tr { page-break-inside: avoid } a { text-decoration: none; color: black } }

/* ---------- Textos --- */
/* paragraph */
p {
	margin: 10px 0;
	color: #000;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 32px;
}
/* bold */
b, strong { font-weight: 700; }
/* Italic */
i, em { font-style: italic; }

h1 {
	color: #FFF;
	text-align: center;
	text-shadow: 8px 4px 40px rgba(29, 53, 62, 0.80);
	font-family: Raleway;
	font-size: 56px;
	font-style: normal;
	font-weight: 700;
	line-height: 64px;
}
h2 {
	color: #202E48;
	font-family: Raleway;
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	line-height: 48px;
}
h3 {

}
h4 {

}
h5 {

}
h6 {
	
}

.t2s {
	-webkit-transition:	all .2s ease-in-out;
	-moz-transition:	all .2s ease-in-out;
	-o-transition:		all .2s ease-in-out;
	-ms-transition:		all .2s ease-in-out;
	transition:			all .2s ease-in-out;
}

.btn {
	display: flex;
	padding: 16px 32px;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
}
	.btn-goto {
		cursor: pointer;
		color: #FFF;
		font-size: 14px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		background: #6A2126;
	}
		.btn-goto:hover {
			background: #591C20;
		}

.wrapper {
	width: 100%;
	max-width: 1372px;
	margin: 0 auto;
}

header {
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url('../images/header-bg.jpg') no-repeat center center / cover;
}
	@keyframes fadeIn {
		0%   { opacity: 0; }
		100% { opacity: 1; }
	}
	header .container {
		max-width: 934px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		opacity: 0;
		animation: fadeIn 2s ease forwards 0.5s;
	}
		header .container h1 {
			padding: 60px 0 32px;
		}
		header .container p {
			margin: 0 auto;
			color: #FFF;
			text-align: center;
			text-shadow: 8px 4px 40px rgba(29, 53, 62, 0.80);
			font-size: 24px;
			font-style: normal;
			font-weight: 400;
			line-height: 32px;
		}
		header .container .btn {
			margin: 60px auto;
		}
		.arrow-animation {
			height: 64px;
			width: 24px;
			position: relative;
		}
			.arrow-animation svg {
				position: absolute;
				bottom: 0;
				animation-name: moveArrow;
				animation-duration: 4s;
				animation-delay: 800ms;
				animation-timing-function: ease-out;
				animation-iteration-count: infinite;
			}
		@keyframes moveArrow {
			0%, 25% {
				bottom: 0;
				filter: brightness(2);
			}
			50%, 75% {
				bottom: 40px;
				filter: brightness(0.5);
			}
			100% {
				bottom: 0;
				filter: brightness(2);
			}
		}

.video {
	padding: 80px 0;
}
	.video .container {
		position: relative;
	}
		.video .content {
			width: 990px;
			height: 555px;
			margin: 48px auto 0;
			border-radius: 16px;
			overflow: hidden;
			box-shadow: -16px 20px 80px 0px rgba(29, 53, 62, 0.16);
			position: relative;
		}
			.video h2 {
				text-align: center;
			}
			.video .video-thumb {
				width: 100%;
				height: 100%;
				display: flex;
				justify-content: center;
				align-items: center;
				
				position: absolute;
				top: 0;
				left: 0;
				z-index: 10;
			}
				.video .video-thumb svg {
					width: 80px;
					height: 80px;
					cursor: pointer;
					position: absolute;
					-webkit-transition:	all .2s ease-in-out;
					-moz-transition:	all .2s ease-in-out;
					-o-transition:		all .2s ease-in-out;
					-ms-transition:		all .2s ease-in-out;
					transition:			all .2s ease-in-out;
				}
					.video .video-thumb svg:hover {
						width: 100px;
						height: 100px;
					}
				.video .video-thumb picture,
				.video .video-thumb picture img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}


			.video .video-player {
				width: 100%;
				height: 555px;
				position: absolute;
				top: 0;
				left: 0;
			}
		.video .logo-origo-symbol {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-166%, -50%);
		}
			.video .logo-origo-symbol svg {
				width: 680px;
				height: 680px;
				opacity: 0.1;
			}

.swiper {
	max-height: 916px;
}
	.swiper-slide {
		position: relative;
	}
		.swiper-slide img {
			width: 100%;
			object-fit: cover;
		}
		.swiper-slide .wrapper {
			height: 100%;
			position: absolute;
			top: 0;
			left: 50%;
			transform: translate(-50%, 0);
		}
			.swiper-slide .caption {
				color: #FFF;
				font-size: 24px;
				font-style: normal;
				font-weight: 400;
				line-height: 32px;
				display: inline-flex;
				padding: 8px 32px;
				justify-content: center;
				align-items: center;
				border-radius: 8px;
				background: #202E48;
				position: absolute;
				top: 80px;
			}
			.swiper-slide .content {
				width: 328px;
				position: absolute;
				top: 50%;
				left: 0;
				transform: translate(0, -50%);
			}
				
				.swiper-slide p {
					margin: 0 0 6px;
					color: #FFF;
					font-size: 32px;
					font-style: normal;
					font-weight: 700;
					line-height: 40px;
				}
				.swiper-slide small {
					color: #FFF;
					font-size: 16px;
					font-style: normal;
					font-weight: 400;
					line-height: 24px;
				}	
	.swiper-button-prev,
	.swiper-button-next {
		width: 52px;
		height: 52px;
		display: flex;
		align-items: center;
		justify-content: center;
		top: 50%;
		z-index: 10;
		border-radius: 100px;
		background: var(--Branco);
	}
	.swiper-button-prev::after,
	.swiper-button-next::after {
		display: none;
	}
	.swiper-button-prev {
		left: 165px;
	}
	.swiper-button-next {
		right: 165px;
	}
		.swiper-button-prev svg,
		.swiper-button-next svg {
			width: 38px;
		}

.location {
	padding: 88px 0 64px;
	border-bottom: 1px solid rgba(47, 47, 47, 0.10);
}
	.location .wrapper {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		position: relative;
	}
		.location .content {
			max-width: 704px;
			padding-top: 65px;
		}
			.location h2 {

			}
			.location p {
				margin: 24px 0 32px;
				color: #000;
				font-size: 16px;
				font-weight: 400;
				line-height: 24px;
			}
			.location ul {
				column-count: 2;
				list-style: none;
				list-style-type: none;
				margin: 0;
				padding: 0;
			}
				.location li {
					width: 362px;
					break-inside: avoid; 
					box-sizing: border-box;
					margin-bottom: 16px;
					display: flex;
					align-items: center;
					justify-content: flex-start;
				}
					.location li:nth-child(7),
					.location li:last-child {
						margin-bottom: 0;
					}
					.location li svg {
						flex-shrink: 0;
					}
					.location li span {
						margin-left: 8px;
						color: #000;
						font-size: 16px;
						font-style: normal;
						font-weight: 400;
						line-height: 24px;
					}
		.location .logo-origo-symbol {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-166%, -50%);
		}
			.location .logo-origo-symbol svg {
				width: 680px;
				height: 680px;
				opacity: 0.05;
			}
		.location .map {
			width: 623px;
			text-align: center;
		}
			.location .map a {
				display: inline-block;
				margin: 24px auto 0;
				color: #202E48;
				font-size: 16px;
				font-style: normal;
				font-weight: 400;
				line-height: 24px; /* 150% */
				text-decoration-line: underline;
				text-decoration-style: solid;
				text-decoration-skip-ink: auto;
				text-decoration-thickness: auto;
				text-underline-offset: auto;
				text-underline-position: from-font;
			}

.certification {
	background: url('../svg/bg-certification.svg') no-repeat center bottom / cover;
}
	.certification .wrapper {

	}
		.certification .content {
			width: 100%;
			max-width: 675px;
			padding: 235px 0;
		}
			.certification .content h2 {
				font-size: 48px;
				line-height: 56px;
			}
			.certification .content p {
				margin: 24px 0 48px;
				color: #2F2F2F;
				font-size: 16px;
				line-height: 24px;
			}

.contact {
	overflow: hidden;
	position: relative;
}
	.contact .form {
		max-width: 676px;
		padding: 126px 0 74px;
		position: relative;
	}
		.contact h2 {
			max-width: 550px;
			font-size: 32px;
			line-height: 40px;
		}
		.contact p {
			margin: 16px 0 8px;
			color: #2F2F2F;
			font-size: 16px;
			font-style: normal;
			font-weight: 400;
			line-height: 24px;
		}
		.contact form {
			position: relative;
			z-index: 10;
		}
			.contact fieldset label {
				display: block;
				margin: 32px 0 8px;
				color: #202E48;
				font-size: 16px;
				font-style: normal;
				font-weight: 700;
				line-height: 24px;
			}
				.contact fieldset input[type="text"],
				.contact fieldset input[type="email"],
				.contact fieldset input[type="tel"] {
					width: 100%;
					padding: 25px 32px 23px;
					border-radius: 8px;
					border: 1px solid rgba(47, 47, 47, 0.08);
					background: #FBFBFB;
					font-family: 'Raleway', sans-serif;
					font-size: 14px;
					font-style: normal;
					font-weight: 400;
					line-height: 24px;
				}

			.contact .radio-group {

			}
				.contact .radio-group p {
					margin: 32px 0 16px;
					color: #202E48;
					font-size: 16px;
					font-style: normal;
					font-weight: 700;
					line-height: 24px;
				}
				.contact .radio-option {
					display: inline-flex;
					align-items: center;
					margin: 0 32px 0 0;
					cursor: pointer;
					color: #2F2F2F;
					font-size: 14px;
					font-style: normal;
					font-weight: 400;
					line-height: 24px;
				}
					.contact .radio-option input[type="radio"],
					.contact .privacy input[type="checkbox"] {
						-webkit-appearance: none;
						-moz-appearance: none;
						appearance: none;
						width: 24px;
						height: 24px;
						border: 1px solid rgba(47, 47, 47, 0.12);
						border-radius: 50%;
						margin: 0 8px 0 0;
						position: relative;
						cursor: pointer;
						outline: none;
						background-color: #fff;
					}
					.contact .radio-option input[type="radio"]:checked::before,
					.contact .privacy input[type="checkbox"]:checked::before {
						content: "";
						display: block;
						width: 12px;
						height: 12px;
						background: #202E48;
						border-radius: 50%;
						position: absolute;
						top: 5px; 
						left: 5px;
					}
			.contact .privacy {
				margin: 32px 0;
				display: flex;
				align-items: center;
			}
				.contact .privacy label a {
					color: #2F2F2F;
					font-size: 14px;
					font-style: normal;
					font-weight: 400;
					line-height: 24px;
					text-decoration-line: underline;
					text-decoration-style: solid;
					text-decoration-skip-ink: auto;
					text-decoration-thickness: auto;
					text-underline-offset: auto;
					text-underline-position: from-font;
				}
			.contact button,
			.contact .enviando {
				display: inline-block;
				padding: 16px 32px;
				cursor: pointer;
				border: none;
				border-radius: 8px;
				color: #FFF;
				font-family: Raleway;
				font-size: 14px;
				font-style: normal;
				font-weight: 700;
				line-height: normal;
				background: #202E48;
			}
				.contact button:hover {
					background: #6A2126;
				}
				.contact .enviando {
					display: none;
					cursor: none;
				}
	.contact svg {
		width: 1065px;
		height: 1065px;
		position: absolute;
		top: 0;
		left: -555px;
	}
		.contact svg path {
			stroke-width: 0.1px;
			stroke: rgba(102, 102, 102, 0.08);
		}

	.contact .image {
		position: absolute;
		bottom: 0;
		right: 0;
	}

footer {
	height: 267px;
	background-image: url(../images/footer-bg-1x.webp);
	background-repeat: no-repeat;
	background-size: cover;
}
	footer .wrapper {
		height: 100%;
		padding: 0 170px;
	}
		footer .content {
			height: 100%;
			display: flex;
			align-items: center;
			justify-content: space-between;
		}


/* ################################################################################################################################################################################# */
@media screen and (min-width: 2561px) {
  .footer {
    background-image: url(../images/footer-bg-2x.webp);
  }
}

@media screen and (min-width: 1921px) and (max-width: 2560px) {
  footer {
    background-image: url(../images/footer-bg-1_5x.webp);
  }
}

@media (max-width: 1920px) {
	.swiper-slide .wrapper {
		width: 80%;
	}
	.swiper-button-prev {
		left: 60px;
	}
	.swiper-button-next {
		right: 60px;
	}
}

@media screen and (max-width: 1700px) {
	.contact .wrapper {
		width: 38%;
		margin: 0 0 0 25px;
	}
}

@media screen and (max-width: 1440px) {
	.contact .wrapper {
		width: 100%;
	}
	.contact,
	.contact .image {
		position: unset;
	}
		.contact .image img {
			width: 100%;
		}
}
@media screen and (max-width: 1410px) {
	.location .wrapper {
		flex-direction: column;
	}
		.location .content {
			padding-top: 0;
			margin: 0 auto 32px;
		}
		.location .map {
			margin: 0 auto;
		}
	.certification {
		padding: 0 25px;
	}
	.contact .wrapper {
		padding: 0 25px;
	}
}

@media screen and (max-width: 1350px) {
	footer .wrapper {
		padding: 0 20px;
	}
}

@media screen and (max-width: 1056px) {
	.video {
		padding: 80px 25px;
	}
		.video .content {
			width: 100%;
		}
	.swiper-slide .wrapper {
		width: 70%;
	}
	.swiper-button-prev {
		left: 40px;
	}
	.swiper-button-next {
		right: 40px;
	}

}
@media screen and (max-width: 1010px) {
	header .container {
		padding: 24px;
	}
	.video .content {
		
	}
	.swiper-slide .content {
		width: 100%;
	}
	.swiper-slide .caption {
		top: 20px;
	}
}

@media screen and (max-width: 991px) {
	footer {
		padding: 100px 25px;
		height: auto;
		background-image: url(../images/footer-bg-2x-mobile.webp);
	}
		footer .content {
			flex-direction: column;
			row-gap: 80px;
		} 
}

@media screen and (max-width: 820px) {
	.video .content,
	.video .video-player {
		height: 400px;
	}
		.video .video-thumb svg {
			width: 30px;
			height: 30px;
		}
}
@media screen and (max-width: 767px) {
	header .container svg {
		width: 210px;
	}
	header .container h1 {
		padding: 29px 0 24px;
		font-size: 40px;
		line-height: 48px;
	}
	header .container p {
		font-size: 20px;
		line-height: 32px;
	}
	header .container .btn {
		margin: 29px auto 0;
	}
	header .container .arrow-animation {
		display: none;
	}

	.swiper {
		max-height: unset;
	}
	.swiper-slide .content {
		top: unset;
		bottom: 40px;
		left: 0;
		transform: none;
	}
		.swiper-slide .caption {
			font-size: 16px;
			line-height: 24px;
		}
		.swiper-slide p {
			font-size: 28px;
			line-height: 36px;
		}
		.swiper-slide small {
			font-size: 16px;
			line-height: 24px;
		}
	.location .content {
		width: 100%;
		max-width: unset;
		padding: 0 25px;
	}
		.location h2 {
			font-size: 32px;
			line-height: 40px;
		}
		.location p {
			margin: 24px 0;
			font-size: 14px;
			line-height: 24px;
		}
		.location ul {
			column-count: 1;
		}
			.location li,
			.location li:nth-child(7) {
				width: auto;
				margin-bottom: 16px;
			}
	.certification {
		background-position: calc(100% - -480px) bottom;
	}
		.certification .content {
			padding: 56px 0 293px;
		}
		.certification .content h2 {
			max-width: 300px;
			font-size: 32px;
			line-height: 40px;
		}
		.certification .content p {
			max-width: 380px;
		}
		.contact .wrapper {
			margin: 0 auto;
		}

	footer {
		background-image: url(../images/footer-bg-1_5x-mobile.webp);
	}
}

@media screen and (max-width: 640px) {
	.location .map,
	.location .map iframe {
		width: 100%;
		height: 424px;
	}
	.certification {
		background-position: calc(100% - -540px) bottom;
	}
	.contact svg {
		display: none;
	}
	.contact .form {
		padding: 58px 0 43px;
	}
}

@media screen and (max-width: 425px) {
	.video .content,
	.video .video-player {
		height: 214px;
	}
	footer {
		background-image: url(../images/footer-bg-1x-mobile.webp);
	}
}

@media screen and (max-width: 400px) {
	h2 {
		font-size: 30px;
		line-height: 38px;
	}
	header .container {
		padding: 0 24px;
	}
		header .container h1 {
			font-size: 36px;
			line-height: 42px;
		}
		header .container p {
			font-size: 18px;
			line-height: 28px;
		}
}