/*
 * Ported from the vendor parent theme:
 * wp-content/themes/photome/css/screen.css (ThemeGoods "Photome" v5.7.2 -
 * the theme's main/master stylesheet, 9822 lines). Loaded unconditionally
 * on every front-end page load via wp_enqueue_style("screen.css",
 * .../css/screen.css", ...) (functions.php,
 * pp_enqueue_front_page_scripts()), after reset/wordpress/animation/
 * magnific-popup/jquery-ui/mediaelement/flexslider/tooltipster/odometer/
 * hw-parallax.
 *
 * This file carries no WooCommerce-scoped rules: no template in this theme
 * (or in wp-content/themes/photome-child/) outputs `.woocommerce`/
 * `.woocommerce-page` body classes (only ever added by the WooCommerce
 * plugin's own body_class filter, which is inactive on this site) or
 * WooCommerce-specific markup/classes (.shop_table, .cart_totals,
 * ul.products, .product_title, etc. - also individually true of
 * .post_carousel, which reads as unrelated to WooCommerce at a glance but
 * has zero real usage anywhere in this theme either). None of those
 * selectors can ever match anything real on this site regardless of
 * WooCommerce's on/off state, since this theme never ported a
 * WooCommerce-rendering template in the first place - no woocommerce.php
 * exists in either wp-content/themes/kedynsierra/ or
 * wp-content/themes/photome-child/. Leftover `product`/`product_variation`
 * rows in the database from this site's prior WooCommerce use are a data
 * question, not a CSS one.
 *
 * This file does not @import reset.css or wordpress.css itself: both are
 * already loaded separately via their own wp_enqueue_style() <link> tags
 * (functions.php's pp_enqueue_front_page_scripts()). Adding `@import
 * "reset.css"; @import "wordpress.css";` here would double-load both files
 * on every page for no cascade benefit - the @import-loaded and
 * <link>-loaded copies of a file are byte-identical, so no rule could ever
 * "win" differently between them - and this file's own position in load
 * order relative to either file (last) doesn't depend on whether it also
 * imports them itself.
 *
 * `.top_bar`'s background-color is declared three times in a row - a
 * var(--color-white) fallback, then rgb(255,255,255,0.95), then
 * rgba(255,255,255,0.95), each a valid CSS color (0-255 per channel); the
 * last declaration wins the cascade. The rgb()/rgba() pair is a
 * browser-fallback pattern from when the two functions had inconsistent
 * alpha support, kept intact rather than collapsed to one function. The
 * same white shows up in two more places, each as a single call:
 * `html[data-style=fullscreen] #logo_wrapper, .top_bar.hasbg
 * #logo_wrapper`'s border-bottom (rgba(255, 255, 255, .3)) and
 * `#menu_wrapper .nav ul li, #menu_wrapper div .nav li`'s background-color
 * (rgba(255, 255, 255, 0) - alpha-0, so visually inert regardless of its
 * other channel values).
 *
 * Design-token usage in this file, and what's deliberately excluded from
 * it: colors that recur dozens of times read from CSS custom properties
 * defined in this theme's css/reset.css (loaded first) - a pure
 * value-aliasing indirection, since var(--x) always resolves to the exact
 * same literal every call site would otherwise hardcode:
 *   - #fff / #ffffff -> var(--color-white)   (122 occurrences)
 *   - #e1e1e1        -> var(--color-border)  (52 occurrences)
 *   - #efc337        -> var(--color-accent)  (4 occurrences - matches
 *     wordpress.css's ::selection color, confirming this is the
 *     intentional brand accent, not a coincidence)
 *   - rgba(0,0,0,0.1) -> var(--shadow-soft)   (32 occurrences)
 *   - rgba(0,0,0,0.6) -> var(--shadow-strong) (19 occurrences)
 * This file's own "[Color codes]" reference comment near the top keeps
 * literal hex values on purpose, since it's documentation, not a
 * declaration. Left un-tokenized, deliberately: the four other near-black
 * grays in heavy independent use (#000, #222, #333, #444 - 30-100 uses
 * each). These read as up to four distinct near-identical darks that might
 * represent 1-3 conceptual roles (body text vs. headings vs. muted text),
 * but assigning meaning to each of roughly 100 call sites without visual
 * verification - unavailable on this machine - risks conflating two values
 * that are meant to differ. Also left un-tokenized: the many other one-off
 * brand/accent colors (social icon colors, alert colors, etc.), where a
 * token system would be manufactured well beyond what's actually reused.
 *
 * CSS logical properties are used throughout in place of their
 * physical/directional equivalents - margin-inline-start/end,
 * padding-inline-start/end, border-inline-start/end, and text-align:
 * start/end, rather than margin-left/right, padding-left/right,
 * border-left/right, and text-align: left/right (72/87/11/10/10/3/24/8
 * occurrences respectively). Exactly equivalent for this LTR-only site (no
 * dir="rtl" content anywhere in this project); no class/ID selector in this
 * file uses any of those property-name strings literally, so this can't
 * collide with an HTML template's class naming.
 *
 * Deliberately left as bare left:/right:, NOT converted to
 * inset-inline-start/end: every position-offset property on
 * absolutely/fixed-positioned decorative elements throughout this file.
 * Unlike the theme's smaller ported files (wordpress.css, hw-parallax.css,
 * grid.css - each read and converted in full), this file is 9822 lines, and
 * "left"/"right" as bare words are also frequent CSS *values* here (float:,
 * clear:, background-position:) - distinguishing every "this is a property
 * name" occurrence from "this is a value" reliably at this scale, without
 * visual verification available, isn't a safe automated pass. A good
 * candidate for a future, smaller, carefully-scoped pass rather than a risk
 * worth taking here.
 *
 * `gap`-based gutters do not apply anywhere in this file: it contains zero
 * `display: flex` or `display: grid` rules to begin with. This is entirely
 * pre-flexbox, float/percentage-width layout; introducing flex/grid would
 * mean changing the layout mechanism itself, not swapping a gutter
 * technique inside an existing one.
 *
 * The body, heading (h1-h7), and button rules below read from semantic
 * tokens in reset.css's :root block (--font-family-body/-heading,
 * --font-size-body, --color-body-text/-heading-text,
 * --heading-letter-spacing, --button-font-size/-letter-spacing/-padding) -
 * grep this file for `--font-family-body` or `--font-family-heading` to
 * find the 3 rules. Same
 * pure-aliasing property as the color tokens above: every token resolves to
 * the exact literal that would otherwise be hardcoded at each call site
 * (see reset.css's own comment on this token block for the full rationale,
 * including why --font-size-body's literal is 16px - a live Kirki override
 * - rather than the 14px CSS stock default). This is the scaffolding a
 * future content-builder plugin's block CSS should read from day one. Part
 * of PARENT-THEME-FORK-PLAN.md §8.9's design-modernization phase.
 */
/*------------------------------------------------------------------
[Master Stylesheet]

Project:	Photo Me Wordpress Theme
Version:	1.0
Last change:	09/07/15 [initial release]
Assigned to:	ThemeGoods
Primary use:	Wordpress Theme 
-------------------------------------------------------------------*/

/*------------------------------------------------------------------
[Color codes]

Background:	#ffffff (white)
Content:	#444444 (grey)
Header:		#222222 (dark grey)
Footer:		#ffffff (white)

a (standard):	#222222 (dark grey)
a (hover):		#000000 (black)
a (active):		#000000 (black)
-------------------------------------------------------------------*/


/*------------------------------------------------------------------
[Typography]

Body copy:		13px/1.65em 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif
Header:			30px/1.65em 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif
Input, textarea:	13px 'Oswald','Helvetica Neue', Arial, Verdana, sans-serif
Sidebar heading:	14px 'Oswald','Helvetica Neue', Arial, Verdana, sans-serif
-------------------------------------------------------------------*/


/*------------------------------------------------------------------
[Table of contents]

1. Body
2. Navigation / .top_bar
3. Footer / #footer
4. Content / #page_content_wrapper
5. Social Sharing / #social_share_wrapper
6. Sidebar / .sidebar_wrapper
7. Form & Input
8. Pagination / .pagination
9. Widgets
10. Portfolio Template Elements
11. Contact Form Captcha / #captcha-wrap
12. Woocommerce Elements
-------------------------------------------------------------------*/

body
{
	background: var(--color-white);
	font-family: var(--font-family-body);
	padding: 0;
	margin: 0;
	color: var(--color-body-text);
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	font-size: var(--font-size-body);
	line-height: 1.6;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
}

input, textarea { -webkit-user-select:text; }

body.overflow_hidden
{
	overflow: hidden;
}

body.loading #wrapper
{
	opacity: .3;
}

body.notouch
{
	-webkit-overflow-scrolling: auto !important;
}

html[data-style=flow] body
{
	overflow: hidden;
}

html[data-style=fullscreen], html[data-style=fullscreen] body
{
	width: 100%;
	height: 100%;
	overflow: hidden;
}

html[data-style=fullscreen] #wrapper
{
  	background:  transparent !important;
	height: 100%;
	overflow: hidden;
}

body.js_nav .tf_bg img
{
	position: static;
}

.floatleft
{
	float: left !important;
}

.floatright
{
	float: right !important;
}

.one .floatleft
{
	width: 100%;
}

.divider
{
	clear: both;
}


#wrapper
{
	float: left;
	width: 100%;
	-webkit-transition: -webkit-transform 500ms ease;
	-moz-transition: transform 500ms ease;
	-o-transition: -o-transform 500ms ease;
	transition: transform 500ms ease;
	padding-top: 172px; /* Default menu height */
}

/*
 * Real bug: the translucent menu bar clips or cuts off content, worst on
 * phone. #wrapper.hasbg used to zero out this padding
 * entirely, on the theory that a transparent-header page (page_menu_
 * transparent postmeta - currently the homepage, post 1483, and post 64)
 * wants its content flush at y:0 so the hero renders behind the fixed,
 * see-through header. True for the hero itself, but #wrapper's padding is
 * shared by EVERY section on the page, not just the first one - zeroing it
 * meant every section, not only the hero, rendered with nothing reserving
 * the header's own height, so the fixed header (`.header_style_wrapper`,
 * position:fixed, z-index:9) permanently sat on top of whatever scrolled
 * to y:0, clipping it - obvious on a phone where sections stack tall
 * relative to the viewport. Fixed by keeping the normal 172px reservation
 * on .hasbg pages too, and instead pulling ONLY the real content wrapper
 * back up by that same amount below (`#wrapper.hasbg .ppb_wrapper`) - a
 * `position:relative` shift changes where it PAINTS without changing the
 * space it occupies in normal flow, so the hero still renders flush under
 * the transparent header (unchanged, intended look) while every following
 * section keeps its full 172px clearance instead of losing it too.
 */

hr
{
	height: 1px;
	border: 0;
	border-top: 1px solid #ebebeb;
	background: transparent;
	margin: auto;
	width: 100%;
	clear: both;
}

hr.small
{
	width: 20%;
}

hr.thick
{
	border-top: 3px solid #ebebeb;
}

hr.dotted
{
	border-top: 2px dotted #ebebeb;
}

hr.dashed
{
	border-top: 2px dashed #ebebeb;
}

hr.faded { 
    border: 0; 
    height: 1px;

}
hr.faded:before {
    top: -0.5em;
    height: 1em;
}
hr.faded:after {
    content:'';
    height: 0.5em;
    top: 1px;
}

hr.faded, hr.faded:before {
    background: radial-gradient(ellipse at center, var(--shadow-soft) 0%,rgba(0,0,0,0) 100%);
}

.hr_totop
{
	position: relative;
	top: -15px;
	right: 0;
	float: right;
	display: block;
	background: var(--color-white);
	z-index: 2;
	padding: 0 0 0 7px;
	font-size:13px;
	color: #000;
	font-weight: 900;
}

.small_line
{
	height: 1px;
	border: 0;
	border-top: 1px solid #666;
	background: transparent;
	margin: auto;
	width: 30px;
	display: block;
	margin-top: 30px;
}

a
{
	color: #222;
	text-decoration: none;
	-webkit-transition: color .2s linear, background .1s linear;
	-moz-transition: color .2s linear, background .1s linear;
	-ms-transition: color .2s linear, background .1s linear;
	-o-transition: color .2s linear, background .1s linear;
	transition: color .2s linear, background .1s linear;
}

a:hover, .post_header h5 a:hover
{
	color: #000;
	text-decoration: none;
}

a:active, .post_header h5 a:active
{
	color: #000;
	text-decoration: none;
}

a.comment-reply-link
{
	color: #222;
}

h1
{
	font-size: 34px;
}

h2
{
	font-size: 30px;
}

h2.number
{
	font-size: 50px;
	line-height: 50px;
}

.mobile_menu_wrapper #searchform
{
	background: #333;
	width: 85%;
}

.mobile_menu_wrapper #searchform input[type=text]
{
	background: transparent;
	width: 80%;
	border: 0;
	display: inline-block;
	color: var(--color-white);
}

.mobile_menu_wrapper #searchform button
{
	background: transparent;
	display: inline-block;
	border: 0;
}

.mobile_menu_wrapper #searchform button i
{
	color: var(--color-white);
	font-size: 13px;
	opacity: 0.5;
}

.mobile_menu_wrapper .widget_search #searchform
{
	background: transparent !important;
	width: 100%
}

.mobile_menu_wrapper .widget_search #searchform input[type=text]
{
	background: #333;
	width: 100%;
}

h3
{
	font-size: 26px;
}

h3#reply-title
{
	font-size: 18px;
	display: none;
}

h4
{
	font-size: 22px;
}

h5
{
	font-size: 18px;
}

h5.related_post, .fullwidth_comment_wrapper h5.comment_header
{
	text-align: center;
}

h6
{
	font-size: 16px;
}

h7
{
	font-size: 16px;
}

h1, h2, h3, h4, h5, h6, h7
{
	color: var(--color-heading-text);
	font-family: var(--font-family-heading);
	letter-spacing: 0px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: var(--heading-letter-spacing);
	/* text-wrap:balance (Field Plan Phase 1, 2026-08-23): only changes
	   WHERE a multi-line heading breaks, never its size/case/color - zero
	   layout-regression risk, sitewide. Unsupported browsers silently keep
	   normal wrapping. */
	text-wrap: balance;
}

.space
{
	margin-bottom: 5px;
}

.middle
{
	vertical-align: -30%;
}

pre, code, tt 
{
	font:12px 'andale mono', 'lucida console', monospace;
	line-height:1.5;
	padding: 15px 10px 15px 10px;
	display: block; 
	overflow: auto; 
	margin-top: 20px;
	margin: 20px 0 20px 0;
	width:92%;
	border: 0;
	color: #000;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.clear
{
	clear: both;
}

img.mid_align
{ 
	vertical-align: middle;
	margin-inline-end: 5px;
	border: 0;
}

.fullwidth_comment_wrapper
{
	width: 100%;
	float: left;
	margin-top: 40px;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.fullwidth_comment_wrapper:empty
{
	display: none;
}

#commentform
{
	margin-inline-start: -1.33333rem;
}

#commentform label
{
	font-weight: 300;
	letter-spacing: 1px;
}

#commentform > p.comment-form-cookies-consent
{
	clear: both;
	margin-bottom: 30px;
}

#commentform > p.comment-form-cookies-consent label 
{
	display: inline;	
}

.logged-in-as
{
	display: none;
}

#commentform > p 
{
	padding-inline-start: 24px;
	box-sizing: border-box;
}

#commentform p.comment-form-author, #commentform p.comment-form-email, #commentform p.comment-form-url
{
	float: left;
	width: 33.33%;
}

#page_content_wrapper .inner .sidebar_content #commentform p.comment-form-author, #page_content_wrapper .inner .sidebar_content #commentform p.comment-form-email, #page_content_wrapper .inner .sidebar_content #commentform p.comment-form-url
{
	width: 33.33%;
}

#page_content_wrapper .inner .sidebar_content .woocommerce-Reviews #commentform p.comment-form-author, 
#page_content_wrapper .inner .sidebar_content .woocommerce-Reviews #commentform p.comment-form-email
{
	width: 50%;
}

.comment-form-rating
{
	margin-inline-start: 25px;
}

::-webkit-input-placeholder {
   color: #999;
   font-style: italic;
}

:-moz-placeholder { /* Firefox 18- */
   color: #999; 
   font-style: italic;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #999; 
   font-style: italic;
}

:-ms-input-placeholder {  
   color: #999;
   font-style: italic;
}

#contact_form input[type="text"], #contact_form textarea, #commentform input[type="text"], #commentform input[type="email"], #commentform input[type="url"], #commentform textarea {
  margin-bottom: 15px;
  width: 100%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#commentform input[type=text]:focus, #commentform input[type=email]:focus, #commentform input[type=url]:focus, #commentform textarea:focus
{
	border-color: #444;
}

.dropcap1
{
	display: block;
	float: left;
	margin: -1px 8px 0 0;
	font-size: 70px;
	line-height: 70px;
	text-shadow: none;
}

blockquote
{
	font-size: 24px;
	color: #444;
	margin: auto;
	margin-top: 15px;
	margin-bottom: 15px;
	opacity: 0.4;
	text-transform: uppercase;
	letter-spacing: 2px;
}

blockquote p
{
	padding: 0 !important;
}

blockquote h2
{
	font-weight: normal;
	font-size: 22px;
}

blockquote h3
{
	font-weight: normal;
	font-size: 20px;
}

#respond
{
	width: 100%;
	float: left;
}

#respond h3, #respond .comment-notes
{
	text-align: center;
}

/*------------------------------------------------------------------
[2. Navigation]
*/

#logo_wrapper
{
	text-align: center;
	padding: 30px 0 30px 0;
	border-bottom: 1px solid var(--color-border);
}

.top_bar.scroll #logo_wrapper
{
	display: none;
}

html[data-style=fullscreen] #logo_wrapper, .top_bar.hasbg #logo_wrapper
{
	border-bottom: 1px solid rgba(255, 255, 255, .3);
}

.logo_container
{
	display: table;
	width: 100%;
	height: 100%;
}

.logo_align
{
	display: table-cell;
	vertical-align: middle;
}

.logo_wrapper
{
	margin: 0;
	display: inline-block;
	line-height: 0;
	
	-webkit-transition: margin 0.3s, display 0.3s;
	-moz-transition: margin 0.3s, display 0.3s;
	transition: margin 0.3s, display 0.3s;
}

.logo_wrapper.hidden
{
	display: none;
}

.logo_wrapper img.zoom
{
	transform: scale(0.8) !important;
}

.above_top_bar
{
	height: 30px;
	background: #222;
	position: relative;
	z-index: 3;
}

.header_style_wrapper
{
	width: 100%;
	float: left;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9;
	display: block;
}

body.admin-bar .header_style_wrapper
{
	padding-top: 32px;
}

.header_style_wrapper.nofixed
{
	display: none;
}

.top_bar
{
	padding: 0;
	box-sizing: border-box;
	width: 100%;
	background: var(--color-white);
	background: rgb(255,255,255,0.95);
	background: rgba(255,255,255,0.95);
	border-bottom: 1px solid var(--color-border);
	float: left;
	
	-webkit-transition: height 0.5s, background 0.5s;
	-moz-transition: height 0.5s, background 0.5s;
	transition: height 0.5s, background 0.5s;
}

.top_bar.hasbg
{
	background: transparent;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	border: 0;
}

html[data-style=fullscreen] .top_bar.hasbg, .top_bar.hasbg
{
	background: transparent;
	background-image: linear-gradient(rgba(0,0,0,0.4) 0%,rgba(0,0,0,0.3) 20%,rgba(0,0,0,0.2) 35%,transparent 97%,transparent 0%);
	border: 0;
	box-shadow: 0 0 0;
	padding-bottom: 80px;
}

/* Scrolled state (js/custom.js adds .scroll past 200px). The at-rest
   transparent hasbg look is a design choice, but once real content slides
   under this permanently fixed bar it must go solid or it reads as a
   translucent band cutting the page. style.css's .top_bar.scroll rule
   supplies the white; this rule retires what a background-color can never
   beat - the hasbg gradient is a background-IMAGE - along with the 80px
   fade-out apron, and restores the standard bottom border the hasbg state
   zeroed. The fullscreen-prefixed selector mirrors the hasbg pair above,
   which would otherwise outweigh this rule exactly where fullscreen
   homepages force hasbg on. */
html[data-style=fullscreen] .top_bar.hasbg.scroll, .top_bar.hasbg.scroll
{
	background-image: none;
	padding-bottom: 0;
	border-bottom: 1px solid var(--color-border);
}

.top_bar.noopacity
{
	background: var(--color-white) !important;
}

/*
 * Real bug: `.header_style_wrapper`
 * is `position:fixed` on every page, so it permanently sits above whatever
 * the page has scrolled to underneath it - independent of the .hasbg
 * transparency toggle above (a transparent header still intercepts clicks
 * even though you can see through it). Confirmed on /contact/: once the
 * page is scrolled so the "Company Name" field lines up under the fixed
 * header, `document.elementFromPoint()` at that field's center returns the
 * header's logo <img>, not the input - the field is un-clickable at that
 * scroll position. The fixed header spans the full page width/height of its
 * own box but only a few small elements inside it (logo, hamburger, social
 * icons, share/menu/top-bar links) are ever meant to be clickable; the rest
 * of its area was needlessly capturing clicks meant for whatever scrolls
 * underneath. Fixed by making the header wrapper itself click-through and
 * re-enabling pointer events only on its real interactive children (has to
 * be the outer `.header_style_wrapper`, not just the inner `.top_bar` -
 * tried `.top_bar` alone first, but `.header_style_wrapper` is its own
 * separate fixed, full-area box, so clicks a child skips via
 * `pointer-events:none` still land on that outer wrapper next unless it's
 * click-through too). No visual change on any viewport, every existing
 * click target keeps working exactly as before.
 */
.header_style_wrapper
{
	pointer-events: none;
}

.header_style_wrapper .social_wrapper a,
.header_style_wrapper #page_share,
.header_style_wrapper #page_maximize,
.header_style_wrapper #page_minimize,
.header_style_wrapper .header_cart_wrapper a,
.header_style_wrapper #mobile_nav_icon,
.header_style_wrapper #custom_logo,
.header_style_wrapper #custom_logo_transparent,
.header_style_wrapper #menu_wrapper a,
.header_style_wrapper .top_contact_info a,
.header_style_wrapper .top_nav a
{
	pointer-events: auto;
}

#mobile_menu
{
	display: none;
	cursor: pointer;
}

#menu_wrapper
{
	margin:auto;
	width: 960px;
	height: 100%;
}

#nav_wrapper
{
	float: left;
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
}

.nav_wrapper_inner
{
	display: table-cell;
    vertical-align: middle;
}

#menu_border_wrapper > div
{
	width: 100%;
	float: left;
}

#menu_border_wrapper .notice
{
	padding: 10px 0 10px 0;
}

#autocomplete
{
    display: none;
	position:absolute;
    z-index:1001;
	width: 300px;
	background: var(--color-white);
	right: 18px;
	  border: 1px solid var(--color-border);
}

#autocomplete.visible
{
	display: block;
}

@-moz-document url-prefix() { 
  #autocomplete {
     margin-top: 20px;
  }
}

#autocomplete ul 
{
    margin: 0;
    padding: 0;
    border: 0;
    float: left;
    list-style: none;
    width: 100%;
}
#autocomplete li
{
    display:block;
    clear:both;
    float: left;
    width: 100%;
    padding: 10px 15px 10px 15px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-border);
}
#autocomplete li:first-child
{
	margin-top: 10px;
}
#autocomplete li:last-child
{
	margin-top: 10px;
	border: 0;
}

