:root {
	--animation-delay: 0;
	--duration: 900ms;
	--iterations: 1;
}

body{
  background:#fff;
  margin: 0;
  position: absolute;
  font-family: 'Inter', sans-serif;
  font-weight: 300;
}

header{
  padding: 5vh 0 0 0;
}

h1{
  font-size: 6vw;
  font-weight: bold;
  line-height: 6vw;
	margin: 0;
}

h4{
  font-size: 1.2vw;
	margin: 0;
}

a{
  color: #000;
}

img{
  max-width: 100%;
  height: auto;
	border-radius: 20px;
}

.social{
	width: 25px;
	float: left;
	margin-top: 13px;
	padding-right: 5px;
}

.nav p{
	float: left;
}

table{
	margin-bottom: 15px;
}

tr{
	margin-left: 0;
}

.branding{
  max-width: 350px;
  display: inline-block;
}

.nav{
  float: right;
  display: inline-block;
}

.button-group{
  margin-top: 3vh;
  margin-bottom: 5vh;
  display: block;
}

.button{
  font-size: 21px;
  padding: 20px 40px;
	margin-bottom: 15px;
  border-radius: 50px;
  text-decoration: none;
  display: inline-block;
}

.prime{
  background-color: #000;
	color: #fff;
}

.sec{
  background: #fff;
	border: 1px solid #000;
}

.cta .prime{
	background-color: #000;
	color: #fff;
}

h4.title{
	font-size: 2vw;
}

.main{
  width: 75%;
  margin: 0 auto;
}

.intro{
  padding: 8vh 5vh 5vh 0vh;
}

.intro h1{
  margin-bottom: 0;
}

.intro h4{
  font-weight: 400;
}

.media {
  padding: 0 5vw;
}

.cta .media{
	padding: 0vw 2vw 0vw 5vw;
}

.media p{
  font-size: 1.1vw;
  line-height: 2vw;
}

.price .card{
	background: #000;
	color: #fff;
	padding: 7vh 9vh 6vh;
	border-radius: 20px;
}

.container {
	margin: 0 auto;
	display: grid;
	grid-gap: 1rem;
  margin-bottom: 15vh;
	align-items: center;
}

.cta{
  background: #f6fc00;
  padding: 5vw 0;
	align-items: start;
	border-radius: 20px;
}

.hero{
	background: #f6fc00;
	margin-bottom: 12vh;
}

.arrow{
	width: 4vw;
	height: 4vw;
	border-radius: 100%;
	background: #000;
	display: inline-block;
	margin-left: 15px;
}

footer{
	text-align: center;
	padding: 5vh 0;
	background: #000;
	color: #fff;
}

.reveal,
.reveal::after {
  animation-delay: 0;
  animation-delay: var(--animation-delay, 2s);
  animation-iteration-count: 1;
  animation-iteration-count: var(--iterations, 1);
  animation-duration: 800ms;
  animation-duration: var(--duration, 800ms);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.0, 0.0, 2, 1);
}

.reveal {
	animation-name: text;
}

.reveal::after {
	content: "";
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
	animation-name: revealer;
}

@keyframes text {
	from {
		clip-path: inset(0 100% 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}


@keyframes revealer {
	0%, 50% {
		transform-origin: 0 50%;
	}
	60%, 100% {
		transform-origin: 100% 50%;
	}

	60% {
		transform: scaleX(1);
	}
	100% {
		transform: scaleX(0);
	}
}

@media only screen and (min-width: 800px) {
	.container{
		grid-template-columns: repeat(2, 1fr);
	}
	.price{
		align-items: stretch;
	}
	h4.title{
		font-size: 2vw;
	}
}

@media only screen and (max-width: 1200px) {
	h4{
		font-size: 18px;
	}
	.media p{
		font-size: 18px;
		line-height: 24px;
	}
	h4.title{
		font-size: 40px;
	}
}

@media only screen and (max-width: 800px) {
	header {
		padding: 3vh 0 2vh 0;
	}
	.nav p{
		display: none;
	}
	.intro {
		padding: 2vh 0 0 0;
	}
	.hero{
		margin-bottom: 0vh;
		padding-bottom: 0;
	}
	.main{
		width: auto;
		padding: 15px;
	}
	h1 {
		font-size: 10vw;
		line-height: 12vw;
	}
	.container{
		margin-bottom: 5vh;
	}
	.container .card-alt:nth-of-type(1) {
		 order: 2;
	}
	.container .card-alt:nth-of-type(2) {
		 order: 1;
	}

	.branding{
		max-width: 250px;
	}
	.button{
		font-size: 18px;
		padding: 20px 25px;
	}
	h4.title{
		font-size: 27px;
	}

}
