/* Home */
#HomeMedia,
#Gallery {
	width: 100%;
  position: relative;
  overflow: hidden;
}
#Gallery .slider {
  aspect-ratio: 4 / 3;
  background-color: #f7f7f7;
}
#Gallery .controls {
  left: auto;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 2rem;
}
#Gallery .slider .video {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #111;
  color: #fff;
}
#Gallery .slider .video iframe {
  aspect-ratio: 16 / 9;
}
#Home .col {
	width: 48%;
	padding: 15px 0 0;
	float: left;
}
#Home #TwitterWrap { 
	float: right; 
	position: relative;
}
#TwitterWrap img { 
	position: absolute;
	top: 15px;
	left: 0;
	z-index: 400;
}
#TwitterWrap p.title {
	width: 100%;
	height: 57px;
	padding: 8px 0 0 91px;
	float: left;
	color: #b1b3b6;
}
#TwitterWrap div.bubble {
	width: 98%;
	padding: 25px 30px 23px;
	float: right;
	border: 2px solid #b1b3b6;
	border-radius: 8px; 
	-webkit-border-radius: 8px;
}
#TwitterWrap p.follow {
	width: 98%;
	padding: 17px 30px 0;
	float: right;
}
#Blog .head,
#instagram .head {
	width: 100%;
	float: left;
	border-bottom: 1px solid #b1b3b6;
}
#Blog .head p.title,
#instagram .head p.title {
	height: 52px;
	padding: 0 30px 0 25px;
	float: left;
	color: #fff;
	background: 
		url(/_themes/_images/modules/blog-tails.gif) bottom left no-repeat,
		#b1b3b6 url(/_themes/_images/modules/blog-arrow.gif) bottom right no-repeat;
}
#Blog .head a,
#instagram .head a {
	padding: 20px 10px 0 10px;
	float: right;
}
#Blog .head p.chev,
#instagram .head p.chev {
	padding: 15px 0 0;
	float: right;
	color: #00a1e1;
}
#Blog div[class^=row] { 
	padding-bottom: 0; 
	border: 0;
}
#Blog div.date {
	width: 70px;
	height: 80px;
	float: left;
	color: #000;
	background: url(/_themes/_images/modules/blog-bullet.gif) top left no-repeat;
}
#Blog div.date p {
	width: 55px;
	text-align: center;
}
#Blog div.date p.month {
	padding: 15px 0 3px;
	text-transform: uppercase;
}
#Blog div.data { padding: 12px 0 5px 90px; }

#MediumFeatures {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	padding: 0 0 50px;
	-webkit-justify-content: center;
	justify-content: center;
}
#MediumFeatures .feature {
	-webkit-box-flex: 1;
	-moz-box-flex: 1;
	width: 48%;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	box-sizing: border-box;
	border-color: #00a1e1;
	margin-right: 4%;
	overflow: hidden;
}
#MediumFeatures .feature:nth-child(2n) {
  margin-right: 0;
}
#MediumFeatures a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border-color: inherit;
	color: #fff;
}
#MediumFeatures a.image {
	color: inherit;
}
#MediumFeatures a:hover {
	background: rgba(255, 255, 255, 0.2);
}
#MediumFeatures img {
	position: relative;
	width: 101;
	max-width: 101%;
}
#MediumFeatures .text {
	position: absolute;
	bottom: 0;
	z-index: 200;
	width: 100%;
	padding: 10px 20px 0;
	border-bottom-width: 10px;
	border-bottom-style: solid;
	border-color: inherit;
}
#MediumFeatures a:hover img {
	opacity: 0.9;
}
#MediumFeatures a.image .text {
	background: rgba(255, 255, 255, 0.8);
	color: inherit;
}
#MediumFeatures a.image:hover .text {
	background: rgba(255, 255, 255, 0.9);
}
#MediumFeatures h2 {
	padding: 5px 0 15px;
}
#MediumFeatures p {
	padding-bottom: 15px;
}
@media all and (max-width: 599px) {
	#MediumFeatures {
		-ms-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: center;
		align-items: center;
	}
	#MediumFeatures .feature {
		width: 100%;
		margin: 0;
	}
	#MediumFeatures .feature + .feature {
		margin-top: 20px;
	}
}

