body, html {
	font-family: 'Roboto', sans-serif;
	background: #000;
	position: relative;
	height: 100%;
}
a {
	outline: none;
}

.m0 {margin: 0 !important;}
.mb0 {margin-bottom: 0 !important;}
.mb24 {margin-bottom: 24px !important;}
.p0 {padding: 0 !important;}
.pt16 {padding-top: 16px !important;}
.pb0 {padding-bottom: 0 !important;}
.pb8 {padding-bottom: 8px !important;}
.pl24 {padding-left: 24px !important;}

.fullWidth {
	width: 100%;
}
.fullHeight {
	position: relative;
	height: 100%;
}
.loadingOverlay {
	position: absolute;
	background: #fff;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
}
.pointer {cursor: pointer;}
.overflow {overflow: hidden;}
.relative {position: relative;}
.scrollCtn {overflow: auto;}
/* MODAL */
.modalSmall {
	width: 34%;
}
.modalLarge {
	width: 90%;
	max-height: 80%;
}
.modal {
	border-radius: 8px;
}
.modalTitle {
	font-size: 1.5rem;
}
#mainNav {
	background: rgb(20, 20, 20);
	-webkit-transition: background-color 200ms linear;
    -ms-transition: background-color 200ms linear;
    transition: background-color 200ms linear;
}
#mainNav.fixedNav {
	position: fixed;
	z-index: 1;
	box-shadow: none;
}
.fullMainHeader {
	position: relative;
	height: -moz-calc(100% - 64px);
	height: -webkit-calc(100% - 64px);
	height: calc(100% - 64px);
}
nav a.sidenav-trigger {
	display: inline-block;
}
nav .brand-logo {
	margin: 6px 0 0 6px;
	position: relative;
}
nav .brand-logo img {
	max-height: 48px;
}
.sidenav {
	background: #000;
}
.sidenav li > a {
	color: white;
}
.sidenav li > a:hover {
	background-color: rgba(255,255,255,0.05);
}
.sidenav li > a > i {
	color: rgba(255,255,255,0.54) !important;
}
.sidenav .collapsible-body {
	background: #000;
}
.sidenav .collapsible-body > ul:not(.collapsible) > li.active, 
.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active,
.sidenav li.active {
	background-color: #0aa89e;
}
[type="radio"].invalid:not(:checked) + span::before, 
[type="radio"].invalid:not(:checked) + span::after {
	border-color: #F44336;
}
.dropdown-content li > a, .dropdown-content li > span {
	color: #c1272d;
}
.input-field .prefix.active {
	color: #c1272d;
}
.btn,
.sidenav .collapsible-body > ul:not(.collapsible) > li.active, .sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active, .sidenav li.active {
	background-color: #c1272d;
}
.btn:hover {
	background-color: #70111d;
}
.spinner-green-only {
	border-color: #c1272d;
}
.alfraRed {
	color: #c1272d;
}
.input-field .select-wrapper {
	margin-bottom: 22px;
}

#alfranet {
	padding: 0 16px 16px;
}
#alfranet .col {
	padding: 0;
}
.imgLoadingOverlay {
	position: absolute;
	width: 100%;
	background: #000;
}
.input-field .prefix ~ p {
	margin-left: 3rem;
	width: calc(100% - 3rem);
}

/* HOME */
#mainCtn {
	padding-top: 64px;
}
.page-footer {
	background-color: rgb(20, 20, 20);
}
.carousel-item {
	text-align: center;
}
.carousel-item video {
	width: 100%;
	max-height: 100%;
}
.rowInner {
	transition: 450ms transform;
	-webkit-transition: 450ms transform;
	margin: 20px 0;
}
.catCtn {
	padding-top: 24px;
}
.catCtn:first-child {
	padding-top: 60px;
}
.catTitle {
	color: #e5e5e5;
	margin: 0;
	font-size: 1.34rem;
}
.tile {
	position: relative;
	cursor: pointer;
	transition: 450ms all;
	transform-origin: center left;
}
.tileDetails {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	font-size: 10px;
	opacity: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
	transition: 450ms opacity;
}
.tileDetails:after, 
.tileDetails:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
}
.tileDetails:after {
	margin-top: -15px;
	margin-left: -15px;
	width: 30px;
	height: 30px;
	border: 1px solid #ecf0f1;
	line-height: 30px;
	text-align: center;
	border-radius: 50%;
	background: rgba(0,0,0,0.5);
	z-index: 1;
}
.tileDetails:before {
	content: '▶';
	color: white;
	left: 0;
	width: 100%;
	font-size: 12px;
	margin-left: 1px;
	margin-top: -8px;
	text-align: center;
	z-index: 2;
}
.tileTitle {
	position: absolute;
	bottom: 0;
	padding: 10px;
	color: white;
	margin: 0;
	font-size: 9px;
}

