@import url(https://fonts.googleapis.com/css?family=Lato:400,300,700,400italic,900);

.site-width {
	display: block;
	margin: 0 auto;
	max-width: 1360px;
	padding: 0 2em;
}
	.site-width::after {
		display: block;
		width: 100%;
		height: 1px;
		content: ' ';
		clear: both;
		float: none;
		margin-top: -1px;
	}

html, body {
	height: 100%;
	color: #232323;
/*	overflow: auto;*/
}

.green {
	color: #00E178;
	font-weight: 600;
}

.advert {
	margin: 20px 0;
	width: 100%;
	/*height: 80px;*/
	background-color: #F7F7F7;
	color: #232323;
	line-height: 80px;
	text-align: center;
	display: block;
}

.panel {
	padding: 0;
	background-color: #F7F7F7;
	border: 1px solid #E8E8E8;
	width: 100%;
	display: block;
	margin: 30px 0;
	padding-bottom: 10px;
}

	.panel h3 {
		height: 50px;
		line-height: 50px;
		background-color: #383B53;
		color: white;
		width: 100%;
		text-align: left;
		margin: 0;
		padding-left: 20px;
		margin-bottom: 20px;
	}

/*	.panel p {
		margin: 10px 20px;
		color: #232323;
	}*/

	.panel table {
		margin: 10px 20px;
		width: calc(100% - 40px);
	}

.panel table thead tr th {
	margin: 5px;
	padding: 5px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	background-color: #E8E8E8;
}

.panel table tbody tr td {
	margin: 5px;
	padding: 5px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	background-color: transparent;
	/*@include media((xs,sm)){
        text-align: left;
      }*/
}

	.panel table tbody tr td.st-key {
		padding: 0;
		font-weight: 400;
		min-width: 100px;
	}

		.panel table tbody tr td.st-key:after {
			content: ': ';
		}

	.panel table tbody tr td.st-val {
		padding: 0 0 0 10px;
		font-weight: 300;
	}

	.panel table tbody tr td.st-key, .panel table tbody tr td.st-val {
		text-align: left;
		vertical-align: top;
	}

.panel table tbody tr th.st-head-row {
	padding-top: 30px;
	padding-bottom: 5px;
	text-align: left;
	font-weight: 600;
	color: #383B53;
}

	.panel form label {
		color: #232323;
	}
	.panel fieldset label {
		color: #FFF;
	}

@media (max-width: 767px) {
	.panel form label {
		font-size: 14px;
	}
}

fieldset {
	display: block;
	background-color: #383B53;
	color: #FFF;
	width: 100%;
	padding: 10px 20px;
	margin: 25px 0;
	border: none;
	border-radius: 4px;
}
	fieldset:after {
		display: block;
		width: 100%;
		height: 1px;
		content: ' ';
		clear: both;
		float: none;
		margin-top: -1px;
	}

	fieldset legend {
		background: #383B53;
		border-radius: 4px;
		padding: 0.5em;
	}

	fieldset label {
		color: white;
		display: block;
		width: 100%;
		min-height: 30px;
		line-height: 30px;
		margin: 10px 0 10px 0;
	}
		main form label {
			height: auto;
			line-height: normal;
		}

form a.button {
	display: inline-block;
	margin: 10px 0 0 0;
	color: #FFF;
	text-decoration: none;
}

form .button,
form button,
form input[type="submit"] {
	background-color: #F33535;
	height: 40px;
	line-height: 40px;
	color: white;
	text-align: center;
	border: none;
	border-radius: 4px;
	width: 100%;
	text-transform: uppercase;
	font-size: 16px;
	cursor: pointer;
}
	form .button:hover,
	form button:hover,
	form input[type="submit"]:hover {
		background-color: #E03232;
		/*background: #bc2929;*/
		text-decoration: none !important;
	}
		form.stripeForm button.stripe-button-el {
			/* Reset Stripe's style: */
			background: none;
			border-radius: 0;
			box-shadow: none;
		}
			form.stripeForm button.stripe-button-el span {
				/* Reset Stripe's style: */
				padding: 0;
				background: none;
				font-weight: normal;
				text-shadow: none;
				box-shadow: none;
				border-radius: 0;
				height: auto;
				line-height: normal;
			}
		/* Copy our PayPal button style to Stripe:  */

		form.stripeForm button.stripe-button-el {
			width: 75%;
			display: inline-block;
			height: 50px;
			line-height: normal !important;
			border-radius: 30px;
			background-color: #0C9AE0;
			color: white;
			font-size: 12px;
			position: relative;

			margin-top: 0;
			margin-bottom: 0.5em; /* spacing after button before paypal */
		}
			form.stripeForm button.stripe-button-el:hover {
				background-color: #E03232;
				text-decoration: none !important;
			}
			form.stripeForm button.stripe-button-el span {
				font-size: 12px;
				min-height: initial !important;
			}

form input[type="text"],
form input[type="tel"],
form input[type="password"] {
	width: 100%;
	display: block;
	color: #232323;
	height: 40px;
	border-radius: 4px;
	line-height: 40px;
	background-color: white;
	border: none;
	-webkit-appearance: none;
	padding: 0 10px;
}

form textarea {
	width: 100%;
	display: block;
	color: #232323;
	height: 120px;
	border-radius: 4px;
	line-height: 40px;
	background-color: white;
	border: none;
	-webkit-appearance: none;
	padding: 0 10px;
}

form select {
	width: 100%;
	height: 40px;
	line-height: 40px;
	color: #232323;
	/*position: absolute;*/
	top: 0;
	left: 0;
	z-index: 10;
	border: none;

	border-radius: 4px;
}

form .input-wrap {
	margin-bottom: 20px;
	width: 66%;
	display: block;
	float: left;
	padding-right: 10px;
}

@media (max-width: 767px) {
	.form .input-wrap,
	form .input-wrap,
	
	.form button,
	.form .button,
	.form input[type=submit] {
		width: 100%;
	}
}

	.input-wrap .under {
		margin-top: 10px !important;
	}

.checkLabel {
	display: block;
	float: left;

	padding: 0 0 0 30px;
	margin: 2px 0 !important;
}
	.checkLabel:hover {
		background: #2E3044;
		cursor: pointer;
	}
	.checkLabel input[type=checkbox],
	.checkLabel input[type=radio] {
		width: 30px;
		margin: 0;
		padding: 0;
		margin-left: -30px;
	}

form .sub {
	float: left;
}

form .check-wrap label {
	width: 100%;
	display: block;
	padding-left: 20px;
	font-size: 11px;
	line-height: 17px;
	margin-bottom: 0;
}

h1 {
	color: #F33535;
	font-size: 30px;
}

h2 {
	color: #F33535;
	font-size: 26px;
	font-weight: bold;
}

h3 {
	font-size: 20px;
	font-weight: bold;
	color: #232323;
}

h4 {
	font-size: 18px;
	font-weight: bold;
	color: #383B53;
}

p {
	font-size: 16px;
	font-weight: 400;
}

@media (max-width: 989px) {
	p {
		font-size: 14px;
	}
}

.description { padding: 1em; }
.social { padding: 1em; border-top: 1px solid #383B53; }

a { text-decoration: none; }

a:link    { color: #F33535; }
a:visited { color: #bc2929; }

	a:link:hover,
	a:visited:hover {
		color: #383B53;
		text-decoration: underline;
	}
   

footer a:link { color: white; }
footer a:visited { color: #FCFCFC; }

footer a:link:hover,
footer a:visited:hover {
	color: white;
	text-decoration: underline;
}

header {
	margin-bottom: 1em;
}

header #main_nav {
	background-color: #F33535;
	height: 50px;
	display: block;
	width: 100%;
}

@media (max-width: 767px) {
	header #main_nav {
		position: fixed;
		top: 75px;
		overflow: hidden;
		display: block;
		z-index: 200;
		height: 0;
		background-color: #E03232;
	}

		header #main_nav.open {
			height: auto;
		}

		header #main_nav .site-width {
			padding: 0;
		}

			header #main_nav .site-width:after {
				content: '';
				display: none;
			}
}

