*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
body .lazy {
	background-image: none;
	background-color: #F1F1FA;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
label.jp-is-invalid {
	font-size: 14px;
	color: red;
	font-weight: 400;
	margin-bottom: 15px;
}
.email-suggestion {
	font-size: 14px;
	background:#faffbd;
	padding: 6px;
	color:#333;
	border:1px solid #333;
	border-radius: 3px;
}
.email-suggestion:hover{
	cursor:pointer;
}
.email-suggestion .blue{
	color:blue;
}
.loading {
	position: fixed;
	z-index: 100000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #ffffff url('https://lstwassets.s3.amazonaws.com/DBP/launch092018/assets/images/loading.gif') no-repeat center center;
	opacity: 0.8;
	display: none;
}

body {
	color: #030648;
	font-size: 20px;
	font-family: 'Roboto Condensed',Helvetica,Arial,Verdana,sans-serif;
	line-height: 1.3;
}
.main-wrap {
	max-width: 1030px;
	margin: 0 auto;
}
.bold, strong {
	font-weight: 700;
}
.italic, em {
	font-style: italic;
}
.text-center {
	text-align: center;
}
.line {
	display: block;
}
img {
	width: 100%;
	height: auto;
}
.oh {
	overflow: hidden;
}
.left {
	float: left;
}
.right {
	float: right;
}
.clear {
	clear: both;
}
.flex-container {
	display: flex;
}
.grid-container {
	display: grid;
}
.video-wrap {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.checklist {
	list-style: none;
	padding-left: 62px;
}
.checklist li {
	color:#000000;
	font-size:20px;
	padding-left: 35px;
	background: url('https://lstwassets.s3.amazonaws.com/vhl/plu/2204/images/checkmark.png') no-repeat 0 5px;
	background-size: 22px 19px;
	margin-bottom: 22px;
	line-height: 1.3;
}

picture {
	display: block;
}
ol.numlist li {
	margin-bottom: 23px;
	counter-increment: counter;
	position: relative;
	font-weight: 700;
}
ol.numlist li::before {
	content: counter(counter);
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	position: absolute;
	--size: 30px;
	left: calc(-1 * var(--size) - 10px);
	line-height: var(--size);
	width: var(--size);
	height: var(--size);
	top: 0;
	background: #a34ec4;
	border-radius: 50%;
	text-align: center;
}
ol.numlist li:last-of-type {
	margin-bottom: 0;
}
.header {
	background: url('../../images/dbp-header.jpg') center top / cover no-repeat;
	padding:30px 0 24px;
}
.header-logo {
	max-width: 197px;
	height: auto;
}
.main-sect {
	padding:25px 0 47px;
}
.main-h1 {
	font-family: "Roboto Condensed", Arial, Helvetica, Verdana, sans-serif;
	font-size: 30px;
	letter-spacing: 0.15px;
	text-align: center;
	font-weight: 700;
	line-height: 1.3;
	color: #3D60D5;
	margin-bottom: 5px;
}
.downloads-message {
	font-size: 20px;
	letter-spacing: -0.2px;
	text-align: center;
	line-height: 1.3;
	margin-bottom: 33px;
	font-weight: 400;
}

.table {
	flex-direction: column;
	border: 1px solid #707070;
	border-bottom: 0;
	border-right: 0;
}
.table .row {
	display: flex;
	/*border-bottom: 1px solid #707070;*/
}
.table .th.row {
	background:#4876FF;
	color: #fff;
	font-size: 18px;
	line-height: 1.33;
}
.th div {
	padding: 14px 13px;
	border-right: 1px solid rgba(255, 255, 255, 0.65);
}
.th .download-meditation-header {
	border-right: none;
}
.download-audio-header, .download-audio, .download-workbook-header, .download-workbook, .download-meditation-header, .download-meditation {
	max-width: 100px;
	width: 100%;
}
.week-header, .week {
	max-width: 250px;
	width: 100%;
}






.lesson-name-header, .lesson-name {
	flex: 2;
	min-width: 479px;
}
.row:nth-of-type(odd) {
	background: rgba(72, 118, 255, 0.1);
}
.tc {
	border-right: 1px solid #707070;
	border-bottom: 1px solid #707070;
	padding: 14px 13px;
	font-size: 18px;
	letter-spacing: -0.18px;
	line-height: 1.33;
}
.tc.week {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.lessons {
	display: flex;
	flex-direction: column;
}
.lesson-wrap {
	display: flex;
	min-height: 76px;
	height: 100%;
}
.asset-dn-cell {
	min-width: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.asset-dn-cell.inactive > * {
	pointer-events: none;
	opacity: 0.3;
}

.row-1 .meditations .tc:nth-of-type(1),
.row-3 .meditations .tc:nth-of-type(1),
.row-4 .meditations .tc:nth-of-type(1),
.row-5 .meditations .tc:nth-of-type(1) {
	border-bottom: 1px solid #707070;
}
.download-audio {
	background: url('../../images/audio-icon.png') center center / 48px 36px no-repeat;
	width:  48px;
	height: 36px;
	cursor: pointer;
	display: block;
	border:0;
}
.download-workbook {
	background: url('../../images/workbook-icon.png') center center / 38px 42px no-repeat;
	width: 38px;
	height: 42px;
	cursor: pointer;
	display: block;
	border:0;
}
.download-meditation {
	background: url('../../images/meditation-icon.png') center center / 50px 43px no-repeat;
	width: 50px;
	height: 43px;
	cursor: pointer;
	display: block;
	border-right: 0;
	border:0;
}
.footer {
	background:#04034B;
	padding:40px 0;
	border-top: 15px solid #4876FF;
}
.footer-inner {
	justify-content: space-between;
	align-items: center;
}
.copyright {
	text-align: right;
	color: #9A9BB8;
	font-size: 15px;
	letter-spacing: -0.15px;
	line-height: 1.4;
}
.mobile-header {
	display: none;
}








@media (max-width: 1060px) {
	.main-wrap {
		padding: 0 10px;
	}
}
@media (max-width: 900px){
	.table {
		gap: 27px;
		border: none;
	}
	.table .th.row {
		display: none;
	}
	.table .row {
		flex-direction: column;
		border-top: 1px solid #707070;
		border-left: 1px solid #707070;
	}
	.tc.week {
		max-width: 100%;
		background: #4876FF;
		color: #fff;
	}
	.row:nth-of-type(odd) {
		background: unset;
	}

	.asset-dn-cell {
		flex-direction: column;
		justify-content: unset;
		padding: 0;
	}
	.mobile-header {
		display: block;
		font-size: 16px;
		color: #04034B;
		font-weight: 700;
		background: rgba(72, 118, 255, 0.2);
		width: 100%;
		text-align: center;
		padding: 5px 0;
	}
	.visible {
		padding: 10px;
		display: flex;
		align-items: center;
		height: 100%;
	}
}
@media (max-width: 820px) {
	.lesson-name-header, .lesson-name {
		min-width: unset;
	}
}
@media (max-width: 768px) {
	.main-sect {
		padding: 20px 0 36px;
	}
	.header {
		background: url('../../images/dbp-header-mobile.jpg') center top / cover no-repeat;
		padding:29px 0 33px;
	}
	.header-logo {
		max-width: 168px;
	}
	.main-h1 {
		font-size: 26px;
	}
	.downloads-message {
		font-size: 17px;
		letter-spacing: -0.17px;
		margin-bottom: 26px;
	}
	.lesson-wrap {
		flex-wrap: wrap;
	}
	.lesson-name {
		flex: 0 0 100%;
	}
	.asset-dn-cell {
		width: 33.33%;
	}
	.footer-inner {
		flex-direction: column;
		gap: 25px;
	}
	.copyright {
		text-align: center;
	}

}
@media (max-width: 600px) {
	.tc.week, .lesson-name {
		text-align: center;
	}
	.asset-dn-cell {
		min-width: unset;
	}
}

/* Login page */
.login .main-sect {
	padding: 62px 0 57px;
	min-height: 63vh;
}
.login .download-box {
	display: flex;
	flex-direction: column;
	margin: auto;
	max-width: 745px;
	border: 2px solid #3D60D5;
	border-radius: 20px;
}
.login .download-top-bar {
	background: transparent linear-gradient(270deg, #3958C6 0%, #4895FF 50%, #3D60D5 100%) 0% 0% no-repeat padding-box;
	border-radius: 18px 18px 0 0;
	padding: 22px 0 18px;
	text-align: center;
	color: #fff;
	font-size: 28px;
	line-height: 1.28;
}
.login .form-wrap {
	padding: 45px 0 38px;
}
.login #download-box-form {
	margin: auto;
	max-width: 460px;
	padding: 10px;
}
.login .input-wrap {
	margin-bottom: 48px;
}
.login .form-control {
	background: #F4F4F7;
	border: 1px solid #9A9BB8;
	padding: 19px;
	font-size: 20px;
	line-height: 1;
	font-family: "Roboto Condensed", Arial, Verdana, Helvetica, sans-serif;
	text-align: center;
	border-radius: 10px;
	outline: none;
	max-width: 460px;
	width: 100%;
}
.login .btn {
	max-width: 232px;
	width: 100%;
	background: #4876FF;
	border-radius: 12px;
	border: none;
	outline: none;
	margin: auto;
	display: block;
	color: #fff;
	font-size: 26px;
	line-height: 1.23;
	font-family: "Roboto Condensed", Arial, Verdana, Helvetica, sans-serif;
	text-align: center;
	padding: 14px 0;
	cursor: pointer;
}
@media (max-width: 768px) {
	.login .main-sect {
		min-height: unset;
		padding: 31px 0 34px;
	}
	.login .download-top-bar {
		font-size: 25px;
		padding: 19px 16px;
	}
	.login .form-control {
		font-size: 20px;
		padding: 12px 5px;
	}
	.login .btn {
		font-size: 22px;
		padding: 13px 5px;
	}
}
@media (max-width: 500px) {
	.login .download-top-bar .line {
		display: inline;
	}
}