/*
Theme Name: PDS Theme
Theme URI: https://www.pauldavidsmith.co.uk/
Description: Paul David Smith Photography site theme. Forked 2026-09-09 from the site's previous GPL parent theme (7.3.2) plus its child theme; front end unchanged at fork time.
Author: Paul David Smith
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: photography
Tags: custom-header, custom-background, threaded-comments, translation-ready, editor-style, custom-menu
*/


.ui-datepicker-prev span {
	width:12px;
	height:15px;
}

.ui-datepicker-next span {
	width:12px;
	height:15px;
}

.portfolio_nav { display:none; }

.ywcnp_suggest_label { display:none; }

#page_content_wrapper .pds_wc_cat .wc_arch_desc { padding: 36px 0 0; }
#page_content_wrapper .pds_wc_cat .wc_arch_desc p { 
	padding: 0; 
	line-height: 22px;
}
#page_content_wrapper .inner .pds_wc_cat .sidebar_content ul.products { 
	padding: 42px 0; 
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.woocommerce .pds_wc_cat ul.products.columns-2 li.product, .woocommerce-page .pds_wc_cat ul.products.columns-2 li.product {
	width: 50%;
	margin: 0;
	float: none;
}
.pds_wc_cat ul.products .product .prod_inner { 
	background-color: #f0f0f0; 
	margin: 0 15px 30px 0;
	padding: 24px 14px 38px;
}
.pds_wc_cat ul.products .product:nth-child(even) .prod_inner { margin: 0 0 30px 15px; }
.pds_wc_cat ul.products .product form.cart { 
	text-align: center; 
	margin-top: 24px;
}
.pds_wc_cat ul.products .product .cart button { 
	background-color: #010101;
	border: none;
	border-radius: 0;
	color: #e8e8e8;
	line-height: 1em;
	font-weight: 700;
	text-transform: uppercase;
	padding: 12px 34px;
	cursor: pointer;
}

@media only screen and (max-width: 959px) {
	#page_content_wrapper .inner .pds_wc_cat .sidebar_content { padding: 0; }
}

@media only screen and (max-width: 768px) {
	html[data-menu=leftmenu] .mobile_menu_wrapper
	{
		right: 0;
		left: initial;
		
		-webkit-transform: translate(360px, 0px);
		-ms-transform: translate(360px, 0px);
		transform: translate(360px, 0px);
		-o-transform: translate(360px, 0px);
	}
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
	.pds_wc_cat #page_caption { padding: 13.3vw 0; }
	#page_content_wrapper .pds_wc_cat .wc_arch_desc { padding: 8vw 0 0; }
	#page_content_wrapper .inner .pds_wc_cat .sidebar_content ul.products {	
		padding: 8vw 0px 5vw; 
		flex-direction: column;
		flex-wrap: nowrap;
	}
	.woocommerce .pds_wc_cat ul.products.columns-2 li.product, .woocommerce-page .pds_wc_cat ul.products.columns-2 li.product {
	  width: 100%;
	  margin-bottom: 4vw;
	}
	.pds_wc_cat ul.products .product .prod_inner, .pds_wc_cat ul.products .product:nth-child(even) .prod_inner {
	  margin: 0;
	  padding: 7.2vw 0 4vw;
	}
	.pds_wc_cat ul.products .product form.cart { margin-top: 4vw; }
	.pds_wc_cat ul.products .product .cart button {
	  padding: 3.2vw 8.6vw;
	  font-size: 2.7vw;
	}
}

#menu_wrapper .nav li.arrow > a:after, #menu_wrapper div .nav li.arrow > a:after
{
	margin-top: 3px;
}




html[data-style=fullscreen] .top_bar.hasbg, .top_bar.hasbg
{
	background: rgba(0,0,0,0.1);
}



.bg_gradient::after
{
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: -1px;
    left: 0;
    background: transparent;
    background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(60%,transparent),color-stop(66%,rgba(255,255,255,0.1)),color-stop(93%,rgba(255,255,255,0.95)),to(rgba(255,255,255,1)));
    background-image: -webkit-linear-gradient(transparent 0%,transparent 60%,rgba(255,255,255,0.1) 66%,rgba(255,255,255,0.95) 93%,rgba(255,255,255,1) 100%);
    background-image: linear-gradient(transparent 0%,transparent 60%,rgba(255,255,255,0.1) 66%,rgba(255,255,255,0.95) 93%,rgba(255,255,255,1) 100%)
}

