body, html {
    height: 100%;
}
body {
	color: #5a5a5a;
}
h1, h2, h3, h4, .h1, .h2, .h3, .h4, .hx {
	font-family: 'Montserrat', sans-serif;
	color: #212529;
}
.navbar {
	font-family: 'Montserrat', sans-serif;
	background-color: #0B1216;
}
.navbar-brand {
	font-weight: 600;
	letter-spacing: -1px;
}
.navbar-dark .navbar-brand {
	color: #55C594;
}
.theme2 .navbar-dark .navbar-brand {
	color: #fff;
}
.content {
	min-height: calc(100% - 180px);
}
.footer {
	color: #bbb;
	background-color: #090F13;
}
.footer a, .footer a:hover {
	color: #fff;
}

.font-family-alt {
	font-family: 'Montserrat', sans-serif;
}
.text-alt {
	color: #55C594;
}
.bg-alt {
	background-color: #55C594;
}
.btn-alt, .btn-alt:hover, .btn-alt:active, .btn-alt:visited {
	color: #fff;
	background-color: #55C594;
	border-color: #55C594;
}
.bg-grey {
	background-color: #f5f5f5;
}

/* front */
.hero {
	position: relative;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #0B1216;
	margin-top: -56px;
}
.hero:after {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	content: "";
	background-color: rgba(17, 25, 61, .5);
}
.hero-text {
	position: absolute;
	top: 50%;
	left: 15px;
	right: 15px;
	transform: translate(0, -50%);
	text-align: center;
	color: #fff;
	z-index: 1;
}
.hero h1 {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -2px;
	color: #fff;
}
.hero .btn {
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	color: #fff;
	background-color: #55C594;
	border-color: #55C594;
	min-width: 160px;
	padding: 1rem;
}
.theme2 .hero .btn {
	background-color: #E7512F;
	border-color: #E7512F;
}
.front-icons i {
	font-size: 4rem;
	color: #55C594;
}
.theme2 .front-icons i {
	color: #E7512F;
}
section h2 {
	position: relative;
	padding-bottom: .3rem;
}
section h2:after {
	position: absolute;
	content: "";
	background-color: #55C594;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 6rem;
}
.theme2 section h2:after {
	background-color: #E7512F;
}
#register h5 {
	position: relative;
	text-transform: capitalize;
	min-height: 6rem;
}
#register .tip {
	display: block;
	position: absolute;
	bottom: .5rem;
	right: .5rem;
	font-size: .925rem;
	text-align: center;
	line-height: 1.3rem;
	width: 1.4rem;
	height: 1.4rem;
	background-color: #fff;
	border: 1px solid #007bff;
	border-radius: 50%;
}
#register .priceico {
	font-size: 3.5rem;
}
.front-bar>div {
	display: inline-block;
	width: 120px;
	height: 90px;
	background-color: #fff;
	border: 1px solid #f5f5f5;
	overflow: hidden;
}
.front-bar a {
	display: block;
	width: 100%;
	height: 100%;
}
.play-thumb {
	position: relative;
}
.play-thumb:before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 64px;
	height: 64px;
	content: "\f215";
	font-family: "Ionicons";
	font-size: 48px;
	line-height: 56px;
	text-decoration: none;
	text-align: center;
	text-indent: 8px;
	color: rgba(255, 255, 255, .5);
	margin: -32px 0 0 -32px;
	border: 5px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
}

/* register */
#topcart .dropdown-menu-right { 
	right: 0;
	left: auto;
}
#topcart a, #topcart a:hover {
	text-decoration: none;
}
#topcart .dropdown-menu .dropdown-item {
	border-bottom: 1px solid #f5f5f5;
}
#topcart .dropdown-menu .dropdown-item:last-child {
	border-bottom-color: #fff;
}
.form-group>label {
	display: block;
	position: relative;
}
.reg-nav {
	display: none;
}
.reg-nav ul {
	display: flex;
}
.reg-nav li {
	position: relative;
	flex-grow: 1;
	font-size: 13px;
	color: #aaa;
	border-top: 2px solid #ddd;
	padding: 10px 0;
}
.reg-nav span {
	display: inline-block;
	position: absolute;
	top: -12px;
	left: -2px;
	font-size: 13px;
	text-align: center;
	line-height: 16px;
	width: 22px;
	height: 22px;
	background-color: #fff;
	border: 2px solid #ddd;
	border-radius: 50%;
}
.reg-nav .active {
	color: #111;
	border-color: #55C594;
}
.reg-nav .active span {
	color: #fff;
	background-color: #55C594;
	border-color: #55C594;
}
.reg-nav .done {
	color: #111;
	border-color: #454545;
}
.reg-nav .done span {
	color: #454545;
	background-color: #fff;
	border-color: #454545;
}
.donedot {
	display: inline-block;
	position: absolute;
	top: 7px;
	right: 0;
	font-size: 13px;
	text-align: center;
	line-height: 16px;
	width: 22px;
	height: 22px;
	color: #fff;
	background-color: #fff;
	border: 3px solid #ddd;
	border-radius: 50%;
}
.donedot.active {
	color: #fff;
	background-color: #55C594;
	border: 3px solid #55C594;
}
.field-tip {
	position: absolute;
	top: 0;
	right: .5rem;
	font-size: 1.4rem;
}
.reminput {
	top: 1px;
	right: 1px;
	z-index: 1;
}

#loader {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	background-color: #fff;
	z-index: 1031;
}
.loader-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	border: 5px solid #f3f3f3;
	animation: spin 1s linear infinite;
	border-top: 5px solid #55C594;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	margin: -25px 0 0 -25px;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@media (min-width: 768px) {
	.hero h1 {
		font-size: 3rem;
	}
	.footer .nav-links {
		float: right;
	}
}
@media (min-width: 992px) {
	.reg-nav {
		display: block;
	}
}