@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800");

body {
	font-family: "Open Sans", sans-serif;
	color: #808080;
}

/* only for lg+ */
@media (min-width: 992px) {
	main {
		padding-top: 74px; /* since navbar is fixed, this must match navbar height */
	}
}

/* only for <lg */
@media (max-width: 992px) {
	main {
		padding-top: 44px; /* since navbar is fixed, this must match navbar height */
	}
}

.custom-navbar {
	background: #fff;
	height: 74px; /* since navbar is fixed, the body top padding must match this height */
}

h1,h2,h3,h4,h5,h6 {
	color: #333;
	font-weight: bold;
}

h1 {
	font-size: 30px;
}
h2 {
	font-size: 23px;
}

a {
	color: #999;
}
a:hover, a:hover > h5 {
	color: #00a1e0;
	text-decoration: none;
}

.underline {
	position: relative;
	margin-bottom: 15px;
	padding-bottom: 10px;
}

.underline:after {
	border: 1px solid #00a1e0;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 50px;
}

ul.themed {
	list-style-type: none;
	padding-left: 20px;
}
ul.themed li {
	line-height: 1.4;
	padding: 10px 0;
	color: #808080;
}
ul.themed li::before {
	content: "\25CF"; /*\25C8*/
	color: #00a1e0;
	padding-right: 10px;
	margin-left: -24px;
}

.page-h1 {
	background: #f7f7f7;
}
@media (max-width: 576px) {
	.page-h1 h1 {
		text-align: center;
		font-size: 20px;
	}
}

.tagline {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 40px;
}
.mission-statement {
	font-weight: bold;
	text-align: center;
	color: #00a1e0;
	font-size: 20px;
	line-height: 24px;
}
.tagline2 {
	color: #fff;
	font-size: 26px;
}
@media (min-width: 576px) {
	.tagline {
		font-size: 30px;
	}
	.mission-statement {
		font-size: 20px;
		line-height: 24px;
	}
}
@media (min-width: 768px) {
	.tagline {
		font-size: 40px;
	}
	.mission-statement {
		font-size: 26px;
		line-height: 30px;
	}
	.tagline2 {
		font-size: 30px;
	}
}
@media (min-width: 992px) {
	.tagline {
		font-size: 48px;
	}
	.mission-statement {
		font-size: 36px;
		line-height: 40px;
	}
}
@media (min-width: 1200px) {
	.tagline {
		font-size: 56px;
	}
	.mission-statement {
		font-size: 40px;
		line-height: 46px;
	}
}

.medical-book-category {
	display: block;
	font-size: 14px;
	border-bottom: 1px dashed #ccc;
	padding: 10px 0;
}

a.medical-book-title {
	display: block;
	font-size: 22px;
	line-height: 1;
	color: #333;
	margin-bottom: 10px;
	color: #00a1e0;
}
@media (max-width: 567px) {
	a.medical-book-title {
		text-align: center;
		margin-top: 10px;
	}
}

.medical-book {
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}

h2.themed {
	color: #00a1e0;
	border-bottom: 2px solid #f8f8f8;
	padding-bottom: 5px;
	position: relative;
	margin-bottom: 30px;
}
h2.themed::before {
	content: "";
	position: absolute;
	bottom: -2px;
	height: 2px;
	width: 65px;
	background: #00a1e0;
}

@keyframes checkmark {
	0% {
		visibility: visible;
		height: 0;
		width: 0;
		opacity: 1;
	}
	20% {
		visibility: visible;
		height: 0;
		width: 15px;
		opacity: 1;
	}
	40% {
		visibility: visible;
		height: 30px;
		width: 15px;
		opacity: 1;
	}
	100% {
		visibility: visible;
		height: 30px;
		width: 15px;
		opacity: 1;
	}
}

@keyframes checkmark-border {
	0% {
		visibility: visible;
		opacity: 0;
	}
	100% {
		visibility: visible;
		opacity: 1;
	}
}

.checkmark::after {
	visibility: hidden;
	animation-duration: 800ms;
	animation-timing-function: ease;
	animation-name: checkmark;
	animation-delay: .5s;
	animation-fill-mode: forwards;
	transform: scaleX(-1) rotate(135deg);
	opacity: 1;
	height: 30px;
	width: 15px;
	transform-origin: left top;
	border-right: 3px solid #00a1e0;
	border-top: 3px solid #00a1e0;
	content: '';
	left: 15px;
	top: 30px;
	position: absolute;
}