/* Galleria */
.gallery {
	width: 100%;
	padding: 20px 0 35px;
}
.gallery.sample { padding-bottom: 0; }
p.caption {
	width: 100%;
	padding: 5px 0 35px;
	text-align: right;
}
.gallery .galleria-stage {
	top: 0;
	left: 0;
	right: 0;
}
.gallery .galleria-container {
	width: 100%;
	max-width: 100%;
	height: auto;
}
.gallery .galleria-thumbnails-container { height: 80px; }
.gallery .galleria-stage { bottom: 100px; }
.gallery .galleria-thumbnails .galleria-image,
.gallery .galleria-thumb-nav-left, 
.galleria-thumb-nav-right { height: 60px !important; }
.gallery .galleria-thumbnails .galleria-image { 
	margin: 0 10px 0 0;
	background: #fff; 
}
.gallery .galleria-thumbnails .galleria-image img {
	min-height: 60px !important;
	max-height: 60px !important;
	width: auto !important;
}
#gallery .galleria-image-nav { top: 30%; }
.galleria-container { background: #f7f7f7; }
.galleria-layer div.feature-title p,
.galleria-layer div.feature-title a {
	color: #fff;
	text-transform: none;
	text-align: left;
}
.galleria-layer div.feature-title a:hover { text-decoration: none; }
.galleria-layer div.feature-title div.headline p {
	position: relative;
	width: auto;
	padding: 14px 20px;
	float: left;
}
.galleria-layer div.feature-title div.headline p.long { padding: 15px 20px; }
.galleria-image-nav { 
	height: 70px;
	top: calc(50% - 35px);
}
.galleria-container .galleria-image-nav-left, 
.galleria-container .galleria-image-nav-right,
.galleria-container .galleria-thumb-nav-left,
.galleria-container .galleria-thumb-nav-right {
	width: 70px;
	height: 100%;
  background: rgba(0, 0, 0, 0.333) url(/_themes/_images/framework/chevron-double-white.svg) 60% center no-repeat;
  background-size: 40px 40px;
	opacity: 0.666;
  transition: opacity 0.2s ease;
}
.galleria-container .galleria-thumb-nav-left,
.galleria-container .galleria-thumb-nav-right {
  width: 23px;
  background-size: 18px 18px;
}
.galleria-container .galleria-image-nav-left,
.galleria-container .galleria-thumb-nav-left {
  transform: rotateY(180deg);
}
.galleria-container .galleria-thumbnails-container .disabled {
  opacity: 0.2;
}
.notouch .galleria-thumbnails-container .disabled:hover {
  background-color: rgba(0, 0, 0, 0.333);
}
.galleria-container .galleria-info-close {
	background-image: url(/_themes/_images/buttons/galleria-buttons.png);
	background-position: top left; 
}
.galleria-container .galleria-info-link {
  display: none;
	background-image: url(/_themes/_images/buttons/galleria-buttons.png);
	background-position: bottom left; 
}
#MLeft {
	width: 60%;
	float: left;
}
#LightBox {
	width: 36%;
	float: right;
}
#LightBox .form-wrapper { 
	width: 100%;
	padding-bottom: 10px; 
}
#LightBox .form-wrapper p { padding: 6px 10px 5px; }
#LightBox a.button {
	width: 120px;
	padding: 15px 20px 0;
	margin: 0 auto;
	display: block;
	text-align: center;
}
#LightBox #Remove a.button { 
	width: 155px; 
	background: #c00;
	border: 1px solid #c00;
}

