/*
Theme Name: Finnik
Theme URI: http://themes.uxbarn.com/wp/finnik/
Description: Finnik is simply a beautiful WordPress theme for photographers. <a href="https://uxbarn.com">View more products on our website</a>.
Author: UXBARN
Author URI: https://uxbarn.com
Version: 2.1.0
License: GPL, ThemeForest License
License URI: http://codex.wordpress.org/GPL, http://themeforest.net/licenses
Tags: one-column, grid-layout, custom-background, custom-colors, custom-menu, custom-logo, editor-style, featured-images, sticky-post, theme-options, threaded-comments, translation-ready, photography, portfolio
Text Domain: finnik
*/


/* Table of Content
 ==================================================
 #Reset
 #General Styles
 #Site Structures
 #Forms
 #Elements
 #Plugins and Widgets
 #Responsive
*/


/* #Reset
================================================== */
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	margin: 0;
	padding: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

body {
	line-height: 1;
	height: 100%;
	margin: 0;
	padding: 0;
}

ol,
ul {
	list-style: none
}

blockquote,
q {
	quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}



/* #General Styles
================================================== */
*:focus {
	/*outline: none;*/
}

html {
	-webkit-text-size-adjust: 100%;
	/* Prevent font scaling in landscape while allowing user zoom */
}

body {
	background: #fff;
	color: #050505;
	font-family: 'Rubik', sans-serif;
	font-size: 12px;
	/* Base font size */
	font-weight: 400;
	letter-spacing: 0.5px;
	line-height: 1.6;
}

a,
a:visited {
	color: #050505;
	text-decoration: none;
}

a:hover {
	color: #050505;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #050505;
	font-family: 'Rubik', sans-serif;
	letter-spacing: 1px;
	margin-bottom: 0.8em;
}

h1 {
	font-size: 1.8em;
	/* ~28/16 */
}

h2 {
	font-size: 1.5em;
	/* ~24/16 */
}

h3 {
	font-size: 1.375em;
	/* ~22/16 */
}

h4 {
	font-size: 1.25em;
	/* ~20/16 */
}

h5 {
	font-size: 1.125em;
	/* ~18/16 */
	text-transform: uppercase;
}

h6 {
	font-size: 1em;
	/* ~16/16 */
	text-transform: uppercase;
}

address {
	font-style: italic;
}

p,
address,
dl,
pre,
table {
	margin-bottom: 1.6em;
}

p:last-child {
	margin-bottom: 0;
}

ul,
ol {
	margin: 0 0 1.6em 1.6em;
}

ul ul,
ul ol,
ol ul,
ol ol {
	list-style: circle;
	margin-top: 0.8em;
	margin-bottom: 0.8em;
}

ul {
	list-style: square;
}

ol {
	list-style: decimal;
}

.children {
	margin-top: 0.8em;
}

li {
	margin-bottom: 0.8em;
}

img {
	height: auto;
	max-width: 100%;
}

img.border {
	border: 1px solid #eee;
}

b,
strong {
	font-weight: 700;
}

i,
em {
	font-style: italic;
}

form {
	margin-bottom: 0;
}

code,
kbd,
tt,
pre {
	background: #f8f8f8;
	box-sizing: border-box;
	color: #000;
	display: inline-block;
	font-family: Courier, serif;
	font-size: 1em;
	padding: 0 6px;
}

pre {
	box-sizing: border-box;
	overflow: auto;
	padding: 12px;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	width: 100%;
}

sub {
	font-size: x-small;
	vertical-align: sub;
}

sup {
	font-size: x-small;
	vertical-align: super;
}

q,
var {
	font-style: italic;
}

table {
	border: 1px solid #e7e7e7;
	border-spacing: 0;
	border-collapse: collapse;
	width: 100%;
}

table th {
	color: #3b3b3b;
	font-size: 1em;
	font-weight: bold;
}

table th,
table td {
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 8px;
	text-align: left;
	vertical-align: middle;
}

table tr:hover {}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.6em 1.6em;
}

abbr,
acronym {
	text-transform: uppercase;
}

hr {
	border: 0;
	border-top: 1px solid #eee;
	margin: 3.6em 0;
}

blockquote {
	box-sizing: border-box;
	border-left: 2px solid #ccc;
	font-size: 1.4em;
	font-weight: 400;
	margin: 0 auto 1.6em;
	padding: 0.8em 1.6em;
}

blockquote p {
	font-size: 1em;
	font-style: italic;
	line-height: 1.8;
	margin-top: 0;
	margin-bottom: 0;
}

cite {
	font-style: normal;
	font-weight: 700;
	letter-spacing: 1px;
	margin-top: 1.6em;
	text-transform: uppercase;
}

blockquote cite {
	display: block;
	font-size: 0.7em;
}

blockquote cite::before {
	content: '―';
	padding-right: 6px;
}

mark {
	background: inherit;
	color: inherit;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.visually-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.no-opacity {
	opacity: 0;
}

.content-margin-top {
	margin-top: 4.7%;
	/* 90/1900 */
}

.no-padding,
.no-padding .section-content {
	padding: 0 !important;
}

.no-top-padding {
	padding-top: 0 !important;
}

.grayscale {
	-webkit-filter: grayscale(100%);
	/* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}

.less-opacity {
	opacity: 0.4;
}

.no-border {
	border: 0;
}

.full-screen-bg {
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: fixed;
	background-size: cover;
}



/*** WP Required CSS ***/
.alignleft {
	float: left;
	margin: 0 1.6em 0.8em 0;
}

.alignright {
	float: right;
	margin: 0 0 0.8em 1.6em;
}

.aligncenter {
	float: none;
	margin: auto;
	text-align: center;
}

img.aligncenter {
	display: block;
}

.alignwide {
	margin-left: -6%;
	/* 40/660 */
	margin-right: -6%;
	max-width: 740px;
	width: auto;
}

.alignfull {
	margin-left: -12.86%;
	/* 85/660 */
	margin-right: -12.86%;
	max-width: 830px;
	width: auto;
}

.bypostauthor {
	width: auto;
}

/* This class is used with WP 'figure' tags */
.wp-caption {
	margin-bottom: 1.6em;
	max-width: 100%;
}

.wp-caption-text,
.gallery-item .gallery-caption,
figcaption {
	color: inherit;
	font-size: 0.916em;
	margin-top: 0.2em;
	text-align: center;
}

.wp-caption-text {
	font-size: 0.916em;
	margin-top: 0.2em;
	text-align: center;
}

.says,
/* .says class is used in the post comments */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	/* many screen reader and browser combinations announce broken words as they would appear visually */
	word-wrap: normal !important;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar */
}

.sticky .post-title::before {
	content: '\f2a6';
	font-family: 'Ionicons';
	margin-right: 0.8em;
}



/* #Site Structures
================================================== */
main {
	display: block;
}

main a {
	border-bottom: 1px solid #050505;
	padding-bottom: 1px;
}

#root-container {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}

.layout-component {
	float: left;
	min-height: 500px;
	margin-bottom: 4.6%;
	/* 70/1500 */
	margin-top: 4.6%;
	/* 70/1500 */
}

#side-container {
	width: 20%;
	/* Фиксированные 20% */
	box-sizing: border-box;
	padding-top: 4.6%;
}

