/* Fonts */
@font-face {
	font-family: 'Gotham';
	font-style: normal;
	font-weight: lighter;
	src: local('Gotham'), url('../fonts/gotham/Gotham-Thin.ttf') format('ttf');
}

@font-face {
	font-family: 'Gotham';
	font-style: normal;
	font-weight: normal;
	src: local('Gotham'), url('../fonts/gotham/Gotham-Medium.ttf') format('ttf');
}

@font-face {
	font-family: 'Gotham';
	font-style: normal;
	font-weight: bold;
	src: local('Gotham'), url('../fonts/gotham/Gotham-Bold.ttf') format('ttf');
}

/* Body */
body {
	padding: 80px 0 0;
	margin: 0;
	font-family: 'Gotham', sans-serif;
	font-size: 17px;
	line-height: 1.6em;
	font-weight: 400;
	color: #111;
	background-color: #ffffff;
	position: relative;
}

body.dark-bg {
	background: #2B75E3;
}

html.loading, body.loading {
	overflow: hidden;
}

/* Headers */
h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
}

/* Links */
a {
	color: #000;
	text-decoration: none;
}

a:hover {
	color: #2B75E3;
	text-decoration: underline;
}

/* Minimums */
@media (min-width: 400px) {
	.container {
		max-width: 1140px;
	}
	div.min400 {
		min-width: 400px;
	}
}

/* Maximums */
@media (max-width: 992px) {
	.nav-item > .nav-link {
		height: 44px;
		line-height: 44px;
	}
	ul.navbar-nav.ml-auto {
		display: none;
	}
}

