html,body {
	margin: 0;
}
body {
	background: #f3f5f8;
/*	font-family: 'Raleway', sans-serif;*/
	color: #555;
	font-size: 16px;
}
a:active {
	text-decoration: none;
}

h1 {
	color: #363738;
	font-size: 35px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
h2 {
	color: #363738;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.date {
	font-size: 2vw;
	font-weight: bold;
}
.location {
	font-size: 1.8vw;
}

/* override bootstrap */
.nav-link {
	color: #fff;
}
.nav-link:hover {
	color: #16a0db;
}
.bs-navbar-toggler {
	background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (min-width: 768px) {
	.main-box {
		margin-left: 55%;
		margin-top: -100px;
	}
}

.nav-logo-img {
	transition-property: transform;
	transition-duration: 1s;
}
.nav-logo-img:hover {
	animation-name: rotate; 
	animation-duration: 2s; 
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.nav-logo-img-tagline {
	height: 50px;
}

@keyframes rotate {
	from {transform: rotate(0deg);}
	to {transform: rotate(360deg);}
}

.main-bg {
	background-image: url('images/main_image.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.alt-bg {
	background-image: url('images/agenda_image.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom;
	height: 80vh;	/* different than main-bg */
	color: #fff;
	display: flex;
	justify-content: center;	/* different than main-bg */
	align-items: center;
	text-align: center;
	flex-direction: column;
	letter-spacing: 0.2em;
}
.alt-title {
	margin: 0 60px;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
	text-transform: uppercase;
	text-shadow: 0 0 4px #000, 0 0 4px #000, 0 0 4px #000;
}
.alt-subtitle {
	color: #fff;
	font-size: 24px;
	text-transform: uppercase;
	margin-bottom: 0;
	text-shadow: 0 0 4px #000, 0 0 4px #000, 0 0 4px #000;
}
.alt-subtitle sup {
	text-transform: lowercase;
}

.register-btn {
	background: #16a0db;
	letter-spacing: 0.2em;
	color: #fff;
	padding: 15px 30px;
	font-size: 0.8em;
	font-weight: bold;
	transition: background 0.5s;
	border: none;
	display: inline-block;
	text-decoration: none;
}
.register-btn:hover {
	background: #0058a4;
	color: #fff;
	text-decoration: none;
}

.custom-btn {
	background: #16a0db;
	letter-spacing: 0.2em;
	color: #fff;
	padding: 15px 30px;
	font-size: 0.8em;
	font-weight: bold;
	transition: background 0.5s;
	border: none;
	display: inline-block;
	text-decoration: none;
}
.custom-btn:hover {
	background: #0058a4;
	color: #fff;
	text-decoration: none;
}


.themed-text-color {
	color: #16a0db;
}

.themed-text {
	color: #16a0db;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 4px;
}

.agenda-day {
	display: inline-block;
/*cbo has 3 days, 49% is for 2 days
width: 49%;*/
	color: #fff;
	background: #212739;
	font-size: 20px;
	padding: 10px 15px;
	transition: background 0.5s;
	text-decoration: none;
}
.agenda-day:hover {
	color: #fff;
	color: #16a0db;
	text-decoration: none;
}
.agenda-row-fade:after {
	content: "";
	background: linear-gradient(to bottom, rgba(243,245,248,0) 0%, rgba(243,245,248,1) 100%);
	width: 100%;
	height: 60px;
	right: 0;
	position: relative;
	top: -80px;
}
.agenda-time {
/*	font-size: 20px;*/
/*	color: #1bd982;*/
	font-weight: 500;
	border-top: 1px solid #dedee1;
/*	padding: 15px 0;*/
}

@keyframes slide-right {
	0% { opacity: 0; transform: translateX(-100px); }
	100% { opacity: 1; transform: translateX(0); }
}
@keyframes slide-down {
	0% { opacity: 0; transform: translateY(-100px); }
	100% { opacity: 1; transform: translateY(0); }
}
@keyframes slide-left {
	0% { opacity: 0; transform: translateX(100px); }
	100% { opacity: 1; transform: translateX(0); }
}
@keyframes slide-up {
	0% { opacity: 0; transform: translateY(100px); }
	100% { opacity: 1; transform: translateY(0); }
}
@keyframes slide-up-400ms-delay {
	0% { opacity: 0; transform: translateY(100px); }
	40% { opacity: 0; transform: translateY(100px); }
	100% { opacity: 1; transform: translateY(0); }
}
@keyframes slide-up-600ms-delay {
	0% { opacity: 0; transform: translateY(100px); }
	60% { opacity: 0; transform: translateY(100px); }
	100% { opacity: 1; transform: translateY(0); }
}
.do-slide-right {
	animation-name: slide-right;
	animation-duration: 0.5s;
	animation-iteration-count: 1;
}
.do-slide-down {
	animation-name: slide-down;
	animation-duration: 0.5s;
	animation-iteration-count: 1;
}
.do-slide-left {
	animation-name: slide-left;
	animation-duration: 0.5s;
	animation-iteration-count: 1;
}
.do-slide-up {
	animation-name: slide-up;
	animation-duration: 0.5s;
	animation-iteration-count: 1;
}
.do-slide-up-400ms-delay {
	animation-name: slide-up-400ms-delay;
	animation-duration: 0.9s;
	animation-iteration-count: 1;
}
.do-slide-up-600ms-delay {
	animation-name: slide-up-600ms-delay;
	animation-duration: 1.1s;
	animation-iteration-count: 1;
}

#goto_top {
	display: none;
	padding: 8px 11px;
	color: #fff;
	transition: background-color .2s linear;
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 40px;
	height: 40px;
	border-radius: 2px;
	background-color: rgba(0,0,0,0.3);
	cursor: pointer;
}
.caret { 
    margin: 17px 0 0 15px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(-45deg);
}


.footer-left, .footer-right {
	color: #555;
	padding: 40px 0;
	font-size: 14px;
}
.footer-right {
	text-align: right;
}
@media (max-width: 768px) {
	.footer-left {
		padding-bottom: 0;
	}
	.footer-left, .footer-right {
		text-align: center;
	}
}

/* sticky footer. <body class="site"> then a <div class="site-content"> */
.site {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}
.site-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 */
}


@media (max-width: 1200px) {
	.nav-logo-img-tagline {
		height: 25px;
	}
	.nav-logo-img {
		width: 25px;
	}
	.date {
		font-size: 20px;
	}
	.location {
		font-size: 18px;
	}
}