.side-fixed #side-container.layout-component {
	float: none;
	margin-right: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.site-menu {
	width: 100%;
}

.menu-list {
	width: 50%;
}

.side-fixed #side-container {
	position: fixed;
	margin-right: 0;
	margin-top: 120px;
	padding-top: 0;
	width: 280px;
	z-index: 99;
}


.site-logo {
	/*margin-bottom: 14%;*/
	/* 40/280 */
	margin-bottom: 30px;
	position: relative;
	width: 100%;
	width: 50%;
	display: flex;
	justify-content: flex-end;
}

.site-logo a,
.site-title {
	display: block;
	font-size: 25px !important;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 1;
	margin-bottom: 0;
	text-transform: uppercase;
	/* width: 50%; */
}

.site-title {
	text-align: -webkit-right;
}

.site-logo a {
	width: min-content;
	text-align: right;
	font-weight: 900;
}

.site-title a {
	color: #050505;
}

.tagline {
	display: block;
	font-size: 0.9em;
	letter-spacing: .5px;
	margin-top: 6px;
}

/*** Menu ***/
.site-menu {
	margin-bottom: 4.8em;
}

.menu-style {
	letter-spacing: 1px;
	list-style: none;
	margin-left: 0;
	text-transform: uppercase;
	text-align: right;
}

.menu-style li {
	line-height: 1.6;
	margin: 0;
	/* left: 12px; */
	/* padding-right: 12px; */
	position: relative;
}

.site-logo.active::after,
.menu-list>.active::after,
.menu-list>.current-menu-item::after,
.menu-list>.current-menu-parent::after,
.menu-list>.current-menu-ancestor::after {
	content: '\f3d6';
	font-family: 'Ionicons';
	font-size: 30px;
	font-weight: 400;
	position: absolute;
	line-height: 1;
	/*right: -70px;*/
	right: -31.8%;
	/* -70/220 */
	top: -6px;
}

.site-logo.active::after {
	top: 0;
	right: -37.7%;
}

.menu-style a:hover,
.menu-style>li:hover>a,
.sub-menu>li:hover>a {
	border-bottom: 1px solid;
}

.sub-menu {
	background: #f8f8f8;
	box-sizing: border-box;
	display: none;
	font-size: 12px;
	list-style: none;
	margin: 0;
	padding: 40px;
	position: absolute;
	left: 100%;
	top: -40px;
	text-transform: none;
	text-align: left;
	width: 220px !important;
	z-index: 99;
}

.sub-menu li {
	left: 0;
	margin-bottom: 0.4em;
}

.sub-menu .sub-menu {
	background: #f1f1f1;
	left: 90%
}

.blank-menu {
	opacity: 0;
}

/*** Mobile Menu ***/
#mobile-menu {
	display: none;
	line-height: 0;
	text-align: right;
}

/*** Mobile menu toggle ***/
#mobile-menu-toggle {
	color: #050505;
	display: inline-block;
	font-size: 1em;
	font-weight: 500;
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
}

#mobile-menu-toggle i {
	font-size: 1.8em;
	margin-left: 8px;
	vertical-align: middle;
}

/*** Mobile menu panel ***/
#mobile-menu-entity {
	background: #fff;
	color: #050505;
}

#mobile-menu-entity li {
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/*** Search Button and Panel ***/
.search-button i {
	margin-right: 6px;
	vertical-align: middle;
}

#search-panel-wrapper {
	background: rgb(255, 255, 255);
	background: rgba(255, 255, 255, 0.9);
	display: none;
	font-size: 8em;
	/* 128/16 (16 = body's font-size) */
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 9999;
}

#inner-search-panel {
	height: 100%;
	position: relative;
	width: 100%;
}

#search-close-button {
	color: #00101f;
	font-size: 1em;
	line-height: 0;
	margin: 0.8em 1.6em 0 0;
	position: absolute;
	right: 0;
	top: 0;
}

#search-panel-wrapper .search-form {
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

#search-panel-wrapper .search-field {
	background: none;
	border: 0;
	font-size: 1em;
	margin-bottom: 180px;
	width: 60%;
}

.copyright-social-wrapper {
	overflow: hidden;
	width: 50%;
}

.copyright {
	font-size: 0.9em;
	color: #aaa;
	margin-bottom: 0.8em;
}

.copyright a,
.copyright a:hover {
	color: #050505;
}

.social-icon-wrapper {
	overflow: hidden;
	text-align: right;
}

.social-icons {
	float: right;
	font-size: 1.2em;
	list-style: none;
	margin: 0;
	overflow: hidden;
}

.social-icons a {
	color: #aaa;
}

.social-icons a:hover {
	color: #050505;
}

.social-icons li {
	margin-left: 9px;
	display: inline;
}

.social-icons li:first-child {
	margin-left: 0;
}


/*** Content ***/
#content-container {
	width: 70%;
	/* Фиксированные 70% */
	margin: 4.6% 0;
	box-sizing: border-box;
}

.side-fixed #content-container {
	margin-left: auto;
	width: 85%;
}