.tileDetails:hover {
	opacity: 1;
}
.rowInner.rowHover {
	position: relative;
	z-index: 9;
}
.rowInner.rowHover .tile:hover {
	/*transform: scale(1.5);*/
	transform: scale(1.8);
	opacity: 1;
}
.tile:hover ~ .tile {
	/*transform: translate3d(50%, 0, 0);*/
	transform: translate3d(80%, 0, 0);
}
.rowInner.rowHoverLast {
	/*transform: translate3d(-10%, 0, 0);*/
	transform: translate3d(-13%, 0, 0);
}

.overviewArrow {
	background: black;
	position: absolute;
	width: 100%;
	left: 0;
	bottom: -24px;
	text-align: center;
	border: none;
	color: white;
	display: block;
	max-height: 40px;
	overflow: hidden;
}
.overviewArrow span {
	font-weight: normal;
	font-style: normal;
	font-size: 10px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	padding: 7px 0;
}
.courseItem.overviewActive {
	border: solid 3px white;
}
.courseItem.overviewActive:after {
	content:'';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 0;
	height: 0;
	border-top: 10px solid white;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}
#overviewCtn {
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: black;
	color: #eaeaea;
	overflow: auto;
}
#overviewCtn .clearBtn {
	position: absolute;
	top: 0;
	right: 0;
	color: white;
	border: none;
	background: transparent;
	z-index: 9;
}
#overviewCtn .clearBtn i {
	text-shadow: 1px 2px 3px #000;
	font-size: 36px;
	line-height: 1;
}
#overviewCtn #tabsCnt {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
}
#overviewCtn #overview {
	padding: 0 24px !important;
}
#overviewCtn #tabsCnt .tabs {
	background-color: transparent;
}
#overviewCtn #tabsCnt .tabs .tab {
	flex-grow: 0;
	-webkit-flex-grow: 0;
}
#overviewCtn #tabsCnt .tabs .tab a {
	color: white;
	font-size: 22px;
}
#overviewCtn #tabsCnt .tabs .indicator {
	background-color: #9e3b35;
}

#episodes {
	background: black;
}
#overlayMainCtn {
	padding: 12px 12px 0 0;
	position: relative;
}
#overlayMainCtn .loadingOverlay {
	background: black;
}
#overlaySlideOut {
	background: #000;
	border: none;
}
#overlaySlideOut ul {
	border: none;
}
#overlaySlideOut li.active {
	background-color: #c1272d;
}
#overlaySlideOut li > a {
	color: white;
	display: block;
	font-size: 14px;
	font-weight: 500;
	height: 48px;
	line-height: 48px;
	padding: 0 32px;
	background-color: transparent;
	border: none;
}
#overlaySlideOut li > a:hover {
	color: white;
}
#overlaySlideOut li > a > i, 
#overlaySlideOut li > a > [class^="mdi-"], 
#overlaySlideOut li > a li > a > [class*="mdi-"], 
#overlaySlideOut li > a > i.material-icons {
	float: left;
	height: 48px;
	line-height: 48px;
	margin: 0 32px 0 0;
	width: 24px;
}
#overlaySlideOut .collapsible-body {
	background: #000;
	padding: 0;
	border: none;
}

/* OPENPAY */
::-webkit-input-placeholder {
	font-style: italic;
}
:-moz-placeholder {
	font-style: italic;
}
::-moz-placeholder {
	font-style: italic;
}
:-ms-input-placeholder {  
	font-style: italic;
}
strong {
	font-weight: 700;
}
button {
	cursor: pointer;
	display: block;
	text-decoration: none;
}
button.button {
	border-radius: 5px;
	text-align: center;
	font-size: 21px;
	font-weight: 400;
	padding: 12px 0;
	display: inline-block;
	background: #c1272d;
	border: none;
}
button.button:hover {
	background-color: #70111d;
}
button.button i {
	margin-right: 10px;
}
button.button.disabled {
	background: none repeat scroll 0 0 #ccc;
	cursor: default;
}
.bkng-tb-cntnt {
	overflow: hidden;
	/*float: left;*/
	/*width: 800px;*/
}
button.button {
	color: #fff;
	float: none;
	font-size: 18px;
	padding: 5px 20px;
	width: auto;
}
.bkng-tb-cntnt a.button.o {
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
	color: #e51f04;
	border: 1px solid #e51f04;
}
.bkng-tb-cntnt a.button i {
	color: #fff;
}
.bkng-tb-cntnt a.button.o i {
	color: #e51f04;
}
.bkng-tb-cntnt a.button.right i {
	float: right;
	margin: 2px 0 0 10px;
}
.bkng-tb-cntnt a.button.left {
	float: left;
}
.bkng-tb-cntnt a.button.disabled.o {
	border-color: #ccc;
	color: #ccc;
}
.bkng-tb-cntnt a.button.disabled.o i {
	color: #ccc;
}
.pymnts {
	float: left;
	width: 100%;
}
.pymnts * {
	float: left;
}
.pymnts form {
	width: 100%;
}