/* draw circle around checkmark */
.checkmark::before {
	visibility: hidden;
	content: '';
	border: 3px solid #00a1e0;
	border-radius: 50%;
	height: 58px;
	width: 58px;
	display: block;
	animation-duration: 800ms;
	animation-timing-function: ease;
	animation-name: checkmark-border;
	animation-delay: .5s;
	animation-fill-mode: forwards;
}

.checkmark-1s::before, .checkmark-1s::after {
	animation-delay: 1s;
}

.btn-custom {
	border: none;
	font-family: "Open Sans", sans-serif;
	font-size: 13px;
	color: #fff;
	background: #00539f;
}
.btn-custom:hover {
	color: #fff;
	background: #00a1e0;
}
.btn-custom-lg {
	font-weight: 700;
	padding: 13px 30px;
}
@media (max-width: 992px) {
	.btn-custom-lg-on-xs-md {
		padding: 13px 30px;
	}
}

/* begin animations */
.animation {
	opacity: 0;
	position: relative;
}
.animation.slide-up {
	opacity: 0;
	transition-property: opacity, transform;
	transition-duration: .5s;
	transition-timing-function: linear;
	transform: translateY(100px);
}
.animation.slide-up.in-view {
	opacity: 1;
	transform: translateY(0px);
}
.animation.slide-right {
	opacity: 0;
	transition-property: opacity, transform;
	transition-duration: .5s;
	transition-timing-function: linear;
	transform: translateX(-100px);
}
.animation.slide-right.in-view {
	opacity: 1;
	transform: translateX(0px);
}
.animation.slide-down {
	opacity: 0;
	transition-property: opacity, transform;
	transition-duration: .5s;
	transition-timing-function: linear;
	transform: translateY(-100px);
}
.animation.slide-down.in-view {
	opacity: 1;
	transform: translateY(0px);
}
.animation.slide-left {
	opacity: 0;
	transition-property: opacity, transform;
	transition-duration: .5s;
	transition-timing-function: linear;
	transform: translateX(100px);
}
.animation.slide-left.in-view {
	opacity: 1;
	transform: translateX(0px);
}

/* corresponds to col-sm-6 col-lg-3 which has 1 item on xs, 2 on sm and md, 3 on lg and xl */
.services-animation-2, .services-animation-3, .services-animation-4 {
	transition-delay: 0;
}
@media (min-width: 576px) {
	.services-animation-2 {
		transition-delay: .2s;
	}
	.services-animation-3 {
		transition-delay: 0;
	}
}
@media (min-width: 768px) {
	.services-animation-3 {
		transition-delay: 0;
	}
}
@media (min-width: 992px) {
	.services-animation-3 {
		transition-delay: .4s;
	}
	.services-animation-4 {
		transition-delay: .6s;
	}
}
@media (min-width: 1200px) {
	.services-animation-3 {
		transition-delay: .4s;
	}
	.services-animation-4 {
		transition-delay: .6s;
	}
}
/* end animations */

/* begin index page cards */
.card {
	border: 1px solid #eee;
	transition-property: box-shadow, transform;
	transition-duration: .5s;
}
.card:hover {
	transform: translateY(-10px);
	box-shadow: 7px 5px 30px rgba(72, 73, 121, 0.15);
}
.card .dropshadow {
	filter: drop-shadow(0px 5px 0px #00539f);
}
.card .dropshadow .clippath {
	clip-path: polygon(50% 0%, 100% 0, 100% 88%, 50% 100%, 0 88%, 0 0);
}
.card .dropshadow .clippath img {
	width: 100%;
	vertical-align: middle;
}
.card .text {
	padding: 15px;
	text-align: center;
}
/* end index page cards */

/* begin index page service cards */
.services-card {
	display: flex;
	align-content: space-between;
	flex-direction: column;
	height: 320px;
	margin-bottom: 30px;
	padding: 25px 10px 15px 10px;
	border: 3px solid #eee;
}

.services-card-title {
	font-size: 15px;
	font-weight: bold;
	color: #333;
	margin-bottom: 10px;
}
.services-card-title:hover {
	color: #00a1e0;
}
/* end index page service cards */

/* start event cards */
.event-box {
/*dont think I need this	flex-grow: 1;*/
	width: 33%;
	max-width: 400px;
	margin-bottom: 2rem;
}
.event-card {
	display: flex;
	flex-direction: column;
	margin: 0.5rem 1rem;
	border-radius: 2px;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);
	height: 100%;
	transition-property: box-shadow, transform;
	transition-duration: .2s;
	transition-timing-function: linear;
}
.event-card:hover {
	transform: translateY(-5px);
	box-shadow: 7px 5px 30px rgba(72, 73, 121, 0.15);
}
.event-content {
	flex: 1 0 0; /* for IE11 must use flex: 1 0 0; instead of flex: 1. IE10 and IE11 default values for flex are 0 0 auto rather than 0 1 auto, as per the draft spec, as of September 2013 */
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px;
	text-align: center;
}
.event-title {
	flex: 1 0 0; /* for IE11 must use flex: 1 0 0; instead of flex: 1. IE10 and IE11 default values for flex are 0 0 auto rather than 0 1 auto, as per the draft spec, as of September 2013 */
	margin-bottom: 15px;
	font-weight: bold;
}
@media only screen and (max-width: 1500px) {	/* must come before max-width: 800px */
	.event-box {
		width: 50%;
	}
}
@media only screen and (max-width: 800px) {
	.event-box {
		width: 100%;
	}
}
/* end event cards */