#autocomplete li strong
{
	font-weight: 600;
	font-size: 14px;
}

#autocomplete li.view_all
{
	font-weight: bold;
	text-align: center;
	margin-top: 0;
	text-transform: uppercase;
}
#autocomplete li .ajax_post
{
	float:left;
	width: calc(100% - 50px);
	margin-inline-start: 10px;
}

#autocomplete li .post_detail
{
	font-size: 10px;
}

#mobile_nav_icon
{
	display: inline-block;
	border-bottom: 9px double #444;
	border-top: 3px solid #444;
	height: 3px;
	width: 25px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	-ms-transition: all 0.2s ease;
	transition: all 0.2s ease;

	cursor: pointer;
	position: relative;
	margin-inline-start: 10px;
	top: 3px;
}

/*
 * The drawn icon (border tricks above) is only 25x15px - an absolutely
 * positioned overlay, centered on the icon via the parent's own
 * position:relative, grows the tappable area to the ~44x44px minimum
 * practical tap-target size without changing the icon's own visual size
 * or the surrounding header's layout (out-of-flow, so it adds no box the
 * header row's other elements need to make room for).
 */
#mobile_nav_icon::before
{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 44px;
	height: 44px;
	transform: translate(-50%, -50%);
}

#logo_right_button
{
	position: absolute;
	text-align: end;
	right: 30px;
}

.top_bar.hasbg #mobile_nav_icon
{
	border-color: var(--color-white);
}

.header_cart_wrapper
{
	display: inline-block;
	margin-inline-start: 10px;
	position: relative;
}

.header_cart_wrapper .cart_count
{
	position: absolute;
	top: -10px;
	right: -10px;
	font-size: 9px;
	border-radius: 50px;
	background: #000;
	color: var(--color-white);
	z-index: 2;
	width: 16px;
	height: 16px;
	line-height: 16px;
	text-align: center;
}

.header_cart_wrapper i
{
	font-size: 18px !important;
	margin-inline-end: 0 !important;
}

.view_fullscreen_wrapper, .post_share_wrapper
{
	display: inline-block;
	vertical-align: middle;
	position: relative;
}

.view_fullscreen_wrapper
{
	margin-inline-start: 10px;
}

.view_fullscreen_wrapper i, .post_share_wrapper i
{
	font-size: 18px;
}

.mobile_menu_wrapper
{
	right: 0px;
	
	-webkit-transition: -webkit-transform 500ms ease;
	-moz-transition: transform 500ms ease;
	-o-transition: -o-transform 500ms ease;
	transition: transform 500ms ease;
	
	-webkit-transform: translate(360px, 0px);
	-ms-transform: translate(360px, 0px);
	transform: translate(360px, 0px);
	-o-transform: translate(360px, 0px);
	
	-webkit-backface-visibility: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
	 -webkit-overflow-scrolling: touch;
	 
	 width: 360px;
	 padding: 35px 40px 35px 40px;
	 box-sizing: border-box;
	 background: #111111; 
	 position: fixed;
	 top: 0px;
	 height: 100%;
	 z-index: 999;
	 color: #999;
}

body.admin-bar .mobile_menu_wrapper
{
	padding-top: 65px;
}

body.admin-bar #close_mobile_menu
{
	top: 68px;
}