header #main_nav nav {
	display: block;
	float: left;
}

@media (max-width: 767px) {
	header #main_nav nav {
		width: 100%;
	}
}

header #main_nav nav ul {
	display: block;
	margin: 0;
	padding: 0;
}

	header #main_nav nav ul li {
		display: block;
		color: #FFF;
		margin: 0;
		padding: 0;
		float: left;
	}

@media (max-width: 767px) {
	header #main_nav nav ul li {
		width: 100%;
		display: block;
		border-bottom: 2px solid #c21d1d;
	}
}

header #main_nav nav ul li:hover {
	background-color: #E03232;
}

	header #main_nav nav ul li:hover .sub-nav {
		display: block;
	}

@media (max-width: 767px) {
	header #main_nav nav ul li:hover .sub-nav {
		display: none !important; /* Always hide the subnav when using compact navigation */
	}
}

header #main_nav nav ul li a {
	height: 50px;
	line-height: 50px;
	color: white;
	display: block;
	text-align: center;
	padding: 0 1em;
}

	header #main_nav nav ul li a:hover {
		text-decoration: none;
	}

header #main_nav .sub-nav {
	width: 200px;
	display: none;
	padding: 0;
	margin: 0;
	z-index: 80;
	position: absolute;
}

	header #main_nav .sub-nav li {
		height: 50px;
		background-color: #383B53;
		width: 100%;
		display: block;
	}

		header #main_nav .sub-nav li:hover {
			background-color: #2E3044;
		}

		header #main_nav .sub-nav li a {
			width: 100%;
			height: 50px;
			line-height: 50px;
			color: white;
			padding: 0 20px;
			text-align: left;
		}

