/********************************************
Branding guide
H1 = font size 50px - color: #2b2d42
H2 = font size 50px - color: #2b2d42
H3 = font size 42px - color: #2b2d42
h4 = font size 26px
p =  font size 20px (body)
nav = font size 20px (body)
sub-headers: font size 14px;
prices = font size 50px
blue = #1176A5 (hover 3C8EB5)
darkblue = #2B2D42
green = #009f3d (hover 00742D)
yellow = #EAC435; (hover EDCE59)
dark yellow #d5a021
off white for text: #f9f9f9;
off white for bg: #f8f9fa;
Icons = #adb5bc; (hover #EAC435;)
steel = #E4E5EF
font = h1-h6 = Roboto bold /
       p = Roboto light
border: 1px #e4e5ef;
**********************************************/

body {
	font-family: 'Roboto', 'sans-serif';
	font-size: 20px;
	font-weight: 400;
	color: #2b2d42;
	scroll-behavior: smooth;
}

a {
	cursor: pointer;
}

a:hover {
	color: #1176a5;
	text-decoration: none;
}

ul {
	list-style-type: square;
}

ul li {
	list-style-image: url('/images/bullet.png');
}

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	z-index: 9999;
}

#status {
	width: 200px;
	height: 200px;
	position: absolute;
	left: 50%;
	top: 50%;
	background-image: url('/images/preloader.png');
	background-repeat: no-repeat;
	background-position: center;
	margin: -100px 0 0 -100px;
}

.wrapper {
	width: 1012px;
	margin: 0 auto;
}

.jumbotron-fluid {
	background: url(/images/main-banner.jpg) no-repeat;
	background-size: cover;
}

.alert-danger {
	color: black;
	background-color: lavenderblush;
	border-color: #ad7e7b;
}

.bold {
	font-weight: bold;
}

.clear {
	clear: both;
}

.hidden {
	display: none;
}

.title-p {
	padding: 30px 0px;
}

.f-26 {
	font-size: 26px;
}

.f-30 {
	font-size: 30px;
}

.f-40 {
	font-size: 40px;
}

.f-w-100 {
	font-weight: 100;
}

.f-w-300 {
	font-weight: 300;
}

.f-w-400 {
	font-weight: 400;
}

.counter-special {
	font-size: 50px;
}

.p-6 {
	padding-left: 80px;
	padding-right: 80px;
}

.stick {
	position: -webkit-sticky;
	position: sticky;
	top: 0px;
	z-index: 1000;
}

.icon {
	color: #adb5bc;
}

.form-control {
	border: 1px solid #cacbcc;
}

.d-grid {
	display: grid;
}

.grid-auto-3 {
	grid-template-columns: auto auto auto;
}

.grid-auto-2 {
	grid-template-columns: 50% 50%;
}

.carousel-caption {
	position: absolute;
	left: 0%;
	right: 0%;
}

.hpo-logo {
	width: 200px;
	height: auto;
}

.hpo-slick-white {
	max-height: 490px;
}

.hpo-slick-img {
	margin-left: 50px;
}

/*****************
  colors
******************/

.blue {
	color: #1176a5;
}

.green {
	color: #009f3d;
}

.darkblue {
	background-color: #2b2d42;
}

.off-white {
	color: #f9f9f9;
}

.yellow {
	color: #eac435;
}

.red {
	color: #ff0000;
}

/*****************
  font sizes
******************/

h1,
h2 {
	font-size: 50px;
	font-weight: bold;
	color: #2b2d42;
}

.price {
	font-size: 26px;
	font-weight: bold;
	color: #2b2d42;
}

.counter {
	font-size: 50px;
	color: white;
}

.counter-p {
	font-size: 30px;
	position: relative;
	top: -8px;
}

h3 {
	font-size: 42px;
	font-weight: bold;
	color: #2b2d42;
}

.h4,
h4,
h5 {
	font-size: 26px;
	color: #2b2d42;
}

/*****************
  background colors
******************/

.steel-bg {
	background-color: #e4e5ef;
}

.blue-bg {
	background-color: #1176a5;
}

.white-bg {
	background-color: white;
}

.darkest-bg {
	background-color: #2b2d42;
}

.off-white-bg {
	background-color: #f8f9fa;
}

.aliceblue {
	background-color: aliceblue;
}

.black-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
}

/*****************
  buttons
******************/

.btn {
	font-size: 20px;
	font-weight: 300;
}

.btn-blue {
	background-color: #1176a5;
	padding: 5px 10px;
	border-radius: 5px;
	color: white;
	font-size: 26px;
}