body.metro-white .mobx-overlay
{
	    background-color: rgba(255,255,255,0.95);
}

@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
@-ms-keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
 
.fade-in {
    animation-name: fadeIn;
	-webkit-animation-name: fadeIn;
	-ms-animation-name: fadeIn;	

	animation-duration: 0.7s;	
	-webkit-animation-duration: 0.7s;
	-ms-animation-duration: 0.7s;	

	-webkit-animation-fill-mode:forwards; 
    -moz-animation-fill-mode:forwards;
    -ms-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
    
    visibility: visible !important;
}


.video-container {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

.video-container iframe, .video-container object, .video-container embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
@media only screen and (min-width: 768px) and (max-width: 959px) {
.video-container {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

.video-container iframe, .video-container object, .video-container embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}}

@media only screen and (max-width: 767px) {
.video-container {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

.video-container iframe, .video-container object, .video-container embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}}

@media only screen and (min-width: 480px) and (max-width: 767px) {
.video-container {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

.video-container iframe, .video-container object, .video-container embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}}


.woocommerce div.product .woocommerce-tabs .panel, .woocommerce-page div.product .woocommerce-tabs .panel {
	border: 0px solid #e1e1e1;
	padding: 0px;}


.product_meta {display: none;}

.woocommerce div.product div.summary {
    margin-bottom: 0em;
}

.woocommerce-page div.product form.cart {
    margin-top: 0em;
}

.woocommerce-form-coupon-toggle{
    display:none;

	}
.post_detail{
    display:none;
}
.post_info_date{
    display:none;}

.fullwidth_comment_wrapper #commentform textarea {
    width: 100%;
    background-color: #e8e8e7;
    color: #222;
    border-color: #222;
	}

.wpforms-container textarea.wpforms-field-small {
    height: 70px;
    background-color: #e8e8e7;
    color: #222;
	border-color: #222;}

.wpforms-container input[type="date"], .wpforms-container input[type="datetime"], .wpforms-container input[type="datetime-local"], .wpforms-container input[type="email"], .wpforms-container input[type="month"], .wpforms-container input[type="number"], .wpforms-container input[type="password"], .wpforms-container input[type="range"], .wpforms-container input[type="search"], .wpforms-container input[type="tel"], .wpforms-container input[type="text"], .wpforms-container input[type="time"], .wpforms-container input[type="url"], .wpforms-container input[type="week"], .wpforms-container select, .wpforms-container textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    float: none;
    background-color: #e8e8e7;
    color: #222;
    border-color: #222;
}

.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text {
    box-sizing: border-box;
    width: 100%;
    background-color: #e8e8e7;
    color: #222;
	border-color: #222;}

#tab-description h2{
    display:none;}

@media screen and (min-width: 600px)  {
        .mobile-break { display: none; }
    }

.post_caption {
    text-align: center;
    margin: 60px 0 0px 0;
}

#page_caption .pds_post_meta,
.post_caption .pds_post_meta {
    align-items: center;
    color: #666666;
    display: inline-flex;
    font-family: "Hind", 'Hind Fallback', 'Hind Fallback R';
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    gap: 14px;
    letter-spacing: 1.3px;
    line-height: 1;
    margin-top: 0;
    text-transform: uppercase;
}

#page_caption .pds_post_meta_separator,
.post_caption .pds_post_meta_separator {
    display: inline-block;
    color: #cfcfcf;
}

#page_caption .pds_post_meta_item,
.post_caption .pds_post_meta_item {
    align-items: center;
    display: inline-flex;
    gap: 7px;
}

#page_caption .pds_post_meta svg,
.post_caption .pds_post_meta svg {
    color: #e46d2e;
    display: block;
    height: 15px;
    transform: translateY(-1px);
    width: 15px;
}

body.single-post #page_caption {
    margin-bottom: 10px !important;
}

body.single-post #page_content_wrapper {
    padding-top: 10px;
}