/* Common page / index */
.form-container {
  margin: 0 auto;
  max-width: 960px;
}
*[class^=bar] {
  margin: 0 auto;
  max-width: 960px;
  min-height: 50px;
	clear: both;  
}
div[class^=bar] p { 
	padding: 10px 20px;
	text-transform: uppercase;
}
*[class^=bar] a.right, 
*[class^=bar] p.right {
	padding: 14px 20px 0 0;
	float: right;
}
*[class^=bar] p.right { text-transform: capitalize; }
*[class^=bar] a { font-weight: normal; }
*.bar-head { 
	width: 100%;
	float: left;
	border-radius: 0; 
}
div.bar-head p { float: left; }
*[class^=bar] select {
	margin: 10px 8px 0 0;
	float: right;
}
*[class^=bar] input[type=submit].small { float: right; }
*[class^=bar] + div[id^="Portfolio-"] {
  margin-top: 3.5%;
}
*.bar-head select,
*.bar-head input[type=submit].small { float: left; }
*[class^=bar] img.icon {
	margin: 0;
	padding: 16px 20px 5px;
	float: right;
	background: none;
}
*[class^=targets] {
	width: 100%;
  max-width: 960px;
  margin: 0 auto;
	padding: 0 0 15px;
}
#pageIndex {
	padding-top: 40px;
	background: url(/_themes/_images/framework/hr-dash.gif) 0 20px repeat-x;
}
#Rows { padding-top: 0; }
*[class^=targets] > a {
	width: 100%;
	float: left;
}
*[class^=targets] p { font-weight: normal; }
*[class^=targets] a:hover, 
*[class^=targets] a:active, 
*[class^=targets] a:focus { text-decoration: none; }
*[class^=targets] a:hover p.link, 
*[class^=targets] a:active p.link, 
*[class^=targets] a:focus p.link,
*[class^=targets] a:hover p[class^=title], 
*[class^=targets] a:active p[class^=title], 
*[class^=targets] a:focus p[class^=title] { text-decoration: underline; }
*[class^=targets] p.overview { 
	padding-top: 12px;
	text-align: left; 
}
*[class^=targets] ul[class~="three"] p.overview { padding: 12px 0 0; }
*[class^=targets] img { float: left; }
#Preview ul img,
.preview ul img,
#SearchResults img {
	padding: 0 0 12px 20px;
	float: right;
}
*[class^=targets] img.callout { 
	width: 100%;
	height: auto;
	margin: 0 auto;
	float: none;
	display: block;
}
*[class^=targets] ul {
	width: 100%;
	padding: 10px 0 0;
	margin: 0;
  display: flex;
  flex-wrap: wrap;
}
*[class^=targets] div.data { padding: 0 0 5px 0; }
*[class^=targets] ul[class~="two"] li {
	width: 50%; 
	padding: 10px 20px 15px;
}
*[class^=targets] div[class^=row] {
	width: 100%;
	padding: 20px 10px 10px;
	float: left;
}
ul.targets-cols {
	width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
ul.targets-cols li {
	width: 31%;
  margin-right: 3.5%;
  padding: 0 0 30px;
}
ul.targets-cols li:nth-child(3n) {
  margin-right: 0;
}
#Portfolio {
  max-width: 960px;
  margin: 0 auto;
  float: none;
}
div[class^="gutters"] + #Portfolio {
  margin-top: 30px;
}
#Portfolio ul.targets-cols li {
  width: 48%;
  margin-bottom: 4%;
  padding: 0;
  background: rgb(2, 86, 139);
}
#Portfolio ul.targets-cols li,
#Portfolio ul.targets-cols li:nth-child(3n) {
  margin-right: 4%;
}
#Portfolio ul.targets-cols li:nth-child(2n) {
  margin-right: 0;
}
#Portfolio ul.targets-cols li:nth-child(1n) {
  background: rgb(2, 86, 139);
}
#Portfolio ul.targets-cols li:nth-child(2n) {
  background: rgb(88, 183, 179);
}
#Portfolio ul.targets-cols li:nth-child(3n) {
  background: rgb(0, 161, 225);
}
#Portfolio ul.targets-cols li:nth-child(4n) {
  background: rgb(2, 86, 139);
}
#Portfolio ul.targets-cols li > a  {
  display: block;
  position: relative;
}
#Portfolio ul.targets-cols li > a > p.title {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 15px 20px;
  background: rgba(2, 86, 139, 0.8);
  color: #fff;
  font-family: 'Museo Slab W01', Helvetica, Arial, sans-serif;
  font-size: 150%;
}
#Portfolio ul.targets-cols li:nth-child(1n) > a > p.title {
  background: rgba(2, 86, 139, 0.8);
}
#Portfolio ul.targets-cols li:nth-child(2n) > a > p.title {
  background: rgba(88, 183, 179, 0.8);
}
#Portfolio ul.targets-cols li:nth-child(3n) > a > p.title {
  background: rgba(0, 161, 225, 0.8);
}
#Portfolio ul.targets-cols li:nth-child(4n) > a > p.title {
  background: rgba(2, 86, 139, 0.8);
}
#Portfolio ul.targets-cols li .sub {
  display: flex;
  flex-wrap: wrap;
  padding: 8px 0 12px;
}
#Portfolio ul.targets-cols li .sub a {
  width: 50%;
  padding: 10px 20px;
  color: #fff;
}
#Portfolio ul.targets-cols li .sub a:hover {
  text-decoration: underline;
}
#Portfolio ul.targets-cols li .sub.content {
  padding: 20px;
}
#Portfolio ul.targets-cols li .sub.content * {
  color: #fff;
  font-size: 18px;
}
#Portfolio ul.targets-cols li .sub.content > * + * {
  margin-top: 12px;
}
ul.targets-cols p.title {
	clear: both;
	padding: 15px 0 0;
}
ul.targets-cols p.link { padding: 6px 0 5px; }
ul.targets-cols div.scalebox {
	width: 100%;
	height: 150px;
	position: relative;
}
ul.targets-cols div.scalebox > p {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	padding: 0;
}
ul.targets-cols div.scalebox img {
	width: auto;
	height: auto;
	max-height: 150px;
	max-width: 100%;
	margin: 0 auto;
	float: none;
	display: block;
}
#pageIndex ul {
	padding: 5px 0;
	border: none;
}
#pageIndex ul li {
	width: 50%;
  margin: 5px 0;
	padding: 0;
}
#pageIndex a.bullet {
	min-height: 60px;
	padding: 0 10px 0 80px;
	display: flex;
  align-items: center;
}
#pageIndex a.bullet img {
  box-sizing: border-box;
  margin-right: 12px;
  width: 40px;
  height: 40px;
  padding: 12px 10px 12px;
	background-color: #00a1e1;
}
#Related a {
  display: flex;
}
#Related .icon {
  flex-shrink: 0;
  margin-right: 10px;
  width: 30px;
  height: 30px;
  background: #00a1e1 url('/_themes/_images/framework/chevron-double-white.svg') center center no-repeat;
  background-size: 15px 15px;
}
#Related p + p {
  margin-top: 5px;
}
#Related p.info,
#Related p.type {
  color: #a1a1a1;
}
#Related p.type {
  font-style: italic;
}