/* start subscription cards */
.subscription-card {
	border: 10px solid #f1f1f1;
	background: #fff;
	text-align: center;
	position: relative;
	transition: transform .2s linear;
	transform: translateZ(0);	/* fixes icon shifting on hover */
}
.subscription-card:hover {
	transform: translateY(-5px);
}

.subscription-card:hover + .hvr-shadow {
	opacity: 1;
}

.hvr-shadow {
	height: 10px;
	opacity: 0;
	background: radial-gradient(ellipse at center, rgba(0,0,0,.35) 0, rgba(0,0,0,0) 80%);
	transition-duration: .3s;
	transition-property: opacity;
	margin-bottom: 50px;
}

.subscription-card-title {
	font-size: 22px;
	font-weight: bold;
	color: #333;
}

@media (max-width: 1200px) and (min-width: 992px) {
	.subscription-card-title {
		min-height: 54px;
	}
}

.subscription-card-icon {
	background: #00a3c8;
	border: 8px solid #eee;
	border-radius: 50%;
	margin: 0 auto;
	color: #fff;
	width: 85px;
	height: 85px;
	position: absolute;
	top: -50px;
	right: 0;
	left: 0;
}

.subscription-card-text {
	padding-top: 40px;
	padding-bottom: 20px;
}

.subscription-card-buy-now-btn {
	border: none;
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	color: #fff;
	background: #00539f;
	padding: 13px 30px;
}
.subscription-card-buy-now-btn:hover {
	color: #fff;
	background: #00a1e0;
}
/* end subscription cards */

.loader {
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10000;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
}

/* spinner: https://tobiasahlin.com/spinkit/ */
.spinner {
	margin: 100px auto 0;
	width: 70px;
	text-align: center;
}

.spinner > div {
	width: 18px;
	height: 18px;
	background-color: #333;
	border-radius: 100%;
	display: inline-block;
	animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
	animation-delay: -0.32s;
}

.spinner .bounce2 {
	animation-delay: -0.16s;
}

@keyframes sk-bouncedelay {
	0%, 80%, 100% { 
		transform: scale(0);
	} 40% { 
		transform: scale(1.0);
	}
}
/* end spinner */


.mobile-navbar {
	background: #fff;
	border-bottom: 1px solid #eee;
	box-shadow: 0 4px 4px 0 rgba(0,0,0,0.1);
}

.non-mobile-navbar {
	background: #fff;
	height: 74px;
	border-bottom: 1px solid #eee;
	box-shadow: 0 4px 4px 0 rgba(0,0,0,0.1);
}

.menu-item {
	display: inline-block;
	padding: 25px 16px 21px 16px;
	font-size: 15px;
	font-weight: bold;
	border-bottom: 4px solid #fff;
}
.menu-item:hover {
	color: #fff;
	background: #00a1e0;
	border-bottom-color: #00539f;
	transition: border .3s linear;
}

.menu-item:hover + .dropdown-menu-item, .dropdown-menu-item:hover {
	visibility: visible;
/*	transform: translateY(0);*/
}

.dropdown-menu-item {
/*	transform: translateY(-100%);*/
	list-style-type: none;
	padding-left: 0;
	visibility: hidden;
	display: block;
	position: absolute;
	background: #fff;
}

.dropdown-menu-item {
	border: 1px solid #eee;
}

.dropdown-menu-item > a {
	display: block;
	color: #888;
	font-size: 13px;
	font-weight: bold;
	padding: 8px 25px 8px 22px;
	transition: padding .2s linear;
}
.dropdown-menu-item > a:hover {
	border: none;
	color: #fff;
	background: #00a1e0;
	padding: 8px 15px 8px 32px;
}

