header .gradient {
	background: linear-gradient(to bottom, rgba(30,31,33,0.6) 0%, rgba(30,31,33,0) 100%);
}

/* =============
    Skip header
   ============= */

.header.skip {
	display: block;
	position: absolute;
	background: rgba(0, 0, 0, 0.25);
	height: 56px;
	width: 100%;
	z-index: 10;
}

.header .skip-text {
	position: absolute;
	color: white;
	line-height: 56px;
	right: 0px;
	padding: 0 24px;
	font-weight: 500;
	font-size: 100%;
}

.header .skip-text::after {
	content: '';
	display: inline-block;
	position: relative;
	transform: rotate(45deg);
	height: 0.4em;
	width: 0.4em;
	border-top: 0.2em solid white;
	border-right: 0.2em solid white;
	margin-left: 0.3em;
}

/* ======
    Hero
   ====== */

.hero {
	height: 60vh;
	overflow: hidden;
	box-sizing: border-box;
	padding-bottom: 120px;
}

.hero.premium-channel {
	height: auto;
}

.hero .background {
	background-color: black;
}

.hero .background::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 10vh;
	background: linear-gradient(to bottom, rgba(33, 34, 37, 0) 0%, rgba(33, 34, 37, 0.7) 100%);
	z-index: 9;
}

.hero.premium-channel .background img {
	opacity: 0.6;
}

.single-button .hero {
	padding-bottom: 0;
}

.hero .background img {
	min-width: 100%;
	min-height: 100%;
	max-width: 200%;
}

.hero .content-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	width: 100%;
	z-index: 10;
	box-sizing: border-box;
}

.hero .tagline .icon {
	display: none;
}

.hero .icon img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 22%;
	box-sizing: border-box;
}

.hero .tagline .icon img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 22%;
	box-sizing: border-box;
	/*
	animation-name: rocket;
	animation-duration: 1s;
	animation-delay: 0.6s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	*/
}

@keyframes rocket {
	0%   {top: 0%; left: 0%;}
	60%  {top: -80%; left: 80%;}
	61%  {top: -80%; left: 200%;}
	62%  {top: 80%; left: 200%;}
	63%  {top: 80%; left: -80%;}
	100% {top: 0; left: 0;}
}

/* ===================
    Dual Subscription
   =================== */

.dual-sub {
	display: flex;
	flex-grow: 1;
	flex-shrink: 0;
	position: relative;
	z-index: 20;
	width: 70%;
}

.dual-sub > div {
	display: flex;
	width: 50%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 5vh 0 4vh 0;
}

.dual-sub > div:first-child {
	border-right: 2px solid rgba(255,255,255, 0.3);
}

.dual-sub .premium .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 14vh;
	width: 14vh;
	margin-bottom: 4vh;
	flex-shrink: 0;
	border-radius: 100%;
	background: rgba(0,0,0, 0.2);
}

.dual-sub .premium .icon img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 20%;
	box-sizing: border-box;
}

.dual-sub .channel-description {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	height: 14vh;
	justify-content: center;
	align-items: center;
	margin-bottom: 4vh;
}

.dual-sub .channel-description .logo {
	height: 10vh;
}

.dual-sub .channel-description p {
	max-width: 300px;
	line-height: 1.4em;
	opacity: 0.9;
}

.dual-sub .title {
	font-size: 3vh;
	font-weight: 600;
	text-align: center;
	margin-bottom: 10px;
}

.dual-sub .label {
	font-size: 2.5vh;
	opacity: 0.9;
	white-space: nowrap;
}

/* =========
    Tagline
   ========= */

.hero .tagline {
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
	position: relative;
	height: auto;
}

.header.skip + .content-wrapper .tagline {
	margin-bottom: -28px;
}

.hero.premium-channel .tagline {
	flex-grow: 0;
	padding: 6vh 0 8vh 0;
}

.hero .tagline h1 div {
	display: inline-block;
	position: relative;
	
}

.hero .tagline .first-line {
	font-size: 10vh;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin-bottom: 2vh;
}

.hero.premium-channel .tagline .first-line {
	font-size: 7vh;
}

.hero .tagline .second-line {
	font-size: 5.5vh;
	font-weight: 400;
	letter-spacing: -0.02em;
}

