*, *:after, *:before {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	border: 0;
	padding: 0;
	outline: none;
	line-height: normal;
}

html, body {
	min-height: 100%;
}

body {
	background-image: url(../img/bg.png);
	font-family: 'Raleway', Arial, sans-serif;
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
form {
	font-size: 15px;
	text-align: left;
}
button, input, textarea {
	font: inherit;
}
input[type=email], input[type=text] {
	display: block;
	width: 100%;
	margin: 0 0 1em;
	padding: 8px;
	box-shadow: 0 0 5px 2px rgba(0,0,0,0.1) inset;
}
input[type=button], input[type=submit] {
	display: block;
	margin: 0 auto;
	cursor: pointer;
	text-align: center;
}
label {
	display: block;
	margin: 0 0 6px;
}
p {
	margin-bottom: 1.5em;
	line-height: 1.4;
}
p:last-child {
	margin-bottom: 0;
}
ul {
	margin-bottom: 1.5em;
	list-style: none;
}
li {
	padding-left: 18px;
	line-height: 1.4;
}
li:before {
	content: '•';
	margin-left: -18px;
	padding-right: 0.25em;
	color: #ce6f18;
	font-size: 30px;
	line-height: 0;
	vertical-align: middle;
}
ul.white li:before {
	color: #ffffff;
}

.container {
	position: relative;
	width: 100%;
	max-width: 1200px;
	min-height: 100%;
	margin: 0 auto;
	padding: 0 20px;
	line-height: 1;
}

#wrap {
	position: relative;
	height: 100%;
	padding: 100px 0 182px;
}



/* elements */

.btn {
	display: inline-block;
	padding: 8px 30px;
	border-radius: 10px;
	background-color: #ce6f18;
	color: #ffffff;
	font-size: 15px;
	font-weight: bold;
	text-transform: uppercase;
}
.btn-alt {
	background-color: #ffffff;
	color: #ce6f18;
}
.btn-disable {
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

.form-box {
	margin: 0 0 1em;
}
.form-box input {
	float: left;
	margin-right: 10px;
}

.hide {
	display: none !important;
}
.left {
	text-align: left;
}

.orange {
	color: #ce6f18;
}



/* template */

.modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	visibility: hidden;
	overflow: hidden;
	background-color: #ffffff;
	background-image: url(../img/bg.png);
	transform: translate(0,-100%);
	transition: visibility 0s, all 0.5s;
}
.modal.open {
	top: 100px;
	visibility: visible;
	transform: translate(0,0);
}
body.modal-is-open {
	overflow: hidden;
}
.modal-main {
	position: relative;
	width: 66.666%;
	height: 100%;
	overflow: auto;
}
.modal-x {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 1;
	width: 30px;
	height: 30px;
	background-image: url(../img/x.png);
	background-size: 100% 100%;
}
.modal-main>.inner {
	position: relative;
	width: 100%;
	max-width: 900px;
	min-height: 100%;
	margin-left: auto;
	padding: 50px;
	line-height: 1;
}
.modal-aside {
	position: absolute;
	top: 0;
	right: 0;
	width: 33.333%;
	height: 100%;
	background-color: #ce6f18;
	color: #ffffff;
	font-size: 17px;
	text-align: center;
}
.modal-aside.modal-aside-top {
	overflow: auto;
}
.modal-aside>.inner {
	position: absolute;
	top: 50%;
	width: 100%;
	padding: 50px;
	transform: translate(0,400%);
	transition: all 0.5s;
}
.modal-aside.modal-aside-top>.inner {
	top: 0;
}
.modal-aside>.inner.modal-is-open {
	transform: translate(0,-50%);
}
.modal-aside.modal-aside-top>.inner.modal-is-open {
	transform: translate(0,0);
}
@media (max-width: 1024px) {
	.modal {
		overflow: auto;
	}
	.modal-main {
		width: 100%;
		height: auto;
		margin: 0 auto;
		overflow: visible;
	}
	.modal-main>.inner {
		margin-right: auto;
	}
	.modal-aside {
		position: relative;
		width: 100%;
		height: auto;
		text-align: center;
	}
	.modal-aside>.inner, .modal-aside>.inner.modal-is-open  {
		position: relative;
		top: 0;
		transform: translate(0,0);
	}
}

.header {
	position: absolute;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100px;
	padding: 20px 0;;
	background-color: #ffffff;
	box-shadow: 0 0 10px 5px rgba(0,0,0,0.1);
	transition: all 0.5s;
}
.logo img {
	display: inline-block;
	width: auto;
	height: 60px;
	margin-right: 15px;
	vertical-align: middle;
}
.tagline {
	display: inline-block;
	color: #ce6f18;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}
@media (max-width: 540px) {
	#wrap {
		padding-top: 111px;
	}
	.header {
		height: 111px;
		text-align: center;
	}
	.logo img {
		display: block;
		height: 45px;
		margin: 0 auto 10px;
	}
	.tagline {
		font-size: 15px;
	}
}