/*** Blog List ***/
.blog-list,
.post-item {
	margin-bottom: 8.5%;
	/* 90/1050 */
}

.single-post .post-item {
	/*margin-bottom: 0;*/
}

.post-image {
	display: inline-block;
	margin-bottom: 4.7%;
	/* 50/1050 */
	width: 82%;
	/* ~855/1050 */
}

.post-image img {
	display: block;
}

.post-title,
.section-title {
	float: left;
	font-size: 1.5em;
	font-weight: 500;
	margin-right: 5.7%;
	/* 60/1050 */
	margin-top: -4px;
	width: 50.66%;
	/* 280/1050 */

	-ms-word-wrap: break-word;
	word-wrap: break-word;
}

.tax-uxbarn_portfolio_tax .top-section {
	display: none;
}

.show-category-title {
	display: block !important;
}

.top-section .post-title {
	font-size: 2em;
	letter-spacing: 2px;
	margin-bottom: 0;
	text-transform: uppercase;
}

.post-title a {
	border: 0;
	padding-bottom: 0;
}

.post-excerpt,
.post-content,
.section-content {
	float: left;
	margin-right: 11.42%;
	/* 120/1050 */
	;
	width: 43.33%;
	/* 455/1050 */

	-ms-word-wrap: break-word;
	word-wrap: break-word;
}

.post-excerpt {
	/*margin-bottom: 0;*/
}

.single-post .post-content {
	/*min-height: 280px;*/
}

.top-section .post-content {
	margin-top: 9px;
}

.post-content-container,
.content-section-wrapper {
	margin-bottom: 8.5%;
	/* 90/1050 */
}

.post-content-container.no-image {
	margin-top: 170px;
}

.blog-list .post-content-container.no-image {
	margin-top: 0;
}

.post-meta-wrapper {
	float: left;
	width: 12.8%;
	/* 135/1050 */
}

.post-meta {
	font-size: 0.83em;
	letter-spacing: 2px;
	line-height: 1.6em;
	list-style: none;
	margin: 0;
	text-transform: uppercase;

	-ms-word-wrap: break-word;
	word-wrap: break-word;
}

.post-meta a {
	border: 0;
	padding-bottom: 0;
}

.single-post .post-meta {
	margin-bottom: 4.8em;
}

.meta-categories-title,
.meta-tags-title {
	font-weight: 700;
}


.section-title {
	font-size: 1.25em;
}

.author-social {
	float: left;
	font-size: 16px;
	list-style: none;
	margin: 0;
	overflow: hidden;
	/*width: 12.8%;*/
	/* 135/1050 */
}

.author-social li {
	float: left;
	margin-bottom: 0;
	margin-right: 12px;
}

.author-social li:last-child {
	margin-right: 0;
}

.author-social a {
	border: 0;
	padding-bottom: 0;
}


/*** Comments ***/
.comment-reply-title {
	font-size: 1.25em;
	margin-top: -4px;
}

.comment-list {
	font-size: 1em;
	list-style: none;
	margin-left: 0;
	margin-bottom: 13.1%;
	/* 60/455 */
}

.comment-list li {
	margin-bottom: 0;
}

.comment-list .children {
	list-style: none;
}

.comment-body {
	/*border-top: 1px solid #eaeaea;*/
	box-sizing: border-box;
	padding: 24px 0;
}

.comment-list>li:first-child>.comment-body {
	border-top: 0;
	padding-top: 0;
}

.comment-author-avatar {
	float: left;
	margin-right: 6.5%;
	/* 30/455 */
	width: 22.1%;
	/* ~100/455 */
}

.comment-content-wrapper {
	float: left;
	width: 71.4%;
	/* (355-30)/455 */
}

.comment-author {
	font-weight: 500;
}

.comment-date {
	font-size: 9px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.comment-content {
	margin: 1em 0;
	word-wrap: break-word;
}

.comment-awaiting-moderation {
	font-style: italic;
}

.comment-edit-link {
	float: right;
	font-style: normal;
	line-height: 1;
}

.comment-meta a {
	border: 0;
	padding-bottom: 0;
}

.comment-content:last-child p {
	margin-bottom: 0;
}

.reply a {
	border: 1px solid #ddd !important;
	font-size: .9em;
	padding: 3px 10px;
}

.comment-navigation {
	box-sizing: border-box;
	border-bottom: 1px solid #eaeaea;
	border-top: 1px solid #eaeaea;
	overflow: hidden;
	padding: 1.625em 0;
}

.comment-navigation a {
	border: 1px solid #ddd;
	padding: 0.4em 0.8em;
}

.comment-navigation .nav-previous,
.comment-navigation .nav-next {
	display: inline-block;
}

.comment-navigation .nav-next {
	float: right;
}

.comment-navigation .nav-previous a::before,
.comment-navigation .nav-next a::after {
	font-family: 'Ionicons';
	vertical-align: middle;
}

.comment-navigation .nav-previous a::before {
	content: '\f3d5';
	margin-right: 6px;
}

.comment-navigation .nav-next a::after {
	content: '\f3d6';
	margin-left: 6px;
}

.comment-list .pingback {
	font-style: italic;
}


/*** Blog List Pagination ***/
.numbers-pagination {
	clear: both;
	font-size: 1.6em;
}

.nav-links>* {
	margin-right: 12px;
}

/*** Post Pagination ***/
.page-links {
	font-weight: 500;
}

.page-links>span {
	margin: 0 8px;
}

.page-links>span:first-child {
	margin: 0;
}

.page-links a {
	margin: 0 6px;
}


/*** Portfolio Listing ***/
.portfolio-listing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: 0 auto;
	padding: 0 0px 0 20px;
	max-width: 1250px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}


.portfolio-item {
	width: 100%;
}

.portfolio-image-wrapper {
	position: relative;
	width: 100%;
	padding-top: 0px !important; 
	height: 500px ;/* По умолчанию квадратное соотношение */
	overflow: hidden;
}

@media only screen and (max-width: 1120px) and (min-width: 1100px) {
	.portfolio-image-wrapper {
		height: 340px;
	}
}