.hero.premium-channel .tagline .second-line {
	font-size: 3vh;
	opacity: 0.9;
}

/* Add blue blur behind white text for increased readability after hero image loads */

.tagline h1 div::after,
.tagline h1 div::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.tagline .first-line::before,
.tagline .first-line span,
.tagline .second-line::before,
.tagline .second-line span {
	filter: blur(0px);
	text-shadow: 0 0 0 #0a6baf;
	transition: filter 0.6s, text-shadow 0.6s;
}

.hero.loaded .tagline .first-line::before,
.hero.loaded .tagline .first-line span {
	filter: blur(30px);
	text-shadow: 0 0 10px #0a6baf;
}

.hero.loaded .tagline .second-line::before,
.hero.loaded .tagline .second-line span {
	filter: blur(20px);
	text-shadow: 0 0 10px #0a6baf;
}

.hero.loaded .tagline h1 div::before,
.hero.loaded  .tagline h1 span {
	color: #0a6baf;
}

.hero.loaded .tagline .first-line::before,
.hero.loaded .tagline .first-line::after {
	content: attr(data-content);
}

.hero.loaded .tagline .second-line::before,
.hero.loaded .tagline .second-line::after {
	content: attr(data-content);
}

.hero.premium-channel .tagline .first-line::before,
.hero.premium-channel .tagline .first-line::after,
.hero.premium-channel .tagline .second-line::before,
.hero.premium-channel .tagline .second-line::after {
	content: '';
}

.hero.premium-channel span {
	filter: blur(0px) !important;
	text-shadow: none !important;
	color: white  !important;
}

/* =============
    Hero Button
   ============= */

.button-wrapper {
	display: none;
	margin-bottom: 8vh;
	position: relative;
	z-index: 10;
}

.single-button .button-wrapper {
	display: block;
}

.hero-button {
	display: block;
	position: relative;
	width: 50vh;
	box-sizing: border-box;
	text-transform: uppercase;
	color: white;
	border: none;
	border-radius: 100px;
	font-size: 3vh;
	font-weight: 700;
	text-align: center;
	text-shadow: 0 1px rgba(0,0,0, 0.15);
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	background: none;
	padding: 0;
 	outline: none;
 	box-shadow: 0 0 0 0 rgba(0,0,0, 0);
 	transition: box-shadow 0.2s ease-out;
}

