/***************************************************              GENERAL RESET STYLES             ***************************************************/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap");
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: normal;
}

*:focus {
	outline: none;
}

body {
	line-height: 1;
}

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

nav ul {
	list-style: none;
}

ol,
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

strong,
b {
	font-weight: 600;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	border-style: none;
	width: 100%;
	height: auto;
}

form fieldset {
	margin: 0;
	padding: 0;
	border: none;
}

input,
textarea,
select {
	vertical-align: middle;
	padding: 0;
	box-sizing: border-box;
	resize: none;

	border: 1px solid transparent;
	color: #000c49;
	background-color: #fff;
}
textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder {
	color: #000c49;
	font-size: 16px;
}

textarea:focus::-webkit-input-placeholder,
input:focus::-webkit-input-placeholder {
	color: #b9b9b9;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-background-clip: text;
	-webkit-text-fill-color: #000;
	transition: background-color 5000s ease-in-out 0s;
	-webkit-background-clip: padding-box !important;
	box-shadow: 0 0 0px 1000px #f5f7fb inset !important;
}

.container {
	display: block;
	position: relative;
	width: 1200px;
	margin: 0 auto;
	height: 100%;
}

header,
main,
footer,
section {
	display: block;
	position: relative;
	width: 100%;
}

.main {
	overflow: hidden;
}

span {
	font: inherit;
}

/* lenis reset */
html {
	scroll-behavior: auto !important;
}

html.lenis {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}
/* lenis reset */

/* common styles */
:root {
	--main-white: #fff;
	--main-dark: #4e4e4e;
	--main-blue: #3357ac;
	--light-blue: #7993d3;
	--semi-grey: #f5f7fb;
}