.portfolio-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.portfolio-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Обновленные медиа-запросы */
@media only screen and (max-width: 1024px) {
	.portfolio-listing {
		grid-template-columns: repeat(2, 1fr);
		/* На планшетах - две колонки */
		max-width: 850px;
	}

	.site-logo {
		justify-content: flex-start;
	}
}

@media only screen and (max-width: 768px) {
	.portfolio-listing {
		grid-template-columns: 1fr;
		/* На мобильных - одна колонка */
		max-width: 500px;
	}

	
}


/*** Portfolio Single Page ***/
.single-uxbarn_portfolio .post-content-container {
	margin-bottom: 5.7%;
	/* 60/1050 */
}

.image-wrapper,
.video-wrapper {
	display: inline-block;
	margin-bottom: 11.4%;
	/* 120/1050 */
	position: relative;
	display: flex;
}

.port-format-content {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: left;
	max-width: 100%;
}

.port-format-item {
	flex: 0 0 calc(33.333% - 14px);
	/* 3 items per row with gap */
	max-width: calc(33.333% - 14px);
	height: 350px !important;
	/* Принудительная фиксированная высота */
}

.image-wrapper {
	width: 100%;
	height: 350px !important;
	/* Принудительная фиксированная высота */
	margin-bottom: 0;
	display: block;
	/* Обеспечивает правильное отображение */
}

.image-wrapper img {
	width: 100% !important;
	/* Принудительная ширина на всю ширину родителя */
	height: 100% !important;
	/* Принудительная высота на всю высоту родителя */
	object-fit: cover !important;
	/* Обеспечивает заполнение всего контейнера с сохранением пропорций */
	display: block;
	/* Убирает возможные отступы */
}

.port-format-content .image-caption {
	display: none;
}

.video-wrapper {
	display: block;
}

.image-wrapper a {
	border: 0;
	display: contents;
	padding: 0;
}

.image-wrapper img {
	display: block;
}

.image-caption {
	margin-top: 1.1%;
	/*position: absolute;*/
	right: 0;
	/*text-align: right;*/
}

.image-caption,
.fancybox-title {
	box-sizing: border-box;
	font-family: inherit;
	font-size: 0.92em;
	margin-top: 1.15em;
	padding: 0 3%;
	text-align: center;
}

@media (max-width: 860px) {
	.port-format-content {
		flex-wrap: wrap;
	}

	.port-format-item {
		flex: 0 0 47%;
		max-width: 100%;
	}
}

@media (max-width: 400px) {
	.port-format-item {
		flex: 0 0 100%;
		max-width: 100%;
	}
}



/* #Forms
================================================== */
input,
textarea,
button,
select,
.button {
	box-sizing: border-box;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	padding: 8px;
	max-width: 100%;
}

input:focus,
textarea:focus {
	background: #fafafa;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="url"],
textarea,
select {
	border: 1px solid #ccc;
}

/* Ignore default styles when viewing on Safari */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="url"],
textarea,
select,
input[type="button"],
input[type="submit"],
.button,
.post-item .button,
.is-style-squared .wp-block-button__link {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
	font-weight: inherit;
}

select {
	/* Add an arrow for the drop down that works across browsers (especially for Safari when resetting the default style above) */
	background: #fff url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 95% 50%;

	min-width: 100px;
}

input[type="button"],
input[type="submit"],
button,
a.button,
.post-item .button,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: #000;
	background-color: #000;
	border: 0;
	color: #fff;
	cursor: pointer;
	border-radius: 4px;
	padding: 9px 24px;
}

input[type="button"],
input[type="submit"],
button,
a.button,
.post-item .button {
	border: 0;
}

.wp-block-button {
	margin-bottom: 1.6em;
}

input[type="button"]:hover,
input[type="submit"]:hover,
button:hover,
.button:hover {
	/*background: #050505;*/
}

.dummy-sub-form input,
.widget_search input[type="search"] {
	display: block;
	margin-bottom: 1.625em;
}

.error404 .section-content .search-field,
.search-results .section-content .search-field,
#no-results-section .section-content .search-field {
	width: 40%;
}

.search-field {
	width: 60%;
}

.search-results .search-form {
	margin-top: 12px;
}



/* #Elements
================================================== */

/*** Block Editor ***/

/* General */
.wp-block-quote.is-large,
.wp-block-quote.is-style-large,
.wp-block-audio,
.wp-block-embed,
.wp-block-group,
.wp-block-media-text {
	margin-bottom: 1.6em;
}

/* Quote */
.wp-block-pullquote {
	border: 0;
	border-top: 2px solid #ccc;
	border-bottom: 2px solid #ccc;
	margin-bottom: 1.6em;
	position: relative;
}

.wp-block-pullquote blockquote {
	border: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

.wp-block-pullquote p {
	font-size: 1em;
}

.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
	border: 0;
}

.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
	text-align: left;
}

.wp-block-quote.has-text-align-right {
	border-left: 0;
	border-right: 2px solid #ccc;
}

.wp-block-group {
	padding: 2.4em;
}



/*** Video ***/
.fluid-width-video-wrapper {
	padding-top: 56.15% !important;
	width: 100.3% !important;
}

.video-wrapper {
	overflow: hidden;
	position: relative;
	padding: 0;
	padding-bottom: 56.25% !important;
	/* 16:9 ratio*/
	max-width: 99.9%;
}

.video-format .video-wrapper {
	margin-bottom: 0;
}

.video-wrapper:last-child {
	margin-bottom: 0;
}