/* Modules */
#Showcase {
	width: 100%;
	padding: 0 0 30px;
	float: left;
}
#Showcase .gallery { padding: 0; }
#Showcase .right {
	width: 35%;
	float: right;
}
#Showcase .right .att-row {	padding: 0 10px 10px; }
#Showcase .right .att-row p { padding: 0 0 5px; }
#Showcase .right .att-row p.label { 
	padding: 10px 0 5px;
	text-transform: capitalize;
}
#Showcase .left {
	width: 61%;
	float: left;
}
#Showcase .left .details { width: 96%; }
#Showcase .imageWrap {
	width: 100%;
	max-width: 100%;
	padding: 0;
	float: left;
}
#Showcase .imageWrap img { 
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	float: none;
}
div.sub-title { padding: 0 0 20px; }
div[class^=widget] {
	max-width: 100%;
	padding: 0 0 35px;
	clear: both;
	text-align: center;
}
div[class^=widget] button {
	font-size: 24px;
	font-size: 2.4rem;
	padding: 10px 30px;
}
div[class^=widget] a:hover button {
	color: #00a1e1;
	background: #fff;
}
.paging-bar {
	width: 100%;
	min-height: 30px;
	float: left;
}
.paging-bar:not(.bottom) {
  margin-bottom: 20px;
}
.paging-bar > div { padding: 10px 0; }
.paging-bar > div.count { 
	width: 25%;
	float: left;
}
.paging-bar > div.paging {
	width: 65%;
	float: right;
	text-align: right;
}
.paging-bar > div p { 
	padding: 2px 0 0;
	display: inline-block; 
}
.paging-bar > div.count p.divider { padding: 2px 10px 2px 7px; }
.paging-bar > div.paging a { display: inline-block; }
.paging-bar > div.paging p { 
	min-width: 30px;
	padding: 3px 5px 1px;
	text-align: center;
}
.paging-bar > div.paging p.elipse { 
	min-width: 10px; 
	padding: 2px;
}
.paging-bar > div.paging p.divider {
	min-width: 0;
	padding: 2px;
	border: none;
	background: none;
}
#MediaGallery {
	width: 100%;
	max-width: 100%;
	padding: 2% 0;
	margin: 10px auto 30px;
	clear: both;
}
#MediaGallery #gallery .galleria-image-nav { top: 35%; }
#MediaGallery div.thumbs {
	width: 96%;
	padding: 2% 0 0;
	margin: 0 auto;
	overflow-x: auto;
	overflow-y: hidden;
}
#MediaGallery div.thumbs > div {
  display: flex;
	width: auto;
	white-space: nowrap;
}
div.thumbs div.block {
  margin-right: 10px;
	position: relative;
	cursor: pointer;
}
div.thumbs div.block:last-child {
  margin-right: 0;
}
div.thumbs div.block div.link { 
	float: left; 
	position: relative;
}
div.thumbs div.block img[class*=thumb] { 
	max-width: 120px;
	height: auto;
	float: left;
}
div.thumbs div.block img.icon {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 400;
}
div.thumbs div.block p.source {
	position: absolute;
	right: 2px;
	bottom: 2px;
	padding: 0 5px 2px;
	z-index: 400;
}
#MediaGallery div.target {
	width: 100%;
	max-width: 96%;
	margin: 0 auto;
	padding: 0;
}
#MediaGallery div.target > div { width: 100%; }
#MediaGallery div.target > div #videoContentDetail, 
#MediaGallery div.target > div #videoYouTube {
	padding: 0;
	clear: none;
}
#MediaGallery div.target > div #gallery { 
	width: 100%;
	padding: 0;
	position: relative;
}
#MediaContent > p { padding: 10px 10px 5px; }
#MediaDetail {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 10px 0 30px;
}
.inline-vid-wrapper {
	width: 100%;
	padding: 0 0 35px;
}
#EmbeddedVideo {
	height: 0;
	padding: 30px 0 56.25%;
	overflow: hidden;
	position: relative;
}
#EmbeddedVideo iframe, 
#EmbeddedVideo embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Form Inputs */
input[type=text], 
input[type=password], 
textarea, 
select, 
input[type=email], 
input[type=tel], 
input[type=search] { 
	min-height: 30px;
	float: left; 
}
#recaptcha_widget_div input[type=text] { min-height: 0; }
select { height: 30px; }
input[type=submit], 
button, 
a.button {
	cursor: pointer;
	text-transform: uppercase;
}
a.button p { padding: 8px 0 5px; }
a.button,
input[type=submit] {
	height: 56px;
	padding: 0 20px;
}
input[type=submit].small {
	height: 30px;
	padding: 0 5px;
}
*[class^=bar] input[type=submit].small { margin: 10px 10px 0 0; }
input[type=text], 
input[type=password], 
input[type=email], 
input[type=tel] {
	padding: 4px 2px;
	margin: 0;
}
textarea {
	width: 100%;
	height: 100px;
	padding: 3px 1%;
}
input[type=checkbox], 
input[type=radio] {
	width: 14px;
	height: 14px;
	margin: 7px 10px 0;
	float: left;
}
select { margin: 2px 0 0; }
input.regular, 
email.regular, 
select.regular { width: 240px; }
input.short { width: 150px; }
input.shorter { width: 110px; }
input.security { width: 86px; }
label { cursor: pointer; }