.comment_date{
    display:none;}

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
    text-align: left;
    padding: 1em;
    border-bottom: 1px solid #d3ced2;
    margin: 0;
    list-style: none outside;
    background-color: #dddddd;
}
.woocommerce-checkout textarea#order_comments.input-text {
    height: 20em; 
}

@media only screen and (max-width: 767px)
{#page_content_wrapper {width: 98%;
margin-top: 0;
    padding: 0 0px 0 0px;
    box-sizing: border-box;
	}}
#add_payment_method #payment div.payment_box .form-row, .woocommerce-cart #payment div.payment_box .form-row, .woocommerce-checkout #payment div.payment_box .form-row {
    margin: 0 0 1em;
    padding: 0;
}

h5 a {color:#000000}

#page_content_wrapper .inner .sidebar_content.full_width, .page_content_wrapper .inner .sidebar_content.full_width {
    width: 100%;
    margin-top: 10px;
    margin-right: 0;
    border: 0;
}

p {
font-family: "Hind", 'Hind Fallback', 'Hind Fallback R';
}

.ui-accordion .ui-accordion-header {
    background: #eeeeee;
}

#page_content_wrapper .inner .sidebar_content ul, .page_content_wrapper .inner .sidebar_content ul {
    margin-left: 0px;
}


h3.addon-name {

	color: #000;
    font-size: 13px;
    font-weight: 600;
}

.woocommerce #reviews #comments ol.commentlist, .woocommerce-page #reviews #comments ol.commentlist {
    margin-top: 20px 			!important;
			margin-bottom: 20px
			!important;
	    padding-top: 20px;
	padding-right: 5px;
    background-color: #eeeeee;

}

#commentform {
	    background-color: #eeeeee;
	margin-left: 0;
	padding-bottom: 90px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0 0 0 10px;
}
.woocommerce #review_form #respond {
    width: 100%;
	text-transform: uppercase;
}

.woocommerce #review_form #respond textarea {
    box-sizing: border-box;
    width: 98%;
	background-color: #aaaaaa;
}
.woocommerce #review_form #respond .form-submit input {
    left: auto;
    background-color: #000000;
    color: #ffffff;
	font-size: 15px;
	    float: left;
    margin-top: 35px;
margin-left: 35px;
}
.woocommerce #reviews #comments ol.commentlist li .meta {
    color: #000;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p {
    font-weight: normal;
}

.woocommerce .star-rating {
    margin-right: 20px;
	font-size:15px;
	float:none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p {
    margin: 0px 0px 0.5em;
}
#commentform label {
    display: block;
}

.comment-form-rating{
    margin-left: 28px;
	padding-top: 30px;
}

.woocommerce #review_form #respond p.stars {
    display: inline-block;
    margin-left: 0px;
	font-size: 20px;
}
.woocommerce #review_form #respond p {
    margin: 0 0 0px;
}

.comment-reply-title{
	font-size: 20px;
}

#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;
    background-color: #aaaaaa;
}
.woocommerce .woocommerce-product-rating, .woocommerce-page .woocommerce-product-rating {
    float: none!important;
}

.woocommerce .star-rating span {
    float: none!important;
}

@media only screen and (max-width: 600px) {
.woocommerce .woocommerce-product-rating .star-rating {
    float: none!important;
	margin: 0 auto;
}
	.woocommerce div.product .woocommerce-product-rating {
    text-align: center;
}
}
.comment_container .woocommerce-review__dash,
.comment_container .woocommerce-review__published-date {
  display: none;
}

#commentform > p {
    padding-right: 20px;

}

.wpforms-form {
    background-color: #f1f1f1;
    padding: 20px 15px;
}

.wpforms-submit {
    background-color: #000000;
    padding: 10px 40px;
	color: #ffffff;
}

.one_fourth {
	margin-bottom: 0%;}

.fullwidth_comment_wrapper .comment .right {
    width: 90%;
}

.video-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }

.video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

h2.wc-pao-addon-name {
    font-size: 20px;
}

h2.wc-pao-addon-heading{
    font-size: 20px;
}

.product-addon-totals { display: none;}

.mejs-container { margin-bottom: 20px;}

.post_info_date { display: none;}