.video-wrapper iframe {
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.post-content .video-wrapper {
	margin-bottom: 1.6em;
}

.wp-block-embed .video-wrapper {
	margin-bottom: 0;
}



.fancybox-opened .fancybox-skin,
.fancybox-image {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.fancybox-title-outside-wrap {
	color: #050505;
	margin-top: 12px;
	text-align: center;
}


/*** Fancybox 3 Elements ***/
body.compensate-for-scrollbar {
	overflow: hidden !important;
}

.fancybox-container {
	z-index: 999999;
}

.fancybox-thumbs {
	background: #efefef;
}

.fancybox-thumbs__list a {
	height: 100px;
}

.fancybox-thumbs__list a::before {
	border-color: #050505;
	border-width: 2px;
}

.fancybox-progress {
	display: none !important;
}

.fancybox-caption {
	background: none;
	color: #050505;
	font-size: 0.92em;
	padding-bottom: 10px;
	text-align: center;
}

.fancybox-caption__body {
	box-sizing: border-box;
	background: rgba(248, 248, 248, 0.6);
	display: inline-block;
	padding: 0.8em 1.6em;
}

.fancybox-infobar {
	color: #fff;
	mix-blend-mode: normal;
}

.fancybox-is-open .fancybox-bg {
	background: rgba(248, 248, 248, 1);
	background: rgb(248, 248, 248);
	opacity: 1;
}


/*** WP Gallery ***/
.gallery,
.wp-block-gallery,
.wp-block-cover {
	margin-bottom: 1.625em;
}

.gallery-item {
	display: inline-block;
	margin-bottom: 1.6em;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-item a {
	border: 0;
}

.gallery-icon {
	line-height: 0;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}



/* #Plugins and Widgets
================================================== */

/*** Widget Area ***/
.theme-widget-area {
	background: #fafafa;
	border-top: 1px solid #bbb;
	box-sizing: border-box;
	color: #050505;
	/*height: 450px;*/
	padding: 5.7% 5.7% 0;
	/* 60/1050 */
}

.widget-column {
	float: left;
	margin-bottom: 0;
	margin-right: 3.8%;
}

.widget-column:last-child {
	margin-right: 0;
}

.widget-item li:last-child,
.widget-item table:last-child {
	margin-bottom: 0;
}

/* 1 column */
.widget-item {
	/*margin-bottom: 11.5%;*/
	/* 90/780 */
	padding-bottom: 11.5%;
	/* 90/780 */
	max-width: 100%;
}

/* 2 columns */
.w6.widget-column {
	width: 47.8%;
	/* (930-40)/2/930 */
}

.w6 .widget-item {
	/*margin-bottom: 20%;*/
	/* 90/445 */
	padding-bottom: 20%;
	/* 90/445 */
}

/* 3 columns */
.w4.widget-column {
	width: 30.4%;
	/* (930-80)/3/930 */
}

.w4 .widget-item {
	/*margin-bottom: 32%;*/
	/* 90/280 */
	padding-bottom: 32%;
	/* 90/280 */
}

/* 4 columns */
.w3.widget-column {
	width: 21.7%;
	/* (930-120)/4/930 */
}

.w3 .widget-item {
	/*margin-bottom: 45%;*/
	/* 90/200 */
	padding-bottom: 45%;
	/* 90/200 */
}

.widget-title {
	color: #050505;
	font-size: 1em;
	font-weight: 500;
	text-transform: uppercase;
}

.widget-title>a {
	border: 0;
	padding: 0;
}

/*** WP Widgets ***/
.widget_archive {}

.widget_categories>ul,
.widget_archive>ul,
.widget_recent_entries>ul,
.widget_pages>ul,
.widget_meta>ul,
.widget_recent_comments>ul,
.widget_rss>ul,
.widget_nav_menu .menu {
	list-style: none;
	margin: 0;
}

.widget_recent_entries .post-date {
	display: block;
	font-size: 9px;
	letter-spacing: 2px;
	margin-top: 6px;
	text-transform: uppercase;
}

.widget_search .search-field {
	width: 100%;
}

#wp-calendar th,
#wp-calendar td {
	padding: 0;
	text-align: center;
}



/*** Contact Form 7 ***/
.wpcf7 .wpcf7-text,
.wpcf7 .wpcf7-textarea {
	display: block;
	/*width: 100%;*/
}

.wpcf7 .wpcf7-textarea {
	width: 100%;
}

.wpcf7-form-control-wrap {
	display: block;
}

#content-container .wpcf7-not-valid {
	border-color: red;
}

span.wpcf7-not-valid-tip,
div.wpcf7-response-output {
	border: 0;
	font-size: 9px;
	font-weight: 400;
	letter-spacing: 1px;
	text-transform: uppercase;
}

span.wpcf7-not-valid-tip {
	color: red;
	/*position: absolute;*/
	margin-top: 6px;
	width: 100%;
}

div.wpcf7-response-output {
	font-size: 10px;
	margin: 0;
	padding: 0;
}

div.wpcf7-validation-errors {
	color: red;
}

div.wpcf7-mail-sent-ok {
	color: green;
}

/*** mmenu ***/
a.mm-close.mm-btn {
	color: inherit;
	left: auto !important;
	right: 0;
}

.mm-close:after,
.mm-close:before {
	border: 0;
	content: '';
	transform: none;
}

.mm-close::after {
	border: 0;
	content: '\f404';
	font-family: 'Ionicons';
	font-size: 24px;
	margin-top: 11px;
}

.portfolio-slider-section.desktop {
	display: block;
}

.portfolio-slider-section.mobile {
	display: none;
}

/* #Responsive
================================================== */
@media only screen and (max-width: 1550px) {

	#root-container {
		width: 1300px;
	}

	.portfolio-listing {
		max-width: 1050px !important;
	}

	.side-fixed #side-container {
		margin-top: 110px;
		/* padding-top: 145px; */
		width: 240px;
	}

	.post-content-container.no-image {
		margin-top: 145px;
	}

	.post-excerpt,
	.post-content,
	.section-content {
		margin-right: 5.7%;
		width: 49%;
	}

	#search-panel-wrapper {
		font-size: 6em;
	}

	#search-panel-wrapper .search-field {
		width: 70%;
	}

}

@media only screen and (max-width: 1350px) {

	#root-container {
		width: 1200px;
	}

	.portfolio-listing {
		max-width: 950px !important;
	}

	.side-fixed #side-container {
		margin-top: 110px;
		padding-top: 0;
		width: 220px;
	}

	.post-content-container.no-image {
		margin-top: 135px;
	}

	.post-excerpt {
		margin-bottom: 0;
	}

}