.btn-blue-sm {
	background-color: #1176a5;
	padding: 5px 10px;
	border-radius: 5px;
	color: white;
	font-size: 20px;
}

.btn-blue-sm:hover {
	background-color: #3c8eb5;
	color: white;
}

.btn-dark-sm {
	background-color: #2b2d42;
	padding: 5px 10px;
	border-radius: 5px;
	color: white;
	font-size: 20px;
}

.btn-dark-sm:hover {
	color: white;
	background-color: #444866;
}

.btn-blue:hover {
	background-color: #3c8eb5;
	color: white;
}

.btn-yellow {
	background-color: #eac435;
	padding: 5px 10px;
	border-radius: 5px;
	color: white;
	font-size: 26px;
}

.btn-yellow:hover {
	background-color: #edce59;
	color: white;
}

.btn-green {
	background-color: #009f3d;
	padding: 5px 10px;
	border-radius: 5px;
	color: white;
	font-size: 26px;
}

.btn-green-sm {
	background-color: #018935;
	padding: 5px 10px;
	border-radius: 5px;
	color: white;
	font-size: 20px;
}

.btn-green:hover,
.btn-green-sm:hover {
	background-color: #00742d;
	color: white;
}

.contact-btn-group {
	display: flex;
	justify-content: space-between;
}

.contact-btn-group a {
	text-decoration: none;
}

.contact-btn-group__support,
.contact-btn-group__demo {
	padding: 15px;
	width: 420px;
	background: #018935;
	color: #fff;
	font-weight: bold;
	border-radius: 15px;
}

.contact-btn-group__support:hover,
.contact-btn-group__demo:hover {
	cursor: pointer;
}

.contact-btn-group__support p,
.contact-btn-group__demo p {
	margin-bottom: 0px;
	font-size: 20px;
	text-align: center;
}

.contact-btn-group-container {
	margin: 100px auto 50px auto;
	width: 900px;
	max-width: 100%;
}

.contact-section-heading {
	margin-bottom: 25px;
	display: flex;
	align-items: center;
}

/*****************
  forms
******************/

label#email-error,
label#old-email-error,
label#new-email-error,
label#new-password-error,
label#password-error,
label#firstname-error,
label#lastname-error,
label#name-error,
label#cc-error,
label#ccmonth-error,
label#ccyear-error,
label#cvc-error,
label#agreement-error,
label#phone-error,
label#organization-error,
label#title-error,
label#quantity-error,
label#old-password-error,
label#accesscode-error,
label#program-error,
label#discount-error {
	color: #ff0000;
	font-size: 16px;
}

form label,
form input {
	border: 0;
	margin-bottom: 3px;
	display: block;
}

label#agreement-error {
	display: contents;
}

/*****************
  hovers
******************/

.brochure:hover {
	color: #eac435;
}

.figure {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background: #fff;
	overflow: hidden;
}

