<div class="form-wrapper">
	<h2>Jesus & Burritos</h2>
	<p>Do you think Jesus could microwave a burrito, so hot, that he, himself, could not eat it?</p>
	<form action="">
		<label for="choice-1">
			<input type="radio" id="choice-1" name="choice" value="" />
			<div>
				No. The Lord can do anything.
				<span>Are you sure?</span>
			</div>
		</label>
		
		<label for="choice-2">
			<input type="radio" id="choice-2" name="choice" value="" />
			<div>
				Jesus didn't have microwaves.
				<span>Good point.</span>
			</div>
		</label>
		
		<label for="choice-3">
			<input type="radio" id="choice-3" name="choice" value="" />
			<div>
				He had to wait at least 3 minutes.
				<span>Prove it.</span>
			</div>
		</label>
		
		<label for="choice-4">
			<input type="radio" id="choice-4" name="choice" value="" />
			<div>
				Depends on what kind of drink he has.
				<span>No it doesn't.</span>
			</div>
		</label>
		
		<label for="choice-5">
			<input type="radio" id="choice-5" name="choice" value="" />
			<div>
				Yes. Why was he so special?
				<span>Because he was a Carpenter.</span>
			</div>
		</label>
		<button type="submit">Submit</button>
	</form>
</div> <!-- .form-wrapper -->
$black: #222;
$white: #fff;
$gray: #ccc;
$red: #e74c3c;
$blue: #3498db;
$green: #2ecc71;
$yellow: #f1c40f;
$purple: #9b59b6;
$wetasphalt: #34495e;

html {
	width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 0;
}

body {
	font-size: 16px;
	font-weight: 200;
	background-color: whitesmoke;
	box-sizing: border-box;
	background-image: url('https://images.unsplash.com/photo-1447433819943-74a20887a81e');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	
	&:before {
		position: absolute;
		content: '';
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba($white,0.5);
	}
}

.form-wrapper {
	position: relative;
	display: block;
	width: 400px;
	//height: auto;
	margin: 100px auto;
	padding: 40px;
	border-radius: 5px;
	background-color: rgba($white,0.95);
	box-shadow: 0 0 45px rgba(0,0,0,0.5);
	
	h2 {
	}
	
	p {
		font-size: 14px;
		line-height: 1.75;
	}
	
	form {
		position: relative;
		display: block;
		margin: 0;
		padding: 20px 0;
		border-top: 1px solid lighten($gray,10%);
		
		label {
			position: relative;
			display: block;
			width: 100%;
			margin: 2px 0 0;
			padding: 10px 0;
			
			input[type="radio"] {
				position: relative;
				display: inline-block;
				margin-top: 3px;
				margin-right: 15px;
				font-size: 12px;
				float: left;
				z-index: 1;

				&:checked + div span {
					position: absolute;
					display: inline-block;
					left: 100%;
					top: -5px;
					margin: 0 0 0 20px;
					padding: 8px 15px;
					font-size: 12px;
					font-weight: 400;
					color: $white;
					text-align: center;
					white-space: nowrap;
					background-color: rgba($black,0.9);
					border-radius: 4px;
					box-shadow: 0 0 10px rgba($black,0.2);
					clear: both;
					visibility: visible;
					transform: translateX(0px);
					transition: transform 200ms ease;

					&:before {
						position: absolute;
						content: '';
						top: 4px;
						left: -1px;
						border-top: 8px solid transparent;
						border-right: 8px solid transparent;
						border-bottom: 8px solid rgba($black,0.9);
						transform: rotate(45deg);
					}
				}
			}
			
			div {
				position: relative;
				display: inline-block;
				
				span {
					position: absolute;
					visibility: hidden;
					transform: translateX(-10px);
					transition: transform 200ms ease;
				}
			}
			
			&:nth-of-type(1) {
				
				input[type="radio"]:checked + div span {
					background-color: $green;
					
					&:before {
						border-top: 8px solid transparent;
						border-right: 8px solid transparent;
						border-bottom: 8px solid rgba($green,0.9);
					}
				}
			}
			
			&:nth-of-type(2) {
				
				input[type="radio"]:checked + div span {
					background-color: $blue;
					
					&:before {
						border-top: 8px solid transparent;
						border-right: 8px solid transparent;
						border-bottom: 8px solid rgba($blue,0.9);
					}
				}
			}
			
			&:nth-of-type(3) {
				
				input[type="radio"]:checked + div span {
					background-color: $yellow;
					
					&:before {
						border-top: 8px solid transparent;
						border-right: 8px solid transparent;
						border-bottom: 8px solid rgba($yellow,0.9);
					}
				}
			}
			
			&:nth-of-type(4) {
				
				input[type="radio"]:checked + div span {
					background-color: $purple;
					
					&:before {
						border-top: 8px solid transparent;
						border-right: 8px solid transparent;
						border-bottom: 8px solid rgba($purple,0.9);
					}
				}
			}
			
			&:nth-of-type(5) {
				
				input[type="radio"]:checked + div span {
					background-color: $red;
					
					&:before {
						border-top: 8px solid transparent;
						border-right: 8px solid transparent;
						border-bottom: 8px solid rgba($red,0.9);
					}
				}
			}
		}
		
		button {
			position: relative;
			display: block;
			margin: 40px auto 0;
			padding: 10px 20px;
			font-size: 14px;
			font-weight: 100;
			//text-transform: uppercase;
			letter-spacing: 1px;
			color: $white;
			border: none;
			border-radius: 5px;
			background-color: $gray;
			z-index: 0;
			
			&:before {
				position: absolute;
				content: '';
				bottom: 0;
				left: 0;
				width: 100%;
				height: 0;
				background-color: $purple;
				border-radius: 5px;
				transition: height, 250ms ease;
				z-index: -1;
			}
			
			&:hover {
				box-shadow: 0 0 10px rgba($black,0.3);
				
				&:before {
					height: 100%;
				}
			}
		}
	}
}
View Compiled
// I only dabble in JavaScript when I need to.

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.