header #main_nav .login {
	padding-left: 40px;
	padding-right: 30px;
	height: 50px;
	line-height: 50px;
	display: block;
	float: right;
	text-align: center;
	color: white;
	position: relative;
	position: relative;
	width: auto;
	max-width: 35%;
}

	header #main_nav .login:before {
		content: ' ';
		display: block;
		background-repeat: no-repeat;
		background-image: url("Profile-White.svg");
		position: absolute;
		left: 0;
		margin: 15px 5px;
		width: 22px;
		height: 20px;
	}

	header #main_nav .login:after {
		content: ' ';
		display: block;
		background-repeat: no-repeat;
		background-image: url("arrow.svg");
		position: absolute;
		right: 0;
		top: 6px;
		margin: 16px 5px;
		width: 14px;
		height: 9px;
	}

@media (max-width: 767px) {
	header #main_nav .login {
		display: none;
	}
}

header #main_nav .login:hover {
	background-color: #2E3044;
}

	header #main_nav .login:hover .sub-nav {
		display: block;
	}

header #main_nav .login .sub-nav {
	background-color: #2E3044;
	width: 300px;
	right: 0;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

	header #main_nav .login .sub-nav form {
		margin: 0;
		background-color: transparent;
		padding: 0;
	}

		header #main_nav .login .sub-nav form .input-wrap {
			position: relative;
			height: 50px;
			margin: 0;
		}

		header #main_nav .login .sub-nav form label {
			height: 50px;
			line-height: 50px;
			position: absolute;
			top: 0;
			left: 0;
			width: 90px;
			z-index: 200;
			display: block;
			margin: 0;
			text-align: left;
			padding-left: 10px;

			background: #2E3044;
		}

		header #main_nav .login .sub-nav form input {
			position: absolute;
			top: 0;
			left: 0;
			padding-left: 95px;
			width: 100%;
			height: 50px;
			background-color: transparent;
			border-radius: 0;
			color: white;
			font-size: 16px;
		}

		header #main_nav .login .sub-nav form button {
			margin: 0;
			height: 50px;
			line-height: 50px;
			border-radius: 0;
			cursor: pointer;
		}

			header #main_nav .login .sub-nav form button:hover {
				background-color: #E03232;
			}
			header #main_nav .login .sub-nav .input-wrap {
				width: 100%;
			}
			header #main_nav .login .sub-nav .submit-wrap {
				margin: 0 !important;
				float: none;
				width: 100%;
				padding: 0;
			}

	header #main_nav .login .sub-nav .account-links {
		display: block;
		float: left;
		width: 50%;
		height: 50px;
		line-height: 50px;
		color: white;
		background-color: #2E3044;
	}

		header #main_nav .login .sub-nav .account-links.full {
			width: 100%;
			text-align: left;
			position: relative;
			padding-left: 20px;
		}

		header #main_nav .login .sub-nav .account-links:hover {
			background-color: #E03232;
		}
			header #main_nav .login .sub-nav  a:hover {
				text-decoration: none !important;
			}

		header #main_nav .login .sub-nav .account-links.account {
			position: relative;
		}

			header #main_nav .login .sub-nav .account-links.account:before {
				content: ' ';
				display: block;
				background-repeat: no-repeat;
				background-image: url("Profile-White.svg");
				display: inline-block;
				position: relative;
				top: 6px;
				left: -5px;
				margin: 0;
				width: 25px;
				height: 25px;
			}

		header #main_nav .login .sub-nav .account-links.credits {
			position: relative;
		}

			header #main_nav .login .sub-nav .account-links.credits:before {
				content: ' ';
				display: block;
				background-repeat: no-repeat;
				background-image: url("Phone-White.svg");
				display: inline-block;
				position: relative;
				top: 6px;
				left: -5px;
				margin: 0;
				width: 25px;
				height: 25px;
			}

		header #main_nav .login .sub-nav .account-links.logout {
			position: relative;
		}

			header #main_nav .login .sub-nav .account-links.logout:before {
				content: ' ';
				display: block;
				background-repeat: no-repeat;
				background-image: url("Logout.svg");
				display: inline-block;
				position: relative;
				top: 13px;
				left: -2px;
				margin: 0;
				width: 25px;
				height: 25px;
			}

		header #main_nav .login .sub-nav .account-links span {
			font-size: 10px;
			text-align: right;
			position: absolute;
			right: 20px;
		}

header #logo {
	width: 100%;
	display: block;
	padding: 20px 10px;
}

@media (max-width: 767px) {
	header #logo {
		padding: 0;
		height: auto;
	}

		header #logo .site-width {
			padding: 0;
			margin: 0;
		}
}

header #logo .logo {
	display: block;
	float: left;
	width: 25%;
	height: 80px;
	background-color: transparent;
	color: #232323;
	line-height: 80px;
	text-align: center;
}

@media (max-width: 767px) {
	header #logo .logo {
		width: 100%;
		display: block;
		clear: both;
		background-color: #F33535;
		height: 75px;
		padding: 15px;
		position: fixed;
		top: 0;
		width: 100%;
		left: 0;
		z-index: 100;
		border-bottom: 5px solid #e70e0e;
	}
}

header #logo .logo img {
	max-height: 80px;
	height: 100%;
	float: left;
}

@media (max-width: 767px) {
	header #logo .logo img {
		max-height: 50px;
	}
}