.hover .figure img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.hover .figure:hover img {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

/*****************
  text colors
******************/

.text-blue {
	color: #1177a2;
}

.text-darkest {
	color: #2b2d42;
}

/*****************
  banner area
******************/

.nav-link {
	color: #2b2d42;
}

.logo-small {
	width: 350px;
	height: auto;
}

/****************
  menu
******************/

.logo {
	position: relative;
	top: -10px;
	cursor: pointer;
}

.main-nav a {
	color: #2b2d42;
}

.card {
	border: none;
	margin: 48px 0;
}

.card-footer {
	background-color: transparent;
	border: none;
	padding: 0px;
	margin-bottom: 15px;
	margin-top: 10px;
}

.card-body {
	padding: 0px;
}

.card-img-top {
	border: 1px solid lightgray;
}

/*****************
  Modal overrides
******************/

.f-nav .nav-link {
	color: white;
}

.f-nav .nav-link:hover {
	color: #eac435;
}

/*****************
  courses
******************/

.sub-header {
	font-size: 16px;
	margin-bottom: 5px;
}

.course-item {
	border: 1px solid #e4e5ef;
	padding: 15px;
	border-radius: 5px;
	margin-bottom: 15px;
}

.course-link {
	font-size: 18px;
	font-weight: bold;
	color: #1176a5;
}

/*****************
  video
******************/

.pattern-1 {
	background: url('../images/pattern-1.png') no-repeat;
	background-position: center;
	background-size: cover;
}

.iFrameContainer {
	width: 100%;
}

/*Stops the body from shifting when videos are clicked */

.compensate-for-scrollbar {
	margin-right: 0px !important;
}

.jumbotron {
	position: relative;
	overflow: hidden;
}

.jumbotron video {
	position: absolute;
	z-index: 1;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jumbotron .container {
	z-index: 2;
	position: relative;
}

/* play button over the top of the thumbnail images */

.video-preview {
	position: relative;
	width: 100%;
	max-width: 400px;
}

.play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	color: white;
	font-size: 75px;
	cursor: pointer;
	text-shadow: 0px 0px 7px slategrey;
}

/* Resources page */

.play-button-2 {
	position: absolute;
	top: 46%;
	left: 44%;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	color: white;
	font-size: 75px;
	cursor: pointer;
	text-shadow: 0px 0px 7px slategrey;
}

.col-gap-0 {
	column-gap: 0px;
}

.bg-purple {
	background-color: #684989;
}

.bg-tech-blue {
	background-color: #0c85b0;
}

.bg-teal {
	background-color: #2b9070;
}

.bg-orange {
	background-color: #c46f04;
}

.bg-red {
	background-color: #b53742;
}

/*****************
  Testimonials
******************/

.testimonials {
	border-radius: 50px;
	padding: 40px;
}

.testimonials-bg {
	padding: 30px 0px;
}

.test-p {
	width: 70%;
}

.test-img {
	width: 20%;
	margin-right: 15px;
	padding: 15px;
}

/*****************
  slick slider custom
******************/

.client-slider .slick-slide {
	position: relative;
	padding: 15px;
	text-align: center;
}

.slick-slide {
	position: relative;
	width: 100%;
}

.slick-slide img {
	display: initial !important;
	margin-right: 10px;
}

.slick-track {
	display: flex;
	align-items: center;
}

.client-list {
	font-size: 42px;
	font-weight: 500;
}

/*****************
  Checkout.php
******************/

.terms {
	margin-left: 20px;
}

/*****************
  partners.php
******************/

.hpo-img {
	position: relative;
	top: 6px;
}

/*****************
 clients
******************/

.col-count-3 {
	column-count: 3;
}

.col-count-2 {
	column-count: 2;
}

.sus-img {
	max-width: 180px;
	padding-right: 15px;
}

/*****************
  resources.php
******************/

.resource-bg {
	z-index: -1;
	left: 0px;
}

/*****************
  Footer
******************/

.cp-symbol {
	margin-top: -6px;
}

.navigation {
	text-align: right;
}

/*****************
  Sign in
******************/

.main-text {
	font-size: 70px;
	color: white;
}

.sign-in-bg {
	width: 100vw;
	height: 100vh;
	position: absolute;
	left: 0px;
	object-fit: cover;
	z-index: -1;
}

.center {
	padding: 150px 0;
	width: 90%;
	margin: auto;
}

.caption {
	height: 100vh;
	display: grid;
	align-content: center;
}

.o-9 {
	opacity: 0.9;
}

.ml-28 {
	margin-left: 28px;
}

/*****************
  Media Kit
******************/

.brochure {
	color: #2b2d42;
}

.pdf {
	background-color: #2b2d42;
	border-radius: 100% 100%;
	color: white;
	padding: 15px;
}

.stacked-logo {
	width: 88px;
}

/*****************
  Animation
******************/

.fadein {
	-webkit-animation: fadein 1s;
	/* Safari, Chrome and Opera > 12.1 */
	-moz-animation: fadein 1s;
	/* Firefox < 16 */
	-ms-animation: fadein 1s;
	/* Internet Explorer */
	-o-animation: fadein 1s;
	/* Opera < 12.1 */
	animation: fadein 1s;
}

@keyframes fadein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/*****************
  Contributors
******************/

.contributor-img {
	max-width: 50%;
}

/* Index page group purchase details */

.group-info {
	margin: 75px auto;
	width: 900px;
	display: flex;
	justify-content: space-between;
}

.group-info-section {
	width: 240px;
}

.group-info-section p {
	font-size: 18px;
}

/*****************
  Media queries
******************/

@media (min-width: 1400px) {
	.container {
		max-width: 1400px;
		padding: 0px;
	}
}

@media (min-width: 1200px) {
	.contact-form-programs {
		height: 275px !important;
	}
}

@media screen and (max-width: 1200px) {
	h2 {
		font-size: 30px;
	}

	h3 {
		font-size: 26px;
	}

	.privacy-terms,
	.navigation,
	.follow {
		text-align: center;
		margin-top: 30px;
	}

	.f-about {
		text-align: center;
	}

	.left-sign-in,
	.sign-in-bg {
		display: block;
	}

	.col-count-3 {
		column-count: 2;
	}

	.col-count-2 {
		column-count: 2;
	}

	.hpo-slick-img {
		margin-left: 0px;
	}
}

@media screen and (max-width: 992px) {
	.wrapper {
		width: 80%;
	}

	h3 {
		font-size: 20px;
	}

	.nav {
		display: block;
	}

	.left-sign-in,
	.sign-in-bg {
		display: none;
	}

	.counter-p {
		font-size: 24px;
	}

	.sticky-nav {
		display: none !important;
	}

	.center {
		padding: 0px;
	}

	.col-count-3,
	.col-count-2 {
		column-count: 1;
	}

	.main-nav-btns {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
		height: 100px;
	}
}

@media (max-width: 991px) {
	#navbarNav nav .nav-link {
		padding: 5px 0px;
		text-align: left;
	}
}

