/*------------------------------------*\
	WPBakery grid foundation (shim)

	These rules replace what js_composer_front.css used to provide. The theme's
	own style.css styles specifics (the call-to-action band, load-more buttons,
	the portfolio grid) but always assumed WPBakery supplied the underlying
	grid: .vc_row-fluid, .vc_col-sm-*, .vc_column-inner, .wpb_wrapper.

	Mobile-first: columns stack below 768px, matching WPBakery's "sm" breakpoint.
\*------------------------------------*/

/* ---- Rows ---- */

.vc_row.vc_row-fluid {
	position: relative;
	margin-left: -15px;
	margin-right: -15px;
}

.vc_row.vc_row-fluid:before,
.vc_row.vc_row-fluid:after,
.vc_clearfix:before,
.vc_clearfix:after {
	content: " ";
	display: table;
}

.vc_row.vc_row-fluid:after,
.vc_clearfix:after {
	clear: both;
}

/* Nested rows must not double the negative margin. */
.vc_row.vc_inner {
	margin-left: -15px;
	margin-right: -15px;
}

/* ---- Columns ---- */

.wpb_column {
	position: relative;
	float: left;
	width: 100%;
	min-height: 1px;
	box-sizing: border-box;
}

.vc_column-inner {
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.vc_column-inner:before,
.vc_column-inner:after {
	content: " ";
	display: table;
}

.vc_column-inner:after {
	clear: both;
}

.wpb_wrapper {
	position: relative;
}

@media (min-width: 768px) {
	.vc_col-sm-1  { width: 8.33333333%; }
	.vc_col-sm-2  { width: 16.66666667%; }
	.vc_col-sm-3  { width: 25%; }
	.vc_col-sm-4  { width: 33.33333333%; }
	.vc_col-sm-5  { width: 41.66666667%; }
	.vc_col-sm-6  { width: 50%; }
	.vc_col-sm-7  { width: 58.33333333%; }
	.vc_col-sm-8  { width: 66.66666667%; }
	.vc_col-sm-9  { width: 75%; }
	.vc_col-sm-10 { width: 83.33333333%; }
	.vc_col-sm-11 { width: 91.66666667%; }
	.vc_col-sm-12 { width: 100%; }
}

@media (min-width: 992px) {
	.vc_col-md-12 { width: 100%; }
	.vc_col-md-8  { width: 66.66666667%; }
	.vc_col-md-6  { width: 50%; }
	.vc_col-md-4  { width: 33.33333333%; }
}

@media (min-width: 1200px) {
	.vc_col-lg-12 { width: 100%; }
	.vc_col-lg-8  { width: 66.66666667%; }
	.vc_col-lg-6  { width: 50%; }
	.vc_col-lg-4  { width: 33.33333333%; }
}

/* ---- equal_height="yes" ---- */

@media (min-width: 768px) {
	.vc_row.vc_row-flex {
		display: flex;
		flex-wrap: wrap;
	}

	.vc_row.vc_row-flex > .wpb_column {
		display: flex;
		float: none;
	}

	.vc_row.vc_row-flex > .wpb_column > .vc_column-inner {
		width: 100%;
	}

	.vc_row.vc_row-o-content-middle > .wpb_column > .vc_column-inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

/* ---- Text blocks ---- */

.wpb_content_element {
	margin-bottom: 35px;
}

.wpb_text_column > .wpb_wrapper > *:last-child {
	margin-bottom: 0;
}

/* ---- Images ---- */

.wpb_single_image img {
	max-width: 100%;
	height: auto;
	display: block;
}

.wpb_single_image .vc_figure {
	display: inline-block;
	margin: 0;
	max-width: 100%;
	vertical-align: top;
}

.wpb_single_image .vc_single_image-wrapper {
	display: inline-block;
	max-width: 100%;
	vertical-align: top;
}

.vc_align_center { text-align: center; }
.vc_align_left   { text-align: left; }
.vc_align_right  { text-align: right; }

.vc_align_center .vc_figure { display: block; }

/* ---- Buttons ---- */

.vc_btn3-container { margin-bottom: 21px; }

.vc_btn3-container.vc_btn3-center { text-align: center; }
.vc_btn3-container.vc_btn3-left   { text-align: left; }
.vc_btn3-container.vc_btn3-right  { text-align: right; }
.vc_btn3-container.vc_btn3-inline { display: inline-block; vertical-align: top; }

a.vc_general.vc_btn3 {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	text-decoration: none;
	line-height: 1.4;
	padding: 12px 20px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

a.vc_general.vc_btn3:hover { text-decoration: none; }

.vc_btn3.vc_btn3-size-sm { padding: 8px 16px; font-size: 13px; }
.vc_btn3.vc_btn3-size-md { padding: 12px 20px; font-size: 15px; }
.vc_btn3.vc_btn3-size-lg { padding: 16px 28px; font-size: 18px; }

.vc_btn3.vc_btn3-shape-rounded { border-radius: 4px; }
.vc_btn3.vc_btn3-shape-square  { border-radius: 0; }
.vc_btn3.vc_btn3-shape-round   { border-radius: 50em; }

/* Neutral fallback only. The real palette for .btn-callout and the load-more
   buttons already lives in style.css and wins on specificity. */
.vc_btn3.vc_btn3-color-grey  { background-color: #ebebeb; color: #666; }
.vc_btn3.vc_btn3-color-orange { background-color: #fbba4b; color: #fff; }

.vc_btn3-icon { display: inline-block; vertical-align: middle; }
.vc_btn3-icon-right .vc_btn3-icon { margin-left: 8px; }
.vc_btn3-icon-left  .vc_btn3-icon { margin-right: 8px; }

/* ---- Video ---- */

.wpb_video_wrapper iframe,
.wpb_video_wrapper video {
	max-width: 100%;
}

/* ---- Grids ---- */

.vc_grid-container-wrapper { margin-bottom: 35px; }

.vc_grid.vc_row {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	margin-right: 0;
}

.vc_grid .vc_grid-item {
	position: relative;
	float: none;
	width: 100%;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.vc_grid .vc_grid-item.vc_col-sm-1  { width: 8.33333333%; }
	.vc_grid .vc_grid-item.vc_col-sm-2  { width: 16.66666667%; }
	.vc_grid .vc_grid-item.vc_col-sm-3  { width: 25%; }
	.vc_grid .vc_grid-item.vc_col-sm-4  { width: 33.33333333%; }
	.vc_grid .vc_grid-item.vc_col-sm-6  { width: 50%; }
	.vc_grid .vc_grid-item.vc_col-sm-12 { width: 100%; }
}

/* Gutters, matching WPBakery's vc_grid-gutter-Npx naming. */
.vc_grid.vc_grid-gutter-0px  .vc_grid-item { padding: 0; }
.vc_grid.vc_grid-gutter-5px  .vc_grid-item { padding: 2.5px; }
.vc_grid.vc_grid-gutter-10px .vc_grid-item { padding: 5px; }
.vc_grid.vc_grid-gutter-15px .vc_grid-item { padding: 7.5px; }
.vc_grid.vc_grid-gutter-20px .vc_grid-item { padding: 10px; }
.vc_grid.vc_grid-gutter-30px .vc_grid-item { padding: 15px; }

.vc_grid-item-mini { position: relative; height: 100%; }

.vc_gitem-animated-block {
	position: relative;
	overflow: hidden;
	height: 100%;
}

.vc_gitem-zone-a img {
	display: block;
	width: 100%;
	height: auto;
}

.vc_gitem-zone-a .vc_gitem-link {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}

.vc_gitem-no-image {
	display: block;
	width: 100%;
	padding-top: 75%;
	background-color: #f2e9d8;
}

/* Slide-out overlay, mirroring grid-item template 165. */
.vc_gitem-zone-b {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 12px 10px;
	background-color: rgba(255, 247, 230, 0.94);
	transform: translateY(101%);
	transition: transform 0.28s ease;
	z-index: 3;
	pointer-events: none;
}

.vc_grid-item:hover .vc_gitem-zone-b,
.vc_grid-item:focus-within .vc_gitem-zone-b {
	transform: translateY(0);
	pointer-events: auto;
}

.vc_gitem-zone-b .slide-title p { margin: 0; text-align: center; }
.vc_gitem-zone-b .slide-title a { text-decoration: none; }
.vc_gitem-zone-b .slider-line hr { margin: 6px auto; border: 0; border-top: 1px solid #f7efde; }
.vc_gitem-zone-b .slide-category { text-align: center; font-size: 0.85em; }

/* Touch devices have no hover - keep the caption visible instead. */
@media (hover: none) {
	.vc_gitem-zone-b {
		position: static;
		transform: none;
		pointer-events: auto;
		background-color: transparent;
	}
}

/* ---- Filter bar ---- */

.vc_grid-filter {
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
}

.vc_grid-filter-item {
	display: inline-block;
	margin: 0 6px 8px;
	padding: 4px 12px;
	cursor: pointer;
	border-radius: 3px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.vc_grid-filter-item:hover { background-color: #f7efde; }

.vc_grid-filter-item.vc_active {
	background-color: #fbba4b;
	color: #fff7e6;
}

.vc_hidden-item { display: none !important; }


/*------------------------------------*\
	Filter bar type
	
		The block above only positions the filter; it left the type inheriting
			body copy, which reads far too small next to the rest of the site.
				These rules match the existing UI vocabulary in style.css: nav is
					'Open Sans Condensed' 700 at 14pt, and the load-more buttons are the
						same face at 16pt, cream on brown with a gold hover.
						
							Kept as a trailing override block so it can be appended through cPanel's
								file editor without rewriting the whole stylesheet.
								\*------------------------------------*/
								
								.vc_grid-filter {
								margin-bottom: 25px;
								line-height: 1.2;
								}
								
								.vc_grid-filter-item {
								margin: 0 4px 8px;
								padding: 6px 18px;
								font-family: 'Open Sans Condensed', 'Open Sans', sans-serif;
								font-weight: 700;
								font-size: 16pt;
								color: rgb(171, 87, 45);
								user-select: none;
								}
								
								.vc_grid-filter-item:hover {
								background-color: rgb(251, 186, 75);
								color: #fff7e6;
								}
								
								.vc_grid-filter-item.vc_active {
								background-color: rgb(171, 87, 45);
								color: #fff7e6;
								}
								
								@media (max-width: 600px) {
								.vc_grid-filter-item {
								font-size: 13pt;
								padding: 5px 12px;
								margin: 0 2px 6px;
								}
								}
								