@media only screen and (max-width: 1250px) {

	#root-container {
		width: 1000px;
	}

	.portfolio-listing {
		max-width: 850px !important;
	}

	.side-fixed #side-container {
		margin-top: 110px;
		padding-top: 0;
		width: 185px;
	}

	.post-content-container.no-image {
		margin-top: 110px;
	}

	.post-image {
		width: 100%;
	}

	.post-title,
	.section-title {
		float: none;
		margin-left: 0%;
		width: 100%;
	}

	.post-excerpt,
	.post-content,
	.section-content {
		margin-left: 0%;
		margin-right: 10%;
		width: 70%;
	}

	.post-meta-wrapper {
		width: 20%;
	}

	.comment-author-avatar {
		width: 15%;
	}

	.comment-content-wrapper {
		width: 78%;
	}

}

@media only screen and (max-width: 1050px) {

	main .post-content-container.no-image {
		margin-top: 0;
	}

	.port-format-content {
		width: 90%;
	}

	#search-panel-wrapper {
		font-size: 5em;
	}

	#search-panel-wrapper .search-form {
		top: 30%;
	}

	.portfolio-category-title {
		bottom: -2em;
	}

	.portfolio-item-title {
		/*bottom: -8%;*/
		bottom: -2.4em;
	}

}

@media only screen and (max-width: 1023px) {

	/* Start changing layouts and activating the mobile menu from this media query and below */

	#root-container {
		width: 100%;
		flex-direction: column;
	}

	#side-container,
	.side-fixed #side-container {
		border-bottom: 1px solid #ddd;
		float: none;
		margin: 0;
		min-height: auto;
		overflow: hidden;
		padding: 25px 5% 20px !important;
		position: static;
		text-align: left;
		width: 100%;
	}

	.site-logo.active::after {
		display: none;
	}

	.site-logo {
		float: left;
		margin: 0;
		max-width: 40%;
	}

	.blank-menu {
		opacity: 1;
	}

	.blank-menu>a {
		opacity: 0;
	}

	.menu-list {
		display: none;
	}

	.site-menu {
		float: right;
		margin-top: 6px;
		margin-bottom: 0;
	}

	#mobile-menu,
	.other-list {
		display: inline-block;
		margin: 0;
	}

	.other-list {
		margin-right: 12px;
	}

	.menu-style>li:hover>a,
	.other-list a:hover {
		border: 0;
	}

	.search-button {
		font-size: 14px;
		padding: 12px;
	}

	.search-button span {
		display: none;
	}

	.copyright-social-wrapper {
		width: 100%;
		border-top: 1px solid #ddd;
		display: none;
		padding: 25px 5% 20px;
		box-sizing: border-box;
		display: flex !important;
		justify-content: center;
	}

	.copyright {
		float: left;
	}

	#content-container,
	.side-fixed #content-container {
		float: none;
		margin: 4.6% auto;
		width: 100%;
	}

	.port-format-content {
		width: 100%;
	}

	.tax-uxbarn_portfolio_tax .top-section {
		display: block;
	}
	.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
		position: absolute;
		z-index: 999;
		bottom: 75px !important;
		        display: flex
;
        justify-content: space-between;
		box-sizing: border-box;
		width: 100%;
		padding: 0 15px;
	}
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		    border: 1px solid #fff;
    border-radius: 100%;

		
	}

}



@media only screen and (max-width: 782px) {

	/* Fix the position of the admin bar when using with mmenu */
	.admin-bar .mm-slideout {
		top: -46px;
	}

	.mm-opened .admin-bar .mm-slideout {
		top: 0;
	}

	.mm-opened body.admin-bar {
		margin-top: -46px;
	}

	.admin-bar .mm-slideout,
	.mm-opened .admin-bar .mm-slideout {
		padding-top: 46px;
		/* WP admin bar height */
	}

}



@media only screen and (max-width: 768px) {

	#content-container,
	.side-fixed #content-container {
		width: 100%;
	}

	.post-excerpt,
	.post-content,
	.section-content {
		margin-right: 5%;
		width: 75%;
	}

	.top-section .post-title {
		font-size: 1.5em;
	}

	.top-section {
		margin-bottom: 6.5%;
	}

	.theme-widget-area .widget-column {
		float: none;
		width: 100%;
	}

	.theme-widget-area .widget-item {
		padding-bottom: 10%;
	}

	#root-container .portfolio-item-title {
		font-size: 12px;
	}

}

@media only screen and (max-width: 600px) {

	.is-home {
		padding: 0 !important
	}

	.is-home #side-container {
		padding: 25px 30px 20px !important;
	}

	.alignleft,
	.alignright {
		float: none !important;
	}

	.alignwide,
	.alignfull {
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
	}



	.copyright-social-wrapper,
	.copyright,
	.social-icons {
		float: none;
		text-align: center;
		box-sizing: border-box;
	}

	.social-icons li {
		display: inline-block;
		float: none;
	}

	.col2 .portfolio-category,
	.col3 .portfolio-item,
	.portfolio-category,
	.portfolio-item {
		margin-right: 8%;
		margin-bottom: 2%;
		width: 45%;
	}

	.col3 .portfolio-item:nth-child(even),
	.portfolio-category:nth-child(even) {
		margin-right: 0;
	}

	.portfolio-item-title {
		/*bottom: -9%;*/
		bottom: -2em;
	}

}

@media only screen and (max-width: 480px) {

	#content-container,
	.side-fixed #content-container {
		margin-bottom: 20%;
	}

	#search-panel-wrapper {
		font-size: 2em;
	}

	.search-field {
		font-size: 0.8em;
		margin-top: 20%;
	}

	.post-excerpt,
	.post-content,
	.section-content,
	.post-meta-wrapper,
	.author-social {
		float: none;
		margin: 0;
		width: 100%;
	}

	.post-excerpt,
	.post-content {
		margin-bottom: 10%;
	}

	.post-meta-wrapper {
		overflow: hidden;
	}

	.single-post .post-meta {
		margin-bottom: 5%;
		overflow: hidden;
	}

	.single-post .post-meta:last-child {
		margin-bottom: 0;
	}

	.post-meta li {
		float: left;
	}

	.post-meta li::after {
		content: '//';
		padding: 0 8px 0;
	}

	.post-meta li:last-child::after {
		content: '';
		padding-right: 0;
	}

	.meta-categories li::after,
	.meta-tags li::after {
		content: ',';
		padding: 0;
		margin-right: 6px;
	}

	.meta-categories .meta-categories-title::after,
	.meta-tags .meta-tags-title::after {
		content: '';
		margin-right: 0;
	}

	.meta-categories .meta-categories-title,
	.meta-tags .meta-tags-title {
		float: none;
	}

	.post-content-container,
	.content-section-wrapper {
		margin-bottom: 15%;
	}

	.top-section {
		margin-bottom: 6.5%;
	}

	.section-content {
		margin-bottom: 3%;
	}

	.comment-author-avatar {
		display: none;
	}

	.comment-content-wrapper {
		width: 100%;
	}
	.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
		position: absolute;
		z-index: 999;
		bottom: 40px !important;
		        display: flex