header #logo #nav-toggle {
	display: none;
}

@media (max-width: 767px) {
	header #logo #nav-toggle {
		font-size: 45px;
		display: block;
		float: right;
		height: 50px;
		line-height: 50px;
		position: relative;
		top: -5px;
		color: white;
	}

		header #logo #nav-toggle:hover {
			text-decoration: none;
		}
}

header #logo .advert {
	width: 70%;
	float: left;
	margin: 0;
}

@media (max-width: 767px) {
	header #logo .advert {
		width: 100%;
		display: block;
		clear: both;
	}
}

header #hero {
	display: block;
	width: 100%;

	padding: 10px;

	background-color: #383B53;
	background-position: center top;
	background-size: cover;
	background-image: url("hero.jpg");
}
	header #hero.steps p {
		margin: 0;
	}
	
	header #hero p.under {
		text-shadow: 0px 0px 10px #000;
		color: #FFF;
	}

	#hero a:link,
	#hero a:visited {
		color: #F33535;
	}

		#hero a:link:hover,
		#hero a:visited:hover {
			color: #FFF;
		}

@media (max-width: 989px) {
	header #hero {
		height: auto;
		padding: 30px 0;
	}
}

header #hero .site-width {
	position: relative;
	z-index: 50;
}

header #hero .title h1 {
	color: white;
	text-align: center;
	font-size: 28px;
}

header #hero .heroBody {
	width: 100%;
	display: block;
	padding: 0 90px;
	margin: 0 auto;
	max-width: 1360px;
}

@media (max-width: 767px) {
	header #hero .heroBody {
		padding: 0 5%;
	}
}

	header #hero .heroBody .input-wrap {
		width: 33%;
		display: block;
		float: left;
		padding: 0 20px;
	}

		header #hero .heroBody .input-wrap label {
			width: 100%;
			display: block;
			color: white;
			height: 40px;
			line-height: 40px;
			text-align: center;
		}

			header #hero .heroBody .input-wrap label span {
				font-size: 10px;
				display: inline-block;
				height: 18px;
				width: 18px;
				color: #232323;
				text-align: center;
				line-height: 18px;
				background-color: white;
				border-radius: 10px;
				margin-right: 10px;
				position: relative;
				top: -2px;
				font-weight: bold;
			}

		header #hero .heroBody .input-wrap button {
			background-color: rgba(0, 225, 120, 0.3);
			border: 2px solid #00E178;
			line-height: 36px;
			color: #00E178;
			margin-top: /*40px;*/ 0;
			cursor: pointer;
			position: relative;
		}

			header #hero .heroBody .input-wrap button:before {
				content: ' ';
				display: block;
				background-repeat: no-repeat;
				background-image: url("Phone-White.svg");
				display: inline-block;
				position: relative;
				top: 6px;
				left: -5px;
				margin: 0;
				width: 25px;
				height: 25px;
			}

			header #hero .heroBody .input-wrap button:hover {
				background-color: rgba(224, 50, 50, 0.3);
				border: 2px solid #F33535;
				color: #F33535;
			}

header #hero.credits .no {
	width: 100%;
	height: 25px;
	line-height: 25px;

	display: block;
	text-align: left;

	color: white;
	font-weight: bold;
}

@media (min-width: 768px) and (max-width: 989px) {
	header #hero.credits .no {
		font-size: 11px;
		left: auto;
	}
}

header #hero.credits .no span {
	font-size: 10px;
	display: inline-block;
	height: 18px;
	width: 18px;
	color: #232323;
	text-align: center;
	line-height: 18px;
	background-color: white;
	border-radius: 10px;
	margin-right: 10px;
	position: relative;
	top: -2px;
	font-weight: bold;
}

header #hero.credits .step {
	width: 33%;
	display: block;
	float: left;
	padding-right: 30px;
}

@media (max-width: 767px) {
	header #hero.credits .step {
		/*display: none !important;*/
		float: none;
		width: auto;
	}
}

@media (min-width: 768px) and (max-width: 989px) {
	header #hero.credits .step {
		padding: 0 10px;
	}
}

header #hero.credits .step p {
	color: white;
	margin-top: 5px;
	padding-left: 1.75em;
}

header #hero.credits .button {
	width: 200px;
	margin: 20px auto;
	display: block;
	line-height: 46px;
	clear: both;
	text-align: center;

	background-color: rgba(0, 225, 120, 0.3);
	border: 2px solid #00E178;
	color: #00E178;
	border-radius: 4px;
	cursor: pointer;
}

	header #hero.credits a.button:hover {
		background-color: rgba(224, 50, 50, 0.3);
		border: 2px solid #F33535;
		color: #F33535;
		text-decoration: none;
	}

/*****************************
Call Now hero
*/

#heroAll { display: block; }
#heroDown { display: none; }