@media (max-width: 720px) {
	.hpo-slick-white {
		height: 1000px;
		max-height: 1000px;
	}
}

@media (min-width: 721px) and (max-width: 800px) {
	.hpo-slick-white {
		height: 550px;
		max-height: 550px;
	}
}

@media screen and (max-width: 768px) {
	.wrapper {
		width: 100%;
		padding: 15px;
	}

	.counter,
	.counter-special {
		font-size: 2em;
	}

	.counter-p {
		font-size: 20px;
	}

	h3 {
		font-size: 20px;
	}

	.nav {
		display: block;
	}

	.left-sign-in,
	.sign-in-bg {
		display: none;
	}

	.test-p {
		width: 100%;
		text-align: center;
	}

	.test-img {
		width: 150px;
	}

	.testimonial-slider .row {
		display: flex;
		justify-content: center;
		padding: 15px;
	}

	.sticky-nav {
		display: none !important;
	}

	.center {
		padding: 0px;
	}

	.sus-img {
		max-width: 140px;
	}

	.iFrameContainer {
		height: 257px;
	}
}

@media screen and (max-width: 576px) {
	.wrapper {
		width: 100%;
		padding: 15px;
	}

	.counter,
	.counter-special {
		font-size: 1.3em;
	}

	.counter-p {
		font-size: 12px;
	}

	h3 {
		font-size: 20px;
	}

	.price {
		font-size: 40px;
	}

	.nav {
		display: block;
	}

	.left-sign-in,
	.sign-in-bg {
		display: none;
	}

	.test-p {
		width: 100%;
		text-align: center;
	}

	.test-img {
		width: 150px;
	}

	.testimonial-slider .row {
		display: flex;
		justify-content: center;
		padding: 15px;
	}

	.contact-form {
		margin-top: 30px;
	}

	.client-list {
		width: 100%;
		font-size: 30px;
	}

	.ml-28 {
		margin-left: 0px;
	}

	.sticky-nav {
		display: none !important;
	}

	.center {
		padding: 0px;
	}

	.mobile-blue {
		background-color: #1176a5;
		padding-top: 15px;
	}

	.sus-img {
		max-width: 125px;
	}

	.plus-sign {
		height: auto;
	}
}

@media (max-width: 415px) {
	.group-burst {
		margin: 0px;
		width: 100%;
	}
}

/* Contributors */

@media (max-width: 575px) {
	.contributor-img {
		margin-bottom: 16px;
		max-width: 25%;
	}

	.contributor-heading {
		font-size: 18px;
	}

	.contributor-section {
		font-size: 18px;
	}

	.contributor-sub-section {
		font-size: 18px;
	}

	.contributor-hazing-heading {
		padding-left: 15px;
	}

	.contrib--dig-well-cont {
		padding-left: 30px;
	}
}

@media (max-width: 991px) {
	.contributor {
		font-size: 16px;
	}
}

/* Index page group purchase details */

@media (max-width: 805px) {
	.group-info {
		margin: 75px auto 15px auto;
		width: 100%;
		flex-direction: column;
		align-items: center;
	}

	.group-info-section {
		margin-bottom: 50px;
	}
}

@media (min-width: 806px) and (max-width: 985px) {
	.group-info {
		width: 800px;
	}
}

/* index page - reveal contact form button and support button */

@media (max-width: 900px) {
	.contact-btn-group {
		flex-direction: column;
		align-items: center;
	}

	.contact-btn-group__support {
		margin-bottom: 25px;
	}

	.contact-section-heading {
		justify-content: center;
	}
}

@media (max-width: 450px) {
	.contact-btn-group a {
		width: 90%;
	}

	.contact-btn-group__support {
		width: 100%;
	}

	.contact-btn-group__demo {
		width: 90%;
	}
}