.sctn-row {
	/*margin-bottom: 35px;
	width: 800px;*/
}
.sctn-col {
	width: 375px;
}
.sctn-col.l {
	width: 425px;
}
.sctn-col input {
	border: 1px solid #ccc;
	font-size: 18px;
	line-height: 24px;
	padding: 10px 12px;
	width: 333px;
}
.sctn-col label {
	font-size: 24px;
	line-height: 24px;
	margin-bottom: 10px;
	width: 100%;
}
.sctn-col.x3 {
	width: 300px;
}
.sctn-col.x3.last {
	width: 200px;
}
.sctn-col.x3 input {
	width: 210px;
}
.sctn-col.x3 a {
	float: right;
}
.pymnts-sctn {
	width: 800px;
}
.pymnt-itm {
	margin: 0 0 3px;
	width: 100%;
}
.pymnt-itm h2 {
	background-color: #c1272d;
	font-size: 20px;
	line-height: 24px;
	margin: 0;
	padding: 8px 16px 8px 0;
	width: 100%;
}
.pymnt-itm.active h2 {
	background-color: #c1272d;
	color: #fff;
	cursor: default;
	font-size: 20px;
}
.pymnt-itm div.pymnt-cntnt {
	display: none;
}
.pymnt-itm.active div.pymnt-cntnt {
	background-color: #f7f7f7;
	display: block;
	padding: 0 24px 24px;
	width: 100%;
}

.pymnt-cntnt div.sctn-row {
	float: none;
}
.pymnt-cntnt div.sctn-row div.sctn-col {
	width: 345px;
}
.pymnt-cntnt div.sctn-row div.sctn-col.l {
	width: 395px;
}
.pymnt-cntnt div.sctn-row div.sctn-col input {
	width: 303px;
}
.pymnt-cntnt div.sctn-row div.sctn-col.half {
	width: 155px;
}
.pymnt-cntnt div.sctn-row div.sctn-col.half.l {
	float: left;
	width: 190px;
}
.pymnt-cntnt div.sctn-row div.sctn-col.half input {
	width: 113px;
}
.pymnt-cntnt .cvv {
	background-image: url("../img/cvv.png");
	background-position: 16px center;
	background-repeat: no-repeat;
	padding-bottom: 30px;
}
.pymnt-cntnt div.sctn-row div.sctn-col.cvv div.sctn-col.half input {
	width: 110px;
}
.openpay {
	/*float: right;*/
	/*height: 60px;*/
	/*margin: 10px 30px 0 0;
	width: 435px;*/
}
.openpay div.logo {
	background-image: url("../img/openpay.png");
	background-position: 87% bottom;
	background-repeat: no-repeat;
	border-right: 1px solid #ccc;
	font-size: 12px;
	font-weight: 400;
	height: 64px;
	padding: 15px 20px 0 0;
	text-align: right;
}
.openpay div.shield {
	background-image: url("../img/security.png");
	background-position: 6% bottom;
	background-repeat: no-repeat;
	font-size: 12px;
	font-weight: 400;
	margin-left: 20px;
	padding: 20px 0 0 64px;
}
.card-expl {
	margin: 20px 0;
	float: none;
}
.card-expl div {
	background-position: left 45px;
	background-repeat: no-repeat;
	height: 70px;
	padding-top: 10px;
}
.card-expl div.debit {
	background-image: url("../img/cards2.png");
	/*margin-left: 20px;
	width: 540px;*/
}
.card-expl div.credit {
	background-image: url("../img/cards1.png");
	border-right: 1px solid #ccc;
	/*margin-left: 30px;
	width: 209px;*/
}
.card-expl h4 {
	font-weight: 400;
	margin: 0;
	font-size: 20px;
}
.amountText {
	position: absolute;
	right: 16px;
	font-weight: bold;
}
/* END OPENPAY */

/* Video
   ========================================================================== */