@media (max-width: 767px) {
	#hero.callNow .input-wrap {
		width: 100% !important;
		float: none;
		margin-bottom: 0 !important;
	}
	#hero.callNow form {
		padding: 0 !important;
	}

	#hero.callNow .input-wrap label {
		line-height: normal !important;
		padding: 3px !important;
		margin: 0 !important;
		height: auto !important;
		text-align: left !important;
	}

	#hero h1 {
		margin: 1px 1em 1em 1em;
		line-height: normal !important;
	}

	#hero::before {
		display: none !important;
	}

	#heroAll { display: none; }
	#heroDown { display: block; }
}

@media (min-width: 768px) and (max-width: 989px) {
	#hero.callNow div.site-width {
		width: 100%;
	}
	#hero form {
		padding: 0 !important;
	}
}

footer {
	display: block;
	width: 100%;
	background-color: #F33535;
	height: auto;
	clear: both;
	
}

	footer:after {
		display: block;
		width: 100%;
		height: 1px;
		content: ' ';
		clear: both;
		float: none;
		margin-top: -1px;
	}

@media (max-width: 767px) {
	footer .site-width {
		padding: 30px 15px;
	}
}

footer .ulContainer {
	display: block;
	width: 20%;
	float: left;
	padding-left: 2em;
}
	footer .ulContainer ul {
		margin: 0;
		padding: 0;
	}

@media (max-width: 639px) {
	footer .ulContainer {
		width: 50%;
		padding-left: 1em;
	}
}
@media (max-width: 399px) {
	footer .ulContainer {
		padding-left: 0;
	}
}

footer .ulContainer h4 {
	color: white;
	text-transform: capitalize;
	font-size: 14px;
	margin-bottom: 10px;
	letter-spacing: 0.1px;
}

footer ul li {
	color: white;
	font-size: 12px;
	line-height: 25px;
	list-style: none;
	margin: 0;
	font-weight: 300;
	letter-spacing: 0.1px;
}

.post-footer {
	height: 30px;
	background-color: #D92626;
}

	.post-footer .site-width:after {
		content: '';
		display: none;
	}

	.post-footer .sub {
		width: 20%;
		text-align: left;
		float: left;
		display: block;
		font-size: 12px;
		line-height: 30px;
		color: white;
		height: 30px;
		overflow: hidden;
	}

	.post-footer .powered {
		line-height: 30px;
		font-size: 11px;
		opacity: 0.7;
		display: block;
		float: left;
		text-align: center;
		width: 60%;
		height: 30px;
		overflow: hidden;
	}

	.post-footer .links {
		display: block;
		float: right;
		text-align: right;
		width: 20%;
		font-size: 12px;
		line-height: 30px;
		color: white;
		height: 30px;
		overflow: hidden;
	}

		.post-footer .links a {
			display: inline-block;
			font-size: 12px;
			line-height: 30px;
			color: white;
			margin: 0 10px;
		}

/**********************************
Per-page styling:
*/

.accounts.password form:after {
	display: block;
	width: 100%;
	height: 1px;
	content: ' ';
	clear: both;
	float: none;
	margin-top: -1px;
}

form .submit-wrap {
	width: 33%;
	padding-left: 10px;
	display: block;
	float: right;
	margin-top: 50px;
}
	form .submit-wrap.prominent {
		width: 66%;
		padding: 10px;
		margin: 10px auto 10px auto;
		float: none;
		clear: both;
	}
@media (max-width: 767px) {
	form .submit-wrap {
		width: 100%;
		padding: 0;
		margin: auto;
	}
		form .submit-wrap.prominent {
			width: 100%;
			padding: 0;
		}
}

form a:link:hover,
form a:visited:hover {
	color: #FFF;
}

.view .call-wrapper {
	width: 100%;
}

	.view .call-wrapper:after {
		display: block;
		width: 100%;
		height: 1px;
		content: ' ';
		clear: both;
		float: none;
		margin-top: -1px;
	}

	.view .call-wrapper .call.panel {
		width: 30%;
		float: left;
		display: block;
		/*height: 560px;*/
	}

@media (max-width: 767px) {
	.view .call-wrapper .call.panel {
		height: auto;
		width: 100%;
		text-align: center;
	}
}

.view .call-wrapper .call.panel h3 {
	width: 100%;
	position: relative;
}

.view .call-wrapper .send.panel {
	width: calc(70% - 40px);
	margin-left: 40px;
	float: left;
	display: block;
	/*height: 560px;*/
}

@media (max-width: 767px) {
	.view .call-wrapper .send.panel {
		width: 100%;
		height: auto;
		margin: 0 0 30px 0;
	}
}

.view .call-wrapper .send.panel h2,
.view .call-wrapper .send.panel p {
	text-align: center;
}

.view .call-wrapper .send.panel h4 {
	text-align: center;
	margin-bottom: 0;
}

@media (max-width: 410px) {

}

form p {
	text-align: left;
	margin: 20px 5px;
}

	form p.tool-tip {
		text-align: center;
		margin: 5px 0;
	}

.view .call-wrapper .send.panel form button {
	margin-top: 0;
	cursor: pointer;
	position: relative;
}

	.view .call-wrapper .send.panel form button:before {
		content: ' ';
		display: block;
		background-repeat: no-repeat;
		background-image: url("Phone-White.svg");
		display: inline-block;
		position: relative;
		top: 6px;
		left: -5px;
		margin: 0;
		width: 25px;
		height: 25px;
	}

