:root {
	font-family: "Manrope", sans-serif;
	--slider-background: hsl(174, 86%, 45%);
	--full-slider-background: hsl(174, 77%, 80%);
	--dark-text: hsl(227, 35%, 25%);
	--light-text: hsl(226, 100%, 87%);
	--grayish-text: hsl(225, 20%, 60%);
}

body {
	background-image: url("./images/bg-pattern.svg");
	background-repeat: no-repeat;
	background-color: hsl(230, 100%, 99%);
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Sign Up Main Card Body */

#signup-card {
	background-color: hsl(230, 100%, 99%);
	color: hsl(225, 20%, 60%);
	width: 50vw;
	box-shadow: 0 4px 8px 0.2px rgba(0, 0, 0.2, 0.2);
	margin-bottom: 4em;
	border-radius: 10px;
}

#price-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

/* Title */

#title-container {
	text-align: center;
	padding: 100px 0;
	background-image: url("./images/pattern-circles.svg");
	background-repeat: no-repeat;
	background-position: center;
}

#title-container > p {
	font-size: 1em;
	color: var(--grayish-text);
	margin: 0;
	line-height: 45px;
	font-weight: 600;
}

#title-container > p:first-child {
	font-size: 2em;
	color: var(--dark-text);
	font-weight: 800;
}

#title-container > p:nth-child(2),
#title-container > p:nth-child(3) {
	display: inline-block;
}

/* Prices and Pageviews block */

.info-text {
	font-weight: 600;
	font-size: 1rem;
	margin: 1rem 3rem;
}

.info-text.second {
	display: flex;
	align-items: center;
}

.info-text:first-child {
	letter-spacing: 2px;
	font-weight: 700;
}

.info-text.second > p:first-child {
	color: hsl(227, 35%, 25%);
	font-size: 3rem;
	right: 1.3em;
	bottom: 0.5em;
}

/* Range Slider */
.slider-container {
	position: relative;
	flex-basis: 100%;
	margin: 10px 50px;
}

.slider-container .bar {
	position: absolute;
	z-index: 1;
	top: 4px;
	width: 100%;
	height: 10px;
	background-color: hsl(224, 65%, 95%);
	overflow: hidden;
	border-radius: 10px;
}

.slider-container .bar .fill {
	display: block;
	width: 0;
	height: 100%;
	background-color: var(--full-slider-background);
}

.slider-container .range {
	-webkit-appearance: none;
	width: 100%;
	position: relative;
	height: 12px;
	z-index: 2;
	background-color: transparent;
}

.slider-container .range::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 60px;
	height: 60px;
	background-color: var(--slider-background);
	background-image: url("./images/icon-slider.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 2.5em;
	cursor: pointer;
	border-radius: 50%;
}

.slider-container .range::-moz-range-thumb {
	-webkit-appearance: none;
	width: 60px;
	height: 60px;
	background-color: var(--slider-background);
	background-image: url("./images/icon-slider.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 2.5em;
	cursor: pointer;
	border-radius: 50%;
}

.slider-container .range::-webkit-slider-thumb:hover,
.slider-container .range::-webkit-slider-thumb:active {
	box-shadow: 0 0 50px 2.5px hsl(174, 86%, 45%);
}

.slider-container .range::-moz-range-thumb:hover,
.slider-container .range::-moz-range-thumb:active {
	box-shadow: 0 0 50px 2.5px hsl(174, 86%, 45%);
}
/* Toggle Slider */

.switch {
	position: relative;
	display: block;
	width: 50px;
	height: 25px;
}

.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: hsl(223, 50%, 87%);
	transition: 0.4s;
}

.switch input {
	display: none;
}

.slider::before {
	content: "";
	position: absolute;
	height: 18px;
	width: 18px;
	left: 4px;
	bottom: 3.5px;
	transition: 0.4s;
	background-color: white;
}

input:checked + .slider {
	background-color: var(--slider-background);
}

input:checked + .slider::before {
	transform: translateX(25px);
}

.slider.round {
	border-radius: 30px;
}

.slider.round::before {
	border-radius: 50%;
}

#toggle-container {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3.5rem 0;
}
.toggle-text,
.end-text {
	font-size: 1em;
	font-weight: 600;
	margin: 0 1em;
}

.end-text:after {
	content: "25% discount";
	background-color: hsl(14, 92%, 95%);
	color: hsl(15, 100%, 70%);
	font-size: 0.75em;
	font-weight: 700;
	padding: 0.25em 0.75em;
	margin-left: 1em;
	border-radius: 7px;
	position: absolute;
}

/* Trial Box */

#trial-container {
	border-top: 2px solid hsl(224, 65%, 95%);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 3rem;
}

#check-list li {
	list-style-image: url("./images/icon-check.svg");
	padding: 5px 10px;
	font-weight: 600;
	font-size: 0.75em;
}

#trial-btn-container {
	padding-right: 1em;
}

#trial-btn-container > button {
	background-color: hsl(227, 35%, 25%);
	color: hsl(226, 100%, 87%);
	border: 0;
	padding: 15px 50px;
	border-radius: 20px;
	cursor: pointer;
	font-weight: 600;
}

/* Footer */

.attribution {
	font-size: 11px;
	text-align: center;
}
.attribution a {
	color: hsl(228, 45%, 44%);
}

/* Responsive */

@media screen and (max-width: 1024px) {
	.info-text {
		margin: 1rem 1.75rem;
	}
	.end-text:after {
		content: "-25%";
		background-color: hsl(14, 92%, 95%);
		color: hsl(15, 100%, 70%);
		font-size: 0.75em;
		font-weight: 700;
		padding: 0.25em 0.75em;
	}
	#title-container > p {
		margin: 0 1em;
	}
	#title-container > p:first-child {
		font-size: 1.5em;
	}

	#title-container > p:nth-child(2),
	#title-container > p:nth-child(3) {
		line-height: 30px;
	}
}

@media (max-width: 910px) {
	#signup-card {
		width: 85vw;
	}

	#price-container,
	#trial-container {
		flex-direction: column;
	}

	#toggle-container {
		padding: 0 0 2.5rem 0;
	}

	.info-text.first {
		align-self: center;
		padding: 1em 0;
	}
	.info-text.second {
		align-self: center;
	}

	#trial-btn-container > button {
		font-weight: 400;
	}

	.info-text.second {
		order: 3;
		margin-top: 0;
	}
	.slider-container {
		order: 2;
		align-self: stretch;
		margin: 10px 20px;
	}

	.toggle-text,
	.end-text {
		font-size: 0.7em;
	}

	.end-text:after {
		content: "-25%";
		background-color: hsl(14, 92%, 95%);
		color: hsl(15, 100%, 70%);
		font-size: 0.75em;
		font-weight: 700;
		padding: 0.25em 0.5em;
	}

	#title-container > p {
		margin: 0 1em;
	}
	#title-container > p:first-child {
		font-size: 1.5em;
	}

	#title-container > p:nth-child(2),
	#title-container > p:nth-child(3) {
		line-height: 30px;
	}

	#check-list > ul {
		padding: 0;
	}

	#check-list > ul > li {
		text-align: center;
		list-style-position: inside;
	}
}