.videoContainer {
	position: relative;
	overflow: hidden;
	background: #050908;
	color: #ccc;
}

/* video caption css */
.caption{
	display:none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding:10px;
	color:#ccc;
	font-size:20px;
	font-weight:bold;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	background: #1F1F1F; /* fallback */
	background:-moz-linear-gradient(top,#242424 50%,#1F1F1F 50%,#171717 100%);
	background:-webkit-linear-gradient(top,#242424 50%,#1F1F1F 50%,#171717 100%);
	background:-o-linear-gradient(top,#242424 50%,#1F1F1F 50%,#171717 100%);
}
.control {
	background: #333;
	color: #ccc;
	position: absolute;
	bottom: -45px;
	left: 0;
	width: 100%;
	z-index: 5;
	/*display: none;*/
}
.control .videoBtn {
	cursor: pointer;
	width: 25px;
	height: 25px;
	text-align: center;
	font-size: 16px;
	padding-top: 3px;
}
.control .videoBtn:hover {
	background: rgba(0,0,0,0.2);
}
.control .material-icons {
	font-size: 20px;
}
.volume {
	position: relative;
	cursor: pointer;
	width: 70px;
	height: 9px;
	margin: 8px 6px 0;
	background: rgba(255, 255, 255, 0.5);
}
.volumeBar {
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #eee;
	z-index: 10;
}
.duration {
	width: 30px;
	font-size: 12px;
	line-height: 25px;
	margin-right: 6px;
}
/* Progress bar */
.videoProgress {
	width: -webkit-calc(100% - 205px);
	width:    -moz-calc(100% - 205px);
	width:         calc(100% - 205px);
	height: 9px;
	position: absolute;
	top: 8px;
	left: 31px;
	cursor: pointer;
	background: #444;
	background:-moz-linear-gradient(top,#666,#333);
	background:-webkit-linear-gradient(top,#666,#333);
	background:-o-linear-gradient(top,#666,#333);
	border-radius: 10px;
}
.videoProgress span {
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	border-radius: 10px;
}
.bufferBar {
	z-index: 5;
	width: 0;
	background: #777;
	/*background: -moz-linear-gradient(top,#999,#666);
	background: -webkit-linear-gradient(top,#999,#666);
	background: -o-linear-gradient(top,#999,#666);
	box-shadow: 2px 0 5px #333;
	-moz-box-shadow:2px 0 5px #333;
	-webkit-box-shadow:2px 0 5px #333;*/
}
.timeBar {
	z-index: 10;
	width: 0;
	background: #c1272d; /* fallback */
	/*background: -moz-linear-gradient(top,#A0DCFF 50%,#3FB7FC 50%,#16A9FF 100%);
	background: -webkit-linear-gradient(top,#A0DCFF 50%,#3FB7FC 50%,#16A9FF 100%);
	background: -o-linear-gradient(top,#A0DCFF 50%,#3FB7FC 50%,#16A9FF 100%);
	box-shadow: 0 0 1px #fff;
	-moz-box-shadow: 0 0 1px #fff;
	-webkit-box-shadow: 0 0 1px #fff;*/
}
.timeBar .current {
	display: block;
	padding: 3px;
	font-size: 11px;
	line-height: 1;
	color: white;
	position: absolute;
	top: -20px;
	right: -12px;
	background: #c1272d;
	text-align: center;
	border-radius: 3px;
}
.timeBar .current:after {
	content: "";
	position: absolute;
	bottom: -6px;
	left: 50%;
	margin-left: -6px;
	border-width: 6px 6px 0;
	border-style: solid;
	border-color: #c1272d transparent;
	display: block;
	width: 0;
}
#videoInit {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
	z-index: 2;
	display: none;
}
#videoInit i {
	cursor: pointer;
	font-size: 52px;
	line-height: 68px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -49px 0 0 -28px;
	color: white;
	background: rgba(0,0,0,0.7);
	border-radius: 50%;
	display: inline-block;
	width: 68px;
	height: 68px;
}
#videoInit i:hover {
	background: rgba(0,0,0,0.4);
}

.answersUl {
	padding-left: 30px !important;
}
.answersUl li [type="radio"]:not(:checked) + span, 
.answersUl li [type="radio"]:checked + span {
	height: auto;
}

@media only screen and (max-width: 600px) {
	.modalSmall {
		width: 80%;
	}	
	.card-expl div.credit {
		border: none;
	}
	.openpay div.logo {
		text-align: center;
		background-position: center bottom;
		border: none;
	}
}
@media only screen and (min-width: 601px) and (max-width: 992px) {
	.modalSmall {
		width: 50%;
	}
}