.view .post.panel {
	margin-top: 0;
}

.pre-content h2 {
	text-align: center;
	color: #F33535;
	font-size: 20px;
	margin: 50px 0;
	font-weight: bold;
}

.left-col {
	width: 25%;
	display: block;
	float: left;
	padding-right: 30px;
}

	.left-col:after {
		display: block;
		width: 100%;
		height: 1px;
		content: ' ';
		clear: both;
		float: none;
		margin-top: -1px;
	}

	.left-col nav {
		display: block;
		width: 100%;
	}
	
@media (max-width: 767px) {
	.left-col {
		width: 100%;
		padding-right: 0;
	}
	.left-col nav {
		max-width: 400px;
		margin: 0 auto;
	}
}

.left-col nav span {
	background-color: #F33535;
	height: 50px;
	width: 100%;
	display: block;
	line-height: 50px;
	color: white;
	margin-bottom: 10px;
	padding: 0 10px;
	border-radius: 4px;
}

.left-col nav ul {
	padding: 0;
	margin: 0;
	display: block;
	width: 100%;
}

	.left-col nav ul li {
		width: 100%;
		height: 50px;
		list-style: none;
		padding: 0 10px;
		background-color: #383B53;
		line-height: 50px;
		color: white;
	}

		.left-col nav ul li.current {
			background-color: #2E3044;
		}

		.left-col nav ul li:hover {
			color: #E03232;
			background-color: #2E3044;
			text-decoration: none;
		}

		.left-col nav ul li a {
			line-height: 50px;
			color: white;
			width: 100%;
			display: block;
			height: 50px;
		}
			.left-col nav ul li:hover a {
				color: white;
				text-decoration: none;
			}

.right-col {
	width: 75%;
	display: block;
	float: left;
	padding-bottom: 20px;
}

@media (max-width: 767px) {
	.right-col {
		width: 100%;
		margin-top: 30px;
	}
}

.right-col:after {
	display: block;
	width: 100%;
	height: 1px;
	content: ' ';
	clear: both;
	float: none;
	margin-top: -1px;
}

.right-col .calls:after {
	display: block;
	width: 100%;
	height: 1px;
	content: ' ';
	clear: both;
	float: none;
	margin-top: -1px;
}

.post-content {
	width: 100%;
	display: block;
	clear: both;
	float: none;
	margin-top: 5em;
}

	.post-content div.site-width {
		width: 100% !important;
	}

	.post-content .comedy-count {
		text-align: center;
		color: #232323;
		font-weight: 600;
		font-size: 18px;
		line-height: 20px;
		padding: 10px;
		margin-bottom: 20px;
	}

		.post-content .comedy-count span {
			line-height: 22px;
			height: 26px;
			display: inline-block;
			border-radius: 5px;
			background-color: #232323;
			margin: 0 5px;
			padding: 2px 5px 2px 8px;
			color: white;
			letter-spacing: 5px;
		}

.pages {
	
}

	.pages h1:first-child, .pages h2:first-child, .pages h3:first-child, .pages h4:first-child, .pages h5:first-child, .pages p:first-child {
		margin-top: 0;
	}

	.pages h1:last-child, .pages h2:last-child, .pages h3:last-child, .pages h4:last-child, .pages h5:last-child, .pages p:last-child {
		margin-bottom: 0;
	}

	.pages.dnc form:after {
		display: block;
		width: 100%;
		height: 1px;
		content: ' ';
		clear: both;
		float: none;
		margin-top: -1px;
	}

	.pages.dnc form .input-wrap {
		width: 33%;
		display: block;
		float: left;
		padding: 0 20px;
	}

@media (max-width: 767px) {
	.pages.dnc form .input-wrap {
		width: 100%;
	}
}

.faq .q {
	background-color: #F33535;
	padding: 0.5em;
}
	.faq .q h3 {
		color: #FFF;
		font-size: 20px;
	}
	.faq .a {
		padding: 1em;
	}

.pages.credits h2 {
	text-align: center;
}

.credit-wrapper {
	width: 100%;
	padding: 0 100px;
	padding: 0;
}

	.credit-wrapper:after {
		display: block;
		width: 100%;
		height: 1px;
		content: ' ';
		clear: both;
		float: none;
		margin-top: -1px;
	}

	.credit-wrapper .free {
		width: 50%;
		padding-right: 20px;
		display: block;
		float: left;
	}

@media (max-width: 767px) {
	.credit-wrapper .free {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		float: none;
		max-width: 400px;
		margin-bottom: 30px;
	}
}

.credit-wrapper .free h3 {
	display: block;
	width: 100%;
	line-height: 50px;
	height: 50px;
	background-color: #6D6D6D;
	color: white;
	text-align: center;
	margin: 0;
}