/* Forms */
.form-text { 
	width: 100%; 
	padding: 20px 3%;
	float: left; 
}
div[class^=form-row] label span { float: left; }
.form-wrapper { 
	float: left; 
	border: 1px solid #c6c6c6;
	border-radius: 0 0 5px 5px; 
	-webkit-border-radius: 0 0 5px 5px;
}
fieldset {
	width: 100%;
	max-width: 100%;
	padding: 10px 0;
	float: left;
}
fieldset p { padding: 0 10px 10px; }
div[class^=form-row] {
	width: 100%;
	padding: 0 0 5px;
	float: left;
}
div.check-row {
	padding: 5px 20px 20px 27%;
	float: left;
}
div.form-row-bottom { padding: 15px 0; }
div[class^=form-row] p { padding: 3px 0 0 0; }
div[class^=form-row] p.field-link {
	padding: 4px 0 0 10px;
	float: left;
}
div[class^=form-row] > label {
	width: 35%;
	padding: 5px 20px 0 10px;
	text-align: right;
	float: left;
	font-weight: normal;
	position: relative;
}
div[class^=form-row] > label span {
	position: absolute;
	top: 2px;
	right: 10px;
}
div[class^=form-row] > label.check {
	width: auto;
	padding: 0;
	text-align: left;
}
div[class^=form-row] label.divider { 
	width: auto; 
	padding: 2px 10px 0; 
	float: left;
}
div[class^=form-row] p.field-divider {
	padding: 4px 10px 0;
	float: left;
}
div[class^=form-row] div.field {
	width: 50%;
	padding: 5px;
	float: left;
}
div[class^=form-row] div.field.recaptcha {
	padding-bottom: 10px;
}
div[class^=form-row] p.submit-alt {
	padding: 15px 0;
	text-align: center;
}
.form-row.hp {
  display: none;
}
#recaptcha_table input[type=text] { 
	width: 140px !important;
	padding: 0; 
	float: none; 
}
.form-button {
	margin: 0 auto;
	display: block;
}
#frmCreateAccount #CapRow .field {
	width: 100%;
}
#frmCreateAccount .g-recaptcha > * {
	margin: 0 auto;
}
@media screen and (max-width: 339px) {
	.g-recaptcha {
		margin-left: -5px;
	}
	#CapRow .field {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
}