/* Loader */
div.spinner {
	display: block;
	position: relative;
	left: 50%;
	top: 135px;
	width: 150px;
	height: 150px;
	margin: -75px 0 0 -75px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #40804a;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
}
div.spinner:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #33b547;
	-webkit-animation: spin 3s linear infinite;
	animation: spin 3s linear infinite;
}
div.spinner:after {
	content: "";
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #5bd26d;
	-webkit-animation: spin 1.5s linear infinite;
	animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
	0%   {
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes spin {
	0%   {
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* Clear */

.clear {
	clear: both;
}


/* logo */

body > .navbar {
	background: #FFF;
	height: 80px;
	line-height: 80px;
	padding: 0;
	margin: 0;
	box-shadow: 0 10px 20px -24px #000;
}

.navbar-collapse {
	background: #FFF;
}

body > .navbar .navbar-brand {
	margin: 0 30px 0 0;
	padding: 0;
	width: 280px;
}

body > .navbar .navbar-brand img {
	height: 50px;
	vertical-align: top;
	margin: 14px 10px 16px;
}

/* Dividers */
.featurette-divider {
	margin: 5rem 0;
}

/* Buttons */

.btn {
	cursor: pointer;
	border-radius: 19px;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
	border-color: #093e14;
}

/* Forms */
.form-control {
	color: #222;
	font-weight: 300 !important;
}
.form-control.is-valid {
	padding: .375rem .75rem;
	background: #FFF !important;
}
.form-control:-internal-autofill-selected {
	color: #222;
}
.form-control::-webkit-input-placeholder{
	color:#777;
}
.form-control:-moz-placeholder {
	color:#777;
}
form-control:-webkit-autofill {
	font-family: 'Gotham';
}
form-control:autofill {
	font-family: 'Gotham';
}

select.form-control > option {
	font-weight: 300 !important;
}

/* Checkboxes */
@keyframes check {0% {height: 0;width: 0;}
25% {height: 0;width: 10px;}
50% {height: 20px;width: 10px;}
}
.checkbox{background-color:#fff;display:inline-block;height:28px;margin:0 .25em;width:28px;border-radius:4px;border:1px solid #ccc;float:right}
.checkbox span{display:block;height:28px;position:relative;width:28px;padding:0}
.checkbox span:after{-moz-transform:scaleX(-1) rotate(135deg);-ms-transform:scaleX(-1) rotate(135deg);-webkit-transform:scaleX(-1) rotate(135deg);transform:scaleX(-1) rotate(135deg);-moz-transform-origin:left top;-ms-transform-origin:left top;-webkit-transform-origin:left top;transform-origin:left top;border-right:4px solid #fff;border-top:4px solid #fff;content:'';display:block;height:20px;left:3px;position:absolute;top:15px;width:10px}
.checkbox span:hover:after{border-color:#999}
.checkbox input{display:none}
.checkbox input:checked + span:after{-webkit-animation:check .8s;-moz-animation:check .8s;-o-animation:check .8s;animation:check .8s;border-color:#555}
.checkbox input:checked + .default:after{border-color:#444}
.checkbox input:checked + .primary:after{border-color:#2196F3}
.checkbox input:checked + .success:after{border-color:#8bc34a}
.checkbox input:checked + .info:after{border-color:#3de0f5}
.checkbox input:checked + .warning:after{border-color:#FFC107}
.checkbox input:checked + .danger:after{border-color:#f44336}

/* Labels */

label {
	font-weight: 600;
	margin: 0 0 0.1rem;
	font-size: 0.85em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

label > span {
	font-weight: 400;
}

/* Blockquote */
blockquote{
	font-size: 1em;
	width:100%;
	margin:0 0 10px;
	font-style:italic;
	color: #555555;
	padding:0.8rem 12px 0.8rem 27px;
	border-left:8px solid #2b75e3;
	line-height:1.6;
	font-weight: 300;
	position: relative;
	background:#EDEDED;
}

blockquote::before{
	font-family: Arial;
	content: "\201C";
	color: rgba(43, 117, 227, 0.71);
	font-size: 4em;
	position: absolute;
	left: -1px;
	top: 16px;
	height: 30px;
	width: 30px;
	line-height: 30px;
}

blockquote::after{
	font-family: Arial;
	content: "\201C";
	color: rgba(43, 117, 227, 0.71);
	font-size: 4em;
	position: absolute;
	right: -1px;
	bottom: 16px;
	height: 30px;
	width: 30px;
	line-height: 30px;
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

blockquote span{
	display:block;
	color:#333333;
	font-style: normal;
	font-weight: bold;
	margin-top:1em;
}

/* Intro Sections */
section#intro {
	background: #2B75E3;
	background-image: url('../img/backgrounds/waves.png');
	background-repeat: repeat;
	box-shadow: 0 10px 20px -15px #000, inset 0 200px 180px -250px #000,  inset 0 -200px 180px -250px #000;
	position: relative;
	overflow: hidden;
	border: none;
	padding: 75px 0 70px;
}

img.qb {
	height: 40px;
	display: inline-block;
	margin: 0 0 0 10px;
}

img.ss {
	animation-delay: 0s;
	margin: 0;
	padding: 0;
	z-index: 150;
	position: relative;
	box-shadow: 0 10px 20px -15px #000;
}

section#intro > div.container {
	overflow: visible;
	padding: 0;
}

section#intro h1,
section#intro h2,
section#intro h3 {
	color: #FFF;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	cursor: default;
	font-weight: 400;
}

section#intro h1 {
	font-size: 58px;
	font-weight: normal;
	line-height: 1.2;
	padding: 0;
	letter-spacing: 0px;
	word-spacing: 2px;
	width: auto;
	display: block;
	float: none;
	text-align: left;
	margin: 3px 0 0;
	position: relative;
	z-index: 90;
}

section#intro h3 {
	font-size: 1.4rem;
	color: #FFF;
	word-spacing: 4px;
	width: 100%;
	text-align: center;
	z-index: 90;
	margin: 20px 0 0;
}

div.slideBox {
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px;
}

div.slideLeft {
	float: right;
	width: 50%;
	margin: 0;
	padding: 0;
	z-index: 80;
}

div.slideRight {
	float: left;
	width: 50%;
	margin: 0;
	padding: 0;
	z-index: 70;
}

div.slideBottom {
	width: 100%;
	clear: both;
	padding: 20px 0 0;
}

div.slideLeft > img {
	margin: 0 auto;
	width: 100%;
	max-width: 500px;
	display: block;
}

div.slideRight img.mob {
	display: none;
	margin: 1em 1em 2em;
}

@media all and (max-width: 991px) {

	div.slideRight,
	div.slideLeft,
	div.slideBottom {
		clear: both;
		width: 100%;
		margin: 0;
		padding: 0 0 20px;
	}

	div.slideBottom {
		padding-bottom: 0px;
	}

	img.ss {
		margin-top: 0;
	}

	div.slideRight img.mob {
		display: unset;
	}

	section#intro h1 {
		text-align: center;
		font-size: 3em;
	}

	section#intro h3 {
		line-height: 40px;
	}

}

@media all and (max-width: 350px) {
	body > .navbar .navbar-brand {
		width: 225px;
		margin: 0;
	}
	body > .navbar .navbar-brand img {
		height: 40px;
		vertical-align: top;
		margin: 19px 10px 16px;
	}
	section#intro h1 {
		font-size: 2em;
	}
	section#testimonials div.card {
		min-width: auto !important;
	}
}


/* Loader */
div.loader {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background: #FFF;
	z-index: 5000;
	overflow: hidden;
	overflow-y: auto;
	padding: 50px 0;
}

div.loader h3 {
	width: 90%;
	margin: 0 5%;
	padding: 0;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.8rem;
	color: #2B75E3;
	text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.9);
	z-index: 100;
}

div.loader > table {
	width: 98%;
	max-width: 600px;
	margin: 10px auto;
}

div.loader > p {
	position: absolute;
	width: 90%;
	margin: 0 5%;
	padding: 5px 0;
	text-align: center;
	font-size: 1.4rem;
	color: #333;
	z-index: 100;
}

div.loader > div.card {
	width: 98%;
	max-width: 600px;
	margin: 10px auto;
}

div.loader > div.card label {
	width: 100%;
	clear: both;
	font-weight: 600;
	font-size: 0.85em;
}

div.loader > div.card p {
	width: 100%;
	clear: both;
	margin: 0 0 8px;
}

div.loader > div.card a.btn {
	margin: 0 8px;
}

div.loader.finalizing {
	overflow: hidden;
}

div.loader.finalizing::after {
	content: 'Transfering to control panel, please wait..';
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.8rem;
	color: #2B75E3;
	text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.9);
	z-index: 100;
	background: #FFF;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	padding: 50px 0;
}


/* Cards */
div.card-header {
	background: #2C75E4;
	color: #FFF !important;
}

div.card:hover div.card-header {
	background: #1957b3;
}
div.card.active div.card-header {
	background: #222;
}

div.card-header h4 {
	text-transform: uppercase;
	font-size: 1.4rem;
	letter-spacing: 1px;
	word-spacing: 2px;
	color: #FFF;
	padding: 4px 0;
	cursor: default;
	margin: 0;
}

div.card-header h5 {
	font-size: 1.4rem;
	color: #FFF;
	padding: 4px 0;
	margin: 0;
	cursor: default;
}

h1.card-title {
	font-size: 2.1rem;
	color: #000;
}

div.card-body {
	cursor: default;
}

/* Menu Items */
nav.fixed-top .nav-item.signIn,
nav.fixed-top .nav-item.purchase {
	background: #222;
	color: #FFF;
	height: 38px;
	line-height: 38px;
	margin: 12px 0 12px 12px;
	border-radius: 19px;
	text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
}

nav.fixed-top .nav-item.purchase:hover {
	background: #000;
}

nav.fixed-top .nav-item.signIn {
	background: #2B75E3;
}

nav.fixed-top .nav-item.signIn:hover {
	background: #1957b3;
}

nav.fixed-top .nav-item.signIn a,
nav.fixed-top .nav-item.purchase a {
	color: #FFF;
	padding: 0 20px !important;
	font-weight: 400;
}

nav.fixed-top .nav-item > .nav-link {
	text-transform: uppercase;
	padding: 0 12px !important;
	font-size: 14px;
	letter-spacing: 1px;
}

nav.fixed-top .nav-item.active > .nav-link {
	color: #1957b3;
}

.dropdown-menu {
	padding: 0;
	overflow: hidden;
}

a.dropdown-item {
	line-height: 26px;
	padding: 6px 12px;
	letter-spacing: 1px;
	word-spacing: 2px;
	font-weight: 300;
}

a.dropdown-item:hover {
	color: #2B75E3;
}
.dropdown-item.active, .dropdown-item:active {
	color: #FFF !important;
}

/* blockquote */
blockquote p {
	line-height: 1.6em;
}

/* footer */
footer {
	position: relative;
	margin: 0;
	width: 100%;
	background: #111;
	background-image: url('../img/backgrounds/waves.png');
	background-repeat: repeat;
	color: #FCFCFC;
}

footer h5 {
	color: #bed8ff;
	font-size: 1.1rem;
	letter-spacing: 2.4px;
	cursor: default;
	word-spacing: 2px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight: 300;
	text-shadow: 0 -1px 0 #ffffff2e;
}

footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-weight: 300;
	letter-spacing: 0.5px;
}

footer ul > li {
	width: 100%;
	margin: 5px 0;
	padding: 0;
	line-height: 1.2;
}

footer a {
	color: #FAFAFA;
}

footer a:hover {
	color: #FFF;
	text-decoration: none;
	font-weight: 400;
}

div.footer-copyright {
	background: #111;
	font-size: 0.85em;
}


/* Error Boxes */
div.error-box {
	background: #fff3f3;
	border: 1px solid #c62424;
	padding: 4px 8px 0;
	margin: 0 0 10px;
}

div.error-box > p {
	margin: 0 0 4px;
	padding: 0;
	font-weight: 600;
	font-size: 0.9em;
	color: #800;
}

p.error {
	margin: 6px 0 0;
	padding: 0 8px;
	font-weight: 600;
	font-size: 0.9em;
	color: #800;
	background: #fff3f3;
	border-radius: 3px;
}

/* Checkboxes */
p.checkText {
	width: calc(100% - 30px);
	float: right;
	text-align: left;
	margin: 0;
	padding: 0;
	font-weight: 600;
	font-size: 0.9em;
}

.dark {
	width: 20px;
	float: left;
	position: relative;
	margin: 3px 8px 0 2px;
}
.dark label {
	width: 20px;
	height: 20px;
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(to bottom, #333 0%, #495057 100%);
	border-radius: 4px;
	box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.5), 0px 1px 0px rgba(255, 255, 255, 0.4);
}
.dark label:after {
	content: '';
	width: 13px;
	height: 7px;
	position: absolute;
	top: 5px;
	left: 4px;
	border: 3px solid #fcfff4;
	border-top: none;
	border-right: none;
	background: transparent;
	opacity: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.dark label:hover::after {
	opacity: 0.3;
}
.dark input[type=checkbox] {
	visibility: hidden;
}
.dark input[type=checkbox]:checked + label:after {
	opacity: 1;
}

/* Top Videos */

section#topVid {
	position: relative;
	background-color: black;
	height: 50vh;
	min-height: 25rem;
	max-height: 500px;
	width: 100%;
	overflow: hidden;
}

section#topVid video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: 0;
	-ms-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

section#topVid .container {
	position: relative;
	z-index: 2;
}

section#topVid .overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: black;
	opacity: 0.5;
	z-index: 1;
}


@media (pointer: coarse) and (hover: none) {
	section#topVid {
		background: url('https://source.unsplash.com/XT5OInaElMw/1600x900') black no-repeat center center scroll;
	}
	section#topVid video {
		display: none;
	}
}