body.js_nav .mobile_menu_wrapper, html[data-menu=leftmenu] body.js_nav .mobile_menu_wrapper
{
	-webkit-transform: translate(0px, 0px);
	-moz-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

#close_mobile_menu
{
	font-size: 22px;
	display: inline-block;
	position: absolute;
	right: 30px;
	top: 28px;
	top: 38px;
}

/* Same enlarged-hit-area pattern as #mobile_nav_icon above - the glyph
 * itself (a 22px icon font character) is well under the ~44x44px minimum
 * practical tap-target size. This element is already position:absolute,
 * so it's already its own positioning context for the centered overlay. */
#close_mobile_menu::before
{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 44px;
	height: 44px;
	transform: translate(-50%, -50%);
}

#close_mobile_menu:hover
{
	opacity: 1;
}

#close_mobile_menu i
{
	color: var(--color-white);
}

.mobile_main_nav, #sub_menu
{
	margin-top: 40px;
	margin-bottom: 40px;
	list-style: none;
	overflow: hidden;
	width: 100%;
}

#sub_menu .sub-menu
{
	margin-inline-start: 15px;
	list-style: circle;
}

#sub_menu li
{
	width: 100%;
}

.mobile_main_nav li a, #sub_menu li a
{
	color: #777;
	width: 100%;
	display: block;
	font-size: 14px;
	line-height: 3em;
	font-weight: 400;
	text-transform: uppercase;
	/* --font-family-button, not -heading: uppercase nav chrome, not
	   editorial voice - a serif here reads costume-y (2026-08-23 type
	   decision, same reasoning as screen.css's button rule). */
	font-family: var(--font-family-button, 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif);
}

.mobile_main_nav li.current-menu-item a, #sub_menu li.current-menu-item a
{
	font-weight: 600;
}

.mobile_main_nav li a:hover, .mobile_main_nav li a:active, #sub_menu li a:active
{
	color: var(--color-white);
}

.mobile_main_nav li.menu-item-has-children > a:after
{
	font-size: 11px;
	position: absolute;
	left: 320px;
	font-family: 'FontAwesome';
	content: "\f054";
	margin-top: 1px;
}

.mobile_main_nav li ul.sub-menu
{
	display: none;
}

.mobile_main_nav.mainnav_in
{
	-webkit-animation: mainNavIn 0.2s;
	animation: mainNavIn 0.2s;
}

.mobile_main_nav.mainnav_out
{
	-webkit-animation: mainNavOut 0.2s;
	animation: mainNavOut 0.2s;
}

#sub_menu.subnav_out
{
	-webkit-animation: subNavOut 0.2s;
	animation: subNavOut 0.2s;
}

#sub_menu.subnav_in
{
	-webkit-animation: subNavIn 0.2s;
	animation: subNavIn 0.2s;
}

#sub_menu li ul a:after
{
	display: none;
}

#menu_back
{
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 10px !important;
	margin-bottom: 5px;
}

#menu_back:before
{
	font-size: 12px;
	margin-inline-end: 0.7em;
	position: relative;
	top: -1px;
	display: inline;
	font-family: 'FontAwesome';
	content: "\f104";
}

#overlay_background
{
	opacity: 0;
	visibility: hidden;
	background-color: var(--shadow-strong);
	position: fixed;
	z-index: 9;
	top: 0;
	left:0;
	width: 100%;
	height: 100%;
	
	/* Fade only - deliberately narrower than `all`. This is a fixed
	   full-viewport scrim under an opaque z-index-999 panel: nothing about
	   it should move, and transitioning `all` turns any translate applied
	   by an open-state rule (the vendor's page-push companion) into a
	   60%-black sheet visibly sliding across the viewport - a trailing
	   smear behind the menu panel instead of a clean fade. */
	-webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
	-moz-transition: opacity 0.5s ease, visibility 0.5s ease;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

#overlay_background.share_open
{
	background-color: rgba(0, 0, 0, 0.7);
}

#overlay_background.visible
{
	opacity: 1;
	visibility: visible;
}

/* The scrim dims in place - never translate it (see the base
   #overlay_background transition note). cursor:pointer because tapping
   the dimmed page closes the menu (js/custom.js). */
body.js_nav #overlay_background {
  visibility: visible;
  opacity: 1;
  cursor: pointer;
}

.header_style_wrapper.fixed .top_bar #menu_border_wrapper .notice
{
	margin-top: 24px;
}

.nav, .subnav, .nav_page_number
{
	list-style: none;
	padding: 10px 0 10px 0;
}

.subnav
{
	background: none;
}

.nav > li, .nav_page_number > li
{
	display: inline-block;
}

.nav_page_number
{
	margin-top: 2px;
}

#menu_wrapper .nav ul, #menu_wrapper div .nav
{
	list-style: none;
	display: block;
	padding: 0;
	margin: 0;
	margin-bottom: 0;
}

#menu_wrapper .nav ul li, #menu_wrapper div .nav li
{
	display: inline-block;
	margin: 0;
	padding:0;
	background-color: rgba(255, 255, 255, 0);
}

#menu_wrapper .nav ul li ul li, #menu_wrapper div .nav li ul li
{
	clear: both;
	width: 100%;
	padding: 0 !important;
	margin: 0;
	text-align: start !important;
}

#menu_wrapper .nav ul li:last-child, #menu_wrapper div .nav li:last-child
{
	margin-inline-end: 0;
}

#menu_wrapper .nav ul li a, #menu_wrapper div .nav li > a
{
	display: inline-block;
	padding: 0;
	margin: 0;
	color: #666;
	font-size: 12px;
	padding: 13px 15px 13px 15px;
	font-weight: 400;
	font-family: var(--font-family-button, Lato, 'Helvetica Neue', Arial, Verdana, sans-serif);
	text-transform: uppercase;

	-webkit-transition: padding 0.3s;
	-moz-transition: padding 0.3s;
	transition: padding 0.3s;
}

.top_bar.fullscreen_video #menu_wrapper div .nav > li > a, .top_bar.fullscreen_video i, .top_bar.fullscreen_video #searchform label, .top_bar.hasbg #menu_wrapper div .nav > li > a, .top_bar.hasbg i, .top_bar.hasbg .top_contact_info, .top_bar.hasbg .top_contact_info a, .top_bar.hasbg .top_contact_info a:hover, .top_bar.hasbg .top_contact_info a:active
{
	color: var(--color-white) !important;
}

#menu_wrapper .nav li.arrow > a:after, #menu_wrapper div .nav li.arrow > a:after
{
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: 10%;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	margin-top: 0;
	font-family: 'FontAwesome';
	content: "\f107";
	float: right;
	margin-inline-start: 8px;
	margin-top: 5px;
}

#menu_wrapper .nav ul li.arrow > a:after, #menu_wrapper div .nav li.arrow > a:after
{
	font-size: 12px;
}

#menu_wrapper .nav ul li a.hover, #menu_wrapper .nav ul li a:hover, #menu_wrapper div .nav li a.hover, #menu_wrapper div .nav li a:hover
{
	color: #444;
	z-index: 2;
	position: relative;
}

#menu_wrapper div .nav > li.current-menu-item > a, #menu_wrapper div .nav > li.current-menu-parent > a, #menu_wrapper div .nav > li.current-menu-ancestor > a
{
	color: #444;
	z-index: 2;
	position: relative;
}

#menu_wrapper .nav ul li ul, #menu_wrapper div .nav li ul
{
	display: none;
	list-style: none;
	background: var(--color-white);
	border: 0;
	position: absolute;
 	padding: 0;
 	width: 210px;
 	height: auto;
 	z-index: 10; 
	margin: 0;
	margin-inline-start: -5px;
	margin-top: 0;
	z-index: 9;
	border: 0;
	border: 1px solid var(--color-border);
	box-shadow: 0 8px 15px var(--shadow-soft);
}


#menu_wrapper .nav ul li ul li ul, #menu_wrapper div .nav li ul li ul
{
	position: absolute;
	left: 210px;
	padding: 0;
	margin-top: -40px;
	margin-inline-start: 0;
	display: none;
	z-index: 9;
	opacity: 1;
}

#menu_wrapper .nav ul li ul li ul:before, #menu_wrapper div .nav li ul li ul:before
{
	display: none;
}

#menu_wrapper .nav ul li:hover ul, #menu_wrapper div .nav li:hover ul
{
	display: block;
}

#menu_wrapper div .nav li ul li a, #menu_wrapper div .nav li.current-menu-item ul li a, #menu_wrapper div .nav li ul li.current-menu-item a,#menu_wrapper .nav ul li ul li a, #menu_wrapper .nav ul li.current-menu-item ul li a, #menu_wrapper .nav ul li ul li.current-menu-item a, #menu_wrapper div .nav li.current-menu-parent ul li a, #menu_wrapper div .nav li ul li.current-menu-parent a
{
	color: #888;
	display: block;
	background: transparent;
	height: auto;
}

#menu_wrapper .nav ul li ul li a, #menu_wrapper div .nav li ul li a, #menu_wrapper div .nav li.current-menu-parent ul li a
{
	width: 170px;
	display: block;
	border-top: 0;
	border: 0;
	margin: 0;
	font-size: 11px;
	padding: 10px 20px 10px 20px;
	letter-spacing: 0;
	font-weight: 400;
	text-transform: none;
	border-bottom: 0 !important;
	
	-webkit-transition: color .2s linear, background .2s linear;
	-moz-transition: color .2s linear, background .2s linear;
	-ms-transition: color .2s linear, background .2s linear;
	-o-transition: color .2s linear, background .2s linear;
	transition: color .2s linear, background .2s linear;
}

#menu_wrapper .nav ul li ul li ul li a:hover, #menu_wrapper .nav ul li ul li ul li a:hover, #menu_wrapper div .nav li ul li ul li a:hover, #menu_wrapper div .nav li ul li ul li a:hover, #menu_wrapper div .nav li.current-menu-item ul li ul li a:hover, #menu_wrapper div .nav li.current-menu-parent ul li ul li a:hover
{
	color: #444;
	background: #f9f9f9;
}

#menu_wrapper .nav ul li.megamenu > ul, #menu_wrapper div .nav li.megamenu > ul
{
	position: absolute;
	width: 960px;
	left: 0;
	right: 0;
	margin-inline-start:auto;
    margin-inline-end:auto;
    padding: 15px;
	box-sizing: border-box;
	box-shadow: 0 32px 60px var(--shadow-soft);
}

#menu_wrapper .nav ul li:not(.megamenu) ul.sub-menu li.arrow > a:after, #menu_wrapper div .nav li:not(.megamenu) ul.sub-menu li.arrow > a:after
{
	font-size:11px;
	margin-inline-start: 0.5em;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: 10%;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	margin-top: 0;
	font-family: 'FontAwesome';
	content: "\f105";
	float: right;
	margin-inline-end: 0px;
	margin-top: 5px;
}

#menu_wrapper div .nav li.megamenu ul li
{
	display: block;
	box-sizing: border-box;
	clear: none;
	float: left;
	border-inline-start: 1px solid #eeeeee;
}

#menu_wrapper div .nav li.megamenu ul li.hidden > a
{
	display: none;
}

#menu_wrapper div .nav li.megamenu ul li:first-child
{
	border: 0;
}

#menu_wrapper div .nav li.megamenu.col2 ul li
{
	width: 50%;
	padding: 0px 12px;
}

#menu_wrapper div .nav li.megamenu.col3 ul li
{
	width: 33.3%;
	padding: 0px 12px;
}

#menu_wrapper div .nav li.megamenu.col4 ul li
{
	width: 25%;
	padding: 0px 12px;
}

#menu_wrapper .nav ul li.megamenu ul li ul, #menu_wrapper div .nav li.megamenu ul li ul
{
	position: relative;
	width: 100%;
	margin: 0;
	border: 0;
	box-shadow: 0 0 0;
	display: block !important;
	opacity: 1 !important;
	left: 0;
}

#menu_wrapper .nav ul li.megamenu ul li ul li, #menu_wrapper div .nav li.megamenu ul li ul li
{
	width: 100% !important;
	border: 0 !important;
}

#menu_wrapper div .nav li.megamenu ul li > a, #menu_wrapper div .nav li.megamenu ul li > a:hover, #menu_wrapper div .nav li.megamenu ul li  > a:active
{
	width: 100%;
	color: #444;
	box-sizing: border-box;
	background: transparent;
}

#menu_wrapper .nav ul li.megamenu ul li ul li a, #menu_wrapper div .nav li.megamenu ul li ul li a
{
	color: #888;
}

#menu_wrapper .nav ul li.megamenu ul li ul li a:before, #menu_wrapper div .nav li.megamenu ul li ul li a:before
{
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: 10%;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	margin-top: 0;
	font-family: 'FontAwesome';
	content: "\f105";
	float: left;
	margin-inline-end: 8px;
	margin-top: 4px;
}

#menu_wrapper .nav ul li.megamenu ul li ul li a:hover, #menu_wrapper div .nav li.megamenu ul li ul li a:hover, #menu_wrapper .nav ul li.megamenu ul li ul li a:active, #menu_wrapper div .nav li.megamenu ul li ul li a:active
{
	color: #444;
	background: #f9f9f9;
	width: auto;
}

#menu_wrapper div .nav li.megamenu ul li a:after
{
	display: none;
}

#menu_wrapper .nav ul li.megamenu ul li ul li, #menu_wrapper div .nav li.megamenu ul li ul li a
{
	width: auto;
	display: inline-block;
	margin-inline-start: 20px;
	padding: 7px 20px 7px 5px;
}

@media only screen and (min-width: 1100px) {
	#menu_wrapper .nav ul li.megamenu > ul, #menu_wrapper div .nav li.megamenu > ul
	{
		max-width: 1425px;
		width: 100%;
		width: calc(100% - 180px);
		box-sizing: border-box;
	}
}

.top_contact_info_container
{
	display: table;
	float: right;
	height: 100%;
	font-family: var(--font-family-button, 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif);
}

.top_contact_info
{
	font-size: 12px;
	color: #222;
	float: right;
	line-height: 30px;
}

.top_contact_info i
{
	margin-inline-end: 10px;
	color: #222;
	font-size: 14px;
	vertical-align: text-bottom;
}

.top_contact_info span
{
	display: inline-block;
	margin-inline-end: 10px;
}

.top_contact_info a
{
	color: #444;
}

#top_menu
{
	float: left;
	display: block;
	list-style: none;
}

#top_menu li
{
	float: left;
	margin-inline-end: 20px;
}

#top_menu li a
{
	font-size: 11px;
	font-weight: 400;
	color: #222;
	line-height: 30px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

#footer_menu li ul
{
	display: none;
}

/*------------------------------------------------------------------
[3. Footer]
*/

.footer_photostream_wrapper
{
	margin-top: 20px;
}

.footer_photostream
{
	margin-top: 20px;
}

.footer_photostream li
{
	width: 10%;
	height: 10vw;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	margin: 0;
	display: inline;
	float: left;
	line-height: 0;
}

.footer_photostream li a
{
	line-height: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.footer_photostream_wrapper h2.widgettitle:before
{
	display: none;
}

.footer_bar
{
	width: 100%;
	margin: auto;
	padding: 0 0 10px 0;
	float: left;
	background: var(--color-white);
	border-top: 1px solid var(--color-border);
	
	-webkit-transition: -webkit-transform 500ms ease;
	-o-transition: -o-transform 500ms ease;
	transition: -webkit-transform 500ms ease;
}

.footer_bar.noborder
{
	border: 0 !important;
}

.footer_bar.noborder .footer_bar_wrapper
{
	border: 0 !important;
}

.footer_bar.wall
{
	padding-top: 0;
	margin-top: 0;
}

.footer_bar.split, .footer_bar.fullscreen, .footer_bar.flow
{
	display: none;
}

.footer_bar.fullscreen_video
{
	position: fixed;
	bottom: 0;
	z-index: 0;
}

#footer 
{
	width: 100%;
	margin: auto;
	padding-bottom: 50px;
	word-wrap: break-word;
	margin-bottom: 0;
	padding-top: 50px;
	float: left;
}

#footer strong.title
{
	font-weight: normal;
}

#footer.wall
{
	margin-top: 0;
}

#footer.fullscreen_video
{
	display: none;
}

#footer a
{
	color: #000;
}

#footer a:hover, #footer a:active
{
	color: #000;
}

#footer .sidebar_widget li h2.widgettitle
{
	margin-top: 15px;
	margin-bottom: 15px;
}

#footer ul.sidebar_widget
{
	width: 960px;
	list-style: none;
	margin: 0;
	margin: auto;
}

#footer ul.sidebar_widget li ul
{
	list-style: none;
	margin-inline-start: 0;
}

#footer ul.sidebar_widget li ul li ul.children
{
	margin-inline-start: 10px;
	margin-bottom: 0;
}

#footer ul.sidebar_widget li ul li ul.children li:last-child
{
	border: 0;
	margin-bottom: 0;
}

#footer .sidebar_widget.four > li
{
	width: 20%;
	float: left;
	margin-inline-end: 5%;
}

#footer .sidebar_widget.four > li:nth-child(4)
{
	margin-inline-end: 0;
	width: 25%;
}

#footer .sidebar_widget.three > li
{
	width: 31%;
	float: left;
	margin-inline-end: 2%;
}

#footer .sidebar_widget.three > li:nth-child(3)
{
	margin-inline-end: 0;
	width: 33%;
}

#footer .sidebar_widget.two > li
{
	width: 48%;
	float: left;
	margin-inline-end: 2%;
}

#footer .sidebar_widget.two > li:nth-child(2)
{
	margin-inline-end: 0;
	width: 50%;
}

#footer .sidebar_widget.one > li
{
	width: 100%;
	clear: both;
	float: left;
	margin-bottom: 30px;
}

#footer ul.sidebar_widget li ul.posts.blog li img
{
	width: 60px;
	float: left;
	margin: 0 15px 15px 0;
}

#footer ul.sidebar_widget li ul.posts.blog li
{
	clear: both !important;
	float: left;
	border: 0;
}

#footer ul.sidebar_widget li ul li
{
	margin: 0 0 10px 0;
}

#footer ul.sidebar_widget li ul li ul.sub-menu
{
	margin-inline-start: 15px;
}

#footer ul.sidebar_widget li ul.flickr li
{
	margin: 0 2% 0 0;
	border-bottom: 0;
	width: 31%
}

#footer ul.sidebar_widget li ul.flickr li img
{
	width: 100%;
	height: auto;
}

#copyright
{
	float: left;
	width: 50%;
	font-size: 12px;
	font-weight: normal;
	margin-bottom: 10px;
	letter-spacing: 0;
	text-align: start;
}

#page_content_wrapper.split #copyright, .page_content_wrapper.split #copyright
{
	width: 100%;
	margin: 40px 0 0 0;
	border-top: 1px solid var(--color-border);
	padding-top: 20px;
	text-align: center;
}

#page_content_wrapper.split.wide #copyright, .page_content_wrapper.split.wide #copyright
{
	border: 0;
	margin: 0;
	padding-bottom: 20px;
}

#footer ul.address,  ul.address
{
	margin-inline-start: 0 !important;
	list-style: none;
}

#footer ul.address li, ul.address li
{
	margin-bottom: 5px;
}

#footer ul.address li i, ul.address li i
{
	margin-inline-end: 10px;
}

.footer_bar.fullscreen #copyright
{
	color: var(--color-white);
}

.footer_bar.fullscreen .footer_bar_wrapper, .footer_bar.wall .footer_bar_wrapper, .footer_bar.static .footer_bar_wrapper
{
	margin: auto;
	float: none;
}

#copyright p.attachment
{
	display: none;
}

.footer_bar_wrapper
{
	width: 960px;
	margin: auto;
	font-size: 13px;
	font-weight: 600;
	-webkit-transition: -webkit-transform 500ms ease;
	transition: -webkit-transform 500ms ease;
	-webkit-font-smoothing: antialiased;
	clear: both;
	color: var(--color-white);
	border-top: 1px solid #444;
	margin-top: 40px;
	padding-top: 20px;
}

#toTop 
{
	width:25px;
    background: #eee;
    opacity: 0;
    text-align:center;
    padding:10px 10px 10px 10px;
    position:fixed; /* this is the magic */
    bottom: 7px; /* together with this to put the div at the bottom*/
    right:7px;
    cursor:pointer;
	transition: color 300ms, background-color 300ms, opacity 300ms;
	-moz-transition: color 300ms, background-color 300ms, opacity 300ms;
	-o-transition: color 300ms, background-color 300ms, opacity 300ms;
	-webkit-transition: color 300ms, background-color 300ms, opacity 300ms;
	z-index: 9;
	border-radius: 5px;
	display: block;
}

#toTop:hover
{
	opacity: 1 !important;
}

#toTop i
{
	color: #000;
	font-size: 1.5em;
}

/*------------------------------------------------------------------
[4. Content]
*/

#content_wrapper
{
	width: 72%;
	float: left;
	margin: 0;
}

#page_content_wrapper, .page_content_wrapper
{
	width: 960px;
	margin: auto;
	padding-bottom: 0;
}

body.home.blog #page_content_wrapper, body.single-product #page_content_wrapper, body.woocommerce.woocommerce-page #page_content_wrapper.hasbg
{
	margin-top: 40px;
}

#page_content_wrapper.wide, .page_content_wrapper.wide
{
	width: 100%;
}

#page_content_wrapper.split, .page_content_wrapper.split, #page_content_wrapper.split.wide, .page_content_wrapper.split.wide
{
	width: 50%;
	padding: 30px;
	height: 100%;
	height: 100vh;
	position: fixed;
	right: 0;
	top: 129px;
	background: var(--color-white);
	overflow-y: scroll;
	box-sizing: border-box;
}

#page_content_wrapper.split.wide, .page_content_wrapper.split.wide
{
	padding: 0;
}

#page_content_wrapper.split .animate, .page_content_wrapper.split .animate
{
	opacity: 1 !important;
	visibility: visible !important;
}

.page_content_wrapper
{
	width: 100%;
}

#page_content_wrapper img, .page_content_wrapper img
{
	max-width: 100%;
	height: auto;
}

#page_content_wrapper .map_shortcode_wrapper img, .page_content_wrapper .map_shortcode_wrapper img
{
	max-width: none;
}

.standard_wrapper
{
	width: 960px;
	margin: auto;
}

.one_half .standard_wrapper, .one_third .standard_wrapper, .one_fourth .standard_wrapper, .one_fifth .standard_wrapper, .two_third .standard_wrapper, .one_half .page_content_wrapper, .one_third .page_content_wrapper, .one_fourth .page_content_wrapper, .one_fifth .page_content_wrapper, .two_third .page_content_wrapper
{
    max-width: 100%;
    width: 100%;
    padding: 0;
}

.page_content_wrapper:empty
{
	margin-top: 0 !important;
}

.one.withbg
{
	background-size: cover;
	background-position: center center;
}

.one.ppb_fullwidth_button
{
	overflow-x: hidden;
}

.page_content_wrapper.fullwidth, #page_content_wrapper.fullwidth
{
	width: 100%;
	padding: 0;
}

.one
{
	clear: both;
	position: relative;
	float: left;
	width: 100%;
	box-sizing: border-box;
}

.one.skinbg
{
	background: #000;
}

.one .page_content_wrapper, .one_half .page_content_wrapper, .one_third .page_content_wrapper, .one_fourth .page_content_wrapper
{
	margin-top: 0;
	width: 100%;
	max-width: 100%;
	padding-inline-start: 0;
	padding-inline-end: 0;
}

.one.withpadding
{
	padding: 60px 0 60px 0;
	float: left;
	width: 100%;
}

.one.withpadding.nopadding
{
	padding: 0 !important;
}

.one.withsmallpadding
{
	padding: 30px 0 30px 0;
	float: left;
	width: 100%;
}

.one.withsmallpadding.ppb_text
{
	float: none;
	margin: auto;
}

.animate_counter_wrapper i
{
	font-size: 48px;
	height: 48px;
	line-height: 48px;
	margin-bottom: 10px;
	color: #000000;
}

.count_separator
{
	display: none;
}

.count_separator span
{
	display: inline-block;
	text-align: center;
	width: 40px;
	margin: 5px auto 5px;
	height: 1px;
	background: var(--color-border);
}

.animate_counter_wrapper .counter_subject
{
	font-size: 14px;
	text-transform: uppercase;
	clear: both;
	margin-top: 5px;
	font-weight: 400;
	letter-spacing: 2px;
	opacity: 0.7;
}

#content_wrapper .inner
{
	overflow: hidden;
}

#page_content_wrapper .inner
{
	width: 100%;
	margin: auto;
}

#page_content_wrapper .inner .inner_wrapper
{
	padding-top: 0;
}

.post.type-post
{
	width: 100%;
	margin-bottom: 35px;
	float: left;
	position: relative;
}

body.search-results .hentry
{
	float: left;
	width: 100%;
	margin-bottom: 20px;
}

#page_content_wrapper .inner .sidebar_content .post.type-post.last_post
{
	margin-bottom: 20px;
}

#page_content_wrapper .inner #blog_grid_wrapper.sidebar_content
{
	margin-inline-end: 0;
	padding-inline-end: 0;
	width: 690px;
	box-sizing: border-box;
	margin-bottom: 40px;
}

#page_content_wrapper .inner #blog_grid_wrapper.sidebar_content.left_sidebar
{
	padding-inline-start: 20px;
	padding-inline-end: 0;
}

#blog_grid_wrapper.sidebar_content:not(.full_width) .post.type-post
{
	width: 46%;
}

#page_content_wrapper .inner .sidebar_content.blog_f .post.type-post
{
	border-bottom: 0;
	margin-bottom: 30px;
}

body.single .post.type-post
{
	border: 0;
	margin-bottom: 0;
}

.post.type-post.last-child
{
	border: 0;
	margin: 0;
	padding: 0;
}

#blog_grid_wrapper
{
	padding-top: 30px;
}

#blog_grid_wrapper.ppb_blog_posts, .blog_grid_wrapper.ppb_blog_posts
{
	padding-top: 0;
}

#blog_grid_wrapper .post.type-post, .blog_grid_wrapper .post.type-post
{
	margin-bottom: 20px;
	box-sizing: border-box;
	padding: 0;
	opacity: 0;
	padding: 5px;
	box-sizing: border-box;
	
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}

body.error404 .post.type-post, body.tax-gallerycat .galleries.type-galleries, .ppb_blog_posts .post.type-post, body.archive #blog_grid_wrapper .post.type-post
{
	float: left;
	width : 31%;
	margin-inline-end: 20px;
	margin-bottom: 20px;
}

.post.type-post:last-child
{
	margin-bottom: 0;
}

.post_wrapper
{
	padding: 20px 0 25px 0;
}

.post_wrapper.grid_layout
{
	padding: 0;
}

.blog_grid_content
{
	width: 100%;
	clear: both;
	box-sizing: border-box;
	float: left;
}

body.single .post_wrapper
{
	padding-bottom: 0;
}

.post_wrapper:first-child
{
	padding-top: 0;
	border: 0;
}

body.search .post_wrapper:first-child
{
	padding: 20px 0 25px 0;
}

.post_wrapper.single
{
	width: 100%;
	margin: 0;
}

.post_header
{
	width: 100%;
	float: left;
	margin-bottom: 20px;
	text-align: center;
}

body.single .post_header
{
	text-align: start;
}

.post_header p 
{
	text-align: start;
}

.post_header.search
{
	width: calc(100% - 50px);
	margin-bottom: 0;
	margin-inline-start: 10px;
	text-align: start;
}

body.search-results .post_header.search
{
	width: calc(100% - 70px);
}

.post_header.quote
{
	margin-bottom: 0;
}

.readmore
{
	font-size: 11px;
	display: inline-block;
	margin: auto;
	margin-top: 10px;
	letter-spacing: 2px;
	border-bottom: 1px solid #222;
}

.post_header.grid
{
	margin-bottom: 15px;
	width: 100%;
	float: none;
}

.post_header.full
{
	width: 100%;
}

.post_header.grid h6, .portfolio_desc h5
{
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.post_header h3 a, .post_header.grid h6 a
{
	color: #222222;
}

.post_header h5
{
	font-size: 28px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.post_header h6
{
	font-size: 18px;
}

.post_header h5 a, .post_header h6 a
{
	color: #222222;
}

.post_excerpt
{
	width: 70%;
	margin: auto;
}

.post_excerpt br:first:child
{
	display: none;
}

.post_related strong
{
	font-size: 17px;
}

.post_related .post_detail
{
	font-size: 11px;
}

.post_related .post_header
{
	text-align: start;
}

.animate 
{
	opacity: 0;
}

.animate.visible 
{
	animation-name: slideUp2;
	-webkit-animation-name: slideUp2;
	animation-duration: 0.6s;
	-webkit-animation-duration: 0.6s;
	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-fill-mode: forwards;
	-moz-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.post_excerpt.post_tag
{
	width: 100%;
	margin: auto;
	text-align: center;
	margin-top: 10px;
}

.post_excerpt.post_tag a
{
	display: inline-block;
	padding: 3px 10px;
	background: #f0f0f0;
	margin-inline-start: 5px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

#about_the_author
{
	margin-top: 20px;
}

#about_the_author .gravatar
{
	float: left;
	margin-inline-end: 20px;
	margin-bottom: 15px;
}

.author_label
{
	float: left;
}

.author_content strong
{
	font-size: 20px;
}

.post_content_wrapper
{
	padding: 0;
	margin: 0;
}

.post_content_wrapper.fullwidth
{
	width: 100%;
}

.post_header .post_detail, .recent_post_detail, .post_detail, .thumb_content span, .portfolio_desc .portfolio_excerpt, .testimonial_customer_position, .testimonial_customer_company, .page_tagline
{
	width: 100%;
	padding: 0;
	float: left;
	margin: 5px 0 15px 0;
	font-size: 13px;
}

.portfolio_title .post_detail
{
	margin: 0;
}

.search_form_wrapper
{
	margin-top: 20px;
	margin-bottom: 30px;
}

body.search .search_form_wrapper
{
	margin-top: 0;
}

.search_form_wrapper .content
{
	font-size: 16px;
	text-align: center;
	width: 60%;
	margin: auto;
	margin-bottom: 40px;
}

.post_header .post_detail.grid
{
	margin-top: 5px;
}

.post_header .post_detail.full
{
	width: 100%;
	margin-top: 7px;
	margin-bottom: 7px;
}

.post_header .post_detail.grid
{
	margin-bottom: 0;
}

.post_attribute, .comment_date
{
	padding: 0;
	margin-top: 0;
	color: #999;
	letter-spacing: 0;
	text-transform: uppercase;
	opacity: 0.8;
	font-size: 12px;
}

.post_info_comment
{
	padding-inline-start: 10px;
	border-inline-start: 1px solid #999;
}

.post_type_icon
{
	float: left;
	margin-inline-end: 0;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	border-radius: 60px;
	width: 30px;
	height: 30px;
	padding: 5px;
	display: block;
	text-align: center;
	background: #222;
}

body.search-results .post_type_icon
{
	margin-inline-end: 15px;
}

.post_type_icon i
{
	font-size: 16px;
	line-height: 16px;
	display: block;
	position: relative;
	top: 50%;
	line-height: 30px;
}

.post_type_icon a
{
	color: var(--color-white) !important;
	display: block;
}

.search_thumb
{
	float: left;
	border-radius: 200px;
	width: 40px;
	height: 40px;
	overflow: hidden;
	position: relative;
	margin-top: 5px;
}

body.search-results .search_thumb
{
	margin-inline-end: 15px;
}

.search_thumb img
{
	width: 40px;
	height: 40px;
}

.rev_slider_wrapper
{
	z-index: 1;
}

.post_qoute_mark
{
	float: left;
	display: block;
	margin: 10px 39px 0 0;
	color: #ccc;
	font-size: 60px;
}

.post_qoute_mark.grid
{
	margin: 10px 20px 0 0;
	font-size: 30px;
	color: #ccc;
}

.post_quote_wrapper
{
	background: #222;
	width: 100%;
	padding: 40px;
	box-sizing: border-box;
	float: left;
	margin-bottom: 30px;
}

.post_quote_title
{
	/* -heading (Fraunces), not -button: this is editorial voice - a pull
	   quote - not UI chrome (2026-08-23 type decision). */
	font-family: var(--font-family-heading, 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif);
	font-size: 22px;
	width: 100%;
	margin: auto;
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.post_quote_wrapper .post_detail
{
	color: var(--color-white) !important;
	margin: 10px 0 0 0;
}

.post_quote_title p
{
	padding: 0 !important;
}

.post_quote_title a
{
	color: #000000;
}

.post_quote_title.grid
{
	font-size: 15px;
}

#page_caption.hasbg .post_detail, #page_caption.hasbg .post_detail a, #page_caption.hasbg .post_detail a:hover, #page_caption.hasbg .post_detail a:active, .page_tagline
{
	padding: 0;
	color: var(--color-white);
	margin-top: 10px;
	font-size: 16px;
	opacity: 0.8;
}

#page_caption .post_detail
{
	float: none;
}

.post_detail_wrapper
{
	float: left;
	width: 96%;
	margin: 0 0 10px 0;
}

.gravatar 
{
	position: relative;
	z-index: 2;
	overflow: hidden;
	float: left;
	width: 100px;
	height: 100px;
	border-radius: 200px;
}

.comment .gravatar
{
	width: 60px;
	height: 60px;
}

.gravatar img
{
	max-width: 100% !important;
}

#about_the_author .header span
{
	display: block;
	padding: 10px 0 10px 20px;
	font-size: 14px;
}

#about_the_author .thumb
{
	width: 80px;
	float: left;
	margin: 20px 0 0 20px;
}

#about_the_author .thumb img
{
	padding: 3px;
	width: 50px;
}

#about_the_author .description
{
	width: 550px;
	float: left;
	padding: 0 0 0 20px;	
}

.comment .left img.avatar
{
	width: 50px;
	height: 50px;
}

.comment
{
	width: 770px;
	padding-bottom: 0;
	float: left;
}

.fullwidth_comment_wrapper .comment
{
	width: 100%;
}

.comment .left
{
	float: left;
	margin-inline-end: 15px;
}

.comment_arrow
{
	width: 10px;
	height: 10px;
	float: left;
	position: relative;
	left: 5px;
	margin-top: 20px;
	display: none;
}

.comment .right
{
	width: 74%;
	float: left;
	margin-inline-start: 25px;
	padding: 0 15px 30px 0;
}

.comment .right h7
{
	display: block;
	float: left;
	font-size: 13px;
	font-weight: 600;
	line-height: 28px;
	margin-inline-end: 10px;
}

.fullwidth_comment_wrapper .comment .right
{
	width: 88%;
}

.fullwidth_comment_wrapper.sidebar .comment .right
{
	width: 74%;
}

ul.children div.comment .right
{
	width: 77%;
}

.fullwidth_comment_wrapper ul.children div.comment .right
{
	width: 84%;
}

.comment .right p
{
	margin: 0;
	padding: 0;
}

.comment .right strong
{
	font-weight: var(--color-white);
}

#content_wrapper ul.children
{
	list-style: none;
	margin: -40px 0 0px 74px;
	border-inline-start: 1px solid #ccc;
	padding: 5px 20px 2px 0;
	float: left;
	width: 106%;
}

#content_wrapper ul.children ul.children
{
	margin-top: -10px;
	padding-bottom: 0;
	width: 83.5%;
}

.comment_wrapper
{
	float: left;
	margin-inline-start: 25px;
	border-inline-start: 1px solid #eeeeee;
}

.comment_date
{
	margin: 0;
	line-height: 30px;
	float: left;
	margin-inline-start: 0;
}

ul.children .comment
{
	width: 100%;
	margin: 0;
	padding: 20px 0 10px 0;
	margin-top: 20px;
	margin-inline-start: 45px;
	float: left;
}

ul.children .comment:last-child
{
	padding-top: 0;
	padding-bottom: 15px;
}

ul.children .comment:first-child
{
	padding-top: 10px;
	margin-top: 0px;
}

.jp-play, .jp-pause
{
	position: fixed;
	top: 46.5%;
	left: 4px;
	width: 22px;
	height: 20px;
	background:transparent url(../images/sound_off.png) no-repeat left center;
	text-indent: -9999px;
	z-index: 99999;
}

.jp-pause
{
	background:transparent url(../images/sound_on.png) no-repeat left center;
}

.social_wrapper
{
	width: 100%;
	margin: 20px 0 5px 0;
	text-align: center;
}

#logo_wrapper .social_wrapper
{
	width: auto;
	margin: 0;
	left: 30px;
	text-align: start;
	position: absolute;
}

.footer_bar_wrapper .social_wrapper
{
	width: 50%;
	float: right;
	text-align: end;
	margin: 0;
}

.above_top_bar .social_wrapper
{
	margin: 0;
	float: right;
	width: auto;
}

.social_wrapper.shortcode, .social_wrapper.shortcode ul
{
	margin: 0;
	text-align: start;
}

.social_wrapper ul
{
	list-style: none;
	margin-inline-start: 0 !important;
	text-align: start;
}

.above_top_bar .social_wrapper ul
{
	text-align: end;
}

.footer_bar_wrapper .social_wrapper ul
{
	text-align: end;
}

#page_content_wrapper .social_wrapper ul
{
	list-style: none;
	margin-top: 12px;
}

#page_content_wrapper .social_wrapper.shortcode ul
{
	margin-top: 0;
}

.social_wrapper ul li, .social_wrapper.small ul li
{
	display: inline-block;
	margin-inline-end: 15px;
}

#logo_wrapper .social_wrapper ul li
{
	margin-inline-end: 10px;
}

.social_wrapper.shortcode ul li, .social_wrapper.small.shortcode ul li
{
	margin: 0 10px 10px 10px !important;
}

.footer_bar_wrapper .social_wrapper ul li
{
	background: transparent !important;
	border: 0 !important;
	width: 16px;
	height: 16px;
	margin-inline-start: 5px;
	float: right;
}

.social_wrapper.light ul li
{
	border: 0 !important;
}

.social_wrapper.large ul li
{
	width: 50px;
	height: 50px;
}

.above_top_bar .social_wrapper ul li
{
	background: transparent;
	border: 0;
	width: auto;
	height: auto;
	margin-inline-end: 0px;
}

.social_wrapper.shortcode ul li
{
	margin: 0 2px 4px 2px;
	clear: none !important;
	float: none !important;
	width: auto !important;
	display: inline-block !important;
}

.sidebar_content ul li .social_wrapper.shortcode, .sidebar_content ul li .social_wrapper.shortcode ul
{
	text-align: center !important;
}

.social_wrapper ul li a
{
	opacity: 1;
	display: block;
	line-height: 0;
}

.social_wrapper.shortcode ul li a
{
	color: var(--color-white);
}

.social_wrapper.shortcode.light ul li a
{
	color: #444;
}

.mobile_menu_wrapper .sidebar_wrapper h2.widgettitle
{
	text-align: start;
}

.mobile_menu_wrapper .sidebar_wrapper h2.widgettitle:before
{
	border: 0;
}

.mobile_menu_wrapper .sidebar_wrapper h2.widgettitle span
{
	background: transparent;
	padding-inline-start: 0;
	padding-inline-end: 0;
}

.mobile_menu_wrapper .social_wrapper ul li a
{
	opacity: 0.5;
}

.mobile_menu_wrapper .social_wrapper ul li a:hover, .mobile_menu_wrapper .social_wrapper ul li a:active
{
	opacity: 1;
}

.above_top_bar .social_wrapper ul li:last-child a
{
	margin-inline-end: 0;
}

.above_top_bar .social_wrapper ul li a
{
	display: inline-block;
	color: var(--color-white);
	padding: 0;
	margin-inline-start: 5px;
	margin-inline-end: 5px;
	line-height: 30px;
}

.above_top_bar .page_content_wrapper
{
	margin: auto;
}

.footer_bar_wrapper .social_wrapper ul li a
{
	color: var(--color-white);
	opacity: .4;
}

.footer_bar_wrapper .social_wrapper ul li a:hover, .footer_bar_wrapper .social_wrapper ul li a:active
{
	opacity: 1;
}

.social_wrapper ul li a i, .social_wrapper.small ul li a i
{
	line-height: 18px;
	font-size: 18px;
}

.above_top_bar .social_wrapper ul li a i
{
	font-size: 14px;
	line-height: 18px;
}

.footer_bar_wrapper .social_wrapper ul li a i
{
	line-height: 20px;
	font-size: 18px;
}

.social_wrapper.large ul li a i
{
	line-height: 32px;
	font-size: 24px;
}

.above_top_bar .social_wrapper ul li:hover
{
	background: transparent !important;
	opacity: 1;
}

.team_card_wrapper
{
	margin: 50px 0 50px 0;
}

.team_content
{
	margin: 20px 0 20px 0;
}

.social_wrapper.team
{
	list-style: none;
	display: block;
	margin: 0;
	width: 100%;
	margin-top: 30px;
	text-align: center;
}

.social_wrapper.team li
{
	display: inline-block;
	margin: 0 10px 0 10px;
}

.social_wrapper.team li i
{
	font-size: 18px;
}

.one_fourth .social_wrapper.team li img
{
	max-width: 14px;
	height: auto;
}

.one_fourth .social_wrapper.team li
{
	display: inline-block;
	margin: 0 3px 0 3px;
}

.social_wrapper ul li a img
{
	opacity: .4;
}

.social_wrapper.shortcode ul li a img, .social_wrapper ul li:hover a img 
{
	opacity: 1;
}

#page_caption
{
	padding: 25px 0 30px 0;
	width: 100%;
	background: var(--color-white);
	margin-bottom: 10px;
}

#page_caption.hasbg
{
	height: 60%;
	max-height: 750px;
	position: relative;
	top: 0;
	right: 0;
	width: 100%;
	border: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	margin-bottom: 0;
	z-index: 2;
}

body.single-galleries #page_caption.hasbg
{
	margin-bottom: 20px;
}

#page_caption.split, #page_caption.hasbg.split
{	width: 50%;
	height: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 129px;
	min-height: 100%;
}

#page_caption.hasbg #bg_regular, #page_caption.hasbg #bg_blurred
{
	width: 100%;
	min-height: 100%;
	position: absolute;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	
	-webkit-transform: translate3d(0,0,0);
	-moz-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-o-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

#page_caption.hasbg #bg_regular
{
	opacity: 1;
}

#page_caption.hasbg #bg_blurred
{
	opacity: 0;
}

#page_caption.hasbg:after 
{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(60%,var(--shadow-soft)),color-stop(93%,rgba(0,0,0,0.4)),to(rgba(0,0,0,0.59)));
  background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 60%,rgba(0,0,0,0.4) 93%,rgba(0,0,0,0.59) 100%);
  background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 60%,rgba(0,0,0,0.4) 93%,rgba(0,0,0,0.59) 100%);
  z-index: 2;
}

body.single-post #page_caption.hasbg:after, body.single-portfolios #page_caption.hasbg:after, #page_caption.split:after
{
	display: none;
}

.post_caption
{
	text-align: center;
	margin: 40px 0 40px 0;
}

#page_content_wrapper.split .post_caption, .page_content_wrapper.split .post_caption
{
	margin-top: 0;
	margin-bottom: 20px;
}

.post_caption h1
{
	font-size: 36px;
}

.post_caption .post_detail
{
	margin: auto;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--color-border);
	letter-spacing: 5px;
	font-size: 12px;
	opacity: 0.8;
	display: inline-block;
	width: auto;
	float: none;
}

.parallax_overlay_header
{
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

#page_caption.nomargin
{
	margin-bottom: 0;
}

#page_caption .page_title_wrapper
{
	width: 100%;
	margin: auto;
	text-align: center;
}

#page_caption.hasbg .page_title_wrapper
{
	z-index: 3;
	position: absolute;
	bottom: 30px;
	width: 100%;
}

#page_caption.split .page_title_wrapper
{
	position: relative;
	top: 0;
	left: 0;
	width: 90%;
	height: 100%;
	display: table;
}

#page_caption.split .page_title_wrapper .page_title_inner
{
	vertical-align: middle;
	display: table-cell;
}

#page_caption.hasbg h1, h1.hasbg
{
	color: var(--color-white);
	float: none;
	margin: auto;
}

#page_caption.hasbg .page_title_wrapper .page_title_inner
{
	vertical-align: middle;
	width: 100%;
}

#page_caption.hasbg h1.withtopbar, h1.hasbg.withtopbar, #page_caption.hasbg.notransparent h1.withtopbar
{
	margin-top: 160px;
}

.page_tagline
{
	width: auto;
	display: inline-block;
	margin: auto;
	margin-top: 20px;
	padding-top: 30px;
	border-top: 1px solid var(--color-border);
	float: none;
	letter-spacing: 5px;
	text-transform: uppercase;
}

#page_caption.hasbg .page_tagline
{
	color: var(--color-white);
	border: 0;
	margin-top: 0;
	padding-top: 0;
}

h2.ppb_title
{
	font-size: 50px;
	margin-top: 0;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.ppb_subtitle
{
	margin: 0 0 20px 0;
	font-size: 14px;
	color: #777;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.ppb_content
{
	margin: 15px 0 15px 0;
	width: 96%;
}

#crumbs
{
	float: right;
	font-size: 10px;
	line-height: 34px;
}

#crumbs.center, #page_caption.hasbg #crumbs
{
	display: block !important;
}

#page_caption.hasbg #crumbs
{
	color: var(--color-white);
	float: none;
	margin: auto;
	display: none;
}

#page_caption.hasbg #crumbs a
{
	color: var(--color-white);
}

#crumbs a, #crumbs a:hover, #crumbs a:active
{
	color: #999;
}

#page_caption h2
{
	color: #333;
	padding: 0 0 0 0;
	font-size: 22px;
	font-weight: normal;
}

.gallery_img_slides
{
	z-index: 2;
	visibility:hidden;
	margin: 0 !important;
	position: absolute;
	width: 100%;
	height: 100%;
	
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}

.gallery_img_slides li, .gallery_img_slides li img
{
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
}

.gallery_img_slides.active
{
	visibility: visible;
}

#portfolio_wall_filters, .portfolio_wall_filters
{
	width: 100%;
	text-align: center;
	margin-inline-start: 0 !important;
}

.filter li
{
	margin: 0 0 0 0;
	display: inline-block;
	list-style: none;
}

.filter li:first-child, .filter li:first-child a
{
	margin-inline-start: 0 !important;
}

.filter li a
{
	display: inline-block;
	outline: none;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	padding: 1em 1em 1em;
	background: transparent;
	font-style: italic;
	text-shadow: none;
	color: #999;
}

.filter li .separator
{
	display: none !important;
}

.filter li:last-child .separator
{
	display: none;
}

.filter li a:hover
{
	color: #222;
}

.filter li a.active, #portfolio_wall_filters li a.active,  #portfolio_wall_filters li a:hover
{
	color: #222;
}

#page_minimize
{
	display: none;
}

#post_featured_slider
{
	margin-top: -1px;
	-webkit-transition: all 0.6s ease;
	-moz-transition: all 0.6s ease;
	-o-transition: all 0.6s ease;
	-ms-transition: all 0.6s ease;
	transition: all 0.6s ease;
	background-color: #f9f9f9;
	margin-bottom: 60px;
}

#post_featured_slider li .slider_image:after
{
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(76%,var(--shadow-soft)),color-stop(93%,rgba(0,0,0,0.5)),to(rgba(0,0,0,0.59)));
    background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 76%,rgba(0,0,0,0.5) 93%,rgba(0,0,0,0.59) 100%);
    background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 76%,rgba(0,0,0,0.5) 93%,rgba(0,0,0,0.59) 100%);
    z-index: 2;
}

#post_featured_slider li .slider_image
{
	width: 100%;
	height: 500px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
}

#post_featured_slider li .slider_image.three_cols
{
	width: 33.3%;
	float: left;
	height: 350px;
}

#post_featured_slider li .slider_image .slide_post
{
	position: absolute;
	bottom: 15px;
	left: 0;
	width: 100%;
	text-align: center;
	color: var(--color-white);
	z-index: 3;
}

#post_featured_slider li .slider_image.three_cols .slide_post
{
	text-align: start;
}

#post_featured_slider li .slider_image .slide_post h2
{
	color: var(--color-white);
	font-size: 24px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

#post_featured_slider li .slider_image.three_cols .slide_post
{
	padding: 0 20px 0 20px;
	box-sizing: border-box;
}

#post_featured_slider li .slider_image.three_cols .slide_post h2
{
	font-size: 18px;
}

#post_featured_slider li .slider_image .slide_post .slide_post_date
{
    font-size: 11px;
    margin-bottom: 0;
    color: var(--color-white);
}

#post_featured_slider li .slider_image.three_cols .slide_post ,slide_post_date
{
	font-size: 11px;
}

.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget iframe
{
	max-width: 100%;
	height: auto;
}

#vimeo_bg, #youtube_bg 
{
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
}

#vimeo_bg .fluidvids, #youtube_bg .fluidvids 
{
	width: 100%;
	height: 100%;
}

#vimeo_bg > iframe, #youtube_bg > iframe 
{
	display: block;
	height: 100%;
	width: 100%;
}

.icon-scroll,
.icon-scroll:before 
{
  position: absolute;
  left: 50%;
}

.icon-scroll {
  width: 20px;
  height: 35px;
  margin-inline-start: -10px;
  position: absolute;
  bottom: 20px;
  margin-top: -35px;
  box-shadow: inset 0 0 0 3px var(--color-white);
  border-radius: 25px;
  z-index: 99;
}

.icon-scroll:before {
  content: '';
  width: 4px;
  height: 4px;
  background: var(--color-white);
  margin-inline-start: -2px;
  top: 4px;
  border-radius: 4px;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: scroll;
  animation-name: scroll;
}

.one.fullwidth.slideronly .icon-scroll
{
	display: none;
}

@-webkit-keyframes scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(23px);
    transform: translateY(23px);
  }
}

@keyframes scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(23px);
    transform: translateY(23px);
  }
}

/*------------------------------------------------------------------
[5. Social Sharing]
*/

.post.type-post .post_share
{
	color: #444;
	display: none;
}

.post.type-post:hover .post_share, .post.type-post .post_share.visible
{
	display: block;
}

.post_share_bubble
{
	position: absolute;
	bottom: 20px;
	right: 0;
	z-index: 9;
	width: 15px;
}

body.single.single-post .post_share_bubble, body.single.single-projects .post_share_bubble, body.single.single-attachment .post_share_bubble
{
	position: fixed;
	left: 7px;
	bottom: 7px;
}

body.single.single-post .post_share_bubble a.post_share, body.single.single-projects .post_share_bubble a.post_share, body.single.single-attachment .post_share_bubble a.post_share
{
	display: block;
	padding:10px 10px 10px 10px;
	width: 25px;
	background: #eee;
	border-radius: 5px;
	text-align: center;
	opacity: 0.5;
	
	-webkit-transition: opacity .2s linear;
	-moz-transition: opacity .2s linear;
	-ms-transition: opacity .2s linear;
	-o-transition: opacity .2s linear;
	transition: opacity .2s linear;
}

a.post_share
{
	color: #000;
}

body.single.single-post .post_share_bubble a.post_share:hover, body.single.single-projects .post_share_bubble a.post_share:hover, body.single.single-attachment .post_share_bubble a.post_share:hover
{
	opacity: 1;
}

.post_share_bubble_wrapper
{
	position: relative;
}

.post_img
{
	position: relative;
	height: auto;
	text-align: center;
	overflow: hidden;
	float: left;
	line-height: 0;
	width: 100%;
	margin-bottom: 20px;
}

.post_img.team
{
	width: 100%;
	margin: auto;
	float: none;
	margin-bottom: 0;
	overflow: hidden;
}

.post_img.team img
{
	max-width: 100%;
}

.post_ft_img
{
	opacity: 0;
}

.post_img.small.square_thumb 
{
	width: auto;
}

.post_img.fadeIn, .post_img.grid.fadeIn
{
	opacity: 0;
	animation-duration: 0.7s;
	-webkit-animation-duration: 0.7s;
}

.post_img img
{
	width: 100%;
	height: auto !important;
}

body.single .post_img img
{
	width: auto;
}

#content_slider_wrapper
{
	width: 100%;
	height: 20px;
	background: transparent;
	position: fixed;
	bottom: 200px;
}

#social_share_wrapper, .social_share_wrapper
{
	margin-inline-start: 0 !important;
	margin-top: 20px;
	padding-top: 20px;
	margin-bottom: 20px;
	text-align: center;
	clear: both;
}

#social_share_wrapper a i, .social_share_wrapper.shortcode a i
{
	font-size: 20px;
}

#social_share_wrapper a, .social_share_wrapper.shortcode a
{
	opacity: 0.3;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

#social_share_wrapper a:hover, .social_share_wrapper.shortcode a:hover
{
	opacity: 1;
}

.social_share_wrapper.shortcode
{
	margin: 0;
}

#social_share_wrapper h5,  .social_share_wrapper.shortcode h5
{
	display: inline-block;
	margin-bottom: 5px;
}

#social_share_wrapper ul, .social_share_wrapper.shortcode ul, .social_share_bubble ul
{
	display: block;
	clear: both;
	list-style: none;
	margin: 0;
	margin-inline-start: 0 !important;
}

#social_share_wrapper ul li, .social_share_wrapper.shortcode ul li, .social_share_bubble ul li
{
	display: block;
	margin: 0 0 5px 0;
}

.social_share_wrapper.shortcode ul li
{
	display: inline-block;
	margin: 0 10px 0 10px;
	border-inline-start: 0 !important;
}

.social_share_bubble ul li
{	
	display: inline-block;
	margin: 0 7px 0 7px;
	font-size: 14px;
}

#social_share_wrapper.inline, .social_share_bubble.inline
{
	text-align: center;
	border:0;
	margin-top: 30px;
}

.imageFlow_gallery_info_wrapper #social_share_wrapper ul li, .imageFlow_gallery_info_wrapper .social_share_wrapper ul li, #social_share_wrapper.inline ul li, .social_share_wrapper.inline ul li
{
	display: inline-block;
	margin: 0 5px 0 5px;
}

#fullscreen_share_wrapper
{
	display: table;
	width: 100%;
	height: 100%;
	z-index: 9;
	color: var(--color-white);
  	position: relative;
  	visibility: hidden;
}

.fullscreen_share_content
{
	display: table-cell;
	vertical-align: middle;
	position: relative;
	text-align: center;
}

.fullscreen_share_content #social_share_wrapper ul li
{
	display: inline-block;
	margin: 0 20px 0 20px;
}

.fullscreen_share_content #social_share_wrapper ul li a
{
	color: var(--color-white);
	opacity: 1;
	display: block;
}

.fullscreen_share_content #social_share_wrapper ul li a i
{
	font-size: 4em;
}

.parallax
{
	position: relative;
	clear: both;
	background-size: 100%;
}

.archive_parallax
{
	height: 420px;
}

.archive_parallax a:before
{
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(30%,transparent),color-stop(56%,var(--shadow-soft)),color-stop(83%,rgba(0,0,0,0.4)),to(rgba(0,0,0,0.59)));
	background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 76%,rgba(0,0,0,0.4) 93%,rgba(0,0,0,0.59) 100%);
	background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 76%,rgba(0,0,0,0.4) 93%,rgba(0,0,0,0.59) 100%);
}

