:root {
	--color-primary: #ff6300;
	--color-link: #ff6300;

	--gutter: 20px;
}

@font-face {
	font-family: 'Lexend';
	src: url('../font/lexend/Lexend-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-stretch: 75% 125%;
	font-style: normal;
}

html{
	height: 100%;
}

body {
	background: linear-gradient(42deg, rgba(255, 231, 229, 1) 0%, rgba(255, 231, 229, 0) 100%);
	background-repeat: no-repeat;
	background-attachment: fixed;
	display: flex;
	justify-content: center;
	font-family: Lexend, sans-serif;
	font-size: 14px;
	line-height: 1.55;
  min-height: 100%;
	margin: 0;

	@media (min-width: 768px) {
		& {
			font-size: 16px;
		}
	}
}

a {
	color: var(--color-link);
	text-decoration: none;
}

h1 {
	line-height: 1.15;
	font-weight: 900;
}

p {
	margin-top: 10px;
	margin-bottom: 10px;
}

ul {
	margin-top: 10px;
	margin-bottom: 10px;
}

.text--sm {
	font-size: 0.8rem;
}

.btn {
	border: 2px solid #ccc;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-transform: uppercase;
	background-color: #ccc;
	text-decoration: none;
	color: #000;
	font-weight: 800;
	border-radius: 999px;
	padding: 10px 30px;
	cursor: pointer;
	white-space: nowrap;
	font-size: 0.9rem;

	@media (min-width: 768px) { & {
		font-size: 1rem;
	} }

	&.btn--sm {
		font-size: 0.8rem;
		padding: 10px 20px;

		@media (min-width: 768px) { & {
			font-size: 0.9rem;
		} }
	}

	&.btn--xl {
		font-size: 1rem;
		padding: 15px 20px;

		@media (min-width: 768px) { & {
			font-size: 1.3rem;
			padding: 20px 40px;
		} }
	}

	&.btn--black {
		color: #fff;
		border-color: #000;
		background-color: #000;

		&.btn--outline {
			border-color: #000;
			background-color: transparent;
			color: #000;
		}
	}

	&.btn--primary {
		border-color: var(--color-primary);
		background-color: var(--color-primary);
		color: #fff;

		&.btn--outline {
			border-color: var(--color-primary);
			background-color: transparent;
			color: var(--color-primary);
		}
	}
}

.container {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 1500px;
	padding: 0 var(--gutter);
}

.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: var(--gutter);
	margin-bottom: var(--gutter);

	.logo {
		height: 16px;
		display: block;
	}

	.nav {
		display: none;
	}

	@media (min-width: 768px) {
		& {
			margin-top: 80px;
			margin-bottom: 20px;
		}

		.nav {
			display: block;
		}

		.logo {
			height: unset;
		}
	}
}

.content {
	flex: 1;
	display: flex;
	gap: 40px;
	align-items: center;
	flex-direction: column-reverse;
	margin-top: 40px;

	@media (min-width: 768px) { & {
		flex-direction: row;
		margin-top: 0px;
	} }

	.jumbo {
		@media (min-width: 768px) { & {
			flex: 1 1 50%;
		} }

		.title {
			font-size: 2rem;
			margin: 0;

			@media (min-width: 768px) { & {
					font-size: 2.6rem;
			} }
		}

		.subtitle {
			font-size: 1.5rem;
			margin: 0;
			color: var(--color-primary);

			@media (min-width: 768px) { & {
					font-size: 1.8rem;
			} }
		}

		.button-grid {
			display: grid;
			gap: 16px;
			margin-top: 10px;
			grid-template-areas:
				'big big big'
				'sm1 sm2 sm3';

			@media (min-width: 768px) { & {
				max-width: 400px;
				margin-top: 30px;
			} }

			.big { grid-area: big }
			.sm1 { grid-area: sm1 }
			.sm2 { grid-area: sm2 }
			.sm3 { grid-area: sm3 }

			.sm1, .sm2, .sm3 {
				padding-left: 0;
				padding-right: 0;
			}
		}
	}

	.cards {
		overflow: hidden;

		@media (min-width: 768px) { & {
			flex: 1 1 50%;
		} }

		.swiper-slide {
			width: 70%;
			border-radius: 5.398%/8.56%;
		}

		.card-holder {
			aspect-ratio: 85.6 / 53.98;
			width: 100%;

			.card-image {
				width: 100%;
				height: 100%;
				object-fit: cover;
				display: block;
			}
		}
	}
}


.footer {
	display: flex;
	flex-direction: column-reverse;
	margin-top: 80px;
	margin-bottom: 80px;
	gap: 40px;

	@media (min-width: 768px) { & {
		justify-content: space-between;
		flex-direction: row;
	} }

	.company {
		display: flex;
		flex-direction: column;
		gap: 8px;

		.text {
			margin: 0;
		}

		.logo {
			height: 16px;
		}
	}

	.trust {

		.vendors {
			display: flex;
			gap: 40px;
			align-items: center;
		}
	}
}

.tooltip {
	background-color: #fff;
	padding: 15px;
	border-radius: 10px;
	box-shadow: 0 1px 3px 0px rgba(0,0,0,0.24);
	max-width: clamp(200px, 70%, 400px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease-in-out;
	z-index: 2;

	&[data-show] {
		opacity: 1;
		pointer-events: auto;
	}

	.arrow, .arrow::before {
		position: absolute;
		width: 16px;
		height: 16px;
		background: inherit;
	}

	.arrow {
		visibility: hidden;
	}

	.arrow::before {
		visibility: visible;
		content: '';
		transform: rotate(45deg);
	}

	& > .text p:first-child {
		margin-top: 0;
	}

	& > .text p:last-child {
		margin-bottom: 0;
	}
}

.tooltip[data-popper-placement^='top'] > .arrow {
  bottom: -8px;
}

.tooltip[data-popper-placement^='bottom'] > .arrow {
  top: -8px;
}

.tooltip[data-popper-placement^='left'] > .arrow {
  right: -8px;
}

.tooltip[data-popper-placement^='right'] > .arrow {
  left: -8px;
}