/* Form Alerts */
div[class^=form-row] p.error { display: none; }
div.form-row-error p.error {
	color: #c00;
	margin: 0;
	padding: 5px 10px 0 25px;
	background: url(/_themes/_images/modules/error-form-icon.gif) 0 7px no-repeat;
	text-align: left;
	clear: left;
	display: block;
}
div.form-row-error div.field { 
	background: #fcc; 
	border-radius: 4px; 
	-webkit-border-radius: 4px;
}
div.form-row-error input[type=text], 
div.form-row-error input[type=password], 
div.form-row-error textarea, 
div.form-row-error select, 
div.form-row-error input[type=email], 
div.form-row-error input[type=tel], 
div.form-row-error input[type=search] { border: 1px solid #c00; }
.alert-confirm, .alert-error {
	min-height: 40px;
	padding: 9px;
	margin: 0 0 20px;
	clear: both;
}
.alert-confirm {
	border: 1px solid #390;
	background: #dafbca url(/_themes/_images/modules/alert-confirm.png) 9px 9px no-repeat;
}
.alert-error {
	border: 1px solid #c00;
	background: #fcc url(/_themes/_images/modules/alert-error.png) 9px 9px no-repeat;
}
.alert-confirm p, 
.alert-error p {
	padding: 12px 0 0 50px;
	color: #000;
}

/* Site Map */
#errorSiteMap {
	width: 100%;
	padding: 10px 0 0;
	float: left;
}
div.sm-section {
	margin: 0;
	padding: 0 0 15px;
	clear: left;
}
div.sm-section p { padding: 0; }
ul.site-map p.meta { padding-top: 3px; }
div.sm-section div.pages { 
	margin: 0;
	padding: 0 0 0 25px;
}
div.sm-section p.page { padding: 15px 0 0 0; }
div.sm-section p.page a { font-weight: normal; }

/* Search Results */
#SearchBar {
	width: 100%;
	float: left;
}
#SearchBar div.form {
	width: 100%;
	padding: 10px;
	float: left;
}
#SearchBar div.form label {
	width: 15%;
	padding: 16px 10px 0 0; 
	float: left;
	text-align: right;
	text-transform: none;
	font-weight: normal;
}
#SearchBar div.form input[type=text] {
	width: 20%; 
	max-width: 20%;
	margin: 12px 0 0;
	padding: 4px; 
} 
#SearchBar div.form select {
	width: 20%; 
	max-width: 20%;
	margin: 12px 0 0 3%;
	float: left; 
}
#SearchBar input[type=submit] {
	width: 11%;
	padding: 0;
	margin: 0 0 0 3%;
	float: left;
	text-align: center; 
}
#SearchBar a {
	padding: 7px 0 0;
	float: right;
}
#SearchResults { padding-top: 0; }
#SearchResults p.clear {
	width: 100px;
	padding: 0;
	margin: 0 auto;
	display: block;
	text-align: center;
	clear: both;
}
#SearchResults p.clear a {
	width: 100%;
	padding: 6px 0 4px;
	display: block;
	border-left: 1px solid #666;
	border-bottom: 1px solid #666;
	border-right: 1px solid #666;
	text-transform: uppercase;
}
#SearchResults .paging-bar { margin-top: 20px; }
#SearchResults p.result-message { 
	padding: 15px 10px 10px; 
	clear: left;
}
#BlogSearch {
	width: 100%;
	margin: 30px 0 0;
	float: left;
	background: #009ddc;
}
#BlogSearch p { 
	text-transform: none; 
	float: left;
}
#BlogSearch .q-search {
	margin: 9px 0 0;
	float: left;
	background: #fff;
	border: 1px solid #999;
}