;
		box-sizing: border-box;
		width: 100%;
		padding: 0 15px;
        justify-content: space-between;
	}

}

@media only screen and (max-width: 380px) {

	.filter-section {
		gap: 10px;
		padding: 0 10px;
	}

	.price-filter {
		flex-direction: column;
		width: 100%;
		gap: 8px;
	}

	.price-filter label {
		width: 100%;
		text-align: center;
		margin-bottom: 5px;
	}

	/* Контейнер для инпутов цен */
	.price-inputs-container {
		display: flex;
		gap: 8px;
		width: 100%;
	}

	.price-filter input[type="number"] {
		flex: 1;
		min-width: 0; /* Позволяет инпутам сжиматься меньше их контента */
		font-size: 13px;
		padding: 0 8px;
	}

	.filter-apply {
		width: 100%;
		margin-top: 5px;
	}

	.category-filter {
		flex-direction: column;
		align-items: center;
		gap: 5px;
		width: 100%;
	}

	.category-select {
		width: 100%;
	}

}

.portfolio-listing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: 0 auto;
	padding: 0 0 0 20px;
	max-width: 1250px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.portfolio-item {
	width: 100%;
}

.portfolio-image-wrapper {
	position: relative;
	width: 100%;

	overflow: hidden;
}

.portfolio-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.portfolio-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Обновленные медиа-запросы */
@media only screen and (max-width: 1024px) {
	.portfolio-listing {
		grid-template-columns: repeat(2, 1fr);
		max-width: 850px;
	}

	.side-fixed #side-container.layout-component {
		flex-direction: row;
	}

	.site-menu {
		display: flex;
		justify-content: flex-end;
	}
}

@media only screen and (max-width: 768px) {
	.portfolio-listing {
		grid-template-columns: 1fr;
		max-width: 500px;
	}

	
}

.portfolio-image-wrapper {
	position: relative;
}

.price-circle {
	position: absolute;
	top: 30px;
	right: 0;
	padding: 8px 15px;
	background: rgba(0, 0, 0, 0.85);
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.price-value {
	color: #ffffff;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.8px;
}

.portfolio-item:hover .price-circle {
	opacity: 1;
}

/* Стили для SOLD OUT */
.price-circle.sold-out {
	background: #000;
	opacity: 1;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Показываем SOLD OUT всегда на мобильных */
@media only screen and (max-width: 1024px) {
	.price-circle.sold-out {
		opacity: 1;
	}
}

/* Медиа запрос для планшетов и мобильных */
@media only screen and (max-width: 1024px) {
	.price-circle {
		padding: 6px 12px;
	}

	.price-value {
		font-size: 10px;
	}

	/* Показываем SOLD OUT всегда на мобильных и сохраняем красный цвет */
	.price-circle.sold-out {
		opacity: 1;
/* 		background: rgba(220, 0, 0, 0.85); */
	}

	/* Остальные бейджи все еще появляются при наведении */
	.portfolio-item:hover .price-circle:not(.sold-out) {
		opacity: 1;
	}
}

@media only screen and (max-width: 1550px) {
	#root-container {
		width: 1300px;
	}

	.portfolio-listing {
		max-width: 1050px !important;
	}

}

@media only screen and (max-width: 1350px) {
	#root-container {
		width: 1200px;
	}

	.portfolio-listing {
		max-width: 950px !important;
	}

	.price-circle {
		padding: 6px 12px;
		top: 20px;
	}
}

@media only screen and (max-width: 1250px) {
	#root-container {
		width: 1000px;
	}

	.portfolio-listing {
		max-width: 800px !important;
	}
}

@media only screen and (max-width: 1050px) {
	#root-container {
		width: 900px;
	}

	.portfolio-listing {
		max-width: 700px !important;
	}
}

@media only screen and (max-width: 900px) {
	#root-container {
		width: 100%;
		padding: 0 20px;
	}

	.portfolio-listing {
		max-width: 900px !important;
		padding-left: 0;
	}
}

@media only screen and (max-width: 768px) {
	.portfolio-list-section {
		/* display: flex;
		justify-content: center; */
	}
	.portfolio-slider-section.mobile {
		aspect-ratio: 16/17;
	}
	.portfolio-slider-section {
		height: auto !important;
	}
	.portfolio-listing {
		/* max-width: 450px !important; */
		grid-template-columns: repeat(2, 1fr);
		padding: 0;
		margin: 0 auto;
	}
	.portfolio-slider-section.desktop {
		display: none;
	}

	.portfolio-slider-section.mobile {
		display: block;
	}

}

@media only screen and (max-width: 500px) {
	.portfolio-listing {
		max-width: 100% !important;
		grid-template-columns: 1fr;
	}
}


#menu-item-411 a {
	color: #808080;
	/* или любой другой оттенок серого */
}

.animate__opacity {
	opacity: 0;
}

.animate__animated.animate__fadeInUp {
	animation-duration: 1s;
	animation-fill-mode: forwards;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.buttons-container {
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 20px 0;
}

.favorite-button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
}

.heart-icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z' fill='none' stroke='%23333' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	transition: all 0.3s;
}

.heart-icon.active {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z' fill='%23FF0000' stroke='%23FF0000' stroke-width='2'/%3E%3C/svg%3E");
}