h1 {
	margin: 0 0 1em;
	color: #ce6f18;
	font-size: 25px;
	text-transform: uppercase;
}
h1.question-header {
	text-align: center;
	text-transform: none;
}
h3 {
	margin: 0 0 1em;
	font-size: 20px;
	text-transform: uppercase;
}

.grid {
	margin: 10px -10px 10px;
}
.grid:after {
	content: '';
	display: table;
	clear: both;
}
.grid-item {
	float: left;
	width: 33.333%;
	padding: 10px;
}
@media (max-width: 1024px) {
	.grid-item {
		width: 50%;
	}
}
@media (max-width: 767px) {
	.grid-item {
		width: 100%;
	}
}

.q {
	position: relative;
	padding-top: 66.666%;
	overflow: hidden;
	background-color: #ffffff;
	text-align: center;
}
.q-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-position: center;
	background-size: cover;
}
.q-content {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.q-content-question {
	display: table;
	width: 100%;
	height: 100%;
	padding: 10px;
	background-color: rgba(0,0,0,0.6);
	font-size: 26px;
	font-weight: bold;
	transition: all 0.25s;
}
.q-content-question a {
	display: table-cell;
	color: rgba(255,255,255,0.4);
	vertical-align: middle;
	transition: all 0.25s;
}
.q:hover .q-content-question {
	background-color: rgba(206,112,25,0.6);
}
.q:hover .q-content-question a {
	color: rgba(255,255,255,1);
}
.q-content-info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px;
	opacity: 0.6;
	background-color: rgba(0,0,0,0.6);
	color: #ffffff;
	font-weight: bold;
	transition: all 0.25s;
}
.q:hover .q-content-info {
	opacity: 1;
}
.q-content-info span {
	display: block;
}
.q-content-name {
	margin-bottom: 5px;
	font-size: 13px;
	text-transform: uppercase;
}
.q-content-location {
	color: #818181;
	font-size: 11px;
	font-style: italic;
}

.footer {
	position: fixed;
	bottom: 0;
	width: 100%;
	padding: 20px 0;
	background-color: rgba(60,48,34,0.6);
	color: #ffffff;
	text-align: center;
}
.footer .container {
	max-width: 520px;
}
@media (max-width: 767px) {
	#wrap {
		padding-bottom: 0;
	}
	
	.footer {
		position: static;
	}
}

.maplink {
	color: #ce6f18;
	font-weight: bold;
}
.event-img {
	margin: 0 0 40px;
}
.event-img>img {
	max-width: 100%;
	height: auto;
}
.date {
	margin: 0;
	font-size: 22px;
	text-transform: none;
}
.place {
	font-size: 22px;
}
.event-wrapper {
	margin: 0 0 40px;
}
.event-time {
	display: inline-block;
	width: 125px;
	margin: 0;
	color: #ce6f18;
	font-size: 24px;
	font-weight: bold;
	vertical-align: top;
}
.event-details {
	display: inline-block;
	width: 72%;
	vertical-align: top;
}
.event-details-title {
	margin: 5px 0 20px;
	color: #ce6f18;
	font-size: 18px;
	font-weight: bold;
}
.event-details-title:last-child {
	margin-bottom: 0;
}
@media (max-width: 640px) {
	.event-details {
		width: 100%;
		margin: 20px 0 0;
	}
}

.event-signup {
	margin: 40px 0;
	padding: 30px;
	background-color: #ce6e23;
}
.event-signup>.inner {
	width: 66.666%;
	margin: 0 auto;
	color: #ffffff;
	text-align: center;
}
.event-signup h3 {
	font-size: 22px;
}
.event-signup p {
	font-size: 22px;
}

.bio-body:after {
	content: '';
	display: table;
	clear: both;
}
.bio-wrapper {
	margin: 0 0 40px;
	float: left;
	width: 50%;
	padding: 0 40px;
}
.bio-img {
	text-align: center;
}
.bio-img>img {
	width: 128px;
	height: 128px;
	border-radius: 50%;
	background-color: #858585;
}
.bio-title {
	margin: 20px 0;
	color: #ce6e23;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.bio-details {
	font-size: 14px;
	text-align: justify;
}
@media (max-width: 640px) {
	.bio-wrapper {
		float: none;
		width: 100%;
		padding: 0;
	}
}



/* ouibounce */

#ouibounce-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	background-color: rgba(0,0,0,0.8);
}
.ouibounce-wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	max-width: 780px;
	border-radius: 4px;
	padding: 40px;
	background-color: #ffffff;
	text-align: center;
	transform: scale(1,1) translate(-50%,-50%);
}
.ouibounce-close {
	color: #818181;
}