.title-h2 {
	color: var(--main-dark);
	font-size: 50px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.title-h3 {
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
}
.footer-text {
	color: var(--main-white);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.base-text {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.text-uppercase {
	text-transform: uppercase;
}
.text-lower {
	text-transform: lowercase;
}
.text-unset {
	text-transform: unset;
}
.text-white {
	color: var(--main-white);
}
.text-dark {
	color: var(--main-dark);
}
.text-500 {
	font-weight: 500;
}
.text-600 {
	font-weight: 600;
}
.text-700 {
	font-weight: 700;
}
.main-btn {
	color: var(--main-white);
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	background-color: var(--main-blue);
	padding: 20px 30px;
	width: fit-content;
	transition: all 0.4s;
	border-radius: 30px;
	overflow: hidden;
	display: block;
	cursor: pointer;
	text-align: center;
	outline: none;
	border: none;
}
.main-btn:hover {
	background-color: var(--light-blue);
}
.main-btn.full-width {
	width: 100%;
}
.section-margin {
	margin-top: 170px;
}

/* common styles */

/* header styles */
.header-burger {
	display: none;
	cursor: pointer;
}
.header {
	position: fixed;
	top: 10px;
	padding: 10px 0px;
	z-index: 10;
	border-radius: 30px;
	background-color: rgba(0, 0, 0, 0.2);
	-webkit-backdrop-filter: blur(12.5px);
	backdrop-filter: blur(12.5px);
	margin: 0px 50px;
	width: calc(100% - 100px);
}
.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.header-nav a {
	color: var(--main-white);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	transition: all 0.4s;
}
.header-nav {
	display: flex;
	align-items: center;
	gap: 40px;
}
.header-nav a:hover {
	color: var(--main-blue);
}

/* mobile menu */
.line {
	fill: none;
	stroke-width: 3;
	transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
		stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.line1 {
	stroke-dasharray: 60 207;
	stroke-width: 6;
}
.line2 {
	stroke-dasharray: 60 75;
	stroke-width: 6;
	stroke-dashoffset: -134;
}
.line3 {
	stroke-dasharray: 60 207;
	stroke-width: 6;
}
.opened .line1 {
	stroke-dasharray: 90 207;
	stroke-dashoffset: -134;
	stroke-width: 6;
}
.opened .line2 {
	stroke-dasharray: 1 60;
	stroke-dashoffset: -90;
	stroke-width: 6;
}
.opened .line3 {
	stroke-dasharray: 90 207;
	stroke-dashoffset: -134;
	stroke-width: 6;
}

.mobile-menu {
	position: fixed;
	width: 100%;
	z-index: 9;
	height: 100vh;
	background: rgba(0, 0, 0, 0.2);
	-webkit-backdrop-filter: blur(12.5px);
	backdrop-filter: blur(12.5px);
	transition: all 0.4s;
	transform: translateX(-101%);
	display: none;
}
.mobile-menu.active {
	transform: translateX(0px);
}
.mobile-menu__inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding-top: 120px;
}
.mobile-menu-nav {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.mobile-menu-nav__item {
	color: var(--main-white);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
/* mobile menu */

/* header styles */

/* hero styles */
.hero {
	position: relative;
	width: 100%;
	height: 100vh;
}
.hero-bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.hero-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 60px;
	height: 100%;
	width: 100%;
}
.hero-logo {
	width: 394px;
}
.hero-center h1 {
	color: var(--main-white);
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	text-transform: uppercase;
}
.hero-center {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: fit-content;
}
.hero-btn {
	margin-top: 20px;
}
.hero-num {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.hero-main-num {
	color: var(--main-white);
	font-size: 80px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	display: flex;
	align-items: center;
}
.hero-nums {
	display: flex;
	align-items: center;
	gap: 70px;
}
/* hero styles */

/* hero styles */
.vehicles-inner {
	display: flex;
	flex-direction: column;
	gap: 50px;
}
.vehicles-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.vehicles-heading__r,
.vehicles-heading__l {
	width: 50%;
}
.vehicles-heading {
	display: flex;
	gap: 20px;
	align-items: flex-end;
}
.vehicles-heading__l {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.v-card-od {
	padding: 6px 15px;
	border-radius: 30px;
	opacity: 0.8;
	background-color: var(--light-blue);
}
.v-card {
	padding: 30px;
	display: flex;
	flex-direction: column;
	border-radius: 30px;
	gap: 30px;
	background-color: var(--semi-grey);
}
.v-card__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: space-between;
}
.v-card__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.v-card__list-item {
	display: flex;
	gap: 15px;
}
.v-card__list-icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}
.v-card__list-icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.v-card__img {
	margin: auto auto 0px;
	aspect-ratio: 387/223;
	width: 90%;
}
/* hero styles */

/* geo styles */
.geo {
	overflow: hidden;
}
.geo-inner {
	position: relative;
}
.geo-bg {
	position: absolute;
	top: 0;
	left: calc(692px + 10px);
	width: auto;
	height: 100%;
}
.geo-bg img {
	height: 100%;
	width: auto;
}
.geo-left {
	display: flex;
	flex-direction: column;
	gap: 30px;
	max-width: 692px;
	position: relative;
	z-index: 1;
}
.geo-left__bottom {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: fit-content;
}
.geo-sides {
	display: flex;
	flex-direction: column;
	gap: 25px;
}
.geo-sides > div {
	display: flex;
	gap: 20px;
}
.geo-side {
	display: flex;
	flex-direction: column;
	background-color: var(--semi-grey);
	gap: 15px;
	padding: 30px;
	min-width: 285px;
	border-radius: 30px;
	overflow: hidden;
}
.geo-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.geo-list li {
	display: flex;
	gap: 10px;
	align-items: center;
}
.geo-list svg {
	flex-shrink: 0;
}
/* geo styles */

/* partners styles */
.partners-heading {
	display: flex;
	flex-direction: column;
	gap: 15px;
	align-items: center;
}
.where-work_marquee {
	position: relative;
	display: flex;
	overflow: hidden;
	user-select: none;
	gap: 20px;
	padding: 40px 0 0;
}
.where-work_content {
	flex-shrink: 0;
	display: flex;
	gap: 20px;
	max-width: max-content;
	animation: scroll 85s linear infinite;
	justify-content: space-between;
}
.where-work_item {
	flex: 0 0 auto;
	width: 279px;
	aspect-ratio: 279 / 150;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 30px;
	overflow: hidden;
	padding: 10px;
	background-color: #e1e6f3;
}
@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - 20px));
	}
}
/* partners styles */