/* Стили для NOT AVAILABLE */
.price-circle.not-available {
	background: #000;
	opacity: 1;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Показываем NOT AVAILABLE всегда на мобильных */
@media only screen and (max-width: 1024px) {
	.price-circle.not-available {
		opacity: 1;
	}
}

.wp-image-469 {
	max-width: 60% !important;
	width: 100%;
}

.portfolio-slider-section {
	height: 651px;
	overflow: hidden;
	position: relative;
	padding-bottom: 50px;
}

.portfolio-slider {
	height: 100%;
}

.portfolio-slide {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.portfolio-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Стили для точек навигации */
.slick-dots {
	bottom: 10px;
}

.slick-dots li button:before {
	font-size: 12px;
	color: white;
}

.slick-dots li.slick-active button:before {
	color: #ff0000;
}

/* Стили для стрелок навигации */
.slick-prev, .slick-next {
	font-size: 30px;
	color: white;
	z-index: 1;
}

.slick-prev {
	left: 10px;
}

.slick-next {
	right: 10px;
}

/*.swiper-pagination {*/
/*	position: absolute;*/
/*	bottom: -20px; !* Смещаем точки под слайдер *!*/
/*	display: flex;*/
/*	justify-content: center;*/
/*}*/
/*.swiper-pagination-bullet {*/
/*	background-color: #000; !* Делаем точки черными *!*/
/*	opacity: 0.7;*/
/*	width: 12px;*/
/*	height: 12px;*/
/*	margin: 0 5px;*/
/*}*/
.swiper-pagination-bullet-active {
	background-color: #000; /* Активная точка тоже черная */
	opacity: 1;
}

.swiper-button-next, .swiper-button-prev {
	color: #000;
}

/* Убираем эффекты для элементов li с классом no-hover */
.site-menu li.no-hover {
	pointer-events: none; /* Полностью отключаем взаимодействие с элементом */
}

.site-menu li.no-hover a {
	color: inherit; /* Убираем изменения цвета */
	text-decoration: none; /* Убираем подчеркивание */
	cursor: default; /* Курсор по умолчанию */
}

/* Отключаем hover-эффекты */
.site-menu li.no-hover:hover,
.site-menu li.no-hover:focus {
	background: none; /* Убираем фоновый эффект */
	color: inherit; /* Цвет без изменений */
	text-decoration: none;
}


.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 6px;
	height: 6px;
}

.swiper-pagination-bullet {
	width: 10px !important;
	height: 10px !important;
}

.swiper-pagination-mobile {
	display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    margin-top: 5%;
}

.page-template-template-homepage {
	overscroll-behavior: none;
}
.form-hidden {
	position: absolute;
	visibility: hidden;
	left: 1000%;
}

.select {
	display: none;
justify-content: center;
align-items: center;
padding-bottom: 25px;

}
.select select {
	margin-left: 30px;
}

/* .post-title {
	font-weight: 400 !important;
} */
.filter-section {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    justify-content: center;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 15px;
}

.category-filter,
.price-filter {
    display: flex;
    align-items: center;
    gap: 10px;
}

.price-filter input[type="number"] {
    width: 100px;
    height: 40px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 0 12px;
    font-size: 14px;
    color: #333;
    transition: all 0.3s ease;
    -moz-appearance: textfield; /* Firefox */
}

/* Убираем стрелки для Chrome, Safari, Edge, Opera */
.price-filter input[type="number"]::-webkit-outer-spin-button,
.price-filter input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.price-filter input[type="number"]:focus {
    outline: none;
    border-color: #000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.price-filter input[type="number"]::placeholder {
    color: #999;
}

.filter-apply {
    height: 40px;
    padding: 0 20px;
    background-color: #000;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
}

.filter-apply:hover {
    background-color: #333;
}

.category-select {
    height: 40px;
    padding: 0 12px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: all 0.3s ease;
}

.category-select:focus {
    outline: none;
    border-color: #000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

/* Добавим медиа-запрос для мобильных устройств */
@media (max-width: 768px) {
    .filter-section {
        flex-direction: column;
        align-items: stretch;
    }

    .category-filter,
    .price-filter {
        width: 100%;
        justify-content: center;
    }
	
}

/* Обновленный медиа-запрос для экранов меньше 420px */
@media (max-width: 420px) {
	body {
		overflow-x: hidden;
	}
    .filter-section {
        gap: 10px;
        padding: 0 10px;
    }

    .price-filter {
        flex-direction: column;
        width: 100%;
        gap: 8px;
    }

    .price-filter label {
        width: 100%;
        text-align: center;
        margin-bottom: 5px;
    }

    .price-inputs-container {
        display: flex;
        gap: 8px;
        width: 100%;
    }

    .price-filter input[type="number"] {
        flex: 1;
        min-width: 0;
        font-size: 13px;
        padding: 0 8px;
    }

    .filter-apply {
        width: 100%;
        margin-top: 5px;
    }

    .category-filter {
        flex-direction: column;
        align-items: center;
        gap: 5px;
        width: 100%;
    }

    .category-select {
        width: 100%;
    }
}

/* Можно добавить дополнительные уточнения для самых маленьких экранов */
@media (max-width: 320px) {
    .price-inputs-container {
        gap: 5px;
    }

    .price-filter input[type="number"] {
        font-size: 12px;
        padding: 0 5px;
    }
}

/* Стили для мобильного фильтра */
.mobile-filter-trigger {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
}

.filter-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    cursor: pointer;
}

.filter-button svg {
    width: 20px;
    height: 20px;
}

.mobile-filter-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998; /* Уменьшили z-index оверлея */
}

@media (max-width: 420px) {
	body {
		overflow-x: hidden;
	}
    .mobile-filter-trigger {
        display: block;
    }

    .filter-section {
        display: none;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        max-width: 360px;
        background: #fff;
        padding: 20px;
        border-radius: 4px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        z-index: 1001; /* Увеличили z-index попапа */
    }

		.portfolio-listing {
			gap: 5px;
		}

    .filter-section.active {
        display: block;
    }

	.portfolio-image-wrapper {
		padding-top: 0px;
	}
	.portfolio-image {
		object-fit: cover;
		position: relative;
	}

    

    .filter-section::before {
        content: '';
        display: block;
        width: 40px;
        height: 4px;
        background: #e0e0e0;
        border-radius: 2px;
        margin: 0 auto 15px;
    }
	.is-home #content-container, .side-fixed #content-container  {
		margin-bottom: 0 !important;
	}
	.is-home .layout-component {
		min-height: auto !important;
	}
}
