/*
	(c)2012 - visuallizard.com

	General styles. Template, view, plugin specific, etc.
*/

body.js #flashMessage {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
	padding: 5em;
	text-align: center;
	font-size: 22px;
	line-height: 1.25;
	background: rgba(18,171,77,0.9);
}

img { display: block; max-width: 100%; }
iframe, video { z-index: 1; }
.cke .c1 > *:last-child,
.cke .c2 > *:last-child { margin-bottom: 0; }


/* !navigation specifics */
.case {
	/* For demonstrations only. Remove on production */
	margin: 0 0 20px 0;
}


/* !typography */
a.button {
	display: inline-block;
	position: relative;
	clear: both;
	width: auto;
	padding: 1.25rem 1.75rem;
	border: none;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	text-shadow: none;
	background: #7d7d7d;
	color: #fff;
}
a.button:hover {
	color: #fff;
}
a.button span {
	display: block;
}
div.heading a.button:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 60px;
	height: 100%;
	border-radius: 50px;
	transition: 0.5s all ease;
	background-color: #e6172f;
}
div.heading a.button:hover:after {
	width: 100%;
	border-radius: 50px;
}
a.button.super {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 1ch;
	width: 100%;
	background: #000;
	border: 1px solid #7e7e7e;
	border-radius: 30px;
	text-align: center;
	font-size: 5rem;
	box-shadow: 0px 0px 0px #fff;
	transition: all 0.5s ease;
}
a.button.super:hover {
	box-shadow: 0px 0px 5px #fff;
	transform: scale(1.01);
}
a.button.super span {
	display: block;
	text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px 1px 0 #fff,
		1px 1px 0 #fff;
	color: #000;
}
a.button.super > img {
	display: block;
	flex: 1 0 50px;
	max-width: 62px;
	padding: 0;
}




h2 { font-weight: 700; }
h3 { color: #e6172f }

img { max-width: 100%; }

.small { font-size: 0.8em; line-height: 1.1em; }
a.more {
	display: block;
	position: absolute;
	top: 20px;
	z-index: 1;
	right: 0;
	width: 20%;
	font-size: 16px;
	font-weight: 700;
	text-align: right;
	text-transform: uppercase;
	text-decoration: none;
}



/* customizable line animation styling */
div#lines {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: -10;
	padding: 0;
}
.line {
	position: fixed;
	top: -10%;
	z-index: 0;
	animation-name: linefall;
	animation-duration: 10s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
	animation-play-state: running;
}
.line:nth-child(1) { left: 10%; animation-delay: 4s; }
.line:nth-child(2) { left: 30%; animation-delay: 2s; }
.line:nth-child(3) { right: 50%; animation-delay: 1s; }
.line:nth-child(4) { right: 30%; animation-delay: 5s; }
.line:nth-child(5) { right: 10%; animation-delay: 3s; }

@keyframes linefall {
	0% { top: -10%; opacity: 0; }
	20% { top: 30%; opacity: 1; }
	30% { top: 20%; opacity: 1; }
	80% { top: 80%; opacity: 1; }
	100% { top: 100%; opacity: 0; }
}




/* !standard form styles */
form.standard {
	display: flex;
	position: relative;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1.25rem;
	width: 100%;
	padding: 1.25rem;
	margin: 0 auto 1.25rem auto;
}
	form.standard div.input.text,
	form.standard div.input.email,
	form.standard div.input.select,
	form.standard div.input.file,
	form.standard div.input.checkbox,
	form.standard div.input.textarea {
		display: block;
		position: relative;
		flex: 1 0 49%;
		max-width: 49%;
		margin: 0;
	}
	form.standard div.input.textarea {
		flex: 0 0 100%;
		max-width: 100%;
	}
		form.standard div.input label {
			margin: 0 0 0.625rem 0;
			font-size: 1rem;
			font-weight: 300;
			line-height: 1.25;
			text-align: left;
		}
		form.standard div.input.text input[type="text"],
		form.standard div.input.email input[type="text"],
		form.standard div.input.select select {
			display: block;
			position: relative;
			width: 100%;
			padding: 5px;
			margin: 0;
			font-size: 1.25rem;
			line-height: 1.1;
		}
		form.standard div.input.select select { height: 3rem; }
		form.standard div.input.textarea textarea {
			display: block;
			position: relative;
			width: 100%;
			height: 150px;
			padding: 5px;
			margin: 0;
			font-size: 1.25rem;
			line-height: 1.25;
		}
		form.standard div.input.textarea select {
			display: block;
			position: relative;
			width: 100%;
			height: 150px;
			padding: 5px;
			margin: 0;
			font-size: 1rem;
			line-height: 1.25;
		}
	form.standard div.input.checkbox {
		display: flex;
		position: relative;
		justify-content: flex-start;
		column-gap: 0.625rem;
		row-gap: 0.625rem;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 0 1.25rem 0;
	}
		form.standard div.input.checkbox input[type="checkbox"] {
			display: block;
			width: 20px;
			height: 20px;
			margin: 0;
			transform: scale(1.1);
		}
		form.standard div.input.checkbox label {
			display: block;
			position: relative;
			flex-grow: 1;
			margin: 0;
			font-size: 0.875rem;
		}
		form.standard div.g-recaptcha {
			display: block;
			width: 100%;
		}
		form.standard div.input.submit {
			display: block;
			position: relative;
			flex: 1 0 10%;
			max-width: 250px;
		}
		form.standard button[type="submit"] {
			display: block;
			position: relative;
			width: 100%;
			padding: 0.75rem 1.5rem;
			margin: 0;
			border: none;
			border-radius: 0;
			font-size: 1.25rem;
			font-weight: 700;
			text-align: center;
			text-transform: uppercase;
			text-shadow: none;
			line-height: 1;
			letter-spacing: 1px;
			background: #e6172f;
			color: #fff;
		}

div#success div.container {
	text-align: center;
}

/* !Salesforce form styles */