.archive_parallax .gallery_archive_desc
{
	opacity: 1;
	bottom: 40px;
}

.archive_parallax .gallery_archive_desc .post_detail
{
	color: var(--color-white);
}

/*------------------------------------------------------------------
[6. Sidebar]
*/

#page_content_wrapper .inner .sidebar_content, .page_content_wrapper .inner .sidebar_content
{
	width: 690px;
	padding: 0;
	float: left;
	padding-inline-end: 0px;
	padding-top: 0;
	margin-inline-end: 10px;
}

#page_content_wrapper .inner .sidebar_content.portfolio
{
	width: 690px;
	padding-inline-end: 0;
}

#page_content_wrapper .inner .sidebar_content.page_content, .page_content_wrapper .inner .sidebar_content.page_content
{
	padding: 20px;
	box-sizing: border-box;
	background: var(--color-white);
}

.page_content_wrapper .inner .sidebar_content.page_content
{
	background: transparent;
	padding: 0;
}

#page_content_wrapper .inner #portfolio_filter_wrapper.sidebar_content
{
	width: 100%;
	padding-inline-end: 0;
	margin-inline-end: 0;
	border: 0;
}

#page_content_wrapper .inner .sidebar_content.nopadding, .page_content_wrapper .inner .sidebar_content.nopadding
{
	padding-top: 0 !important;
}

#page_content_wrapper .inner .sidebar_content.left_sidebar, .page_content_wrapper .inner .sidebar_content.left_sidebar
{
	border-inline-end: 0;
	float: right;
}

#page_content_wrapper .inner .sidebar_content.full_width, .page_content_wrapper .inner .sidebar_content.full_width
{
	width: 100%;
	margin-top: 0;
	margin-inline-end: 0;
	border: 0;
}

body.single-portfolios #page_content_wrapper .inner .sidebar_content.full_width
{
	margin-top: 40px;
}

#page_content_wrapper.horizontal, .page_content_wrapper.horizontal
{
	padding: 0;
	width: 100%;
	max-width: 100% !important;
}

#page_content_wrapper img:not(.horizontal_gallery_img), .page_content_wrapper img:not(.horizontal_gallery_img)
{
	max-width: 100%;
}

#horizontal_gallery, .horizontal_gallery
{
	opacity: 0;
	overflow-x: scroll;
	clear: both;
	margin-top: 0;
	margin-bottom: 0;
}

#horizontal_gallery table, .horizontal_gallery table
{
	margin: 0;
}

#horizontal_gallery.tg_post, #horizontal_gallery.tg_post table, .horizontal_gallery.tg_post, .horizontal_gallery.tg_post table
{
	margin: 0;
}

#horizontal_gallery.visible, .horizontal_gallery.visible
{
	opacity: 1;
}

#horizontal_gallery_wrapper tbody tr td, .horizontal_gallery_wrapper tbody tr td
{
	display:table-cell;
	vertical-align: middle;
	padding: 0;
	padding-top: 0;
	padding-bottom: 0;
	border: 0 !important;
}

#horizontal_gallery_wrapper tbody tr td:last-child, .horizontal_gallery_wrapper tbody tr td:last-child
{
	padding-inline-end: 0;
}

#horizontal_gallery_wrapper tbody tr td:first-child, .horizontal_gallery_wrapper tbody tr td:first-child
{
	padding-inline-start: 0;
}

#horizontal_gallery_wrapper tbody tr td.horizontal_gallery_info, .horizontal_gallery_wrapper tbody tr td.horizontal_gallery_info
{
	padding: 40px;
}

#horizontal_gallery_wrapper tbody tr td a, .horizontal_gallery_wrapper tbody tr td a
{
	outline: none;
}

#horizontal_gallery_wrapper tbody tr td .wp-caption, .horizontal_gallery_wrapper tbody tr td .wp-caption
{
	min-height: 33px;
	font-weight: normal;
}

#horizontal_gallery_wrapper tbody tr td.horizontal_gallery_info div, .horizontal_gallery_wrapper tbody tr td.horizontal_gallery_info div
{
	width: 250px;
	text-align: start;
}

#horizontal_gallery_wrapper img.horizontal_gallery_img, .horizontal_gallery_wrapper img.horizontal_gallery_img
{
	max-width: none;
	height: auto;
}

#horizontal_gallery_wrapper .gallery_image_wrapper, .horizontal_gallery_wrapper .gallery_image_wrapper
{
	text-align: center;
	display: none;
}

#horizontal_gallery_wrapper .gallery_image_wrapper.visible, .horizontal_gallery_wrapper .gallery_image_wrapper.visible
{
	display: block;
}

.image_caption.fullscreen
{
	clear: both;
	padding-top: 15px;
}

.password_container
{
	padding: 100px 0 140px 0;
}

.lock_wrapper
{
	text-align: center;
	margin: auto;
	margin-top: 0;
	margin-bottom: 20px;
}

.lock_wrapper i 
{
  	font-size: 8em;
}

input#gallery_password
{
	width: 30%;
}

#imageFlow {
    position: absolute;
    width: 100%;
    height: 80%;
    left: 0%;
    top: 20%;
    overflow: hidden;
    background: transparent;
}
#imageFlow .diapo {
    position: absolute;
    left: -4000px;
    cursor: pointer;
    -ms-interpolation-mode: nearest-neighbor;
}
#imageFlow .link {
    border: dotted var(--color-white) 1px;
    margin-inline-start: -1px;
    margin-bottom: -1px;
}
#imageFlow .text {
    position: absolute;
    left: 0px;
    width: 100%;
    bottom: 26%;
    text-align: center;
    z-index: 99;
}
#imageFlow .title {
    font-style: italic;
    opacity: 0.5;
}
#imageFlow .legend {
    font-size: 0.8em;
}
#imageFlow .scrollbar {
    position: absolute;
    left: 10%;
    bottom: 10%;
    width: 80%;
    height: 16px;
    z-index: 1000;
}
#imageFlow .track {
    position: absolute;
    left: 1%;
    width: 98%;
    height: 10px;
    -moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	border-radius: 25px;
}
#imageFlow .arrow-left {
    position: absolute;
    display: none;
}
#imageFlow .arrow-right {
    position: absolute;
    right: 0px;
    display: none;
}
#imageFlow .bar {
    position: absolute;
    height: 10px;
    left: 0;
    width: 100px;
    -moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	border-radius: 25px;
}

.diapo {
	opacity: 1;
}

.diapo.current {
	opacity: 1;
}

.ppb_wrapper
{
	margin-top: 0;
	width: 100%;
	overflow-x: hidden;
}

/*
 * Pulls the real content back up to reclaim the 172px #wrapper reserves
 * for the fixed header (see #wrapper's own docblock, ~line 289) - only on
 * .hasbg (transparent-header) pages, and only for this one wrapper, not
 * #wrapper itself, so the reservation still applies to nothing else.
 * `margin-top` (not `position:relative`+`top`): .ppb_wrapper sits inside
 * #main-content, a sibling of <footer> - a relative offset only changes
 * where the box PAINTS, not the space it reserves in normal flow, so
 * #main-content stayed full height and pushed the footer down by the same
 * 172px the content visually moved up (confirmed live: measured a 172px
 * gap between content and footer on .hasbg pages). A negative margin
 * actually shrinks the box's layout footprint, closing that gap.
 */
#wrapper.hasbg .ppb_wrapper
{
	margin-top: -172px;
}

#page_content_wrapper.hasbg.nomargintop
{
	margin-top: 0 !important;
}

#page_content_wrapper .inner .sidebar_content.full_width.nopadding, .page_content_wrapper .inner .sidebar_content.full_width.nopadding
{
	padding: 0 !important;
}

#page_content_wrapper .inner .sidebar_content img, .page_content_wrapper .inner .sidebar_content img
{
	max-width: 100%;
	height: auto;
}

#page_content_wrapper .inner .sidebar_content .map_shortcode_wrapper img, .page_content_wrapper .inner .sidebar_content .map_shortcode_wrapper img
{
	max-width: none;
}

#page_content_wrapper .inner .sidebar_content div.wp-caption, .page_content_wrapper .inner .sidebar_content div.wp-caption
{
	max-width: 100%;
}

#page_content_wrapper .inner .sidebar_content.full_width#blog_grid_wrapper, .page_content_wrapper .inner .sidebar_content.full_width.blog_grid_wrapper
{
	width: 103%;
	padding: 0;
}

#blog_grid_wrapper, .blog_grid_wrapper
{
	width: 1195px;
}

#page_content_wrapper .inner .sidebar_wrapper, .page_content_wrapper .inner .sidebar_wrapper
{
	width: 220px;
	float: left;
	margin-top: 0;
	margin-inline-start: 30px;
	padding-top: 0;
}

#page_content_wrapper .inner .sidebar_wrapper.adjust, #page_content_wrapper .inner .sidebar_wrapper.left_sidebar.adjust
{
	padding-top: 50px;
}

#page_content_wrapper .inner .sidebar_wrapper.left_sidebar
{
	width: 230px;
	margin-inline-end: 0;
	margin-inline-start: 0;
}

#page_content_wrapper .inner .sidebar_wrapper a, .page_content_wrapper .inner .sidebar_wrapper a
{
	color: #222;
}

#page_content_wrapper .inner .sidebar_wrapper .sidebar, .page_content_wrapper .inner .sidebar_wrapper .sidebar
{
	width: 100%;
	float: left;
	margin-bottom: 40px;
}

#page_content_wrapper .inner .sidebar_wrapper .sidebar .content, .page_content_wrapper .inner .sidebar_wrapper .sidebar .content
{
	width: 100%;
	margin: 0 0 0 0;
}

.mobile_menu_wrapper .sidebar_wrapper h2.widgettitle
{
	color: var(--color-white);
}

.mobile_menu_wrapper .sidebar_wrapper a
{
	color: #777;
}

.mobile_menu_wrapper .page_content_wrapper
{
	width: 100%;
}

.mobile_menu_wrapper .sidebar_wrapper
{
	width: 100%;
	margin-top: 40px;
}

.mobile_menu_wrapper .sidebar_wrapper .sidebar .content .sidebar_widget li
{
	margin-bottom: 20px;
}

/*------------------------------------------------------------------
[7. Form & Input]
*/

/*
 * font-size fixed at 16px rather than 100% (inherited): below the
 * tablet/mobile breakpoints (css/grid.css sets body to 13px there), 100%
 * resolved to something under 16px, which is the exact threshold that
 * makes iOS Safari zoom the page in on focus for any of these fields.
 */
input[type=text], input[type=password], input[type=email], input[type=url], input[type=date], input[type=tel], .woocommerce table.cart td.actions .coupon .input-text, .woocommerce-page table.cart td.actions .coupon .input-text, .woocommerce #content table.cart td.actions .coupon .input-text, .woocommerce-page #content table.cart td.actions .coupon .input-text, select
{
	padding: 13px 10px 13px 10px;
	font-size: 16px;
	font-family: var(--font-family-body, Lato, 'Helvetica Neue', Arial, Verdana, sans-serif);
	margin: 0;
	background: #fcfcfc;
	border: 1px solid var(--color-border);
	outline: none;
	-webkit-transition: border-color linear .3s;
	-moz-transition: border-color linear .3s;
	-o-transition: border-color linear .3s;
	transition: border-color linear .3s;
	box-sizing: border-box;
	-webkit-appearance: none;
}

input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=url]:focus, input[type=date]:focus, input[type=tel]:focus, .woocommerce table.cart td.actions .coupon .input-text:focus, .woocommerce-page table.cart td.actions .coupon .input-text:focus, .woocommerce #content table.cart td.actions .coupon .input-text:focus, .woocommerce-page #content table.cart td.actions .coupon .input-text:focus
{
	background: #f9f9f9;
	outline: 0;
}