/* Remove Stripe card icon beside "Credit / Debit Card" */
.payment_method_stripe label img.stripe-cards-icon {
    display: none !important;
}

/* Square off buttons, cards, forms, and layout containers across the child theme */
button,
input,
select,
textarea,
input[type='submit'],
input[type='button'],
input[type='reset'],
.button,
.btn,
a.button,
.wpforms-form,
.wpforms-field input,
.wpforms-field select,
.wpforms-field textarea,
.wpforms-submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce ul.products li.product .prod_inner,
.woocommerce ul.products li.product img,
.woocommerce div.product div.images img,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.ui-datepicker,
.ui-datepicker-calendar td a,
.ui-datepicker-calendar td span,
#page_content_wrapper,
#page_content_wrapper .inner,
.content_wrapper,
.sidebar_content,
.post.type-post,
.post.type-page,
.card,
[class*='card'],
[class*='panel'],
[class*='box'] {
    border-radius: 0 !important;
}

/* 2026-07-17 (post-Drift follow-up): keep the "Add to Basket" button the theme
   orange in its DISABLED state too. WooCommerce core otherwise shows its default
   purple (#7F54B3) because the theme only styles the enabled .button.alt. This
   matches the enabled orange (#E9631B); only the disabled state is affected. */
.woocommerce div.product form.cart button.single_add_to_cart_button:disabled,
.woocommerce div.product form.cart button.single_add_to_cart_button:disabled[disabled],
.woocommerce div.product form.cart button.single_add_to_cart_button.disabled,
.woocommerce div.product form.cart button.single_add_to_cart_button:disabled:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button.disabled:hover {
    background-color: #E9631B;
    color: #fff;
    opacity: 1;
}


/* ---- 2026-09-13 performance pass: responsive images + video facade ---- */
/* Images now carry width/height attributes so the browser reserves space before they load.
   Height must follow the CSS width for them to stay responsive. */
