@font-face {
	font-family: 'Aptos';
	src: url('../fonts/Aptos.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Aptos';
	src: url('../fonts/Aptos-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

:root {
	--primary: #FFF;
	--secondary: #333;
	--tertiary: #ff7b00;
	--link: #ff7b00;
	--contrast: #808080;
	--background-contrast: #f3f3f3;
	--error: #ff3333;
	--success: #22bb33;
	--black: #000;
}

html {
	scroll-behavior: smooth;
	font-family: 'Aptos', sans-serif;
}

body {
	font-size: 1.125rem;
	color: var(--secondary);
}

.flex {
	display: flex;
}

.flex-direction--column {
	flex-direction: column;
}

.align-items--start {
	align-items: start;
}

.align-items--center {
	align-items: center;
}

.align-items--end {
	align-items: end;
}

.justify-content--space-around {
	justify-content: space-around;
}

.justify-content--space-between {
	justify-content: space-between;
}

.justify-content--end {
	justify-content: end;
}

.justify-content--center {
	justify-content: center;
}

.none {
	display: none;
}

.block {
	display: block;
}

.grid {
	display: grid;
}

.place-content--center {
	place-content: center;
}

.gap--0\.5rem {
	gap: 0.5rem;
}

.gap--1rem {
	gap: 1rem;
}

.gap--2rem {
	gap: 2rem;
}

.gap--4rem {
	gap: 4rem;
}

.width--50\% {
	width: 50%;
}

.width--100\% {
	width: 100%;
}

.min-width--300px {
	min-width: 18.75rem;
}

.font-size--22px {
	font-size: 1.375rem;
}

.color--tertiary {
	color: var(--tertiary);
}

.color--primary {
	color: var(--primary);
}

.color--secondary {
	color: var(--secondary);
}

.color--error {
    color: var(--error);
}

.color--success {
    color: var(--success);
}

a.color--tertiary:hover {
	color: var(--link);
}

.padding-block--4rem {
	padding-block: 4rem;
}

.padding-block--2rem {
	padding-block: 2rem;
}

.padding-top--0\.5rem {
	padding-top: 0.5rem;
}

.padding-top--1rem {
	padding-top: 1rem;
}

.padding-top--4rem {
	padding-top: 4rem;
}

.padding-bottom--2rem {
	padding-bottom: 2rem;
}

.padding-left--1rem {
	padding-left: 1rem;
}

.padding-left--1\.5rem {
	padding-left: 1.5rem;
}

.padding-left--1\.7rem {
	padding-left: 1.7rem;
}

.margin-0px {
	margin: 0;
}

.margin-top--0px {
	margin-top: 0;
}

.margin-top--0\.5rem {
	margin-top: 0.5rem;
}

.margin-bottom--0 {
	margin-bottom: 0 !important;
}

.margin-bottom--0\.5rem {
	margin-bottom: 0.5rem;
}

.margin-bottom--2rem {
	margin-bottom: 2rem;
}

.text-align--justify {
	text-align: justify;
}

.text-align--center {
	text-align: center;
}

.line-height--1 {
	line-height: 1;
}

.background-color--background-contrast {
	background-color: var(--background-contrast);
}

.background-color--black {
	background-color: var(--black);
}

.font-weight--normal {
	font-weight: normal;
}

.font-weight--bold {
	font-weight: bold;
}

.text-transform--uppercase {
	text-transform: uppercase;
}

ul.has-icon {
	list-style: none;
}

ul.icon--next li::before {
	content: "\f285";
	font-family: "Bootstrap-Icons";
	vertical-align: bottom;
	color: var(--tertiary);
}

.img--small {
	width: 3.125rem;
}

.img--medium {
	width: 5rem;
}

.img--large {
	width: 9.375rem;
}

.swiper {
	width: 100%;
	height: 500px;

	.swiper-button-prev,
	.swiper-button-next {
		color: var(--primary);
		transition: all 200ms linear;
		opacity: 0.5;

		&::after,
		&::before {
			font-size: 1.5rem;
		}

		&:hover {
			color: var(--tertiary);
			opacity: 1;
		}
	}
}

.wrap {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
	box-sizing: border-box;
	position: relative;
}

.title {
	border-bottom: 2px solid var(--tertiary);
	line-height: 1;
	margin-top: 0;
	text-transform: uppercase;
	font-weight: bold;
	width: fit-content;
	margin-bottom: 2rem;

	&.margin-bottom--0\.5rem {
		margin-bottom: 0.5rem;
	}
}

ul.contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.5rem;

	.icon {
		line-height: 1;
		display: flex;
		gap: 0.5rem;
		align-items: center;
		width: fit-content;
		font-size: 20px;

		&:hover {
			border-color: var(--tertiary);
		}
	}

	a {
		color: var(--secondary);

		&:hover {
			color: var(--tertiary);
		}
	}


}

.header {

	.navbar {
		padding: 0.7rem 0;
		background-color: #000;
		position: absolute;
		width: 100%;
		z-index: 100;

		.wrap {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.navbar__left {
			a {
				display: grid;
			}
		}

		.navbarButton {
			background-color: transparent;
			font-size: 2rem;
			line-height: 1;
			padding: 0;
			color: var(--primary);
			outline: none;
			border: none;
		}

		&.navbar--fixed {
			padding-block: 0.5rem;
			top: 0;
			position: fixed;
			width: 100%;
			z-index: 999;

			img {
				width: 3.125rem;
			}
		}
	}

	.navbar--mobile {
		width: 100%;
		height: 100%;
		z-index: 9999;
		background-color: #000;
		display: none;
		place-content: center;
		gap: 4rem;
		overflow: hidden;

		&.grid {
			display: grid;
		}

		&.fixed {
			position: fixed;
		}
	}

	.fakeNavbar {
		height: 71.7px;
	}
}

.border-top--3px-solid-tertiary {
	border-top: 3px solid var(--tertiary);
}

.overflow--hidden {
	overflow: hidden;
}

ul.navbar-list {
	color: var(--secondary);
	list-style: none;
	margin: 0;
	display: flex;
	align-items: center;
	padding-left: 0;
	gap: 2rem;
}

.banner {
	height: 500px;
	position: relative;
	overflow-x: hidden;

	.banner__image {
		position: absolute;
		z-index: -1;
		object-fit: cover;
		width: 100%;
		height: 100%;
	}

	.banner__opacity {
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: var(--secondary);
		opacity: 0.5;
	}

	.banner__wrap {
		height: 100%;
		display: grid;
		place-content: center left;
		gap: 4rem;
		padding-inline: 4rem !important;
		z-index: 100;

		.banner__title {
			font-family: 'Bebas Neue';
			margin: 0;
			font-size: 3rem;
			text-shadow: 1px 1px 0 var(--secondary);
			color: var(--tertiary);
			max-width: 400px;
			letter-spacing: 1px;
		}

		.banner__description {
			text-shadow: 1px 1px 0 var(--secondary);
			word-break: break-word;
			hyphens: auto;
			max-width: 400px;
			font-size: 20px;
			margin: 0;
			color: var(--primary);
		}
	}
}

.partner {
	height: 50px;
	object-fit: contain;
}

.video-swiper {
	height: 400px;
	position: relative;
	width: 300px;

	.interface {
		display: grid;
		gap: 0.5rem;
		left: 4%;
		position: absolute;
		top: 3%;
		width: 92%;
		z-index: 100;

		.progress {
			display: grid;
			gap: 0.1875rem;
			grid-template-columns: repeat(2, 1fr);

			.bar {
				background-color: #ccc;
				border-radius: 0.3125rem;
				height: 0.1875rem;
				width: 100%;

				&.filled {
					background-color: #fff;
				}
			}

			.progress-status {
				background-color: #fff;
				height: 100%;
				border-radius: 0.3125rem;
				transition: width 0.1s;
				width: 0;
			}
		}

		.controls {
			align-items: center;
			display: flex;
			justify-content: end;
			gap: 0.2rem;

			.button {
				background-color: transparent;
				display: grid;
				height: 1.875rem;
				min-width: unset;
				place-content: center;
				width: 1.875rem;
			}
		}
	}

	.swiper-button-next,
	.swiper-button-prev {
		background-color: rgba(255, 255, 255, 0.527);
		border-radius: 50%;
		color: transparent;
		font-size: 0.875rem;
		height: 1.875rem;
		width: 1.875rem;

		&::after {
			color: #000;
			font-size: 14px;
			mix-blend-mode: difference;
			opacity: 1;
		}

		&:hover {
			background-color: #fff;

			&::after {
				color: #333;
			}
		}
	}

	video {
		border-radius: 0.3rem;
		overflow: hidden;
		width: 300px;
		height: 400px;
		object-fit: cover;
	}
}

a {
	color: var(--primary);
	text-decoration: none;

	&:hover {
		color: var(--tertiary);
	}
}

.button,
.banner__button {
	background-color: var(--tertiary);
	color: var(--primary);
	outline: none;
	border: none;
	padding: 0.9rem 1.1rem 0.7rem 1.1rem;
	font-size: 1.3rem;
	line-height: 1;
	box-sizing: border-box;
	min-width: 200px;
	letter-spacing: 1px;
	border-radius: 2px;
	font-family: 'Bebas Neue' !important;
	transition: all 200ms linear;
	border: 1px solid transparent;
	text-align: center;
	
	&.banner__button {
		width: fit-content;
	}

	&:hover,
	&:active,
	&:focus {
		cursor: pointer;
		background-color: var(--primary);
		color: var(--tertiary);
		border: 1px solid #ccc;
	}
}

label {
	flex: 1;
	display: grid;
	gap: 0.2rem;

	span {
		color: var(--secondary);
	}

	input,
	textarea {
		width: 100%;
		outline: none;
		border: 1px solid #ccc;
		border-radius: 0.1875rem;
		padding: 0.5rem;
		box-sizing: border-box;
		resize: none;
		color: var(--secondary);
	}

	&:has(input[required], textarea[required]) span::after {
		content: '*';
		padding-left: 0.3rem;
		color: #FF0000;
	}
}

.highlighted {
	position: fixed;
	bottom: 20px;
	right: 20px;
	border-radius: 50%;
	min-width: unset;
	display: grid;
	place-content: center;
	width: 50px;
	z-index: 999;
	height: 50px;
	border: 1px solid transparent;

	i {
		padding-left: 1px;
		padding-bottom: 1px;
		font-size: 24px;
	}


}

.highlighted--whatsapp {
	background-color: #25D366;
	transition: all 200ms linear;

	&:hover {
		background-color: #1f9e4e;
		color: #fff;
		border: 1px solid transparent;
	}
}

@media (max-width: 1200px) {
	.wrap {
		padding-inline: 2rem;
	}
}

@media (max-width: 767px) {
    body {
        overflow-x: hidden;
        word-break: break-all;
    }
    
	.sm-width--100\% {
		width: 100%;
	}

	.sm-grid {
		display: grid;
	}
	
	.sm-flex-direction--column {
		flex-direction: column;
	}

	.sm-place-content--center {
		place-content: center;
	}

	.sm-padding-left--0px {
		padding-left: 0px;
	}

	.sm-gap--1rem {
		gap: 1rem;
	}

	.sm-none {
		display: none !important;
	}

	.sm-block {
		display: block;
	}
}

@media (max-width: 360px) {
	.x-sm-flex-direction--column {
		flex-direction: column;
	}

	.x-sm-align-items--start {
		flex-direction: start;
	}

	.x-sm-justify-content--start {
		flex-direction: start;
	}
}