.contact_form_wrapper input[type=text], .contact_form_wrapper input[type=email], .contact_form_wrapper input[type=date]
{
	width: 46%;
	display: inline;
	box-sizing: border-box;
	margin-inline-end: 3%;
	margin-bottom: 3%;
}

.contact_form_wrapper input[type=submit]
{
	float: right;
	margin-inline-end: 4%;
}

.contact_form_wrapper label
{
	display: none;
}

.contact_form_response ul
{
	margin-inline-start: 20px;
	margin-bottom: 20px;
}

.contact_form_wrapper
{
	margin-top: 30px;
}

input[type=text].blur, textarea.blur
{
	color: #999;
}

#contact_form input[type="text"], #contact_form textarea
{
	margin-bottom: 15px;
	width: 97%;
}

.fullwidth_comment_wrapper #commentform textarea 
{
	width: 100%;
}

.fullwidth_comment_wrapper .post_content_wrapper
{
	background: transparent !important;
	padding: 30px 0 30px 0 !important;
	width: 100% !important;
}

label
{
	clear: both;
	float: none;
	width: 100%;
	margin-inline-start: 0;
	margin-bottom: 10px;
	display: block;
	font-family: var(--font-family-button, 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif);
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 600;
}

.form-allowed-tags
{
	display: none !important;
}

p.comment-notes
{
	margin-bottom: 20px;
}

/* font-size fixed at 16px rather than 100% - same iOS Safari auto-zoom
 * reasoning as the input/select rule above. */
textarea
{
	font-size: 16px;
	border: 1px solid var(--color-border);
	background: #fcfcfc;
	margin: 0;
	height: 200px;
	overflow: auto;
	padding: 13px 10px 13px 10px;
	font-family: var(--font-family-body, Lato, 'Helvetica Neue', Arial, Verdana, sans-serif);
	outline: none;
	-webkit-transition: border-color linear .2s;
	-moz-transition: border-color linear .2s;
	-o-transition: border-color linear .2s;
	transition: border-color linear .2s;
	box-sizing: border-box;
	-webkit-appearance: none;
}

input[type=submit], input[type=button], a.button, .button
{
	display: inline-block;
	outline: none;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	padding: var(--button-padding);
	/* Warm near-white on the muted sienna accent = 5.4:1 (AA pass). The
	   old white-on-gold pairing was a 1.67:1 WCAG fail (2026-08-23 a11y
	   audit); the accent itself changed to sienna the same day (Kedyn's
	   Ballot decision), which is why this is cream-on-sienna rather than
	   the interim dark-on-gold fix. Hover still swaps to white-on-#222. */
	color: #fdf6f0;
	background: var(--color-accent);
	border: 2px solid var(--color-accent);
	text-transform: uppercase;
	font-size: var(--button-font-size);
	/* --font-family-button, not -heading: with Fraunces (a serif) as the
	   heading face, buttons stay on the working sans - a serif uppercase
	   button reads costume-y (2026-08-23 type decision). */
	font-family: var(--font-family-button, var(--font-family-heading));
	text-shadow: none;
	text-shadow: none;
	-webkit-appearance: none;
	letter-spacing: 1px;
	box-shadow: 0 0 0 0 !important;
	line-height: 1.5 !important;
	letter-spacing: var(--button-letter-spacing);

	-webkit-transition: color .2s linear, background .1s linear, opacity .2s linear;
	-moz-transition: color .2s linear, background .1s linear, opacity .2s linear;
	-ms-transition: color .2s linear, background .1s linear, opacity .2s linear;
	-o-transition: color .2s linear, background .1s linear, opacity .2s linear;
	transition: color .2s linear, background .1s linear, opacity .2s linear;
}

a.button.continue_ppb_blog
{
	margin: auto;
	float: none;
	display: block;
	clear: both;
	padding: 2em 1.5em 2em 1.5em;
}

.post_button_wrapper
{
	margin-top: 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}

a.button.fullwidth.ppb
{
	padding: 3.5em 1.5em 3em 1.5em !important;
	border: 0;
	width: 100%;
	box-sizing: border-box;
}

a.button.fullwidth.ppb .subtitle
{
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 5px;
	text-transform: uppercase;
}

a.button.fullwidth.ppb .title
{
	font-size: 32px;
	font-style: italic;
	margin-bottom: 20px;
}

a.button.fullwidth.ppb i 
{
	font-size: 30px;
}

input[type=submit].white, input[type=button].white, a.button.white, .button.white, a.button.white:hover, .button.white:hover, a.button.white:active, .button.white:active
{
	color: var(--color-white);
	background: transparent;
	border-color: var(--color-white);
}

input[type=submit].whitebg, input[type=button].whitebg, a.button.whitebg, .button.whitebg, a.button.whitebg:hover, .button.whitebg:hover, a.button.whitebg:active, .button.whitebg:active
{
	background: var(--color-white);
	color: #000;
	border-color: var(--color-white);
}

input[type=submit].black, input[type=button].black, a.button.black, .button.black, a.button.black:hover, .button.black:hover, a.button.black:active, .button.black:active
{
	color: #000;
	border-color: #000;
}

input[type=button]:hover, input[type=submit]:hover, a.button:hover, .button:hover, .button.submit, a.button.white:hover, .button.white:hover, a.button.white:active, .button.white:active
{
	color: var(--color-white);
	border-color: #222;
	background: #222;
}

.error
{
	/*
	 * #d40000, not #ff0000 (2026-08-24 audit). Pure red on white is 4.00:1 -
	 * under the 4.5:1 WCAG AA requires for normal text, and this is the contact
	 * form validation message: the one piece of text a visitor who is already
	 * stuck most needs to read. #d40000 is 5.53:1 and still unmistakably an
	 * error colour.
	 */
	color: #d40000;
}

a.comment-reply-link
{
	margin: 0 0 0 10px;
	float:left;
	line-height: 28px;
	font-weight: 600;
}

input[type=submit].medium, input[type=button].medium, a.button.medium
{
	font-size: 15px;
	padding: 12px 20px 11px 20px;
}

input[type=submit].large, input[type=button].large, a.button.large
{
	font-size: 17px;
	padding: 16px 25px 15px 25px;
}

