.bodytext { margin: auto; max-width: 1000px; }
.mobsmlr { font-size: 1.0em; }
.mobsmlr2 { font-size: 1.0em; }

@media only screen and (max-width:479px) {
	.bodytext {	padding-left: 6px; padding-right: 6px; }
	.mobsmlr { font-size: 0.9em; }
	.mobsmlr2 { font-size: 0.8em; }
}

p { font-size: 1.2rem; }

.bg-rgba-primary { background: linear-gradient(to bottom, transparent 15%, rgba(54, 184, 245, .2) 70%, rgba(54, 184, 245, .5) 20%, rgba(54, 184, 245, .5) 5%); }

.bg-rgba-primary2 { background: linear-gradient(to bottom, transparent 15%, rgba(54, 184, 245, .2) 70%, rgba(54, 184, 245, .7) 20%, rgba(54, 184, 245, .9) 5%); }

.b40blueback { background: #0092d6; }

.b40lblueback { background: #c6e0fd; color: #000000; }
.b40caramelback { background: #f18a04; color: #ffffff; }
.b40lighttan { background: #e1ceba; color: #000000; }

.b40lightbrown { background: #eedccb; color: #000000; }

.b40blue { color: #0092d6; }

.b40headers { color: #ffffff !important; text-shadow: 0 3px 4px rgb(0 0 0 / 25%); font-family: Montserrat, arial, san-serif; }

.blueback { font-weight: 600; background: #0092d6; color: #ffffff; padding: 1px 3px 3px 3px; }

.caramelback { font-weight: 600; background: #f18a04; color: #ffffff; padding: 1px 3px 3px 3px; }

.redarrowcurve { position: relative; left: 867px; top: -58px; }

.reflink { color: #8f8f8f; }

.lightgrey { background: #f2f5f6; }

.smoothblue { background: #f0f1f3; }

.imageflexright { float: right;	padding: 10px; }

.imageflexleft { float: left; padding: 10px; }

.deskvsmob { padding-left: 5%; padding-right: 5%; }

.arrowadjust { margin-top: -196px; }

.lh13 {	line-height: 1.3em; }
.lh12 { line-height: 1.2em; }
.lh16 { line-height: 1.5em; }
.lh20 {	line-height: 1.5em; }

@media only screen and (max-width:479px) {
	.deskvsmob { padding-left: 0; padding-right: 0;	}

	.lh13 {	line-height: 1.4em; }
	.lh16 {	line-height: 1.4em; }
	.lh20 {	line-height: 2.0em; }

	.arrowadjust { margin-top: 0; }

	.imageflexright { float: none; margin: auto; padding: 4px; }

	.imageflexleft { float: none; margin: auto; padding: 4px; }

	.step-header { font-size: 18px;	}

	.step-header { display: block; text-align: center; }
}

@media only screen and (max-width:1080px) {
	.smallscreenhide { display: none; }
}

.step-header {
	background: #0092d6;
	border-radius: 5px;
	color: #fff;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	font-size: 32px;
	overflow: hidden;
	margin-bottom: 30px;
}

.step-header .step-count {
	text-transform: uppercase;
	background: #36b8f5;
	padding: 20px 40px;
	position: relative;
}

.step-title {
	padding: 10px 50px;
}

.step-header .step-count::after {
	border-left: 10px solid #36b8f5;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	content: '';
	width: 10px;
	height: 15px;
	position: absolute;
	right: -10px;
	top: 0;
	bottom: 0;
	margin: auto;
}

.custom-radio-box label {
	border: 3px solid #c1c1c1;
	cursor: pointer;
	border-radius: 10px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: start;
	min-height: 440px;
	flex-direction: column;
	padding: 40px 25px;
	position: relative;
	font-weight: normal;
	text-align: center;
}

.custom-radio-box label .text-label {
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 5px;
}

.custom-radio-box input:checked+label::before {
	background: #0092d6;
}

.custom-radio-box label::before {
	content: '';
	border: 2px solid #c1c1c1;
	width: 30px;
	height: 30px;
	border-radius: 100%;
	margin-bottom: 10px;
}

.custom-radio-box input:checked+label {
	border-color: #0092d6;
	background: #fffdf1;
}

.custom-radio-box input {
	display: none;
}

.unavailable-note {
	font-size: 14px;
}

.custom-radio-box img {
	margin-top: 10px;
}

.step2-radio-fields .custom-radio-box img {
	margin: 40px 0;
}

.custom-radio-box.unavailable label {
	background-color: #f8f8f8;
	opacity: 0.5;
	pointer-events: none;
}

.step3-radio-fields .custom-radio-box label {
	min-height: 430px;
}

.subtext-label {
	font-size: 16px;
	text-transform: uppercase;
}

.custom-radio-box p {
	font-size: 20px;
	width: 100%;
	line-height: 1.2;
}

.custom-radio-box img {
	margin-bottom: 20px;
}

.radio-prices {
	text-align: left;
	font-size: 19px;
	line-height: 1.2;
	display: block;
	width: 100%;
}

.old-price {
	display: block;
	text-decoration: line-through;
	font-size: 22px;
}

.current-price {
	font-size: 27px;
}

.custom-radio-box.bottom-input label {
	padding-bottom: 90px;
	min-height: 680px;
	margin-bottom: 30px;
}

.custom-radio-box.popular label::after {
	content: 'MOST POPULAR';
	position: absolute;
	top: -18px;
	background: #ccc;
	padding: 10px 15px;
	line-height: 1;
	border-radius: 4px;
	font-weight: bold;
	font-size: 21px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	width: 220px;
}

.custom-radio-box.popular input:checked+label::after {
	color: #fff;
	background-color: #0092d6;
}

.custom-radio-box.bottom-input label::before {
	position: absolute;
	bottom: 20px;
}

.custom-radio-box.bottom-input p {
	min-height: 192px;
}

#submission-button,
#submission-button2,
#atc-button {
	font-size: 51px;
	font-family: Montserrat, san-serif;
	color: #fff;
	font-weight: bold;
	text-align: center;
	width: 98%;
	display: block;
	background: #f18a04;
	border-radius: 8px;
	padding: 10px 10px 10px;
	margin: auto 1% auto 1%;
	box-shadow: 0 -6px 0 #bd7400 inset;
	transition: all 0.1s linear 0s;
	height: auto;
	text-transform: uppercase;
	border: 0;
	outline: none !important;
	display: block;
	cursor: pointer;
	z-index: 999;
}


@mixin cross($size: 20px, $color: currentColor, $thickness: 1px) {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	position: relative;
	width: $size;
	height: $size;

	&:before,
	&:after {
		content: '';
		position: absolute;
		top: ($size - $thickness) / 2;
		left: 0;
		right: 0;
		height: $thickness;
		background: $color;
		border-radius: $thickness;
	}

	&:before {
		transform: rotate(45deg);
	}

	&:after {
		transform: rotate(-45deg);
	}

	span {
		display: block;
	}

}

.btn-close {
	margin: 0;
	border: 0;
	padding: 0;
	background: hsl(216, 100, 50);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: all 150ms;

	.icon-cross {
		border: 1px solid #3f3f3f;
		border-radius: 50%;
		@include cross(20px, #fff, 6px);
	}

	&:hover,
	&:focus {
		transform: rotateZ(90deg);
		background: hsl(216, 100, 40);
	}
}

.visually-hidden {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0 !important;
	border: 0 !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden;
}

.headerlg {
	font-size: 68px;
}

.blackbox {
	border: 2px solid #212121;
	padding: 0 3px;
}

.leftcolumn {
	width: 50%;
	float: left;
}

.rightcolumn {
	width: 50%;
	float: right;
}

ul.greencheckbox,
ul.greenarrow, ul.bluearrownew {
	list-style-type: none;
	margin: 8px 0px 0px 15px;
	padding: 0px;
	overflow: hidden;
}

ul.greencheckbox li {
	background: url("https://beyond40.com/assets/images/newgreen-checkmark.png") no-repeat;
	background-size: 2.1em auto;
	background-position: 0px 14px;
	padding: 20px 25px 14px 58px;
	line-height: 1.5;
}

ul.bluearrownew li {
	background: url("https://beyond40.com/assets/images/new-bluearrow.png") no-repeat;
	background-size: 2.1em auto;
	background-position: 0px 14px;
	padding: 20px 25px 14px 58px;
	line-height: 1.5;
}

ul.greenarrow li {
	background: url("https://d2rgzux42sgyh1.cloudfront.net/over40/images/o40ks/Arrow-Green-2.png") no-repeat;
	background-size: 2.25em auto;
	background-position: 0px 20px;
	padding: 10px 15px 20px 43px;
	line-height: 1.5;
}

ul.greenarrow li p, ul.bluearrownew li p {
	line-height: 1.5;
	margin: 8px 0px 0px;
	padding: 0px;
}

ul.redx, ul.redx3, ul.newredx {
	list-style-type: none;
	margin: 20px 0px;
	padding: 0px;
	overflow: hidden;
}

ul.newredx li {
	background: url(https://beyond40.com/assets/images/newred-x.png) no-repeat;
	background-size: 2.0em auto;
	background-position: 2px 10px;
	padding: 4px 0px 10px 56px;
}

ul.newredx li p {
	margin: 0px 0px 15px;
	padding: 0px;
}

ul.redx li {
//				background: url(https://d2rgzux42sgyh1.cloudfront.net/special/images/red-x.png) no-repeat;
	background: url(https://beyond40.com/assets/images/newred-x.png) no-repeat;
	background-size: 2.25em auto;
	background-position: 8px 13px;
	padding: 0px 0px 10px 66px;
}

ul.redx li p {
	margin: 0px 0px 15px;
	padding: 0px;
}

ul.redx3 li {
	background: url("https://d2rgzux42sgyh1.cloudfront.net/over40/images/o40ks/redx38.png") no-repeat;
	background-size: 1.75em auto;
	background-position: 3px 6px;
	padding: 1px 0px 10px 44px;
}

ul.redx3 li p {
	font-size: 20px;
	margin: 10px 0px 5px 0px;
	padding: 0px;
}

u {
	text-decoration-color: #000000;
}

.red u {
	text-decoration-color: #c80000;
}

@media only screen and (max-width:768PX) {
	.headerlg {
		font-size: 38px;
	}

	.leftcolumn,
	.rightcolumn {
		width: 100%;
		float: none;
	}

	ul.redx,
	ul.redx3 {
		list-style-type: none;
		margin: -5px 0px 0px 15px;
	}

	#submission-button,
	#submission-button2 {
		font-size: 40px;
	}

	.step-header .step-count {
		width: 100%;
	}

}

/* chevron blue background section */
.specialsuperfat{background: #0092d6;}
.from-white-chevron{width: 100%;height: 59px;background-image: url("/assets/images/funnels/from-white.png");background-position: top;background-repeat: no-repeat;}
.to-white-chevron{background-image: url("/assets/images/funnels/to-white.png");background-position: top;background-repeat: no-repeat;width: 100%;height: 67px;}
.whitebox{background: #FFF;padding: 32px 64px;border: 2px solid #e14040;}
.whitebox.blackoutline{border: 2px solid #0d0d0d;}
img.white-border{border: 3px #fff solid;box-shadow: 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12), 0 2px 4px -1px rgba(0,0,0,.3);}
.shiftright175 {margin-right: -175px;}
.alignright {float: right;margin-left: 20px;margin-bottom: 20px;}
@media only screen and (max-width: 479px){
	.whitebox{padding: 10px 20px;}
	img.white-border{box-sizing: border-box;}
}