.credit-wrapper .free ul {
	display: table;
	width: 100%;
	border: 1px solid #E8E8E8;
	border-top: none;
	padding: 0 20px;
	background-color: #F7F7F7;
	margin: 0;
}

	.credit-wrapper .free ul li {
		list-style: none;
		font-size: 12px;
	}

.credit-wrapper .premium {
	width: 50%;
	display: block;
	float: left;
	padding-left: 20px;
}

@media (max-width: 767px) {
	.credit-wrapper .premium {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		float: none;
		max-width: 400px;
	}
}

.credit-wrapper .premium h3 {
	display: block;
	width: 100%;
	line-height: 50px;
	height: 50px;
	background-color: #F33535;
	color: white;
	text-align: center;
	margin: 0;
}

.credit-wrapper .premium ul {
	display: table;
	width: 100%;
	border: 1px solid #E8E8E8;
	border-top: none;
	background-color: #F7F7F7;
	padding: 0 20px;
	margin: 0;
}

	.credit-wrapper .premium ul li {
		list-style: none;
		font-size: 12px;
	}

.credit-wrapper .yes {
	background-image: url("Tick.svg");
}

.credit-wrapper .no {
	background-image: url("Cross.svg");
}

.credit-wrapper .yes, .credit-wrapper .no {
	background-repeat: no-repeat;
	background-size: auto;
	background-position: right;
	vertical-align: middle;
	display: table-row;
}

	.credit-wrapper .yes span, .credit-wrapper .no span {
		display: table-cell;
		height: 50px;
		width: 100%;
		line-height: 20px;
		vertical-align: middle;
		padding-right: 50px;
	}

.package-wrapper {
	display: block;
	width: 100%;
	text-align: center;
}

@media (max-width: 767px) {
	.package-wrapper {
		max-width: 400px;
		margin: 0 auto;
	}
}

.package-wrapper:after {
	display: block;
	width: 100%;
	height: 1px;
	content: ' ';
	clear: both;
	float: none;
	margin-top: -1px;
}

.package-wrapper .package {
	width: calc(25% - 30px);
	display: inline-block;
	/*float: left;*/
	margin: 20px;
	text-align: center;
	background-color: #F7F7F7;
	border: 1px solid #E8E8E8;
	border-top: none;
}

@media (max-width: 767px) {
	.package-wrapper .package {
		width: calc(50% - 15px);
		margin: 0;
		margin-right: 30px;
		margin-top: 30px;
	}
}

.package-wrapper .package:first-child {
	margin-left: 0;
}

@media (max-width: 767px) {
	.package-wrapper .package:nth-child(2) {
		margin-right: 0;
	}
}

.package-wrapper .package:last-child {
	margin-right: 0;
}

.package-wrapper .package h3 {
	width: 100%;
	display: block;
	height: 50px;
	line-height: 50px;
	text-align: center;
	color: white;
	background-color: #00D06F;
	margin-bottom: 10px;
}

.package-wrapper .package h4 {
	font-size: 16px;
	margin-top: 10px;
}

.package-wrapper .package > span,
.paypalButtonForm button {
	width: 75%;
	display: inline-block;
	height: 50px;
	line-height: normal !important;
	border-radius: 30px;
	background-color: #0C9AE0;
	color: white;
	font-size: 12px;
	position: relative;

	margin-top: 0;
}

	.package-wrapper .package > span:after,
	.paypalButtonForm button:after {
		content: ' ';
		/*display: block;*/
		background-repeat: no-repeat;
		background-image: url("Paypal.svg");
		display: inline-block;
		/*position: relative;
		top: 15px;
		left: 4px;
		margin: 0;
		width: 52px;
		height: 25px;*/
	}

.package-wrapper .package p {
	color: #6D6D6D;
	font-size: 12px;
	margin-bottom: 10px;
	margin-top: 20px;
}

* {
	box-sizing: border-box;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
}

body {
	background-color: white;
	padding: 0;
	margin: 0;
}

@media (max-width: 767px) {
	/* Make room for top nav */
	body {
		margin-top: 75px;
	}
}

/*******************************
My hacks on-top:
*/

.callScheduleWrap input,
.callScheduleWrap select {
	width: auto !important;
	display: inline !important;
}

.activeTabFadeIn {
	animation: front_tabPage_fadeIn 400ms;
}

@keyframes front_tabPage_fadeIn {
	0% {
		display: block;
		opacity: 0;
	}
	100% {
		opacity: 1.0;
	}
}

img.lazy {
	transition: opacity 500ms;
}

.lazyLoading {
	opacity: 0.0;
}
.lazyLoaded {
	opacity: 1.0;
}

.paypalButtonForm {
	background: none;
	margin: 0;
	padding: 0;
}
	.paypalButtonForm button {
		
	}

.rating {
	font-size: small;
	text-align: center;
	margin-bottom: 20px;
}
	.rating.restricted {
		
	}