#cancel-comment-reply-link
{
	display: block;
	margin: 0 20px 0 10px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

input[type=submit].left, input[type=button].left, a.button.left
{
	float: left;
}

input[type=submit].right, input[type=button].right, a.button.right
{
	float: right;
}

input[type=submit].center, input[type=button].center, a.button.center
{
	margin: auto;
}

/*------------------------------------------------------------------
[8. Pagination]
*/

.pagination {
	margin: 0 0 40px 0;
	float: left;
}

.pagination p a:first-child {
	float: left;
}

.pagination p a:last-child {
	float: right;
}

.pagination a, .pagination span
{
	height: 30px;
	width: 30px;
	line-height: 30px;
	display: inline-block;
	text-align: center;
	color: #777;
	background: #f9f9f9;
	margin-inline-end: 10px;
	border-radius: 50px;
	overflow: hidden;
	font-size: 12px;
}

.pagination span, .pagination a:hover
{
	color: var(--color-white);
	font-weight: bold;
	background: #888;
}

.pagination_detail
{
	margin-top: 9px;
	float: right;
	font-size: 12px;
}

#page_content_wrapper ul
{
	margin: 0;
}

#page_content_wrapper ol
{
	margin: 15px 0 15px 40px;
}

/*------------------------------------------------------------------
[9. Widgets]
*/

#page_content_wrapper ul.flickr
{
	margin: 0 0 10px 0;
}

#page_content_wrapper ul.posts.blog
{
	list-style: none;
	margin-inline-start: 0 !important;
	float: left;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
}

#page_content_wrapper ul.flickr li img
{
	width: 65px;
	height: auto;
}

#page_content_wrapper .sidebar .content .posts.blog li img, #page_content_wrapper .posts.blog li img
{
	float: left;
	margin: 0 10px 2px 0;
 	width: 52px;
}

.post_circle_thumb 
{
	position: relative;
	z-index: 2;
	overflow: hidden;
	float: left;
	width: 70px;
	height: 70px;
	float: left;
	margin-inline-end: 0;
}

.post_circle_thumb img
{
	width: 60px;
	height: auto;
}

.post_circle_thumb.flickr
{
	margin-inline-end: 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget, #page_content_wrapper .sidebar .content .posts.blog, .page_content_wrapper .sidebar .content .sidebar_widget, .page_content_wrapper .sidebar .content .posts.blog
{
	list-style: none;
	margin-inline-start: 0;
	margin-top: 0;
	padding: 0;
}

#page_content_wrapper .sidebar .content .posts.blog li, .page_content_wrapper .sidebar .content .posts.blog li
{
	padding: 0 0 20px 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li, .page_content_wrapper .sidebar .content .sidebar_widget li
{
	margin: 50px 0 0px 0;
	padding: 0;
	float: left;
	clear: both;
	width: 100%;
}

#page_content_wrapper .sidebar .content .sidebar_widget li select, .textwidget select, .page_content_wrapper .sidebar .content .sidebar_widget li select
{
	margin: 10px 0 10px 0;
	max-width: 100%;
}

#page_content_wrapper .sidebar .content .sidebar_widget li h2.widgettitle, h2.widgettitle
{
	font-size: 13px;
	display: block;
	text-align: center;
	font-family: var(--font-family-button, 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif);
	color: #222;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	position: relative;
}

#page_content_wrapper .sidebar .content .sidebar_widget li h2.widgettitle:before, h2.widgettitle:before 
{
  	content: "";
  	border-bottom: 1px solid #d4d4d4;
  	width: 100%;
  	position: absolute;
  	left: 0;
  	top: 50%;
  	z-index: 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li h2.widgettitle span, h2.widgettitle span 
{
  	display: inline-block;
  	padding: 0 1.2em;
  	background: var(--color-white);
  	position: relative;
  	z-index: 2;
}

#page_content_wrapper .sidebar .content .sidebar_widget li:first-child, .page_content_wrapper .sidebar .content .sidebar_widget li:first-child
{
	margin-top: 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul, .page_content_wrapper .sidebar .content .sidebar_widget li ul
{
	list-style: none;
	padding: 20px 0 0 0;
	margin: 0 0 15px 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul li ul.children, .page_content_wrapper .sidebar .content .sidebar_widget li ul li ul.children
{
	margin-inline-start: 10px;
	margin-bottom: 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul li ul.children li:last-child, .page_content_wrapper .sidebar .content .sidebar_widget li ul li ul.children li:last-child
{
	border: 0;
	margin-bottom: 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li.widget_pages ul li ul.children, .page_content_wrapper .sidebar .content .sidebar_widget li.widget_pages ul li ul.children
{
	margin-inline-start: 20px;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul li, #footer .sidebar_widget li ul li, .page_content_wrapper .sidebar .content .sidebar_widget li ul li, #footer .sidebar_widget li ul li
{
	padding: 0;
	margin-top: 0;
	margin-bottom: 5px;
}

#footer .sidebar_widget li.widget_nav_menu ul li, #page_content_wrapper .sidebar .content .sidebar_widget li.widget_pages ul li
{
	border: 0;
}

#footer .sidebar_widget li ul li
{
	border-color: #000000;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul li:first-child, .page_content_wrapper .sidebar .content .sidebar_widget li ul li:first-child, #footer ul.sidebar_widget li ul li:first-child, #footer ul.sidebar_widget li .textwidget
{
	padding-top: 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr li:first-child, .page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr li:first-child, #footer ul.sidebar_widget li ul.flickr li:first-child
{
	border: 0;
	padding-top: 0;
}

#page_content_wrapper .inner .sidebar_wrapper ul.sidebar_widget li.widget_nav_menu ul.menu li a, .page_content_wrapper .inner .sidebar_wrapper ul.sidebar_widget li.widget_nav_menu ul.menu li a
{
	width: 100%;
	box-sizing: border-box;
	padding: 5px 10px 5px 0;
	display: block;
}

#page_content_wrapper .inner .sidebar_wrapper ul.sidebar_widget li.widget_nav_menu ul.menu li.current-menu-item a, .page_content_wrapper .inner .sidebar_wrapper ul.sidebar_widget li.widget_nav_menu ul.menu li.current-menu-item a
{
	font-weight: bold;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

#wp-calendar tr td, #wp-calendar tr th
{
	padding: 5px 0 5px 0;
	text-align: center;
	background: transparent;
}

#wp-calendar tr td#prev, #wp-calendar tr td#next
{
	text-transform: uppercase;
	padding-top: 20px;
}

#wp-calendar tr td.pad, #wp-calendar tr td#prev, #wp-calendar tr td#next
{
	background: transparent !important;
}

#wp-calendar caption
{
	display:none;
}

#wp-calendar
{
	margin: 20px 0 0 0;
	width: 100%;
}

.mobile_menu_wrapper .widget_calendar table tr th, .mobile_menu_wrapper .widget_calendar table tr td
{
	border-color: #555;
}

table
{
	margin: 10px 0 10px 0;
}

table tr td
{
	border-bottom: 1px solid var(--color-border);
}

table tr th, table tr td
{
	padding: 20px;
	text-align: start;
	font-weight: bold;
	border-bottom: 1px solid var(--color-border);
}

#footer table tr th, #footer table tr td
{
	border-bottom: 1px solid #000000 !important;
}

#footer .widget_tag_cloud div a
{
	border-color: #000000 !important;
}

#footer_menu
{
	float: right;
	display: block;
	list-style: none;
}

#footer_menu li
{
	float: left;
	margin-inline-start: 20px;
}

#footer_menu li a
{
	font-size: 11px;
	font-weight: normal;
	color: var(--color-white);
}

#footer_menu li a:hover
{
	color: var(--color-white);
}
/* #footer_menu li ul { display: none; } removed here: exact byte-for-byte
   duplicate of the rule at this file's line 1681, confirmed neither copy is
   inside any @media block, so this could never have won the cascade
   differently from the surviving copy - a pure duplicate-parse removal, not
   a behavior change. */

table thead tr th
{
	background: transparent;
}

table#wp-calendar thead tr th
{
	text-align: center;
}

table tfoot tr, table tfoot tr td
{
	background: transparent;
	border-bottom: 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr, .page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr
{
	list-style: none;
	margin: 5px 0 30px 0;
	float: left;
	display: block;
	padding: 15px 0 3px 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr li, .page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr li
{
	display: block;
	float: left;
	margin: 0 0 5px 0;
	padding: 0;
	border: 0;
	clear: none;
	width: 33.3%;
	padding-inline-end: 10px;
	box-sizing: border-box;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr li img, .page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr li img
{
	width: 100%;
	height: auto;
}

.mobile_menu_wrapper .sidebar .content .sidebar_widget li ul.flickr li
{
	width: 33.3%;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.twitter, .page_content_wrapper .sidebar .content .sidebar_widget li ul.twitter
{
	margin: 0;
	margin-top: 20px;
	list-style:none;
	padding: 0 0 0 0;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.twitter li, .page_content_wrapper .sidebar .content .sidebar_widget li ul.twitter li
{
	padding-inline-start:32px;
	padding-bottom: 15px;
	border: 0;
	position: relative;
	box-sizing: border-box;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.twitter li:before, .page_content_wrapper .sidebar .content .sidebar_widget li ul.twitter li:before
{
	position: absolute;
	left: 0;
	top: 0;
	font-family: 'FontAwesome';
	content: "\f099";
	font-size: 22px;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.social_media, .page_content_wrapper .sidebar .content .sidebar_widget li ul.social_media
{
	list-style: none;
	margin: 10px 0 15px 0;
	float: left;
	display: block;
	padding: 0 0 3px 0;
	margin-inline-start: -5px;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.social_media li, .page_content_wrapper .sidebar .content .sidebar_widget li ul.social_media li
{
	display: block;
	float: left;
	margin: 0 5px 0 0;
}

ul.list
{
	margin: 5px 0 0 20px;
}

.highlight_yellow
{
	background: #ffc600;
	color: #000;
	text-shadow: -1px 0 1px var(--color-white);
}

.highlight_black
{
	background: #000;
	color: var(--color-white);
}

#page_content_wrapper ul.twitter
{
	margin: 0;
	list-style:none;
}

#page_content_wrapper ul.twitter li
{
	padding-inline-start:32px !important;
	padding-top: 0 !important;
	background-repeat:no-repeat;
	background-position:0px 0.3em;
	padding-bottom: 2em;
}

#page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr, ul.flickr, .page_content_wrapper .sidebar .content .sidebar_widget li ul.flickr, ul.flickr
{
	list-style: none;
	margin: 10px 0 -10px 0;
	float: left;
	display: block;
	clear: both;
	width: 100%;
}

ul.flickr li
{
	float: left;
	margin: 0 5px 0 0;
}

#page_content_wrapper .sidebar .content .posts.blog, .page_content_wrapper .sidebar .content .posts.blog
{
	list-style: none;
	margin-top: 30px;
}

#page_content_wrapper .sidebar .content .posts.blog.withthumb, .page_content_wrapper .sidebar .content .posts.blog.withthumb
{
	margin-top: 20px;
}

#page_content_wrapper .sidebar .content .posts.blog li, .page_content_wrapper .sidebar .content .posts.blog li
{
	line-height: 1em;
	clear: both;
	border:0;
	background: none;
	width: 100%;
	float: left;
	margin: 0;
}

#page_content_wrapper .posts.blog li, .page_content_wrapper .posts.blog li
{
	float: left;
	width: 49.4%;
	margin-inline-end: 1.2%;
	margin-bottom: 1.2%;
	padding: 20px;
	box-sizing: border-box;
	border: 1px solid var(--color-border);
	display: table;
	text-align: start;
	
	-webkit-transition: background .2s linear;
	-moz-transition: background .2s linear;
	-ms-transition: background .2s linear;
	-o-transition: background .2s linear;
	transition: background .2s linear;
}

#page_content_wrapper .posts.blog li:nth-child(2n), .page_content_wrapper .posts.blog li:nth-child(2n)
{
	margin-inline-end: 0;
	float: right;
}

#page_content_wrapper .posts.blog li a, .page_content_wrapper .posts.blog li a
{
	width: 100%;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

#page_content_wrapper .sidebar .content .posts.blog.withthumb li, #page_content_wrapper .posts.blog.withthumb li, .page_content_wrapper .sidebar .content .posts.blog.withthumb li, .page_content_wrapper .posts.blog.withthumb li
{
	line-height: 1.5em;
	border: 0;
	display: block;
}

#page_content_wrapper .sidebar .content .posts.blog li, .page_content_wrapper .sidebar .content .posts.blog li
{
	padding-top: 10px;
}

#page_content_wrapper .sidebar .content .posts.blog li strong.header, #page_content_wrapper .posts.blog li strong.header, .page_content_wrapper .sidebar .content .posts.blog li strong.header, .page_content_wrapper .posts.blog li strong.header
{
	font-weight: normal;
}

#cover_content
{
	position:fixed;top:20%;left:40px;z-index:9;
}

#page_content_wrapper .sidebar .content .textwidget, .page_content_wrapper .sidebar .content .textwidget
{
	margin-top: 0;
	padding: 10px 0 0 0;
}

.textwidget img
{
	max-width: 95%;
	height: auto;
}

.widget_tag_cloud div, .tag_cloud
{
	margin: 20px 0 10px 0;	
}

.widget_tag_cloud div a, .meta-tags a, .tag_cloud a
{
	display: block;
	width: 100%;
	-webkit-transition: background .2s linear, border .1s linear;
	-moz-transition: background .2s linear, border .1s linear;
	-ms-transition: background .2s linear, border .1s linear;
	-o-transition: background .2s linear, border .1s linear;
	transition: background .2s linear, border .1s linear;
	
	font-size: 14px !important;
	letter-spacing: 0px;
	text-transform: capitalize;
}

.widget_tag_cloud div a:before, .meta-tags a, .tag_cloud a:before
{
	font-family: 'FontAwesome';
	content: "\f02b";
	margin-inline-end: 10px;
}

#gallery_caption a, #gallery_caption a:hover, #gallery_caption a:active
{
	color: var(--color-white);
}

#gallery_caption
{
	bottom: 20px;
	text-align: center;
	position: absolute;
	z-index: 9;
	width: 100%;
	color: var(--color-white);
	font-style: italic;
}

#gallery_caption .tg_caption
{
	color: var(--color-white);
	font-style: italic;
}

.slider_wrapper .gallery_image_caption h2
{
	padding: 15px;
}

.slider_wrapper.portfolio ul.slides li
{
  	margin: 0px; 
  	padding: 0px;
  	text-align:center;
  	max-height: 500px;
}

.slider_wrapper.portfolio ul.slides li img
{
  	width: 100%;
  	max-width: 100%;
}

.slider_wrapper.portfolio ul.slides li .portfolio_slider_overlay
{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(56%,var(--shadow-soft)),color-stop(93%,rgba(0,0,0,0.4)),to(rgba(0,0,0,0.59)));
	background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,rgba(0,0,0,0.4) 93%,rgba(0,0,0,0.59) 100%);
	background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,rgba(0,0,0,0.4) 93%,rgba(0,0,0,0.59) 100%);
	z-index: 2;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.slider_wrapper.portfolio ul.slides li .portfolio_slider_desc
{
	position: absolute;
	bottom: 0px;
	left: 0;
	color: var(--color-white);
	line-height: initial;
	opacity: 0;
	width: 100%;
	text-align: center;
	z-index: 3;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.slider_wrapper.portfolio ul.slides li  img
{
	min-height: 500px;
}

.slider_wrapper.portfolio ul.slides li:hover .portfolio_slider_overlay
{
	opacity: 1;
}

.slider_wrapper.portfolio ul.slides li:hover .portfolio_slider_desc
{
	opacity: 1;
	bottom: 30px;
}

.slider_wrapper.portfolio ul.slides li .portfolio_slider_desc h3
{
	color: var(--color-white);
}

.slider_wrapper.portfolio ul.slides li .portfolio_slider_desc  .post_detail
{
	margin-bottom: 0;
	color: var(--color-white);
}

.social_share_button_wrapper
{
	text-align: center;
	width: 100%;
	margin-bottom: 20px;
}

.social_share_button_wrapper ul
{
	list-style: none;
	display: inline-block;
	margin-inline-start: 0 !important;
	margin-bottom: 30px;
}

.social_share_button_wrapper ul li
{
	display: inline-block;
	margin-inline-end: 3px;
	margin-inline-start: 3px;
}

.social_share_button_wrapper ul li a
{
	display: block;
	padding: 0 25px 0 25px;
	line-height: 40px;
	height: 40px;
	color: var(--color-white);
	text-align: center;
}

.social_share_button_wrapper ul li a.email_share
{
	background: #1980be;
}

.social_share_button_wrapper ul li a.facebook_share
{
	background: #455fa1;
}

.social_share_button_wrapper ul li a.facebook_share i, .social_share_button_wrapper ul li a.twitter_share i
{
	margin-inline-end: 7px;
}

.social_share_button_wrapper ul li a.twitter_share
{
	background: #58abf5;
}

.social_share_button_wrapper ul li a.pinterest_share
{
	background: #cd1d1f;
}

.social_share_button_wrapper ul li a.google_share
{
	background: #eb4026;
}

.standard_wrapper.gallery_comment_wrapper
{
	padding-top: 60px;
}

/*------------------------------------------------------------------
[11. Contact Form Captcha]
*/
 
#captcha-wrap{
	border:solid #870500 1px;
	width:270px;
	-webkit-border-radius: 10px;
	float:left;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background:#870500;
	text-align: start;
	padding:3px;
	margin-top:3px;
	height:112px;
}
#captcha-wrap .captcha-box{
	-webkit-border-radius: 7px;
	background:var(--color-white);
	-moz-border-radius: 7px;
	border-radius: 7px;
	text-align:center;
	border:solid var(--color-white) 1px;
}
#captcha-wrap .text-box{
	-webkit-border-radius: 7px;
	background:#ffdc73;
	-moz-border-radius: 7px;
	width:140px;
	height:48px;
	float:left;
	margin:4px;
	border-radius: 7px;
	text-align:center;
	border:solid #ffdc73 1px;
}

#captcha-wrap .text-box input{ 
	width:120px; 
	-webkit-appearance: textfield;
padding: 1px;
background-color: white;
border-image: initial;
-webkit-rtl-ordering: logical;
-webkit-user-select: text;
cursor: auto;
float: none;
margin-top: 12px;

}
#captcha-wrap .text-box label{
	 color:#333;
	 font-family: helvetica,sans-serif;
	 font-size:11px;	
	 width:140px;
	 padding-top:3px; 
	 padding-bottom:3px; 
	 margin: 0;
	 font-weight: normal;
	 text-transform: none;
}
#captcha-wrap .captcha-action{
	float:right; width:117px; 
	background:url(../images/logos.jpg) top right no-repeat; 
	height:44px; margin-top:3px;
}
#captcha-wrap  img#captcha-refresh{
	margin-top:9px;
	border:solid #333333 1px;
	margin-inline-end:6px;
	cursor:pointer;
}

.map_shortcode_wrapper
{
	max-width: 100%;
}

.map_shadow
{
	width: 100%;
	margin-top: 0;
}

.map_shadow.fullwidth
{
	width: 100%;
	margin-top: 0;
	clear: both;
}

/* Selector corrected 2026-08-24: these targeted #reponse_msg, but
 * page-contact.php renders id="reponse_msg_<random suffix>", so the id never
 * matched and all three rules were dead. The element also carries a stable
 * class, .contact_form_response, which is what they key off now. Kept the
 * id form alongside it in case any other template still emits the bare id. */
.contact_form_response ul:empty,
#reponse_msg ul:empty
{
	margin: 0;
}

.contact_form_response ul,
#reponse_msg ul
{
	margin-inline-start: 20px;
}

.contact_form_response ul li:last-child,
#reponse_msg ul li:last-child
{
	margin-bottom: 20px;
}

#reponse_msg ul li.error
{
	color: #ff0000;
}

.mejs-container
{
	background: #333 !important;
	width: 100% !important;
}

.mejs-container:hover
{
	background: transparent !important;
	color: #000 !important;
}

.ppb_background_overlay
{
	background: rgba(0, 0, 0, 0.7);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.service_content_wrapper
{
	margin: 0;
	width: 100%;
	float: left;
}

.service_wrapper
{
	margin: 5px 0 5px 0;
	padding: 5px 0 5px 0;
}

.service_wrapper.center.boxed
{
	padding: 25px 20px 20px 20px;
	background: var(--color-white);
	box-sizing: border-box;
	margin: 15px 0 15px 0;
}

.service_wrapper.center, .service_wrapper.center_nocircle
{
	text-align: center;
}

.service_title
{
	margin: 0 0 15px 0;
	float: left;
	width: 71%;
	width: calc(100% - 60px);
	margin-top: 0;
	text-align: start;
}

.service_title.list
{
	width: 100%;
}

.service_wrapper.center .service_title, .service_wrapper.center_nocircle .service_title
{
	width: 100%;
	max-width: 100%;
	float: none;
	clear: both;
	text-align: center;
	margin-top: 20px;
}

.service_wrapper.center_nocircle .service_title
{
	margin-top: 10px;
}

.service_wrapper.center .service_title h6
{
	margin-bottom: 10px;
}

.service_icon
{
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	width: 50px !important;
	height: 50px !important;
	-webkit-animation-fill-mode:forwards; 
    -moz-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
	margin: auto;
	margin-bottom: 10px;
	float: left;
	margin-inline-end: 10px;
	text-align: center;
}

.service_wrapper.center .service_icon, .service_icon.vertical
{
	float: none;
	clear: both;
	margin: auto !important;
	width: 90px !important;
	height: 90px !important;
	background: #f0f0f0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	transition: all 0.3s ease;
	margin-bottom: 15px;
}

.service_wrapper.center_nocircle .service_icon
{
	float: none;
	clear: both;
	margin: auto !important;
	width: 90px !important;
	height: 90px !important;
	background: transparent;
	margin-bottom: 15px;
}

.service_wrapper.center_nocircle .service_icon
{
	border: 0;
}

.service_wrapper.center.boxed .service_icon, .service_wrapper.center .service_icon, .service_icon.vertical
{
	width: 80px !important;
	height: 80px !important;
	position: relative;
}

.service_icon.vertical
{
	float: left;
	margin-top: 15px !important;
}

.service_wrapper.center.boxed .service_icon .service_border, .service_wrapper.center .service_icon .service_border, .service_icon.vertical .service_border
{
	border: 1px solid transparent;
	width: 80px;
	height: 80px;
	position: absolute;
	top: -1px;
	left: -1px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.service_wrapper.center.boxed .service_icon:hover .service_border, .service_wrapper.center .service_icon:hover .service_border, .service_icon.vertical:hover .service_border
{
	transform: scale(1.18);
	border-color: #333;
	-moz-transform: scale(1.18);
	-o-transform: scale(1.18);
}

.service_wrapper.center .service_icon:hover, .service_icon.vertical:hover
{
	background: #000;
	border-color: #000;
}

.service_wrapper.center .service_icon:hover i, .service_icon.vertical:hover i
{
	color: var(--color-white) !important;
}

.service_icon img
{
	max-width: 24px;
	height: auto;
	margin-top: 10px;
}

.service_wrapper.center .service_icon img
{
	max-width: 36px;
	line-height: 36px;
}

.service_icon i
{
	font-size: 36px;
	line-height: 36px;
	color: #000;	
}

.service_wrapper.center .service_icon i
{
	font-size: 24px;
	margin-top: 22px;
	color: #000;
}

.service_wrapper.center_nocircle .service_icon i
{
	font-size: 45px;
	margin-top: 20px;
	color: #000;
}

.service_wrapper.center.boxed .service_icon i, .service_icon.vertical i
{
	font-size: 24px;
	margin-top: 22px;
	color: #000;
}

.service_title h3
{
	font-size: 18px;
}

.one_fourth .service_title h3
{
	font-size: 18px;
}

.one_fourth .service_title
{
	max-width: 71%;
}

.service_content
{
	clear: both;
	text-align: start;
	margin-top: 5px;
}

.service_wrapper.center .service_content, .service_wrapper.center_nocircle .service_content
{
	text-align: center;
}

.gallery_classic_entry
{
	text-align: center;
}

.gallery_classic_entry img
{
	width: auto;
	max-height: 600px;
}

.promo_box
{
	padding: 25px;
	background: #f3f3f3;
	border: 1px solid var(--color-border);
	position: relative;
	clear: both;
}

.promo_box_wrapper .promo_box
{
	padding: 55px 0 55px 0;
	background: transparent;
	border: 0;
	color: var(--color-white);
}

.promo_box_wrapper .promo_box h5
{
	color: var(--color-white) !important;
}

.promo_box.shadow:after, .promo_box.shadow:before 
{
	content: " ";
	position: absolute;
	width: 50%;
	height: 30%;
	z-index: -10;
}

.promo_box.shadow:before 
{
	top: 52px;
	left: 5px;
	-webkit-transform: rotate(-5deg);
	-moz-transform: rotate(-5deg);
	-ms-transform: rotate(-5deg);
	-o-transform: rotate(-5deg);
	transform: rotate(-5deg);
	-webkit-box-shadow: 7px 6px 15px #333;
	-moz-box-shadow: 7px 6px 15px #333;
	-ms-box-shadow: 7px 6px 15px #333;
	-o-box-shadow: 7px 6px 15px #333;
	box-shadow: 7px 6px 15px #333;
}

.promo_box.shadow:after 
{
	top: 52px;
	right: 5px;
	-webkit-transform: rotate(5deg);
	-moz-transform: rotate(5deg);
	-ms-transform: rotate(5deg);
	-o-transform: rotate(5deg);
	transform: rotate(5deg);
	-webkit-box-shadow: -7px 6px 15px #333;
	-moz-box-shadow: -7px 6px 15px #333;
	-ms-box-shadow: -7px 6px 15px #333;
	-o-box-shadow: -7px 6px 15px #333;
	box-shadow: -7px 6px 15px #333;
}

.promo_box h5
{
	margin-bottom: 5px;
	color: #222 !important;
	display: block;
	padding-inline-end: 20%;
}

.promo_box p
{
	display: block;
}

.promo_box .button
{
	float: right;
	display: inline-block;
	margin-inline-start: 10px;
	margin-top: -8px;
	background: #000;
	border-color: #000;
	color: var(--color-white);
	padding: .7em 1.5em .7em 1.5em !important;
}

.promo_box .button.transparent
{
	background: transparent;
	border-color: var(--color-white) !important;
}

.promo_box .button.transparent:hover
{
	background: #000;
	color: var(--color-white) !important;
	border-color: #000 !important;
}

.alert_box
{
	padding: 20px;
	text-align: center;
	position: relative;
}

.alert_box_msg
{
	max-width: 85%;
	margin: auto;
}

.alert_box.general
{
	background: #d1edf5;
}

.alert_box.error
{
	color: #b13c3c;
	background: #ffe9e9;
}

.alert_box.error a
{
	color: #b13c3c;
}

.alert_box.success
{
	color: #6a863b;
	background: #e9f3d2;
}

.alert_box.success a
{
	color: #6a863b;
}

.alert_box.notice
{
	color: #a18e0f;
	background: #fbf6e3;
}

.alert_box.notice a
{
	color: #a18e0f;
}

.alert_box a.close_alert
{
	position: absolute;
	top: 5px;
	right: 10px;
	display: block;
	font-size: 11px;
	opacity: 0.5;
}

.alert_box .alert_icon
{
	position: absolute;
	top: 18px;
	left: 25px;
	display: block;
	font-size: 14px;
	padding: 5px;
}

.alert_box.general .alert_icon
{
	color: #4e7883;
	background: transparent;
	border-radius: 25px;
	border: 2px solid #4e7883;
}

.alert_box.error .alert_icon
{
	color: #b13c3c;
	background: transparent;
	border-radius: 25px;
	border: 2px solid #b13c3c;
}

.alert_box.success .alert_icon
{
	color: #6a863b;
	background: transparent;
	border-radius: 25px;
	border: 2px solid #6a863b;
}

.alert_box.notice .alert_icon
{
	color: #a18e0f;
	background: transparent;
	border-radius: 25px;
	border: 2px solid #a18e0f;
}

.accordion
{
 	border: 1px solid var(--color-border);
 	visibility: hidden;
}

.accordion h3, .accordion div
{
	border: 0;
	background: transparent;
}

.pp_accordion, .pp_accordion_close
{
 	margin:0;
	margin-bottom: 10px !important;
	visibility: hidden;
}

.pp_accordion.ui-accordion, .pp_accordion_close.ui-accordion
{
	visibility: visible;
}

.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus
{
	border: 1px solid var(--color-border);
}

.ui-corner-all, .ui-corner-top, .ui-corner-bottom
{
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.ui-state-default, .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, .ui-widget-content
{
	border: 0;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active
{
	background: transparent;
}

.ui-accordion .ui-accordion-header
{
	font-weight: normal;
	display: block;
	position: relative;
	border: 1px solid var(--color-border);
	margin-top: 0;
	background: var(--color-white);
	
	-webkit-transition: color .2s linear, background .1s linear;
	-moz-transition: color .2s linear, background .1s linear;
	-ms-transition: color .2s linear, background .1s linear;
	-o-transition: color .2s linear, background .1s linear;
	transition: color .2s linear, background .1s linear;
}

.ui-accordion .ui-accordion-header:hover
{
	background: #f9f9f9;
}

.ui-accordion .ui-accordion-content
{
	border: 1px solid var(--color-border);
	border-top: 0;
}

.ui-accordion .ui-accordion-header a
{
	padding: 1em .3em 1em 1.5em;
	font-size: 13px;
}

.ui-accordion .ui-accordion-header a i
{
	opacity: 0.3;
}

.accordion div
{
	border-top: 1px solid #ebebeb;	
}

.accordion h3
{
	padding: 5px 0 5px 8px;
}

.tabs
{
	visibility: hidden;
}

.ui-tabs .ui-tabs-nav
{
	margin-inline-start: 0 !important;
}

.ui-tabs .ui-tabs-nav li.ui-state-active
{
  z-index: 8;
}

.ui-accordion .ui-accordion-header .ui-icon
{
	width: 16px;
	height: 16px;
	background: transparent !important;
	margin-top: -9px;
	text-indent: 0;
	overflow: visible;
}

.ui-accordion .ui-accordion-header .ui-icon:after
{
	font-size:12px;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: 10%;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	margin-top: 0;
	font-family: 'FontAwesome';
	content: "\f107";
	position: absolute;
	margin-inline-end: 0px;
	margin-top: 3px;
	color: #000000;
}

.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-s:after
{
	content: "\f106";
}

.ui-accordion.has_icon .ui-accordion-header .ui-icon:after
{
	display: none !important;
}

.ui-accordion .ui-accordion-header .ui-icon
{
	left: auto;
	right: 1em !important;
}

.ui-accordion .ui-accordion-header i
{
	margin-inline-end: 10px;
	margin-inline-start: 5px;
}

.ui-tabs
{
	list-style: none;
	visibility: visible;
}

.ui-tabs-panel
{
	margin-top: 10px;
}

.ui-widget-header
{
	border: 0;
}

.vertical .ui-widget-header
{
	width: 30%;
	float: left;
	display: block;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	padding: 0;
	border: 0;
}

.vertical.right .ui-widget-header
{
	float: right;
}

.ui-tabs .ui-tabs-nav li
{
	background: #f0f0f0;
	margin: 0;
	border: 1px solid var(--color-border) !important;
	border-inline-start: 0 !important;
	padding-top: 2px;
	top: 1px;
	
	-webkit-transition: color .2s linear, background .1s linear;
	-moz-transition: color .2s linear, background .1s linear;
	-ms-transition: color .2s linear, background .1s linear;
	-o-transition: color .2s linear, background .1s linear;
	transition: color .2s linear, background .1s linear;
}

.ui-tabs.vertical .ui-tabs-nav li
{
	top: 0;
	left: 1px;
	position: relative;
	border: 1px solid var(--color-border) !important;
	border-bottom: 0 !important;
}

.ui-tabs.vertical.right .ui-tabs-nav li
{
	left: -1px;
	border-inline-start: 0 !important;
}

.vertical.ui-tabs .ui-tabs-nav li
{
	width: 100%;
	clear: both;
}

.ui-tabs .ui-tabs-nav li:hover
{
	background: var(--color-white);
}

.ui-tabs .ui-tabs-nav li.ui-tabs-selected
{
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-border);
}

.ui-tabs .ui-tabs-nav li.ui-state-active
{
	background: var(--color-white) !important;
	border-bottom: 1px solid var(--color-white) !important;
	outline: none;
	position: relative;
	z-index: 9;
}

.ui-tabs.vertical .ui-tabs-nav li.ui-state-active
{
	border-inline-end: 0 !important;
	position: relative;
	z-index: 9;
}

.ui-tabs.vertical.right .ui-tabs-nav li.ui-state-active
{
	border-inline-end: 1px solid var(--color-border) !important;
}

.ui-tabs.vertical .ui-tabs-nav li:last-child
{
	border-bottom: 1px solid var(--color-border) !important;
}

.ui-tabs .ui-tabs-nav li.ui-state-active a
{
	outline: none;
}

.ui-tabs .ui-tabs-nav li a 
{
	padding: 8px 20px 7px 20px;
}

.ui-tabs.vertical .ui-tabs-nav li a 
{
	padding: 10px 20px 9px 20px;
	width: 100%;
	display: block;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.tabs .ui-tabs .ui-tabs-nav li
{
	font-weight: bold;
	text-shadow: 0 1px 1px var(--color-white);
	display: block;	
}

#content_wrapper .tabs .ui-widget-header, .content_wrapper .tabs .ui-widget-header
{
	border: 0;
	margin-inline-start: 0;
}

.tabs .ui-tabs-panel
{
	border: 1px solid var(--color-border);
	margin:0;
	padding-top: 0em;
	background: var(--color-white);
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	z-index: 2;
	position: relative;
}

.tabs.vertical .ui-tabs-panel
{
	border-top: 1px solid var(--color-border);
	width: 70%;
	float: right;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	z-index: 2;
	position: relative;
}

.tabs .ui-state-active a
{
	color: #333;
	font-weight: bold;
}

.ui-tabs li:first-child
{
	margin-inline-start: -3px;
	border-inline-start: 1px solid var(--color-border) !important;
}

.ui-tabs.vertical li:first-child
{
	margin-inline-start: 0;
}

.icon_list
{
	margin: 0;
	margin-inline-start: 0 !important;
	padding: 0;
	list-style: none;
}

.icon_list li
{
	margin: 0;
	padding: 0;
	list-style-type: none;
	list-style-position: outside;
	clear: both;
	position: relative;
	float: left;
}

.icon_list li .service_title
{
	margin: 0;
}

.icon_list li .service_title strong
{
	color: #333;
	font-size: 16px;
}

.icon_list li .service_wrapper
{
	float: left;
	width: 71%;
	width: calc(100% - 100px);
	padding-top: 0;
	margin: 25px 0 25px 20px;
}

.icon_list li .service_wrapper.right
{
	margin-inline-start: 0;
	margin-inline-end: 2%;
}

.icon_list li .service_wrapper.right .service_content
{
	text-align: end;
}

.icon_list li .service_wrapper.right .service_title
{
	float: right;
	text-align: end;
}

.icon_list li .service_icon.right
{
	float: right;
	margin-inline-end: 0;
	margin-inline-start: 10px;
}

.client_logo
{
	max-width: 190px;
	height: auto;
	-webkit-transition: width .5s;
    -moz-transition: width .5s;
    -o-transition: width .5s;
    transition: width .5s;
}

.client_content
{
	display: block;
	float: left;
}

.one_third img.team_pic
{
	max-width: 304px;
	height: auto;
}

.progress_bar
{
	position: relative;
	margin-bottom: 10px;
	visibility: hidden;
	display: block !important;
}

.progress_bar_holder
{
	height: 3px;
	margin-top: 5px;
	background: #f0f0f0;
}

.progress_bar_content
{
	height: 3px;
	-webkit-transition: width s ease-in-out;
    -moz-transition: width 1s ease-in-out;
    -o-transition: width 1s ease-in-out;
    transition: width 1s ease-in-out;
}

.progress_bar_title
{
	font-weight: 600;
	display: inline;
	font-size: 13px;
}

.progress_number
{
	font-weight: 600;
	position: absolute;
	right: 0;
	top: 0;
	font-size: 13px;
}

.pricing_content_wrapper
{
	margin: 0;
	width: 100%;
	float: left;
}

.pricing_content_wrapper.light .one_half.pricing
{
	margin-inline-end: 0;
	width: 50%;
}

.pricing_content_wrapper.light .one_third.pricing
{
	margin-inline-end: 0;
	width: 33.3%;
}

.pricing_content_wrapper.light .one_fourth.pricing
{
	margin-inline-end: 0;
	width: 25%;
}

.pricing_content_wrapper .one_half.pricing.featured, .pricing_content_wrapper .one_third.pricing.featured, .pricing_content_wrapper .one_fourth.pricing.featured
{
	margin-top: -20px;
	box-shadow: 0 0 15px 1px var(--shadow-soft);
}

.pricing_wrapper
{
	list-style: none;
	display: block;
	margin-inline-start: 0 !important;
	border: 1px solid var(--color-border);
}

.pricing_wrapper li
{
	margin: 0;
	padding: 0;
	background: var(--color-white);
	text-align: center;
	padding: 13px 0px;
	background: var(--color-white);
	border-bottom: 1px solid var(--color-border);
	color: #555;
}

.pricing_wrapper li:last-child
{
	border-bottom: 0;
	-webkit-border-bottom-right-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-bottomright: 5px;
	-moz-border-radius-bottomleft: 5px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

.pricing_wrapper li.title_row
{
	background: #f3f3f3;
	color: #000000;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
}

.pricing_content_wrapper.light .pricing_wrapper li.title_row
{
	background: var(--color-white);
}

.pricing_content_wrapper.normal .pricing_wrapper li.title_row
{
	background: #000;
	color: var(--color-white);
}

.pricing_wrapper li.title_row.featured
{
	background: #000;
	color: var(--color-white);
	padding: 23px 0px;
}

.pricing_content_wrapper.light .pricing_wrapper li.title_row.featured
{
	color: #000;
}

.pricing_wrapper li.price_row
{
	color: #000000;
	background: #f9f9f9;
	padding: 0;
}

.pricing_wrapper li.button_row
{
	padding: 20px 0px;
}

.pricing_wrapper li.button_row.featured
{
	padding: 30px 0px;
}

.pricing_wrapper li.price_row strong
{
	position: relative;
	top: -26px;
	font-size: 20px;
	font-weight: normal !important;
	margin-inline-end: 2px;
	color: #000000;
}

.pricing_wrapper li.price_row em.exact_price
{
	display: inline !important;
	font-size: 60px !important;
	font-style: normal !important;
	letter-spacing: 0px;
}

.pricing_wrapper li.price_row em.time
{
	font-style: normal;
}

.one_third.pricing
{
	width: 31.66%;
	margin-inline-end: 2.5%;
}

.one_fourth.pricing
{
	width: 23%;
	margin-inline-end: 2.5%;
}

.one_fourth.pricing.last
{
	margin-inline-end:0;
	float: right;
	clear: right;
}

.one_fourth.pricing .pricing_wrapper li.price_row
{
	padding: 13px 0px;
}

.one_fourth.pricing .pricing_wrapper li.price_row strong
{
	top: -25px;
	font-size: 20px;
}

.one_fourth.pricing .pricing_wrapper li.price_row em.exact_price
{
	font-size: 55px !important;
}

.one_half img, .one_third img, .one_fourth img, .one_fifth img, .two_third img
{
	max-width: 100%;
	height: auto;
}

.page_content_wrapper .one_half .map_shortcode_wrapper img, .page_content_wrapper .one_third .map_shortcode_wrapper img, .page_content_wrapper .one_fourth .map_shortcode_wrapper img, .page_content_wrapper .one_fifth .map_shortcode_wrapper img, .page_content_wrapper .two_third .map_shortcode_wrapper img
{
	max-width: none;
}

.animated
{
	visibility: hidden;
}

@media screen and (-webkit-min-device-pixel-ratio:0) 
{
	::i-block-chrome,div.thumb_content
	{
		border-radius: 0 !important;
	}
}
doesnotexist:-o-prefocus, div.thumb_content {
  border-radius: 0 !important;
}

.fancybox-inner div
{
	max-width: 100% !important;
	height: auto !important;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0px; height: 0; overflow: hidden;
}
 
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.dynamic_height img
{
	max-width: 100% !important;
}

.mejs-overlay-button {display:block; z-index: 99999;}

.slider_wrapper
{
	width: 100%;
	position: relative;
	overflow: hidden;
}

/*
 * Sitewide equivalent of includes/render/blocks.css's own `.kcb-gallery-
 * slider .flexslider, .kcb-portfolio-slider .flexslider { min-height:
 * 200px; }` fix (see that file's own docblock for the full root-cause
 * writeup) - that rule only ever matches the content-builder's own gallery/
 * portfolio-slider block markup, and blocks.css itself only enqueues on
 * builder-enabled pages, so neither the selector nor the stylesheet ever
 * reached templates/gallery-slider.php's plain `.slider_wrapper .flexslider`
 * markup (used sitewide, including every single-portfolio.php page - the
 * .tg_gallery slider). Every `<li>` starts at `display:none` until
 * FlexSlider's own JS unhides the active one, so before that JS runs
 * `.flexslider` has nothing in normal flow to size itself by and collapses
 * toward 0 height; smoothHeight's first measurement race against that
 * collapse is what produces an oversized/clipped incoming slide on mobile.
 * A floor, not a target (min-height, never aspect-ratio) - same reasoning
 * as the blocks.css fix: it can't feed back into smoothHeight's own
 * measurement, since a min-height only ever raises a height that's
 * otherwise smaller.
 */
/* Retired once the slider engine owns the height - see the matching note
 * in the plugin's blocks.css. On a phone this floor was holding the
 * container taller than a short landscape frame and drawing a blank bar
 * under the photograph; before the engine runs it is still the only thing
 * keeping the box from collapsing, so it goes away on handover rather
 * than outright. A slider this engine never touches keeps the floor. */
.slider_wrapper:not(.kcb-slider-ready) .flexslider
{
	min-height: 200px;
}

.post_wrapper.grid_layout .slider_wrapper
{
	min-height: 190px;
	margin-bottom: 15px;
}

/*
 * Redesigned 2026-08-22 for better discoverability and a modern floating-
 * button look, echoing the same dark/blurred circular treatment already
 * used for the gallery-slider's own controls (blocks.css
 * .kcb-gallery-slider__controls button). Previously opacity:0 at rest,
 * only revealed on body:hover - a desktop visitor who never happened to
 * hover would never see these at all. Mobile needed a separate
 * @media (hover: none) override just to force visibility, since body:hover
 * can never fire on a touchscreen. Now visible at a dim baseline
 * everywhere by default and brightening on hover on desktop; touch devices
 * land on that same baseline naturally, so the old touch-specific
 * override is gone - one rule set covers both.
 */
.portfolio_post_previous, .portfolio_post_next
{
	position: fixed;
	top: 48%;
	/* Explicit z-index: the slider engine stacks its slides at z-index 1-3
	   (blocks.css), and with `auto` here those slides paint OVER the label
	   chip wherever it overlaps the photo - observed live as a chip
	   truncated to its last three letters. 90 matches the anchor-bar's own
	   floating-chrome tier, still well under the header/menu. */
	z-index: 90;
	opacity: 0.6;
	transition: opacity 0.2s ease;
}

.portfolio_post_previous { left: 20px; }
.portfolio_post_next { right: 20px; }

body:hover .portfolio_post_previous,
body:hover .portfolio_post_next
{
	opacity: 1;
}

.portfolio_post_previous a, .portfolio_post_next a
{
	position: relative;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: #fff;
	font-size: 18px;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.portfolio_post_previous a:hover, .portfolio_post_next a:hover
{
	background: rgba(0, 0, 0, 0.55);
	transform: scale(1.08);
	color: #fff;
}

/*
 * Label chip (2026-08-23 UX audit, finding M1): these edge arrows switch to
 * a DIFFERENT portfolio, but they read visually like slide arrows - and on
 * a tall photo they're the only arrows on screen, so "next photo" clicks
 * were teleporting visitors to another collection. The chip spells out the
 * destination ("Next portfolio · Monde", via the anchor's data-nav-label
 * attribute, single-portfolio.php) on hover and keyboard focus. Absolutely
 * positioned so it never joins the anchor's flex layout, and pointer-events
 * none so it can't swallow the click it's explaining.
 */
.portfolio_post_previous a::after, .portfolio_post_next a::after
{
	content: attr(data-nav-label);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	padding: 9px 16px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: #fff;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.portfolio_post_previous a::after { left: calc(100% + 12px); }
.portfolio_post_next a::after { right: calc(100% + 12px); }

.portfolio_post_previous a:hover::after,
.portfolio_post_previous a:focus-visible::after,
.portfolio_post_next a:hover::after,
.portfolio_post_next a:focus-visible::after
{
	opacity: 1;
}

.circliful
{
	margin: auto;
}

.teaser_wrapper.left
{
	text-align: start;
}

.teaser_wrapper.center
{
	text-align: center;
}

.teaser_wrapper.right
{
	text-align: end;
}

.teaser_content_wrapper
{
	box-sizing: border-box;
	width: 100%;
	padding: 15px 0 15px 0;
	margin-top: -7px;
}

.teaser_content
{
	margin-top: 10px;
}

.testimonial_image
{
	float: left;
	margin: 0 20px 0 0;
	width: 80px;
	height: 80px !important;
	border-radius: 100px;
	overflow: hidden;
}

.testimonial_image img
{
	width: 80px;
	height: auto;
	border-radius: 100px;
}

.testimonial_content
{
	overflow: hidden;
	margin-bottom: 20px;
}

.testimonial_customer_position
{
	color: #999;
	margin-inline-end: 5px;
	display: inline;
	float: none;
}

.testimonial_customer_company
{
	display: inline;
	margin-inline-start: 5px;
	float: none;
}

.testimonial_slider_wrapper
{
	position: relative;
	font-size: 22px;
	padding-top: 10px;
}

.one_half .testimonial_slider_wrapper
{
	font-size: 20px;
}

.one_third .testimonial_slider_wrapper, .one_fourth .testimonial_slider_wrapper
{
	font-size: 18px;
}

.one_half .testimonial_slider_wrapper .flexslider:before
{
	font-size: 50px;
	line-height: 45px;
}

.one_third .testimonial_slider_wrapper .flexslider:before, .one_fourth .testimonial_slider_wrapper .flexslider:before
{
	font-size: 40px;
	line-height: 35px;
}

.testimonial_slider_wrapper .testimonial_image
{
	float: none;
	margin: auto;
	margin-top: 20px;
	margin-bottom: 10px;
	width: 60px;
	height: 60px !important;
	border-radius: 100px;
	overflow: hidden;
}

.testimonial_slider_meta
{
	margin-top: 40px;
}

.testimonial_slider_meta h6
{
	display: inline;
	font-size: 14px;
}

.testimonial_slider_wrapper .testimonial_customer_position
{
	margin-inline-start: 5px;
}

.testimonial_column_element
{
	margin: 15px 0 15px 0;
}

.testimonial_slider_meta_position, .testimonial_slider_meta_company
{
	display: inline;
	font-size: 16px;
	margin-inline-start: 5px;
	margin-inline-end: 5px;
	font-size: 14px;
}

.page_slider .tp-leftarrow.default, .page_slider .tp-rightarrow.default
{
	background: transparent;
	width: 40px;
	height: 40px;
	border: 2px solid var(--color-white);
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	transition: all .3s ease;
	border-radius: 200px;
	text-align: center;
	top: 47% !important;
}

body.hover .page_slider .tp-leftarrow.default, body.hover .page_slider .tp-rightarrow.default
{
	opacity: .5;
}

body.hover .page_slider .tp-leftarrow.default:hover, body.hover .page_slider .tp-rightarrow.default:hover
{
	opacity: 1;
}

.page_slider .tp-leftarrow.default:before, .page_slider .tp-rightarrow.default:before
{
	font-family: "FontAwesome";
	font-size: 22px;
	line-height: 40px;
	display: block;
	content: '\f104';
	color: var(--color-white);
	margin-top: 0px;
	margin-inline-start: -2px;
}

.page_slider .tp-rightarrow.default:before
{
	content: '\f105';
}

.page_slider .tp-bullets.simplebullets.round .bullet
{
	background: var(--color-white);
	width: 7px;
	height: 7px;
	opacity: .5;
	border-radius: 100px;
	margin-inline-start: 5px;
}

.page_slider .tp-bullets.simplebullets .bullet:hover, .page_slider .tp-bullets.simplebullets .bullet.selected
{
	opacity: 1;
}

.one_half_bg
{
	width: 50%;
	float: left;
	background-position: 50% 50% !important;
	background-size: cover !important;
	box-sizing: border-box;
	padding: 20px;
}

.ppb_content_half_bg .one_half_bg
{
	padding: 40px;
}

.one_third_bg
{
	width: 33.3%;
	float: left;
	background-position: 50% 50% !important;
	background-size: cover !important;
	box-sizing: border-box;
	padding: 20px;
}

.one_third_bg.nopadding, .one_half_bg.nopadding
{
	padding: 0;
}

.ppb_blog_minimal .one_third_bg
{
	height: 350px;
	border-inline-start: 1px solid var(--color-border);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	position: relative;
}

.ppb_blog_minimal .one_third_bg .blog_minimal_wrapper
{
	width: 100%;
	height: 100%;
	padding: 60px 40px;
	box-sizing: border-box;
}

.ppb_blog_minimal .one_third_bg .blog_minimal_wrapper .content
{
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 3;
}

.ppb_blog_minimal .one_third_bg .blog_minimal_wrapper .featured_image
{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	opacity: 0;
	z-index: 2;
	
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.ppb_blog_minimal .one_third_bg .blog_minimal_wrapper .background_overlay
{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 3;
	opacity: 0;
	
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.ppb_blog_minimal .one_third_bg:hover .blog_minimal_wrapper .featured_image, .ppb_blog_minimal .one_third_bg:hover .blog_minimal_wrapper .background_overlay
{
	opacity: 1;
}

.ppb_blog_minimal .one_third_bg .blog_minimal_wrapper .content .post_detail
{
	position: absolute;
	bottom: 0px;
}

.ppb_blog_minimal .one_third_bg:hover .blog_minimal_wrapper .content .post_detail
{
	color: var(--color-white);
}

.ppb_blog_minimal .one_third_bg:hover .blog_minimal_wrapper .content, .ppb_blog_minimal .one_third_bg:hover .blog_minimal_wrapper .content h4
{
	color: var(--color-white) !important;
}

.two_third_bg
{
	width: 66.6%;
	float: left;
	background-position: 50% 50% !important;
	background-size: cover !important;
	box-sizing: border-box;
	padding: 20px;
}

.two_third_bg.team
{
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

.one_half_bg.contact_form
{
	padding: 60px;
}

.one_fourth_bg
{
	width: 25%;
	float: left;
	background-position: 50% 50% !important;
	background-size: cover !important;
	box-sizing: border-box;
	padding: 20px;
}

/* .parallax duplicate removed here: exact byte-for-byte duplicate of the
   rule at this file's line 4018, confirmed neither copy is inside any
   @media block. */

/*------------------------------------------------------------------
[10. Project Elements]
*/

.one_half
{
	float: left;
	width: 48%;
	margin-inline-end: 3.5%;
	box-sizing: border-box;
}

.one_half.last
{
	float: right;
	width: 48%;
	margin-inline-end: 0;
	clear: right;
}

.team_wrapper .one_half
{
	margin-bottom: 2%;
}

.portfolio2filter_wrapper
{
	overflow: hidden;
	margin: 0 12px 0 0;
	float: left;
}

.one_half.portfolio2_wrapper
{
	width: 50%;
	margin-bottom: 0px;
}

.two_cols.gallery .element
{
	width: 47.8%;
	margin-inline-end: 2%;
	margin-bottom: 2%;
	box-sizing: border-box;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	
	opacity: 1 !important;
}

.two_cols.gallery.wide .element
{
	width: 50%;
	margin: 0 -1px 0 0;
}

.two_cols.gallery.wide .element img
{
	width: 100%;
	height: auto;
}

.two_cols.gallery .element.fade
{
	opacity: 0.2 !important;
}

.two_cols.gallery .element .portfolio_title
{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 20px;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	box-sizing: border-box;
	line-height: 1.65em;
	z-index: 9;
	
	transform: translate3d(0, 30px, 0);
	-webkit-transform: translate3d(0, 30px, 0);
	-moz-transform: translate3d(0, 30px, 0);
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.two_cols.gallery .element:hover .portfolio_title
{
	transform: translate3d(0, 0px, 0);
	-webkit-transform: translate3d(0, 0px, 0);
	-moz-transform: translate3d(0, 0px, 0);
	visibility: visible;
	opacity: 1;
}

.two_cols.gallery .element .portfolio_title .table
{
	width: 100%;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.two_cols.gallery .element:hover .portfolio_title .table
{
	bottom: 20px;
}

.two_cols.gallery .element .portfolio_title h5
{
	font-size: 22px;
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.two_cols.gallery .element .portfolio_title .post_detail
{
	color: var(--color-white);
	font-size: 10px;
}

/* Touch fallback: title + excerpt caption is hover-only above (visibility:
   hidden, not just opacity - also unreachable to a screen reader until
   hover), with no touch equivalent. Reachable via portfolio-2-contained.php,
   the same markup for every one of its six portfolio_type cases (External
   Link, Portfolio Content, Image, Youtube/Vimeo/Self-Hosted Video) - a
   universal loss, not one content type's edge case. Shown at rest instead of
   gated on touch.

   Also resets the darkening gradient scrim behind the caption
   (.portfolio_type a:after, below): that scrim is what keeps the white
   caption text readable over an arbitrary photo, so forcing the caption
   visible here without also forcing its scrim would leave touch visitors
   with low-contrast text directly on the raw photo - the fallback would
   undermine the exact legibility it exists to fix. */
@media (hover: none)
{
	.two_cols.gallery .element .portfolio_title
	{
		visibility: visible;
		opacity: 1;
		transform: translate3d(0, 0px, 0);
	}
	.two_cols.gallery .element .portfolio_title .table
	{
		bottom: 20px;
	}
	.one_half.gallery2.portfolio_type a:after
	{
		opacity: 1;
	}
}

.one_half.gallery2
{
	width: 100%;
	height: 100%;
	float: left;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.one_half.gallery2.static
{
	overflow: hidden;
}

.one_half.gallery2 a
{
	position: relative;
	display: block;
	line-height: 0;
}

.one_half.gallery2.portfolio_type a:after
{
	opacity: 0;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 3;
  	background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(56%,var(--shadow-soft)),color-stop(93%,var(--shadow-strong)),to(rgba(0,0,0,0.69)));
  	background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
  	background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
}

.one_half.gallery2.portfolio_type a:hover:after
{
	opacity: 1;
}

.element.classic2_cols
{
	overflow: hidden;
	position: relative;
    width: 49.8%;
    height: auto;
    margin-inline-end: 1px;
	margin-bottom: 1px;
	float: left;
}

.one_half.gallery2.filterable.portfolio_type
{
	margin: 0;
}

.one_half.gallery2 a
{
	display: block;
}

.one_half.gallery2.classic a
{
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: relative;
}

.one_half.gallery2.classic a img
{
  	-webkit-transition: .5s cubic-bezier(0.18,1,0.23,1);
  	transition: .5s cubic-bezier(0.18,1,0.23,1);
  	backface-visibility: hidden;
  	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.one_half.gallery2.classic a:hover img
{
	-webkit-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-o-transform: scale(1.3);
	transform: scale(1.3);
}

.one_half.gallery2.classic a:hover .portfolio_classic_icon_wrapper
{
	opacity: 1;
}

.one_third
{
	width: 30.66%;
	float: left;
	margin-inline-end: 4%;
	margin-bottom: 2%;
	position: relative;
	box-sizing: border-box;
}

.one_third.last
{
	margin-inline-end: 0 !important;
	float: right;
	width: 30.66%;
}

.one_third.portfolio3_wrapper
{
	width: 30%;
	margin-bottom: 0;
	margin-inline-end: 25px;
}

#page_content_wrapper .inner .sidebar_content ul, .page_content_wrapper .inner .sidebar_content ul
{
	margin-inline-start: 20px;
}

#page_content_wrapper .inner .sidebar_content.full_width.portfolio3_content_wrapper
{
	width: 1250px;
}

#page_content_wrapper .inner .sidebar_content.full_width.portfolio4_content_wrapper, .page_content_wrapper.portfolio4_content_wrapper
{
	width: 1260px;
}

.page_content_wrapper.portfolio4_content_wrapper
{
	margin-top: 50px;
}

.gallery_a_title
{
	text-align: center;
}

.three_cols.gallery .element
{
	width: 31.2%;
	margin-inline-end: 2%;
	margin-bottom: 2%;
	padding: 0;
	box-sizing: border-box;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	
	opacity: 1 !important;
	position: relative;
}

.three_cols.gallery .element.double_size
{
	width: 64.4%;
}

.three_cols.gallery.wide .element
{
	width: 33.32%;
	margin: 0 -1px 0 0;
}

.three_cols.gallery.wide .element.double_size
{
	width: 66.6%;
	margin: 0 -1px 0 0;
}

.three_cols.gallery.wide .element img
{
	width: 100%;
	height: auto;
}

.sidebar_content.three_cols.gallery .element
{
	width: 46%;
	margin-inline-end: 3%;
	margin-bottom: 4%;
}

.three_cols.gallery .element.grid
{
	padding: 0;
}

.three_cols.gallery .element.fade
{
	opacity: 0.2 !important;
}

@media only screen and (min-width: 1430px) {
	#page_content_wrapper.fullwidth .three_cols.gallery .element, .page_content_wrapper.fullwidth .three_cols.gallery .element
	{
		width: 22.4%;
		margin-bottom: 2.5%;
	}
}

@media only screen and (min-width: 1720px) {
	#page_content_wrapper.fullwidth .three_cols.gallery .element, .page_content_wrapper.fullwidth .three_cols.gallery .element
	{
		width: 17.8%;
		margin-bottom: 2.5%;
	}
}

@media only screen and (min-width: 2200px) {
	#page_content_wrapper.fullwidth .three_cols.gallery .element, .page_content_wrapper.fullwidth .three_cols.gallery .element
	{
		width: 14.6%;
		margin-bottom: 2.5%;
	}
}

.three_cols.gallery .element .portfolio_title
{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 15px;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	box-sizing: border-box;
	line-height: 1.65em;
	z-index: 9;
	
	transform: translate3d(0, 30px, 0);
	-webkit-transform: translate3d(0, 30px, 0);
	-moz-transform: translate3d(0, 30px, 0);
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.three_cols.gallery .element:hover .portfolio_title
{
	transform: translate3d(0, 0px, 0);
	-webkit-transform: translate3d(0, 0px, 0);
	-moz-transform: translate3d(0, 0px, 0);
	visibility: visible;
	opacity: 1;
}

.one_third.gallery3.portfolio_type a:after
{
	opacity: 0;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 3;
  	background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(56%,var(--shadow-soft)),color-stop(93%,var(--shadow-strong)),to(rgba(0,0,0,0.69)));
  	background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
  	background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
}

.one_third.gallery3.portfolio_type a:hover:after
{
	opacity: 1;
}

.three_cols.gallery .element .portfolio_title .table
{
	width: 100%;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.three_cols.gallery .element:hover .portfolio_title .table
{
	bottom: 20px;
}

.three_cols.gallery .element .portfolio_title h5
{
	font-size: 18px;
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.three_cols.gallery .element.double_size .portfolio_title h5
{
	font-size: 26px;
}

.three_cols.gallery .element .portfolio_title .post_detail
{
	color: var(--color-white);
	font-size: 10px;
}

/* No 3-column touch fallback belongs here. The .portfolio_title caption
   system these selectors would target is emitted by exactly one template,
   portfolio-2-contained.php, which is two-column only - so the 2-column
   @media (hover: none) block above is complete, not a partial job. The
   3-and-4-column grids Kedyn actually uses (portfolio-grid.php,
   gallery-grid-masonry.php) render captions through pm-uniform-grid's
   data-title ::after instead, and have their own column-agnostic touch
   fallback at portfolio-grid.css:278-284. */

.one_third.gallery3
{
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
}

.one_third.gallery3 a
{
	position: relative;
	display: block;
	line-height: 0;
}

.one_third.gallery3.static
{
	overflow: hidden;
}

.one_third.gallery3 a
{
	display: block;
}

.one_third.gallery3.classic:not(.proofing) a, .one_third.gallery3.classic .overlay_mask
{
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: relative;
}

.one_third.gallery3.classic a img
{
  	-webkit-transition: .5s cubic-bezier(0.18,1,0.23,1);
  	transition: .5s cubic-bezier(0.18,1,0.23,1);
  	backface-visibility: hidden;
  	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.one_third.gallery3.classic a:hover img
{
	-webkit-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-o-transform: scale(1.3);
	transform: scale(1.3);
}

.portfolio_classic_icon_wrapper
{
	background: #000;
	background: rgba(0,0,0,0.5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	-webkit-transition: .5s;
	transition: .5s;
}

.one_third.gallery3.classic a:hover .portfolio_classic_icon_wrapper
{
	opacity: 1;
}

.portfolio_classic_icon_content
{
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
}

.portfolio_classic_icon_content i
{
	display: table-cell;
	vertical-align: middle;
	color: var(--color-white);
	font-size: 40px;
}

.portfolio_classic_icon_wrapper
{
	background: #000;
	background: rgba(0,0,0,0.5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	
	-webkit-transition: 1s;
	transition: 1s;
}

.one_third.gallery3.classic a:hover .portfolio_classic_icon_wrapper, .one_third.gallery3.classic:hover .overlay_mask .portfolio_classic_icon_wrapper
{
	opacity: 1;
}

/* .portfolio_classic_icon_content { display: table; width: 100%; height:
   100%; text-align: center; } removed here: exact byte-for-byte duplicate of
   the rule at this file's line 7789, confirmed neither copy is inside any
   @media block. NOTE: the paired ".portfolio_classic_icon_content i" rule
   below is kept as-is (not a duplicate of its line-7797 counterpart) - this
   copy carries extra transform/transition properties the first copy
   doesn't have. */

.portfolio_classic_icon_content i
{
	display: table-cell;
	vertical-align: middle;
	color: var(--color-white);
	font-size: 40px;

	transform: translateY(10%);
	-webkit-transition: .6s;
	transition: .6s;
}

.portfolio_classic_icon_content .portfolio_classic_icon_content_middle i
{
	font-size: 34px;
}

.portfolio_classic_icon_content_middle
{
	display: table-cell;
	vertical-align: middle;
	color: var(--color-white);
	text-align: center;
}

.one_third.gallery3 .portfolio_classic_icon_content_middle a
{
	display: inline-block;
	margin: 0 8px 0 8px;
}

.classic a:hover .portfolio_classic_icon_content i
{
	transform: translateY(0%);
}

.one_third.gallery3 a.image_approve.hidden, .one_third.gallery3 a.image_unapprove.hidden
{
	display: none;
}

.one_third.gallery3 .onapprove
{
	position: absolute;
    top: 0;
    right: 0;
    left: auto;
    width: 110px;
    text-align: center;
    color: var(--color-white);
    display: block;
    margin: -40px -48px 0 0;
    padding: 60px 0 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 9;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    border-radius: 0;
    min-height: 0;
    line-height: 30px;
    background: #2bb213;
}

.one_third.gallery3 .loading
{
	color: var(--color-white);
	position: absolute;
    bottom: 5px;
    right: 10px;
}

.one_third.gallery3 .loading.hidden
{
	display: none;
}

.one_third.gallery3 .proofing_id
{
	position: absolute;
    top: 0;
    left: 0;
    color: var(--color-white);
    background: #000;
	background: rgba(0,0,0,0.5);
	padding: 5px 10px 2px 10px;
}

.one_third.gallery3 .onapprove.hidden
{
	display: none;
}

.element.classic3_cols
{
	float: left;
}

.one_third.gallery3.last
{
	float: right;
	margin-inline-end: 0;
}

.one_third.gallery3 img {
	max-width: 100%;
    display: block;
    position: relative;
}

.one_third.gallery3 .one_third_img
{
	position: absolute;
}

.one_third.filterable.gallery3.portfolio_type
{
	margin: 0;
}

.one_third.gallery3 a[rel=gallery]
{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 99999;
	background: #000;
}

.two_third
{
	float: left;
	width: 65.33%;
	margin-inline-end: 4%;
	box-sizing: border-box;
}

.two_third.last
{
	margin-inline-end: 0;
	float: right;
	clear: right;
}

.one_fourth
{
	width: 22%;
	float: left;
	margin-inline-end: 4%;
	margin-bottom: 2%;
	position: relative;
	box-sizing: border-box;
}

.one_fourth.last
{
	width: 22%;
	margin-inline-end: 0;
	float: right;
	clear: right;
}

.four_cols.gallery .element
{
	width: 22.9%;
	margin-bottom: 2%;
	margin-inline-end: 2%;
	padding: 0;
	box-sizing: border-box;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	
	opacity: 1 !important;
}

.four_cols.gallery.wide .element
{
	width: 25%;
	margin: 0 -1px 0 0;
}

.four_cols.gallery.wide .element img
{
	width: 100%;
	height: auto;
}

.four_cols.gallery .element.grid
{
	padding: 0;
	background: transparent;
}

.four_cols.gallery .element.fade
{
	opacity: 0.2 !important;
}

.four_cols.gallery .element .portfolio_title
{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 15px;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	box-sizing: border-box;
	line-height: 1.65em;
	z-index: 9;
	
	transform: translate3d(0, 30px, 0);
	-webkit-transform: translate3d(0, 30px, 0);
	-moz-transform: translate3d(0, 30px, 0);
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.four_cols.gallery .element:hover .portfolio_title
{
	transform: translate3d(0, 0px, 0);
	-webkit-transform: translate3d(0, 0px, 0);
	-moz-transform: translate3d(0, 0px, 0);
	visibility: visible;
	opacity: 1;
}

.one_fourth.gallery4.portfolio_type a:after
{
	opacity: 0;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 3;
  	background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(56%,var(--shadow-soft)),color-stop(93%,var(--shadow-strong)),to(rgba(0,0,0,0.69)));
  	background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
  	background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
}

.one_fourth.gallery4.portfolio_type a:hover:after
{
	opacity: 1;
}

.four_cols.gallery .element .portfolio_title .table
{
	width: 100%;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.four_cols.gallery .element:hover .portfolio_title .table
{
	bottom: 20px;
}

.four_cols.gallery .element .portfolio_title h5
{
	font-size: 16px;
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.four_cols.gallery .element .portfolio_title .post_detail
{
	color: var(--color-white);
	font-size: 10px;
	margin-top: -5px;
}

/* No 4-column touch fallback belongs here either - same reasoning as the
   3-column note above. */

.one_fourth.gallery4
{
	position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
}


.one_fourth.gallery4 a
{
	position: relative;
	display: block;
	line-height: 0;
}

.one_fourth.gallery4.static
{
	overflow: hidden;
}

.element.classic4_cols
{
	float: left;
}


.one_fourth.portfolio4
{
    margin:0;
}

.one_fourth.gallery4 .one_fourth_img
{
	position: absolute;
}

.one_fourth.gallery4 a
{
	display: block;
}

.one_fourth.gallery4.classic a
{
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: relative;
}

.one_fourth.gallery4.classic a img
{
  	-webkit-transition: .5s cubic-bezier(0.18,1,0.23,1);
  	transition: .5s cubic-bezier(0.18,1,0.23,1);
  	backface-visibility: hidden;
  	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.one_fourth.gallery4.classic a:hover img
{
	-webkit-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-o-transform: scale(1.3);
	transform: scale(1.3);
}

.one_fourth.gallery4.classic a:hover .portfolio_classic_icon_wrapper
{
	opacity: 1;
}

.one_fifth
{
	width: 18%;
	float: left;
	margin-inline-end: 2%;
	margin-bottom: 2%;
	box-sizing: border-box;
}

.one_fifth.last
{
	margin-inline-end: 0;
}

.five_cols.gallery.wide .element
{
	width: calc(20% - 1px);
	margin: 0;
}

.one_fifth.gallery5 
{
  	position: relative;
  	width: 100%;
  	margin: 0;
  	overflow: hidden;
}

.one_fifth.gallery5 a 
{
  	position: relative;
  	display: block;
  	line-height: 0;
}

.five_cols.gallery.wide .element img
{
	width: 100%;
	height: auto;
}

.five_cols.gallery .element.grid
{
	padding: 0;
	background: transparent;
}

.five_cols.gallery .element.fade
{
	opacity: 0.2 !important;
}

.five_cols.gallery .element .portfolio_title
{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 15px;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	box-sizing: border-box;
	line-height: 1.65em;
	z-index: 9;
	
	transform: translate3d(0, 30px, 0);
	-webkit-transform: translate3d(0, 30px, 0);
	-moz-transform: translate3d(0, 30px, 0);
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.five_cols.gallery .element:hover .portfolio_title
{
	transform: translate3d(0, 0px, 0);
	-webkit-transform: translate3d(0, 0px, 0);
	-moz-transform: translate3d(0, 0px, 0);
	visibility: visible;
	opacity: 1;
}

.one_fifth.gallery5.portfolio_type a:after
{
	opacity: 0;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 3;
  	background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(56%,var(--shadow-soft)),color-stop(93%,var(--shadow-strong)),to(rgba(0,0,0,0.69)));
  	background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
  	background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
}

.one_fifth.gallery5.portfolio_type a:hover:after
{
	opacity: 1;
}

.five_cols.gallery .element .portfolio_title h5
{
	font-size: 14px;
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.five_cols.gallery .element .portfolio_title .post_detail
{
	color: var(--color-white);
	font-size: 10px;
	margin-top: -5px;
	font-size: 9px;
}

.one_sixth
{
	width: 11%;
	float: left;
	margin-inline-end: 6%;
	margin-bottom: 2%;
	box-sizing: border-box;
}

.one_sixth.last
{
	margin-inline-end: 0;
}

.image_classic_frame
{
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	line-height: 0;
}

.image_classic_frame.border
{
	border: 1px solid var(--color-border);
}

.image_classic_frame.glow
{
	border: 1px solid var(--color-border);
	-moz-box-shadow: 0 0 5px rgba(0,0,0,.2);
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,.2);
	box-shadow: 0 0 5px rgba(0,0,0,.2);
}

.image_classic_frame.dropshadow
{
	padding:0;
	-moz-box-shadow: 0 0 15px rgba(0,0,0,.2);
	-webkit-box-shadow: 0 0 15px rgba(0,0,0,.2);
	box-shadow: 0 0 15px rgba(0,0,0,.2);
}

.image_classic_frame.bottomshadow
{
	padding:0;
	position: relative;
}

.image_classic_frame.bottomshadow:before, .image_classic_frame.bottomshadow:after
{
	position: absolute;
	bottom: 15px;
	left: 10px;
	z-index: -1;
	height: 20%;
	width: 60%;
	content: "";
	opacity: 0.7;
	-webkit-box-shadow: 0 17px 10px var(--shadow-strong);
	-moz-box-shadow: 0 17px 10px var(--shadow-strong);
	box-shadow: 0 17px 10px var(--shadow-strong);
	-webkit-transform: rotate(-3deg);
	-moz-transform: rotate(-3deg);
	-ms-transform: rotate(-3deg);
	-o-transform: rotate(-3deg);
	transform: rotate(-3deg);
	
	opacity: 0.5;
}

.image_classic_frame.bottomshadow:after
{
	left: auto;
	right: 10px;
	-webkit-transform: rotate(3deg);
	-moz-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	-o-transform: rotate(3deg);
	transform: rotate(3deg);
}

.image_classic_frame.bottomshadow img
{
	margin: 0;
}

.image_caption, .gallery_image_caption
{
	padding: 20px 0 5px 0;
	font-size: 12px;
	font-style: italic;
}

.image_description
{
	clear: both;
	margin-top: 30px;
}

.image_description:empty
{
	display: none;
}

.one_half_bg .image_caption
{
	position: absolute;
	bottom: 15px;
	color: var(--color-white);
}

.single_portfolio_gallery
{
	width: 100%;
	height: 400px;
	overflow: hidden;
	position: relative;
	z-index: 0;
	top: -35px;
	background: #f0f0f0;
}

.single_portfolio_gallery i.fa
{
	font-size: 30px;
	position: absolute;
	top: 43%;
	left: 49%;
}

.fullscreen_desc
{
	width: 80%;
	margin: auto;
	margin-bottom: 10px;
}

.portfolio_desc 
{
	float: left;
	text-align: start;
	margin-top: 15px;
}

.portfolio_desc.team
{
	width: 100%;
	float: none;
	text-align: center;
	margin-bottom: 5px;
}

.team_wrapper .post_detail
{
	font-size: 11px;
}

.team_position
{
	color: #999;
	font-size: 11px;
}

.portfolio_desc.wide
{
	margin: 0;
	padding-top: 15px !important;
	padding-bottom: 15px !important;
	border-inline-start: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.portfolio_desc.portfolio4, .portfolio_desc.portfolio3, .portfolio_desc.portfolio2 
{
	width: 100%;
	padding: 0;
	text-align: center;
}

.portfolio_desc.portfolio2 h5
{
	font-size: 22px;
}

.portfolio_desc.portfolio2 .post_detail
{
	font-size: 10px;
	margin-bottom: 0;
}

.portfolio_desc.portfolio3 h5
{
	font-size: 18px;
}

.portfolio_desc.portfolio3 .post_detail
{
	font-size: 10px;
	margin-bottom: 0;
}

.portfolio_desc.portfolio4 h5
{
	font-size: 16px;
}

.portfolio_desc.portfolio4 .post_detail
{
	font-size: 10px;
	margin-bottom: 0;
}

.portfolio_desc p
{
	margin: 10px 0 0 0;
}

.gallery_archive_desc
{
	position: absolute;
	width: 100%;
	bottom: 15px;
	z-index: 3;
	text-align: center;
	line-height: normal;
	
	opacity: 0;
	transform: translate3d(0, 30px, 0);
	-webkit-transform: translate3d(0, 30px, 0);
	-moz-transform: translate3d(0, 30px, 0);
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}

#fullpage .section.gallery_archive .gallery_archive_desc
{
	opacity: 1;
	bottom: 60px;
}

#fullpage .section.gallery_archive .gallery_archive_desc .post_detail
{
	color: var(--color-white);
	margin: 0;
}

.gallery_archive_desc h4
{
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: initial;
}

#fullpage .section.gallery_archive .gallery_archive_desc h4
{
	font-size: 26px;
}

.one_third.gallery3 .gallery_archive_desc h4
{
	font-size: 16px;
}

.one_fourth.gallery4 .gallery_archive_desc h4
{
	font-size: 14px;
}

.gallery_type.archive a:before
{
	opacity: 0;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(56%,var(--shadow-soft)),color-stop(93%,var(--shadow-strong)),to(rgba(0,0,0,0.69)));
	background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
	background-image: linear-gradient(transparent 0%,transparent 50%,var(--shadow-soft) 56%,var(--shadow-strong) 93%,rgba(0,0,0,0.69) 100%);
}

.gallery_type.archive:hover a:before
{
	opacity: 1;
}

.gallery_type.archive:hover .gallery_archive_desc
{
	 opacity: 1;
	 transform: translate3d(0, 0px, 0);
	 -webkit-transform: translate3d(0, 0px, 0);
	 -moz-transform: translate3d(0, 0px, 0);
}

/* Touch fallback: the caption (title + excerpt) and the darkening scrim
   behind it are both hover-only above, with no touch equivalent - reachable
   via at least two kept templates (gallery-archive-2-contained.php's
   2-column grid and single-client.php's 3-column one, both marking their
   tiles .gallery_type.archive), not one layout's edge case. Shown at rest
   instead of gated on touch. */
@media (hover: none)
{
	.gallery_type.archive a:before
	{
		opacity: 1;
	}
	.gallery_type.archive .gallery_archive_desc
	{
		opacity: 1;
		transform: translate3d(0, 0px, 0);
	}
}

.gallery_type.archive img
{
	opacity: 1;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}

.gallery_type.archive .post_detail
{
	margin: 0;
	float: none;
	color: var(--color-white);
	font-size: 10px;
}

.one_fourth.gallery4.gallery_type.archive .post_detail
{
	font-size: 9px;
}

.gallery-main {
	display: none;
}

.wall_thumbnail {
	float:left;
	width: 100%;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.wall_thumbnail img {
    display: block;
    position: relative;
    height: auto;
    max-width: 100%;
}

#photo_wall_wrapper, .photo_wall_wrapper {
	width: 100%;
	margin: 0 auto;
	height: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	-webkit-transition: opacity 1s ease;
	-moz-transition: opacity 1s ease;
	-ms-transition: opacity 1s ease;
	-o-transition: opacity 1s ease;
	transition: opacity 1s ease;
	visibility: hidden;
	opacity: 0;
	overflow: visible !important;
}

.photo_wall_wrapper.shortcode.withmargin
{
	margin-inline-start: 1%;
	margin-top: 1%;
	margin-bottom: 1%;
	width: 99%;
}

#photo_wall_wrapper.visible, .photo_wall_wrapper.visible
{
	visibility: visible;
	opacity: 1;
}

#photo_wall_wrapper.has_sidebar {
	width: 670px;
}

#photo_wall_wrapper .wall_entry, .photo_wall_wrapper .wall_entry 
{
	float: left;
	border: none;
	padding: 0;
	position: relative;
	width: 24.9%;
	margin: 0;
	word-wrap: break-word;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

#photo_wall_wrapper .wall_entry.fade, .photo_wall_wrapper .wall_entry.fade
{
	opacity: 0.2 !important;
}

#photo_wall_wrapper .wall_entry, .photo_wall_wrapper .wall_entry.withmargin
{
	width: 23.2%;
	margin: 0.5%;
	margin-bottom: 1%;
}

@media only screen and (min-width: 1400px) {
	#photo_wall_wrapper .wall_entry, .photo_wall_wrapper .wall_entry
	{
		width: 19.99%;
		margin-bottom: 1%;
	}
	
	#photo_wall_wrapper .wall_entry, .photo_wall_wrapper .wall_entry.withmargin
	{
		width: 18.5%;
		margin: 0.5%;
		margin-bottom: 1%;
	}
}

@media only screen and (min-width: 2100px) {
	#photo_wall_wrapper .wall_entry, .photo_wall_wrapper .wall_entry
	{
		width: 16.6%;
	}
	
	#photo_wall_wrapper .wall_entry, .photo_wall_wrapper .wall_entry.withmargin
	{
		width: 15%;
		margin: 0.5%;
	}
}

#photo_wall_wrapper .wall_entry .wall_entry_wrapper, .photo_wall_wrapper .wall_entry .wall_entry_wrapper {
	position: relative;
}

.isotope,
.isotope .isotope-item {
  /* change duration value to whatever you like */
  -webkit-transition-duration: 0.3s;
     -moz-transition-duration: 0.3s;
      -ms-transition-duration: 0.3s;
       -o-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
          overflow: visible !important;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
      -ms-transition-property:     -ms-transform, opacity;
       -o-transition-property:      -o-transform, opacity;
          transition-property:         transform, opacity;
          opacity: 1 !important;
}

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
     -moz-transition-duration: 0s;
      -ms-transition-duration: 0s;
       -o-transition-duration: 0s;
          transition-duration: 0s;
}

.gallery_mansory_wrapper, .gallery_mansory4_wrapper {
	padding: 0;
	margin: 0 auto;
	margin-bottom: 20px;
	width: 960px;
}

.portfolio_filter_dropdown
{
	width: 15em;
	background: var(--color-white);
	position: relative;
	z-index: 9;
	margin-top: 20px;
	font-family: var(--font-family-button, 'Oswald', 'Helvetica Neue', Arial, Verdana, sans-serif);
	display: inline-block;
	text-align: start;
	
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

#page_content_wrapper .inner .sidebar_wrapper .sidebar .content .portfolio_filter_dropdown
{
	float: left;
	margin-bottom: 40px;
	margin-top: 0;
}

.portfolio_filter_dropdown .portfolio_filter_dropdown_title a 
{
	display: block;
	height: 3em;
	width: 100%;
	border-radius: 3px;
	text-decoration: none;
}

.portfolio_filter_dropdown .portfolio_filter_dropdown_title a span
{
	display: block;
	padding: 0 1em;
	cursor: pointer;
	line-height: 3em;
}

.portfolio_filter_dropdown .portfolio_filter_dropdown_title a span:after
{
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: 10%;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	margin-top: 0;
	font-family: 'FontAwesome';
	content: "\f107";
	float: right;
	line-height: 3em;
	font-size: 13px;
}

.portfolio_filter_dropdown .portfolio_filter_dropdown_select
{
	position: relative;
}

.portfolio_filter_dropdown .portfolio_filter_dropdown_select ul.portfolio_select
{
	display: none;
	position: absolute;
	left: 0;
	top: -3em;
	width: 100%;
	list-style: none;
	background: var(--color-white) none repeat scroll 0 0;
	box-shadow: 0 2px 20px var(--shadow-soft);
}

.portfolio_filter_dropdown .portfolio_filter_dropdown_select ul.portfolio_select li a
{
	display: block;
	padding: 0 1em;
	line-height: 3em;
	text-decoration: none;
	color: #888;
}

.portfolio_filter_dropdown .portfolio_filter_dropdown_select ul.portfolio_select li a:hover
{
	background: #f9f9f9;
	color: #444;
}

#portfolio_filter_wrapper, .portfolio_filter_wrapper
{
	width: 960px;
	padding-top: 40px;
	height: 0;
	-webkit-transition: opacity 1s ease;
	-moz-transition: opacity 1s ease;
	-ms-transition: opacity 1s ease;
	-o-transition: opacity 1s ease;
	transition: opacity 1s ease;
	visibility: hidden;
	opacity: 0;
}

.portfolio_filter_wrapper
{
	opacity: 1;
}

.portfolio_filter_wrapper, body.tax-portfoliosets #portfolio_filter_wrapper, #portfolio_filter_wrapper
{
	padding-top: 0;
}

#portfolio_filter_wrapper.visible, .portfolio_filter_wrapper.visible
{
	visibility: visible;
	opacity: 1;
}

#portfolio_filter_wrapper.gallery, .portfolio_filter_wrapper.gallery
{
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}

#portfolio_filter_wrapper.gallery.two_cols, .portfolio_filter_wrapper.gallery.two_cols, #portfolio_filter_wrapper.gallery.three_cols, .portfolio_filter_wrapper.gallery.three_cols, #portfolio_filter_wrapper.gallery.four_cols, .portfolio_filter_wrapper.gallery.four_cols
{
	width: 102%;
	margin: 0;
	box-sizing: border-box;
}

#portfolio_filter_wrapper.gallery.wide, .portfolio_filter_wrapper.gallery.wide
{
	width: 101%;
	margin: 0;
}

.page_content_wrapper.fullwidth #portfolio_filter_wrapper.gallery, #page_content_wrapper.fullwidth #portfolio_filter_wrapper.gallery, .page_content_wrapper.fullwidth .portfolio_filter_wrapper.gallery, #page_content_wrapper.fullwidth .portfolio_filter_wrapper.gallery
{
	width: 98%;
	margin-inline-start: 2%;
	box-sizing: border-box;
}

body.single-attachment p.attachment 
{
	display: none;
}

.gallery_type, .portfolio_type
{
	opacity: 0;
}

.gallery_img
{
	opacity: 0;
	-webkit-animation-fill-mode:forwards; 
    -moz-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
}

.project_info_label
{
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 600;
	color: #999;
}

.project_info_value
{
	font-size: 20px;
	color: #444;
	margin-bottom: 20px;
}

.one_fourth.withbg .page_content_wrapper, .one_third.withbg .page_content_wrapper, .one_half.withbg .page_content_wrapper, .two_third.withbg .page_content_wrapper
{
	padding: 0 10% 0 10%;
	box-sizing: border-box;
}

.ppb_fullwidth_button h2.title
{
	font-size: 22px;
	display: block;
	float: left;
}

.ppb_fullwidth_button .button
{
	float: right;
}

.error_box
{
	background: var(--color-accent);
	margin: 0 auto;
	width: 310px;
	height: 310px;
	position: relative;
}

.error_box .error_type
{
	font-size: 156px;
	text-align: end;
	letter-spacing: -15px;
	margin-bottom: 0;
	color: var(--color-white);
	line-height: 0;
	/* 15px, not 0: the negative letter-spacing also trails the final glyph,
	   so right:0 hangs the numeral 15px past the box's right edge. */
	right: 15px;
	bottom: -26px;
	position: absolute;
	letter-spacing: -15px;
}

.error_text
{
	font-size: 53px;
	letter-spacing: -1.5px;
	color: var(--color-accent);
	margin-top: 0;
	text-transform: uppercase;
	text-align: center;
	padding: 0 !important;
}

#client_header
{
	width: 70%;
	margin: auto;
	padding: 50px 0 50px 0;
}

#client_header .client_thumbnail, .client_thumbnail
{
	margin: auto;
	width: 150px;
}

.overlay_gallery_wrapper .client_thumbnail
{
	width: 150px;
	float: none;
	margin: auto;
}

#client_header .client_thumbnail img, .client_thumbnail img
{
	border-radius: 200px;
	margin-bottom: 10px;
}

#client_header .client_content
{
	margin: auto;
	text-align: center;
}

#portfolio_mixed_filter_wrapper:not(.wide)
{
	margin-top: 30px;
}

/**
 * ACCESSIBILITY FIX. Several rules earlier in this
 * file strip the native focus outline with no visible replacement:
 * `.filter li a` (portfolio filter tabs), `#horizontal_gallery_wrapper td a`,
 * every `input[type=text/password/email/url/date/tel]`/`select`/`textarea`
 * (contact form, search box, comment form all use these), and
 * `input[type=submit]`/`input[type=button]`/`a.button`/`.button` (every
 * button-styled control site-wide, including the contact form's Send
 * button). The `:focus` state on text inputs/textareas (line 4481) only
 * nudges the background from #fcfcfc to #f9f9f9 - not a visible indicator -
 * and buttons/links/.filter tabs have no `:focus` replacement at all. Net
 * effect: a sighted keyboard-only user tabbing through the site had no way
 * to see which control was focused (WCAG 2.4.7 Focus Visible failure).
 *
 * Restored via `:focus-visible` (fires for keyboard focus, not mouse
 * clicks, so it doesn't add a ring to every button a mouse user clicks) and
 * `!important`, since the rules being overridden range up to
 * `.filter li a` (0,1,2) in specificity - higher than a bare
 * `a:focus-visible` (0,1,1) compound selector, so simple source-order
 * placement here at the end of the file would not be enough to win on its
 * own. Two-layer white-then-black ring (outline + box-shadow) so it reads
 * against both this site's near-black hero/header sections and its white
 * content panels, rather than picking one color that only works on one of
 * the two.
 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible
{
	outline: 2px solid #ffffff !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px #000000 !important;
}