.portfolio_filter_wrapper img, .portfolio_mixed_filter_wrapper img, #portfolio_filter_wrapper img,
#blog_grid_wrapper img, .blog_grid_wrapper img, .post_img img,
.image_wrapper img.preview, .sponser_content img, img.team_pic, .ppb_wrapper img[width][height] {
	height: auto;
}
.pds-video-facade { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; cursor: pointer; overflow: hidden; }
.pds-video-facade--abs { position: absolute; top: 0; left: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.pds-video-facade > img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.pds-video-facade .pds-video-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 50px; margin: -25px 0 0 -36px; background: rgba(0,0,0,.65); border-radius: 12px; transition: background .2s; }
.pds-video-facade .pds-video-play:after { content: ""; position: absolute; left: 29px; top: 14px; border-style: solid; border-width: 11px 0 11px 20px; border-color: transparent transparent transparent #fff; }
.pds-video-facade:hover .pds-video-play, .pds-video-facade:focus .pds-video-play { background: #E9631B; }
.pds-video-facade:focus { outline: 2px solid #E9631B; outline-offset: 2px; }
.pds-video-facade iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* Product gallery: show immediately. WooCommerce sets an inline opacity:0 and fades the gallery in
   after its script runs; that made the images appear later than the rest of the page. */
.woocommerce-product-gallery { opacity: 1 !important; transition: none !important; }

/* Grids: no fade-in. Gallery, portfolio and blog grid cells used to start invisible and fade in
   (0.7 s, staggered) once their image loaded; they now paint as soon as the image arrives. */
.gallery_type, .portfolio_type {
	opacity: 1 !important;
	visibility: visible !important;
	animation: none !important;
	-webkit-animation: none !important;
	transition: none !important;
}
/* Masonry-positioned grids (blog grids, masonry galleries) are laid out by JavaScript. Keep their
   items hidden only until that first layout has run, then show them instantly (no fade). */
#blog_grid_wrapper .post, .blog_grid_wrapper .post,
.portfolio_filter_wrapper.masonry .element, #portfolio_filter_wrapper.masonry .element {
	opacity: 0;
	transition: none !important;
	animation: none !important;
}
.pds-laid-out .post, .pds-laid-out.masonry .element, .pds-laid-out .element {
	opacity: 1 !important;
}
/* Uniform masonry galleries (every image the same aspect ratio, flagged server-side with .pds-uniform):
   the plain CSS grid already matches the masonry result apart from the 30px column gutter, so show the
   items straight away and add that gutter in CSS until masonry takes over (no JavaScript wait, no jump). */
.portfolio_filter_wrapper.masonry.pds-uniform .element, #portfolio_filter_wrapper.masonry.pds-uniform .element {
	opacity: 1;
}
@media only screen and (min-width: 768px) {
	.three_cols.gallery.pds-uniform:not(.pds-laid-out):not(.wide) .element.masonry:not(:nth-child(3n)) {
		margin-right: 30px;
	}
}

/* Icon fonts arrive after first paint. The header icons get their final glyph width up front
   (FontAwesome 4.7 advance widths, 1792 units/em) so nothing moves when the font swaps in. */
.fa-shopping-cart, .fa-clock-o, .fa-phone, .fa-angle-up, .fa-angle-down, .fa-angle-left, .fa-angle-right {
	display: inline-block;
	text-align: center;
}
.fa-shopping-cart { width: 0.929em; }
.fa-clock-o { width: 0.857em; }
.fa-phone { width: 0.786em; }
.fa-angle-up, .fa-angle-down { width: 0.643em; }
.fa-angle-left, .fa-angle-right { width: 0.357em; }
/* Icons are inline SVG masks in the icon's own colour: no icon font is loaded at all (2026-09-13).
   Above-the-fold: header cart, search, phone, hours, menu toggle/close, UberMenu arrows, back-to-top, share buttons.
   CSS-drawn: WooCommerce buy-button cart, mobile-menu arrows, menu back arrow, accordion arrow, tag cloud, slider arrows.
   Font Awesome 4, Themify and UberMenu's Font Awesome 5 stylesheets are dequeued in inc/pds-fonts.php. */
:root {
	--pds-i-shopping-cart: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M7 18c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49A1 1 0 0 0 20 4H5.21l-.94-2H1zm16 16c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z%22/%3E%3C/svg%3E");
	--pds-i-search: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2210.5%22 cy=%2210.5%22 r=%227%22/%3E%3Cline x1=%2221%22 y1=%2221%22 x2=%2215.8%22 y2=%2215.8%22/%3E%3C/svg%3E");
	--pds-i-phone: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z%22/%3E%3C/svg%3E");
	--pds-i-clock-o: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpolyline points=%2212 7 12 12 15.5 14%22/%3E%3C/svg%3E");
	--pds-i-angle-up: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpolyline points=%226 15 12 9 18 15%22/%3E%3C/svg%3E");
	--pds-i-angle-down: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpolyline points=%226 9 12 15 18 9%22/%3E%3C/svg%3E");
	--pds-i-angle-left: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpolyline points=%2215 6 9 12 15 18%22/%3E%3C/svg%3E");
	--pds-i-angle-right: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpolyline points=%229 6 15 12 9 18%22/%3E%3C/svg%3E");
	--pds-i-bars: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cline x1=%223%22 y1=%226%22 x2=%2221%22 y2=%226%22/%3E%3Cline x1=%223%22 y1=%2212%22 x2=%2221%22 y2=%2212%22/%3E%3Cline x1=%223%22 y1=%2218%22 x2=%2221%22 y2=%2218%22/%3E%3C/svg%3E");
	--pds-i-facebook: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z%22/%3E%3C/svg%3E");
	--pds-i-twitter: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z%22/%3E%3C/svg%3E");
	--pds-i-pinterest: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M12 0a12 12 0 0 0-4.37 23.17c-.1-.94-.2-2.4.04-3.44l1.41-5.97s-.36-.72-.36-1.78c0-1.67.97-2.92 2.17-2.92 1.02 0 1.52.77 1.52 1.69 0 1.03-.66 2.57-1 4-.28 1.2.6 2.17 1.78 2.17 2.13 0 3.77-2.25 3.77-5.5 0-2.87-2.06-4.88-5.01-4.88-3.41 0-5.42 2.56-5.42 5.21 0 1.03.4 2.14.89 2.74.1.12.11.22.08.34l-.33 1.36c-.05.22-.17.27-.4.16-1.5-.7-2.43-2.88-2.43-4.64 0-3.78 2.74-7.25 7.91-7.25 4.15 0 7.38 2.96 7.38 6.92 0 4.13-2.6 7.45-6.22 7.45-1.21 0-2.36-.63-2.75-1.38l-.75 2.85c-.27 1.04-1 2.35-1.49 3.15A12 12 0 1 0 12 0z%22/%3E%3C/svg%3E");
	--pds-i-envelope: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/%3E%3Cpolyline points=%222 6 12 13 22 6%22/%3E%3C/svg%3E");
	--pds-i-share-alt: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2218%22 cy=%225%22 r=%223%22/%3E%3Ccircle cx=%226%22 cy=%2212%22 r=%223%22/%3E%3Ccircle cx=%2218%22 cy=%2219%22 r=%223%22/%3E%3Cline x1=%228.59%22 y1=%2213.51%22 x2=%2215.42%22 y2=%2217.49%22/%3E%3Cline x1=%2215.41%22 y1=%226.51%22 x2=%228.59%22 y2=%2210.49%22/%3E%3C/svg%3E");
	--pds-i-times: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cline x1=%226%22 y1=%226%22 x2=%2218%22 y2=%2218%22/%3E%3Cline x1=%2218%22 y1=%226%22 x2=%226%22 y2=%2218%22/%3E%3C/svg%3E");
	--pds-i-tag: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z%22/%3E%3Cline x1=%227%22 y1=%227%22 x2=%227.01%22 y2=%227%22/%3E%3C/svg%3E");
}
i.fa-shopping-cart, i.fa-search, i.fa-phone, i.fa-clock-o, i.fa-angle-up, i.fa-angle-down, i.fa-angle-left, i.fa-angle-right, i.fa-bars, i.fa-facebook, i.fa-twitter, i.fa-pinterest, i.fa-envelope, i.fa-share-alt, i.fa-times {
	display: inline-block;
	height: 1em;
	vertical-align: -0.125em;
	background-color: currentColor !important; /* UberMenu resets its icons' background to transparent */
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: contain; mask-size: contain;
	font-family: inherit !important;
}
i.fa-shopping-cart::before, i.fa-search::before, i.fa-phone::before, i.fa-clock-o::before, i.fa-angle-up::before, i.fa-angle-down::before, i.fa-angle-left::before, i.fa-angle-right::before, i.fa-bars::before, i.fa-facebook::before, i.fa-twitter::before, i.fa-pinterest::before, i.fa-envelope::before, i.fa-share-alt::before, i.fa-times::before { content: none !important; }
i.fa-search { width: 0.929em; }
i.fa-bars, i.fa-times, i.fa-facebook, i.fa-twitter, i.fa-pinterest, i.fa-envelope, i.fa-share-alt { width: 1em; }
i.fa-shopping-cart { -webkit-mask-image: var(--pds-i-shopping-cart); mask-image: var(--pds-i-shopping-cart); }
i.fa-search { -webkit-mask-image: var(--pds-i-search); mask-image: var(--pds-i-search); }
i.fa-phone { -webkit-mask-image: var(--pds-i-phone); mask-image: var(--pds-i-phone); }
i.fa-clock-o { -webkit-mask-image: var(--pds-i-clock-o); mask-image: var(--pds-i-clock-o); }
i.fa-angle-up { -webkit-mask-image: var(--pds-i-angle-up); mask-image: var(--pds-i-angle-up); }
i.fa-angle-down { -webkit-mask-image: var(--pds-i-angle-down); mask-image: var(--pds-i-angle-down); }
i.fa-angle-left { -webkit-mask-image: var(--pds-i-angle-left); mask-image: var(--pds-i-angle-left); }
i.fa-angle-right { -webkit-mask-image: var(--pds-i-angle-right); mask-image: var(--pds-i-angle-right); }
i.fa-bars { -webkit-mask-image: var(--pds-i-bars); mask-image: var(--pds-i-bars); }
i.fa-facebook { -webkit-mask-image: var(--pds-i-facebook); mask-image: var(--pds-i-facebook); }
i.fa-twitter { -webkit-mask-image: var(--pds-i-twitter); mask-image: var(--pds-i-twitter); }
i.fa-pinterest { -webkit-mask-image: var(--pds-i-pinterest); mask-image: var(--pds-i-pinterest); }
i.fa-envelope { -webkit-mask-image: var(--pds-i-envelope); mask-image: var(--pds-i-envelope); }
i.fa-share-alt { -webkit-mask-image: var(--pds-i-share-alt); mask-image: var(--pds-i-share-alt); }
i.fa-times { -webkit-mask-image: var(--pds-i-times); mask-image: var(--pds-i-times); }

/* Buy / add-to-basket buttons: the cart glyph the theme placed 25px to the left of the label. */
.woocommerce #page_content_wrapper a.button::before, .woocommerce-page #page_content_wrapper a.button::before, .woocommerce .products a.button::before { content: '' !important; font-family: inherit !important; display: inline-block; width: 1em; height: 1lh; vertical-align: -0.125em; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: 1em 1em; mask-size: 1em 1em; -webkit-mask-image: var(--pds-i-shopping-cart); mask-image: var(--pds-i-shopping-cart); }
/* Mobile off-canvas menu: submenu arrow and the "back" arrow. */
.mobile_main_nav li.menu-item-has-children > a::after { content: '' !important; font-family: inherit !important; display: inline-block; width: 1em; height: 1lh; vertical-align: -0.125em; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: 1em 1em; mask-size: 1em 1em; -webkit-mask-image: var(--pds-i-angle-right); mask-image: var(--pds-i-angle-right); }
#menu_back::before { content: '' !important; font-family: inherit !important; display: inline-block; width: 1em; height: 1lh; vertical-align: -0.125em; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: 1em 1em; mask-size: 1em 1em; -webkit-mask-image: var(--pds-i-angle-left); mask-image: var(--pds-i-angle-left); }
/* Accordion (tg_accordion / jQuery UI) header arrow. */
.ui-accordion .ui-accordion-header .ui-icon::after { content: '' !important; font-family: inherit !important; display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-image: var(--pds-i-angle-down); mask-image: var(--pds-i-angle-down); }
.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-s::after { -webkit-mask-image: var(--pds-i-angle-up); mask-image: var(--pds-i-angle-up); }
/* Tag cloud / tag links. */
.widget_tag_cloud div a::before, .tag_cloud a::before { content: '' !important; font-family: inherit !important; display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-image: var(--pds-i-tag); mask-image: var(--pds-i-tag); }
/* Flexslider (testimonial / image sliders) prev-next arrows: 30px white glyphs centred in the 60px buttons. */
.flex-direction-nav a::before { content: '' !important; font-family: inherit !important; display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; background-color: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; width: 30px; height: 60px; display: block; margin: 0 auto; background-color: #fff; -webkit-mask-image: var(--pds-i-angle-left); mask-image: var(--pds-i-angle-left); }
.flex-direction-nav a.flex-next::before { -webkit-mask-image: var(--pds-i-angle-right); mask-image: var(--pds-i-angle-right); }
/* Marker read by the inline head script (inc/pds-fonts.php): once this custom property is visible the full
   stylesheet has applied, and CSS transitions are switched back on. Until then a rule that arrives after first
   paint (critical CSS first, full CSS later) must not animate, e.g. the gallery hover zoom's 1 s transition. */
:root { --pds-css: 1; }
/* Gallery tiles: no zoom and no transition, at rest or on hover (Paul, 2026-09-13). The theme's grid
   CSS gave every tile "transition: all 1s", a resting scale(1.02) on gutter-less layouts and a 4.5 s
   scale(1.1) zoom on hover. */
.gallery .element img, .gallery .element:hover img, .gallery .element a:hover img,
.gallery .element .gallery_type img, .gallery .element .portfolio_type img,
.two_cols.gallery.wide .element img, .three_cols.gallery.wide .element img, .four_cols.gallery.wide .element img, .five_cols.gallery.wide .element img,
.three_cols.gallery.mixed_grid .element img {
	transform: none !important;
	transition: none !important;
	/* The theme also forced a GPU layer per tile (backface-visibility: hidden) for the zoom; without the zoom
	   it only risks a compositor flash as each image texture uploads. */
	-webkit-backface-visibility: visible !important;
	backface-visibility: visible !important;
	will-change: auto !important;
}