/* USERS */
.form-box {
	width: 100%;
	padding: 0 25%;
	float: left;
}
.form-box div[class^=form-row] { 
	width: 100%;
	padding: 10px 10% 5px; 
}
.form-box div.check-row {
	width: 100%;
	padding: 0 10%;
}
.form-box div.check-row  label { 
	padding: 5px 0 0;
	float: left; 
}
.form-box div[class^=form-row] > label {
	width: auto;
	padding: 8px 20px 0 5px;
	text-align: left;
}
.form-box div[class^=form-row] p.field-link { 
	padding-top: 8px; 
	float: right; 
}
.form-box div[class^=form-row] div.field {
	width: 100%;
	padding: 5px 0;
	float: left;
}
.form-box input[type=text], 
.form-box input[type=password], 
.form-box input[type=email] { 
	width: 100%;
	padding: 4px 1%; 
}
.form-box .links {
	padding: 15px 0;
	text-align: center;
	clear: both;
}
div[class^=form-row] label.divider { clear: left; }
input[type=text].post-divider, 
select.post-divider, 
input[type=email].post-divider, 
input[type=tel].post-divider, 
div[class^=form-row] label.divider { margin: 10px 0 0; }

#instagram.section {
  max-width: 960px;
	margin: 0 auto;
  padding: 0;
}
#instagram .head {
	margin: 10px 0 2%;
}
#instagram .item {
	margin: 0 2% 2% 0;
	display: block;
	float: left;
	box-sizing: border-box;
	position: relative;
	width: 32%;
	overflow: hidden;
}
#instagram .item:nth-child(3n) {
	margin-right: 0;
}
#instagram .item .height {
	margin-top: 100%;
}
#instagram .item .photo {
	position: absolute;
	z-index: 30;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-position: center center;
	background-size: cover;
}
#instagram .item .underlay {
	position: absolute;
	z-index: 20;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
#instagram .item:nth-child(1) .underlay,
#instagram .item:nth-child(6) .underlay {
	background: rgb(0, 161, 225);
}
#instagram .item:nth-child(2) .underlay,
#instagram .item:nth-child(5) .underlay {
	background: rgb(154, 218, 218);
}
#instagram .item:nth-child(3) .underlay,
#instagram .item:nth-child(8) .underlay {
	background: rgb(2, 86, 139);
}
#instagram .item:nth-child(4) .underlay,
#instagram .item:nth-child(7) .underlay {
	background: rgb(88, 183, 179);
}
#instagram .item:hover .photo {
	opacity: 0.75;
	filter: grayscale(100%);
}
#instagram .item.video .photo {
	top: 2.5%;
	right: 2.5%;
	bottom: 21%;
	left: 2.5%;
}
#instagram .item.video .play {
	position: absolute;
	z-index: 40;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20%;
	text-align: center;
}
#instagram .item.video .play:after {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	width: 0;
}
#instagram .item.video .play p {
	display: inline-block;
	margin: 0 0 5px;
	vertical-align: middle;
	color: rgba(255, 255, 255, 0.666);
	text-transform: uppercase;
}
#instagram .item.video .play p:after {
	display: inline-block;
	content: '';
	width: 0;
	height: 0;
	margin-left: 10px;
	border-top: 8px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 17px solid rgba(255, 255, 255, 0.666);
}
#instagram .item.video:hover .play p {
	color: #fff;
}
#instagram .item.video:hover .play p:after {
	border-left-color: #fff;
}