.hero-button .face {
	display: block;
	position: relative;
	margin: 0;
	box-sizing: border-box;
	border-radius: inherit;
	width: inherit;
	top: 0;
	left: 0;
	background: linear-gradient(to bottom, #6da43c 0%, #639a36 100%);
	z-index: 20;
	box-shadow: inset 0 1px 0 1px rgba(255,255,255, 0.15);
	transition: top 0.05s linear;
}

.hero-button .icon {
	display: none;
}

.hero-button .label {
	display: inline-block;
	position: relative;
	padding: 3.6vh 0 3.4vh 0;
}

.hero-button .face::after {
	content: '';
	display: inline-block;
	position: relative;
	transform: rotate(45deg);
	height: 1.3vh;
	width: 1.3vh;
	top: -0.3vh;
	border-top: 0.5vh solid white;
	border-right: 0.5vh solid white;
}

.hero-button::after {
	content: '';
	display: block;
	position: absolute;
	border-radius: inherit;
	width: inherit;
	height: 100%;
	top: 0.6vh;
	left: 0;
	background: #598731;
	box-shadow: 0 10px 60px rgba(0,0,0, 0.15);
	z-index: 10;
}

.hero-button:hover .face,
.hero-button:focus .face {
	top: -0.3vh;
	box-shadow: inset 0 0 1px 1px rgba(255,255,255, 0.1);
}

.hero-button:active .face {
	top: 0.3vh;
}

.content-wrapper .disclaimer {
    font-size: 1.7vh;
    text-align: center;
    opacity: 0.9;
	line-height: 1.3em;
	z-index: 10;
	margin-bottom: 1.8vh;
}

/* =====================
    Product Info Layout
   ===================== */

.product-info {
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
	align-items: center;
	background: #f6f6f6;
	cursor: default;
}

.product-info .feature-lists {
	display: -webkit-flex;
	display: flex;
}

.product-column {
	box-sizing: border-box;
	text-align: center;
}

.premium.product-column {
	background: rgba(255,255,255, 1);
}

.free.product-column {
	background: rgba(255,255,255, 1);
}

.no-commitment {
	margin: 16px 12px 0 12px;
	text-align: center;
	font-size: 120%;
	color: rgba(0,0,0, 0.5);
	border-radius: 4px;
}

/* ===============
    Product Plans
   =============== */

.products {
	display: flex;
	justify-content: center;
	width: 600px;
	position: relative;
	margin-top: -130px;
	margin-bottom: 36px;
	color: white;
	text-align: center;
	z-index: 20;
}

.single-button .products {
	display: none;
}

.product {
	width: 50%;
	box-sizing: border-box;
	align-self: flex-end;
	background: #3f4042;
	margin: 0 12px;
	border-radius: 4px;
	overflow: hidden;
}

.product.raised {
	box-shadow: 0 0 20px 0 rgba(0,0,0, 0.2);
}

.product.subscribed,
.product.disabled {
	cursor: default;
}

.product .title {
	background: rgba(255,255,255, 0.05);
	padding: 15px;
	font-size: 120%;
	font-weight: 600;
	box-shadow: 0 1px 0 0 rgba(0,0,0, 0.06);
}

.product.raised .title {
	background: #fd3e3e;
}

.product.raised .title .second {
	color: #36373a;
	font-weight: 700;
	margin-top: 12px;
	text-transform: uppercase;
}

.product .details {
	display: flex;
	flex-direction: column;
	padding: 22px 0 23px 0;
}

.product .details .first {
	display: flex;
	align-items: baseline;
	justify-content: center;
}

.product .details .price {
	font-size: 250%;
	font-weight: 600;
}

.product .details .slash {
	margin: 0 3px;
}

.product .details .slash,
.product .details .timeframe {
	font-size: 120%;
}

.product .details .second {
	font-size: 100%;
	opacity: 0.4;
	margin: 14px 8px 0 8px;
	line-height: 140%;
}

.product .button {
	background: #76b640;
	margin: 0;
	border-radius: 3px;
	padding: 20px 0 19px 0;
	margin: 0 12px 12px 12px;
	text-transform: uppercase;
	border-radius: 4px;
	font-size: 130%;
	font-weight: 600;
}

.product.subscribed .button {
	background: rgba(0,0,0, 0.2);
}

.product.disabled .button {
	background: none;
	box-shadow: inset 0 0 0 2px rgba(0,0,0, 0.2);
	color: rgba(255,255,255, 0.6);
}

.price-text {
	margin: 0 16px 20px 16px;
	font-size: 80%;
	opacity: 0.4;
}

/* ===============
    Feature Lists
   =============== */

.features {
	display: inline-block;
	text-align: left;
}

.premium .features {
	margin-left: 100px;
	margin-right: 50px;
}

.free .features {
	margin-left: 50px;
	margin-right: 100px;
}

.features .header {
	padding: 32px 24px 30px 24px;
	border-bottom: 1px solid rgba(0,0,0, 0.1);
	font-size: 125%;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 32px;
	text-align: left;
}

.premium .features .header {
	color: #76b640;
}

.free .features .header {
	color: rgba(0,0,0, 0.5);
}

.feature {
	display: flex;
	align-items: center;
	margin: 32px 10px;
}

.feature .icon {
	flex: none;
	width: 64px;
	height: 64px;
	border-radius: 100%;
	background: rgba(0,0,0, 0.04);
	margin-right: 20px;
}

.feature .icon img {
	width: 100%;
	height: 100%;
	padding: 22%;
	box-sizing: border-box;
}

.feature .title {
	font-size: 150%;
	font-weight: 600;
}

.feature .description {
	font-size: 120%;
	line-height: 130%;
	color: rgba(0,0,0, 0.7);
	margin: 7px 0 6px 0;
}

/* ================
    Girl Hero Test
   ================ */

.girl-hero .content {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 40.5vh;
	width: 100%;
}

.girl-hero .text {
	color: rgba(0,0,0, 0.8);
	z-index: 10;
}

.girl-hero .text h1 {
	font-size: 8vh;
	margin-bottom: 1vh;
}

.girl-hero .text h2 {
	font-size: 4.5vh;
	font-weight: 400;
	margin-bottom: 6vh;
	color: rgba(0,0,0, 0.6);
}

.girl-hero .hero-button .face {
	background: #dd0073;
}

.girl-hero .hero-button::after {
	box-shadow: 0 10px 60px rgba(0,0,0, 0.08);
	background: #9a0050;
}

.girl-hero .image-container {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	height: 100%;
	width: 100%;
	background: #e5e9ec;
}

.girl-hero .premium .feature .icon {
	background: #76b640;
}

.girl-hero .premium .feature .icon img {
	opacity: 0.5;
}

/* ===================
    Hero Bullets Test
   =================== */

body.hero-bullets {
	background: #e5e9ec;
}

.hero-bullets .main-wrapper {
	height: 100vh;
}

.hero-bullets main {
	display: flex;
	align-items: center;
	height: 73vh;
	padding: 0;
}

.hero-bullets .content-container {
	display: flex;
	position: relative;
	width: 100vw;
	justify-content: space-evenly;
}

.hero-bullets .content {
	z-index: 10;
}


.hero-bullets .background {
	position: absolute;
	bottom: 0;
}

.hero-bullets .background img {
	display: block;
	height: auto;
	width: 100%;
}

.hero-bullets h1 {
	font-size: 4.8vw;
	opacity: 0.8;
}

.hero-bullets h2 {
	font-size: 3.4vw;
	font-weight: 400;
	opacity: 0.6;
	margin: 0.9vw 0 4.6vw 0;
}

.hero-bullets .hero-button {
	width: 32vw;
	font-size: 1.9vw;
	text-shadow: 0 1px rgba(0,0,0, 0.2);
}

.hero-bullets .hero-button .label {
	padding: 2.3vw 0;
}

.hero-bullets .hero-button .face {
	background: #dd0073;
	color: white;
}

.hero-bullets .hero-button .face::after {
	height: 0.8vw;
	width: 0.8vw;
	top: -0.1vw;
	border-top: 0.34vw solid white;
	border-right: 0.34vw solid white;
}

.hero-bullets .hero-button::after {
	box-shadow: 0 10px 60px rgba(0,0,0, 0.08);
	background: #9a0050;
	top: 0.4vw;
}

.hero-bullets .line {
	width: 1px;
	height: 26vw;
	background: rgba(0,0,0, 0.1);
	z-index: 10;
}

dl {
	display: flex;
	flex-direction: column;
	margin: 0;
}

dd {
	display: flex;
	align-items: center;
	margin-top: 2vw;
	margin-left: 0;
	z-index: 10;
}

dd:first-child {
	margin-top: 0;
}

dd .icon {
	flex: none;
	width: 5vw;
	height: 5vw;
	border-radius: 100%;
	margin-right: 1.7vw;
	background: rgba(0,0,0, 0.2);
}

dd .icon {
	background: #76b640;
}

dd .icon img {
	width: 100%;
	height: 100%;
	padding: 22%;
	box-sizing: border-box;
	opacity: 0.6;
}

dd .title {
	font-size: 2vw;
	font-weight: 600;
	opacity: 0.8;
}

dd .description {
	font-size: 1.6vw;
	color: rgba(0,0,0, 0.6);
	margin: 0.8vw 0 0.4vw 0;
}

/* ==========================
    Media Query - 1152 Width
   ========================== */

@media only screen and (max-width: 1152px) {
	
	.premium .features {
		margin-left: 40px;
		margin-right: 0;
	}
	
	.free .features {
		margin-left: 0;
		margin-right: 40px;
	}
	
	.product-info {
		padding-bottom: 0;
	}
	
	.product-info .content-wrapper {
		width: 100%;
	}
	
	.product-column {
		width: 50%;
	}
	
	.products {
		margin-top: -74px;
	}
	
	.product .title {
		font-size: 100%;
	}
	
	.product .title .second {
		margin-top: 10px;
	}
	
	.product .details {
		padding: 19px 0 20px 0;
	}
	
	.product .details .price {
		font-size: 220%;
	}
	
	.product .details .second {
    font-size: 90%;
    margin-top: 12px;
	}
	
	.product .button {
		font-size: 110%;
	}
	
	.feature .title {
		font-size: 125%;
	}
	
	.feature .description {
		font-size: 100%;
		margin: 7px 0 3px 0;
	}
}

/* ===========================
    Media Query - Hero Height
   =========================== */

@media only screen and (min-height: 901px) {	
	.hero {
		height: 680px;
	}
	
	.girl-hero .hero {
		height: 60vh;
	}
	
	.girl-hero .hero h1 {
		font-size: 550%;
		margin-bottom: 10px;
	}
	
	.girl-hero .hero h2 {
		font-size: 310%;
		margin-bottom: 70px;
	}
	
	.hero .tagline .icon {
		flex-shrink: 1;
		width: 200px;
		height: 200px;
		margin-bottom: 30px;
		border-radius: 100%;
		background: rgba(0,0,0, 0.3);
		overflow: hidden;
		display: block;
	}
	
	.header.skip + .content-wrapper .tagline .icon {
		margin-top: 30px;
		margin-bottom: 20px;
	}
	
	.hero .tagline .first-line {
		font-size: 500%;
		margin-bottom: 10px;
	}
	
	.hero.premium-channel .tagline {
		padding: 48px 0 56px 0;
	}
	
	.hero.premium-channel .tagline .first-line {
		font-size: 400%;
		margin-bottom: 12px;
	}
	
	.hero .tagline .second-line {
		font-size: 290%;
	}
	
	.hero.premium-channel .tagline .second-line {
		font-size: 165%;
	}
	
	.button-wrapper {
		margin-bottom: 80px;
	}
	
	.hero-button {
	  width: 450px;
	  font-size: 170%;
	}
	
	.hero-button.show-icon .icon {
		margin: 12px;
		width: 67px;
		height: 67px;
	}
	
	.hero-button .label {
		padding: 32px 0 30px 0;
	}

	.hero-button .face::after {
		height: 12px;
		width: 12px;
		top: -2px;
		left: 2px;
		border-top: 4px solid white;
		border-right: 4px solid white;
	}

	.hero-button::after {
		top: 4px;
	}

	.hero-button:hover .face,
	.hero-button:focus .face {
		top: -2px;
	}

	.hero-button:active .face {
		top: 2px;
	}
	
	.content-wrapper .disclaimer {
		font-size: 90%;
		margin-bottom: 16px;
	}
	
	/* ===================
	    Dual Subscription
	   =================== */
	
	.dual-sub {
		width: 60%;
	}
	
	.dual-sub > div {
		padding: 0 16px 6px 16px;
	}
	
	.dual-sub .premium .icon {
		height: 150px;
		margin: 24px 0 28px 0;
	}
	
	.dual-sub .premium .icon {
		width: 150px;
	}
	
	.dual-sub .channel-description {
		height: 150px;
		margin: 24px 0 28px 0;
	}
	
	.dual-sub .channel-description .logo {
		height: 100px;
	}
	
	.dual-sub .channel-description p {
		max-width: 300px;
	}
	
	.dual-sub .title {
		font-size: 180%;
	}
	
	.dual-sub .label {
		font-size: 130%;
	}
	
}

/* ===========================
    Media Query - Max Width
   =========================== */

@media only screen and (min-width: 1921px) {
	
	.hero-bullets .main-wrapper {
		height: 100vh;
		border-right: 1px solid rgba(0,0,0, 0.06);
		border-left: 1px solid rgba(0,0,0, 0.06);
	}
	
	.hero-bullets h1 {
		font-size: 550%;
	}
	
	.hero-bullets h2 {
		font-size: 390%;
		margin: 16px 0 88px 0;
	}
	
	.hero-bullets .hero-button {
		width: 600px;
		font-size: 220%;
	}
	
	.hero-bullets .hero-button::after {
		top: 7px;
	}
	
	.hero-bullets .hero-button .face::after {
		height: 16px;
		width: 16px;
		border-top: 7px solid white;
		border-right: 7px solid white;
		top: -2px;
	}
	
	.hero-bullets .hero-button .label {
		padding: 44px 0;
	}
	
	.hero-bullets .line {
		height: 500px;
	}
	
	dd {
		margin-top: 36px;
	}
	
	dd:first-child {
		margin-top: 0;
	}
	
	dd .icon {
		width: 96px;
		height: 96px;
		margin-right: 32px;
	}
	
	dd .title {
		font-size: 240%;
	}
	
	dd .description {
		font-size: 190%;
		margin: 16px 0 8px 0;
	}
	
}