/* why us styles */
.why-us-container {
	position: relative;
	z-index: 1;
}
.why-us-inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.why-us-blocks {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.why-us-block {
	padding: 30px;
	display: flex;
	align-items: center;
	gap: 20px;
	background-color: var(--semi-grey);
	overflow: hidden;
	border-radius: 20px;
}
.why-us-block__l {
	width: 50%;
	display: flex;
	gap: 40px;
	align-items: center;
}
.why-us-block__text {
	width: 50%;
}
.why-us-icon {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 50%;
	background-color: var(--main-blue);
}
.why-us-icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.why-us {
	position: relative;
}
.why-us-boxes {
	position: absolute;
	right: 0;
	bottom: 0;
	height: 55%;
	width: auto;
}
.why-us-boxes img {
	width: auto;
	height: 100%;
}
/* why us styles */

/* contact styles */
.contact-inner {
	max-width: 793px;
	margin-left: auto;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 30px;
	height: 100%;
	justify-content: center;
}
.contact-heading {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.contact-subtitle {
	max-width: 470px;
	text-align: center;
}
.form-inputs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}
.form-input,
.form-input::placeholder {
	color: #b5b5b5;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.form-input {
	color: var(--main-dark);
	padding: 15px 20px;
	border-radius: 30px;
	overflow: hidden;
	background-color: var(--semi-grey);
	width: 100%;
}
.form-btn {
	margin-top: 40px;
}
.contact {
	position: relative;
	height: 60vh;
}
.contact-bg {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: auto;
	overflow: hidden;
}
.contact-bg img {
	height: 100%;
	width: auto;
	transform: translateX(-82px);
}
/* contact styles */

/* footer styles */
.footer {
	padding: 50px;
	background-image: url("../images/footer-bg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.footer-ins {
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.2);
	-webkit-backdrop-filter: blur(12.5px);
	backdrop-filter: blur(12.5px);
	overflow: hidden;
}
.footer__inner {
	display: flex;
	flex-direction: column;
	padding: 30px 0px;
	gap: 40px;
}
.footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.footer-text-link {
	transition: all 0.4s;
}
.footer-text-link:hover {
	opacity: 0.8;
}
.footer__made-by {
	display: flex;
	align-items: center;
	gap: 5px;
}
.footer__bottom-soc {
	display: flex;
	align-items: center;
	gap: 15px;
}
.footer__bottom-soc a {
	flex-shrink: 0;
}
.footer__top {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
.footer__nav {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.footer__tr {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.footer__tr > p {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.footer__contacts {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.footer__contacts-item {
	display: flex;
	align-items: center;
	gap: 10px;
}
.footer__contacts-item svg {
	flex-shrink: 0;
}
/* footer styles */
.orientation-fallback {
	display: none;
}
.orientation-fallback.active {
	display: none;
	position: fixed;
	place-content: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 1000;
	background-color: var(--main-dark);
}
@media screen and (orientation: landscape) and (max-height: 599px) {
	.orientation-fallback.active {
		display: grid;
	}
}

/* animations restyles */
.header {
	transform: translateY(-120%);
}
/* .hero-bg img {
	opacity: 0;
	scale: 1.01;
} */
.v-card,
.hero-nums,
.why-us-block {
	transform: translateY(40px);
	opacity: 0;
}
.hero-center,
.hero-logo,
.why-us-inner > div {
	transform: translateX(40px);
	opacity: 0;
}
.geo-left {
	transform: translateY(40px);
	opacity: 0;
}
.geo-bg {
	opacity: 0;
}
.partners-heading {
	transform: translateY(40px);
	opacity: 0;
}
.contact-inner {
	transform: translateY(40px);
	opacity: 0;
}
.contact-bg img {
	opacity: 0;
	scale: 1.1;
}
.contact-bg {
	overflow: hidden;
}
/* animations restyles */

/* popup styles */
.popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.2);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	display: grid;
	place-content: center;
	z-index: -20;
	opacity: 0;
	transition: all 0.5s;
}
.popup.active {
	opacity: 1;
	z-index: 10000;
}
.popup .contact-inner {
	opacity: 1;
	transform: unset;
	margin: 0;
	background-color: var(--main-white);
	border-radius: 40px;
	padding: 50px;
	padding-top: 80px;
	position: relative;
	width: 793px;
}
.close-popup-btn {
	position: absolute;
	top: 30px;
	right: 50px;
	cursor: pointer;
}
/* popup styles */