#landing_video_cta {
	display: block;
	position: fixed;
	top: 300px;
	right: 0;
	z-index: 700;
	opacity: 0;
	padding: 8px;
	width: auto;
	background: rgb(0, 163, 224);
	color: #fff;
	box-shadow: rgba(0, 0, 0, 0.3) 0 0 5px 1px;
	transition: background 150ms ease;
	animation: fade-in-slide-left 500ms ease 2s forwards;
}
#landing_video_cta:active,
#landing_video_cta:focus,
#landing_video_cta:hover {
	background: rgb(9, 85, 140);
	text-decoration: none;
}
#landing_video_cta > * {
	max-width: 200px;
}
@media only screen and (min-width: 1200px) {
	#landing_video_cta {
		right: calc(50% - 590px);
	}
}
@media only screen and (min-width: 1300px) {
	#landing_video_cta {
		right: calc(50% - 640px);
	}
	#landing_video_cta > * {
		max-width: 250px;
	}
}
@media only screen and (min-width: 1400px) {
	#landing_video_cta {
		right: calc(50% - 690px);
	}
	#landing_video_cta > * {
		max-width: 300px;
	}
}
#landing_video_cta .thumb {
	position: relative;
}
#landing_video_cta .thumb .icon {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 710;
	opacity: 0.75;
	background: url(/_themes/_images/buttons/play-circle.svg) center center no-repeat;
	background-size: 60px 60px;
	transition: all 150ms ease;
	/* no delay so opacity can change before cta is visible; no 'forward' so we can change props on hover, etc. */
	animation: fade-in-zoom-in 3s ease;
}
#landing_video_cta:active .thumb .icon,
#landing_video_cta:focus .thumb .icon,
#landing_video_cta:hover .thumb .icon {
	opacity: 1;
	transform: scale(1.125);
}
#landing_video_cta .thumb .icon span {
	opacity: 0;
}
#landing_video_cta .thumb .outside-thumb {
	margin-bottom: 8px;
	max-width: 100%;
}
#landing_video_cta h2,
#landing_video_cta h3,
#landing_video_cta h4,
#landing_video_cta h5,
#landing_video_cta h6 {
	margin-bottom: 5px;
	padding: 2px 5px 0;
	font-family: 'Museo Slab W01', Helvetica, Arial, sans-serif;
	line-height: 1.1;
}
#landing_video_cta h2 {
	font-size: 32px;
	text-transform: uppercase;
}
#landing_video_cta h3 {
	font-size: 32px;
	font-weight: 100;
}
#landing_video_cta h4 {
	font-size: 24px;
	text-transform: uppercase;
}
#landing_video_cta h5 {
	font-size: 24px;
	font-weight: 100;
}
#landing_video_cta h6 {
	font-size: 24px;
	color: rgb(206, 220, 0);
}
#landing_video_cta p {
	margin-bottom: 10px;
	padding: 0 5px;
}
#landing_video_cta > *:last-child {
	margin-bottom: 0;
}
body.reveal #landing_video_cta {
	opacity: 0;
}

#landing_video {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	padding: 122px 20px 20px;
	background: rgba(51, 112, 155, 0.7) url(/_themes/_images/framework/logo.png) top left no-repeat;
	background-size: 102px 102px;
	color: #fff;
}

#landing_video .close {
	position: absolute;
	top: 17px;
	right: 20px;
	padding: 5px;
	border: 2px solid #fff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	background: #fff;
	color: #0a548b;
	font-size: 24px;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	transition: all .2s linear;
}

#landing_video .close:active,
#landing_video .close:focus,
#landing_video .close:hover {
	background: #0a548b;
	color: #fff;
}

#landing_video .wrap {
	width: 80%;
}

#landing_video iframe {
	background: #000;
	box-shadow: rgba(0, 0, 0, 0.3) 0 0 5px 1px;
}

.details .feature-lg,
.details .feature-sm,
.details .feature-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0 0 2.5rem;
  width: 100%;
}

.details .feature-lg img,
.details .feature-sm img,
.details .feature-grid img {
  display: block;
  width: 100%;
  max-width: 60rem;
  height: auto;
}
.details .feature-sm img {
  max-width: 40rem;
}

@media only screen and (min-width: 600px) {
  .details .feature-sm,
  .details .feature-grid {
    flex-direction: row;
    align-items: center;
  }

  .feature-sm:nth-child(odd) {
    flex-direction: row-reverse;
  }

  .details .feature-grid {
    flex-wrap: wrap;
  }

  .details .feature-sm > img {
    width: calc(33.333% - 1rem);
  }
  .details .feature-sm > .text {
    width: calc(66.666% - 1rem);
  }

  .details .feature-grid > img,
  .details .feature-grid > .text {
    width: calc(50% - 1rem);
  }

  .details .feature-sm img {
    max-width: none;
  }
}

@media only screen and (min-width: 768px) {
  .details .feature-lg {
    flex-direction: row;
    align-items: start;
    margin-bottom: 4rem;
  }
  .details .feature-grid {
    margin-bottom: 4rem;
  }

  .details .feature-lg > img,
  .details .feature-lg > .text {
    width: calc(50% - 1rem);
  }

  .details .feature-grid > img,
  .details .feature-grid > .text {
    width: calc(25% - 1.5rem);
  }

  .details .feature-lg img {
    max-width: none;
    margin-top: 5px;
  }
}

@keyframes fade-in-slide-left {
	0% {
		opacity: 0;
		transform: scale(0.5) translateX(10rem);
	}

	100% {
		opacity: 1;
		transform: scale(1) translateX(0);
	}
}

@keyframes fade-in-zoom-in {
	0% {
		opacity: 0;
		transform: scale(0.25);
	}

	85% {
		opacity: 0;
		transform: scale(0.25);
	}

	95% {
		opacity: 1;
		transform: scale(1.125);
	}

	100% {
		opacity: 0.75;
		transform: scale(1);
	}
}