/*********************
Product view */
.productImageContainer {
	
	text-align: center;
}
	.productImageContainer a {
		
		display: block;
		/*width: 236px;*/
		height: 236px;

		padding: 20px;
		background-color: #383B53;

		position: relative;
	}
		.productImageContainer a div.playImage {
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			right: 0;

			z-index: 20;
			opacity: 0.75;
			
			background-image: url("play.svg");
			background-repeat: no-repeat;
			background-position: center center;
			background-size: 66px 66px;  /* When adjusting the size of the image, be sure to update `.productItem a.play` and the arc radius in comedycalls.js too. */

			transition: opacity 0.25s;
		}
			.productImageContainer a:hover div.playImage {
				opacity: 1.0;
				transition: opacity 0.25s;
			}

			.productImageContainer a.isPlaying div.playImage {
				background-image: url("pause.svg");
			}

		.productImageContainer a img {
			position: absolute;
			z-index: 5;
			width: 170px;
			height: 170px;

			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}

		.productImageContainer a canvas {
			position: absolute;

			z-index: 15;
			
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}

		.productImageContainer a span {
			color: #FFF;

			position: absolute;
			bottom: 10px;
			left: 0;
			right: 0;
			font-size: small;
		}


/*********************
Front-page product links */
.productItem {
	width: 25%;
	float: left;
	display: block;
	margin: 0 20px 20px 0;
	position: relative;

	/*outline: 1px solid green;*/
	width: 150px;
	height: 170px;

	overflow: hidden;

	position: relative;
}

@media (max-width: 767px) {
	.productItem {
		width: 50%;
		max-width: 170px;
		margin: 0;
	}
}


@media (min-width: 768px) and (max-width: 989px) {
	.productItem {
		width: calc( 25% + 10px );
	}
}

	.productItem a.play {
		
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate( -50%, -50% );

		width: 110px;
		height: 110px;

		display: block;

		/*outline: 1px solid blue;*/

		z-index: 20;
		opacity: 0.75;
			
		background-image: url("play.svg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 66px 66px; /* When adjusting the size of the image, be sure to update `.productImageContainer a div.playImage` and the arc radius in comedycalls.js too. */

		transition: opacity 0.25s;
	}
		.productItem a.play:hover {
			opacity: 1.0;
			transition: opacity 0.25s;
		}
		.productItem a.play.pause {
			background-image: url("pause.svg");
		}

	.productItem .productLink {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;

		background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(56,59,83,0.65) 66%);

		color: white;
		display: block;
		z-index: 30;
		text-align: center;
		padding: 10px 5px;
		cursor: pointer;
	}
		.productItem .productLink:hover {
			color: white;
			text-decoration: underline;
		}

/*********************
Product View / Call Add
*/

.view input[name=number] {
	font-size: x-large;
}

.view select {
	border-radius: 4px;
	border: none;
	font-size: large;
	padding: 0.25em;
}

/*********************
Pikaday overrides
*/

.pika-button:hover {
	background-color: #F33535 !important;
}

.is-today .pika-button {
	background-color: #383B53 !important;
}

@media (min-width: 768px) {
	
	.right-col h3 {
		/* Same style as `.left-col nav span` but without the color */
		/*background-color: #F33535;
		color: white;*/
		background-color: transparent;
		color: #000;

		border-radius: 4px;

		width: 100%;
		height: 50px;
		line-height: 50px;
		
		margin: 0 0 10px 0;
		padding: 0 10px;
		
	}
	
	.mobile-only {
		display: none !important;
	}
}

@media (max-width: 767px) {
	
	#front_tabs li {
		float: left;
		width: 33%;
		height: 40px;
	}
		#front_tabs li a { line-height: 40px; }


	#top_heading { display: none; } /* Hide header for the "Top" category */

	.front_tabPage h3 span { display: none; } /* Hide excessive prose */

	.dataTable { font-size: smaller !important; }
}

/*********************
Account View
*/

.dataTable td.r { text-align: right; }
.dataTable td.l { text-align: left; }
.dataTable td.c { text-align: center; }

.disabled {
	color: grey;
}

.callScheduleWrap {
	padding-left: 30px; /* See .checkLabel 30px padding */
}


/*********************
Adjustments for FrontPage sidebar ad placemenmt
*/

main#frontPageMain > div.site-width {
	max-width: 1210px;
	padding: 10px;
}

main#frontPageMain .left-col  {
	width: 300px !important;
	box-sizing: content-box;
}

main#frontPageMain .right-col  {
	/*width: calc( 100% - 350px );*/
}

main#frontPageMain .left-col-ad  {
	clear: both;
	margin-top: 1em;
	width: 300px;
	height: 250px;
}
	main#frontPageMain .left-col-ad ::before{
		content: ' ';
		display: block;
		clear: both;
		height: 1em;
	}
	main#frontPageMain .left-col-ad ::after {
		content: ' ';
		display: block;
		clear: both;
		height: 1em;
	}

@media (min-width: 767px) {
	main#frontPageMain .right-col  {
		width: calc( 100% - 350px );
	}
}

/* Stripe error message: */
.stripeError {
	text-align: center;
	font-weight: bold;
	color: white;
	background-color: #F33535;
	padding: 1em;
	border-radius: 15px;
}
	.stripeError a:link,
	.stripeError a:visited {
		color: white;
		text-decoration: underline;
	}