.dropdown-caret {
	position: relative;
	line-height: 0;
	display: inline-block;
	transform: rotate(90deg);
	margin-left: 12px;
	font-size: 20px;
}

.dropdown-caret-sidenav {
	margin-left: 10px;
	font-size: 26px;
	line-height: 26px;
}

.dropdown-caret-sidenav-down {
	position: absolute;
	transform: rotate(90deg);
	margin-left: 14px;
	font-size: 26px;
}


/* start sonar */
.index-video {
    margin-top: -350px;
    background-image: url('images/index-video-bg.jpg');
    background-size: cover;
    background-position: center center;
    height: 450px;
    max-width: 750px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    position: relative;
    border-radius: 5px;
}
.sonar-wrapper {
	height: 100%;
}

.sonar-wrapper {
	padding:7.1rem 0 !important;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.sonar-emitter {
	position: relative;
	margin: 32px auto;
	width: 160px;
	height: 160px;
	border-radius: 9999px;
	background-color: #fff;
}

.sonar-wave {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 9999px;
	background-color: HSL(45, 100%, 50%);
	opacity: 0;
	z-index: -1;
	pointer-events: none;
}

.sonar-wave1 {
	animation: sonarWave 2s linear infinite;
}

@keyframes sonarWave {
	from {
		opacity: 0.4;
	}

	to {
		transform: scale(3);
		opacity: 0;
	}
}

#playicon:hover path {
	fill: #00a1ef;
}
/* end sonar */

/* start footer who we serve vertical slider */
@keyframes slider-down {
	0% {
		transform: translateY(-312px);
	}
	2%, 31% {
		transform: translateY(-167px);
	}
	33%, 64% {
		transform: translateY(-84px);
	}
	66%, 98% {
		transform: translateY(0);
	}
}
.slider-down {
	animation: slider-down 9s infinite;
}
/* end footer who we serve vertical slider */

/* start sidenav */
html,body {
	margin: 0;
	min-height: 100%;
}
.sidenav-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	width: 100%;
	min-height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 1999;
}
.sidenav {
	display: none;
	position: fixed;
	width: 300px;
	height: 100%;
	overflow-y: auto;
	z-index: 2000;
	background-color: #fff;
	padding-bottom: 60px;
}
.sidenav a {
	text-decoration: none;
	transition: background-color .3s;
	line-height: 48px;
	color: rgba(0, 0, 0, 0.87);
	display: block;
	font-size: 14px;
	font-weight: 500;
	height: 48px;
	line-height: 48px;
	padding: 0 32px;
}
.sidenav a:hover {
/*	background-color: rgba(0, 0, 0, 0.05);*/
	color: #fff;
	background: #00a1e0;
}
.sidenav .header {
	font-weight: bold;
	font-size: 120%;
	background: #ededed;
	height: 48px;
	line-height: 48px;
}
.sidenav .divider {
	height: 1px;
	background-color: #e0e0e0;
}
.sidenav-submenu a {
	padding-left: 50px;
}
.sidenav-submenu a:last-child {
	border-bottom: 1px solid #eee;
}
/* end sidenav */

/* start hamburger menu button */
#hamburger {
	display: block;
	width: 40px;
	padding: 10px;
}

#hamburger div {
	height: 2px;
	background-color: rgba(0,0,0,0.7);
	margin-bottom: 4px;
	border-radius: 2px;
	transition: transform 0.2s linear;
}

#hamburger:hover div {
	background-color: rgba(0,0,0,1);
	transform: scaleX(1.2)
}
/* end hamburger menu button */

.social {
	box-sizing: border-box;
	width: 32px;
	height: 32px;
	border-radius: 500px;
	background: #ddd;
	color: #000;
	vertical-align: middle;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	transition: 0.1s ease-in-out;
	transition-property: all;
	transition-property: color, background-color;

	fill: currentColor;
}
.facebook, .google-plus, .linkedin, .twitter, .instagram {
	background: #fff;
}
.facebook:hover, .google-plus:hover, .linkedin:hover, .twitter:hover, .instagram:hover {
	color: #fff;
}
.twitter {
	color: #00acee;
	border: solid 1px #00acee;
}
.twitter:hover {
	background: #00acee;
}
.facebook {
	color: #3b5998;
	border: solid 1px #3b5998;
}
.facebook:hover {
	background: #3b5998;
}
.instagram {
	color: #DE487B;
	border: solid 1px #DE487B;
}
.instagram:hover {
	background: #DE487B;
}
.linkedin {
	color: #0e76a8;
	border: solid 1px #0e76a8;
}
.linkedin:hover {
	background: #0e76a8;
}