html, body { 
  scroll-behavior: smooth;
}
body, body * {
  padding:0;
  margin:0;
  box-sizing: border-box;
}
.bi {
	display:inline-block;
	transition: all 200ms;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --border-color: #3f3f3f;  
  --bg-gray: #fafafa;
  --submenu-link-color: var(--text-color);
  --site-menu-color: #f0f0f0;
  --form-elements-color: #333;
  --font-size-small: 1.2vw;
  --font-size-smallest: 1vw;
  --font-size-large: 1.6vw;
  --font-size-largest: 1.75vw;
  --line-height: 1.4;
  --gap: 1.5vw;
  --grid-gap: 1.5vw;
  --inner-gap: var(--gap);
  --inner-gap-small : 1.25vw;
  --gap05: calc( var(--gap) * 0.5 );
  --gap15 : calc( var(--gap) * 1.5 );
  --gap2 : calc( var(--gap) * 2 );
  --gap3 : calc( var(--gap) * 3 );
  --gap4 : calc( var(--gap) * 4 );
  --gap5 : calc( var(--gap) * 5 );  
  --bs-gutter-x: 5vw;
  --swiper-navs-size : 3vw;
}  

h1, h2, h3, h4, h5, h6 {
  font-weight:500;
  margin-top:0.75rem;
  margin-bottom: 1rem;
  line-height:1.15;
  color: var(--title-color);
}

.gradient-1 {
  background: var(--gradient-1);  
}
.gradient-2 {
  background: var(--gradient-2);  
}

h1 {
  margin-top:0;
}
h1 strong {
    font-weight: bolder;
}



.row > * {
  padding-top: calc(var(--bs-gutter-x) * 0.5);
  padding-bottom: calc(var(--bs-gutter-x) * 0.5);
 }
 
.image-within {
  display: block;
 }
 .image-within img {
  width:100%;
  height:100%;
  object-fit: cover;
 }

/*  FANCY */
 .has-iframe .fancybox__content {
  padding: 0 !important;
 }
 .fancybox__thumbs.is-draggable,
.carousel__button.fancybox__button--thumbs {
  display: none;
}
.fancybox__content {
  padding:var(--gap15)!important;
}
/* END FANCY */

/***********************************************/
@-webkit-keyframes progress_bar {
  0% {
    background-position: -52.0833333333vw center;
  }
  50% {
    background-position: 0 center;
  }
  100% {
    background-position: 52.0833333333vw center;
  }
}
@keyframes progress_bar {
  0% {
    background-position: -52.0833333333vw center;
  }
  50% {
    background-position: 0 center;
  }
  100% {
    background-position: 52.0833333333vw center;
  }
}
@-webkit-keyframes pulse_1 {
  0% {
    -webkit-transform: translateY(-50%) scale(0.8);
            transform: translateY(-50%) scale(0.8);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: translateY(-50%) scale(3.5);
            transform: translateY(-50%) scale(3.5);
    opacity: 0;
  }
}
@keyframes pulse_1 {
  0% {
    -webkit-transform: translateY(-50%) scale(0.8);
            transform: translateY(-50%) scale(0.8);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: translateY(-50%) scale(3.5);
            transform: translateY(-50%) scale(3.5);
    opacity: 0;
  }
}
@-webkit-keyframes pulse_2 {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: scale(3.5);
            transform: scale(3.5);
    opacity: 0;
  }
}
@keyframes pulse_2 {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: scale(3.5);
            transform: scale(3.5);
    opacity: 0;
  }
}
@-webkit-keyframes pulse_2_small {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: scale(1.7);
            transform: scale(1.7);
    opacity: 0;
  }
}
@keyframes pulse_2_small {
  0% {
    transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}
@-webkit-keyframes video_pulse_big {
  0% {
    transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
  transform: scale(1.4);
    opacity: 0;
  }
}
@keyframes video_pulse_big {
  0% {
    transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
            transform: scale(1.4);
    opacity: 0;
  }
}
@-webkit-keyframes video_pulse_small {
  0% {
            transform: scale(0.7);
    opacity: 0.8;
  }
  100% {
            transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes video_pulse_small {
  0% {
            transform: scale(0.7);
    opacity: 0.8;
  }
  100% {
            transform: scale(1.2);
    opacity: 0;
  }
}
@-webkit-keyframes pulse_3 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pulse_3 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes wave_1 {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 0.75;
  }
  50% {
    opacity: 0.25;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 1;
  }
}
@keyframes wave_1 {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 0.75;
  }
  50% {
    opacity: 0.25;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes wave_2 {
  0% {
    opacity: 0.75;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 0.75;
  }
  75% {
    opacity: 0.5;
  }
  100% {
    opacity: 0.75;
  }
}
@keyframes wave_2 {
  0% {
    opacity: 0.75;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 0.75;
  }
  75% {
    opacity: 0.5;
  }
  100% {
    opacity: 0.75;
  }
}
@-webkit-keyframes wave_3 {
  0% {
    opacity: 0.5;
  }
  25% {
    opacity: 0.75;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes wave_3 {
  0% {
    opacity: 0.5;
  }
  25% {
    opacity: 0.75;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 0.5;
  }
}
@-webkit-keyframes wave_4 {
  0% {
    opacity: 0.5;
  }
  25% {
    opacity: 0.75;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes wave_4 {
  0% {
    opacity: 0.5;
  }
  25% {
    opacity: 0.75;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 0.5;
  }
}
@-webkit-keyframes blick {
  0% {
    left: -80%;
  }
  100% {
    left: 160%;
  }
}
@keyframes blick {
  0% {
    left: -80%;
  }
  100% {
    left: 160%;
  }
}
@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/* nise select */
.nice-select {
	color: var(--form-elements-color) !important;
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border: solid 0.0520833333vw #e8e8e8;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  outline: none;
  padding-left: 0.9375vw;
  padding-right: 1.5625vw;
  position: relative;
  align-items:center;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: auto;
}
.nice-select li, .nice-select span {
  color: var(--form-elements-color) !important;
}
.nice-select:active, .nice-select.open, .nice-select:focus {
  border-color: #e8e8e8;
}


.nice-select.open .list {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
}

.nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none;
}

.nice-select.disabled:after {
  border-color: #cccccc;
}

.nice-select.wide {
  width: 100%;
}

.nice-select.wide .list {
  left: 0 !important;
  right: 0 !important;
}

.nice-select.right {
  float: right;
}

.nice-select.right .list {
  left: auto;
  right: 0;
}

.nice-select.small {
  font-size: 0.625vw;
  height: 1.875vw;
  line-height: 1.7708333333vw;
}

.nice-select.small:after {
  height: 0.2083333333vw;
  width: 0.2083333333vw;
}

.nice-select.small .option {
  line-height: 1.7708333333vw;
  min-height: 1.7708333333vw;
}

.nice-select .list {
  background-color: #fff;
  -webkit-box-shadow: 0 0 0 0.0520833333vw rgba(68, 68, 68, 0.11);
          box-shadow: 0 0 0 0.0520833333vw rgba(68, 68, 68, 0.11);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: 0.2083333333vw;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transform: scale(0.75) translateY(-21px);
  transform: scale(0.75) translateY(-21px);
  -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
}

.nice-select .list:hover .option:not(:hover) {
  background-color: transparent !important;
}

.nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 2.0833333333vw;
  list-style: none;
  min-height: 2.0833333333vw;
  outline: none;
  padding-left: 0.9375vw;
  padding-right: 1.5104166667vw;
  text-align: left;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
  background-color: #f6f6f6;
}

.nice-select .option.selected {
  font-weight: bold;
}

.nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
}

.no-csspointerevents .nice-select .list {
  display: none;
}

.no-csspointerevents .nice-select.open .list {
  display: block;
}
/*********nice select **************/
/***********************************************/




iframe{
  max-width: 100%;
  aspect-ratio: 16 / 9;
}
@media (max-width:767.5px) {
  iframe {
    aspect-ratio: 4 / 3;
  }
}
br {
  line-height: 0;
  margin: 0;
  padding: 0;
}

.svg-icon {
  font-size:1em;
  margin-left:0.5em;
}

 blockquote {
  border-left: 3px solid var(--color-primary);
  padding-left: 1em;
  margin-top:1em;
  margin-bottom: 1em;
 }
img {
	display:block;
	max-width:100%;
  border-style: none;
  height:auto;
}

main {
  display: block;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
}

small {
  font-size: 80%;
}

sub,
sup {
	margin-left:0.4em;
  font-size: 0.7em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*********** TABLE **************/
table {
  border-spacing:0;
   border-collapse:collapse;
   width:96%;
   max-width:100%;
   margin:0 auto;
 }
 table td {
   border:1px solid #bbb;	
   padding:1em;
 }
 @media (max-width:767px){
   table {
     width:100%;
     max-width:100%;
   }
   table td {
     padding:0.5em;
     font-size:var(--font-size-small);
   }
 }
 /*********** END TABLE **************/

/*  ========================================================================== */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  border:none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit],
.btn {
  -webkit-appearance: button;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}

.load-more {
  margin-top: var(--gap);
}
.load-more-container {
  text-align:center;
}
.load-more-container a {
  font-size: var(--font-size-large);
  margin:2vw auto 1vw;
}
.load-more-container a:after {
  content: "\21bb";     
  margin-left: 0.5em;   
  display: inline-block;
}

.loader {
  position: absolute;
  right: 1em;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  display: none;
  border-top: 3px solid #FFF;
  border-right: 3px solid transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader.loading {
  display: inline-block;
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 
    


/***********************************************/

.overflow body {
  overflow: hidden; 
  padding-right: 17px;
}


* {
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
body {
  background-color: var(--site-bg-color);
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--text-color); 
  font-weight:300;  
  -webkit-overflow-scrolling: touch;
}

.page {
  width: 100%;
}

.page.no-scroll {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.wrapper {
  width: var(--site-width);
  margin: 0 auto;
  position: relative;
}
.wrapper .wrapper {
  width:100%;
}




hr {
  height: 0;
  overflow: visible;
  border: none;
  border-top: 1px solid var(--border-color);
}


@media (min-width:768px) {
  main p {
    text-align: justify;
  }
}

a {
  color:var(--link-color);
  text-decoration:none;
  display: inline-block;
  transition: all 200ms;
}
a:hover {
  color:var(--link-color-hover);  
}
a[href^=tel], a[href^=mailto],a[href^=tel]:hover, a[href^=mailto]:hover, .card a {
  color: currentColor;
}
.link-simple {
  border-bottom: 1px dashed currentColor;
}
.show-more:after {
  content: '\21BB';
  display: inline-block;
  width:1.5em;
  height:1.5em;
  margin-top:0.5rem;
  background-size: contain;
  background-repeat: no-repeat;
}

b,
strong {
  font-weight: 500;
}

.messengers {
  display: inline-flex;
  gap:0.5em;
  margin-top:0.5em;
  margin-bottom: 0.5em;
}

.messengers-text {
  margin-bottom: 0.25em;
}
.messengers a {
  width: 2.5em;
  height: 2.5em;
  border-radius: var(--btn-radius); 
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
main .messengers a {
  width: var(--gap2);
  height: var(--gap2);
}
.messengers a:hover {
  transform: scale(1.1);
}
.messengers a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.custom-el-phone {
  display: flex;  
  gap:0.5em;
}

.custom-el-phone .messengers a {
  height:100%; width:auto;
  aspect-ratio: 1;
}
.pulse {
  position: relative;
}

.pulse::before {
  content: "";
  position: absolute;
  width: 0.2vw;
  height: 0.2vw;
  border-radius: 50%;
  background-color: var(--color-primary);
  top: 50%;
  left: -1vw;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.pulse::after {
  content: "";
  position: absolute;
  width: 0.2vw;
  height: 0.2vw;
  border-radius: 50%;
  background-color: var(--color-primary);
  top: 50%;
  left: -1vw;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: 0.3s;
  animation: pulse_1 3s linear infinite;
}

ul li {  
  list-style: none;
}

ul:not([class]), ul.wp-block-list, ol {
  margin-top:1em;
  margin-bottom: 1em;
  margin-left: 1em;
}

main li {
  position: relative;
  margin-bottom: 0.5em;
}
main ul li  {
  padding-left: 1.5em;
}

main ul li:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: -0.25em;
  width: 0.44em;
  height: 0.85em;
  border-width: 0 0.2vw .2vw 0;
  border-style: solid;
  border-color: var(--color-primary);
  transform-origin: bottom left;
  transform: rotate(45deg);
}
main ul.list li:before {
  display: none;;
}

#header .ds-iconbox-icon {
  width: auto;
}
#header .ds-iconbox svg { 
  width: 1.75em;
  height: 1.75em;
}
#header .ds-iconbox path, #header .ds-iconbox #svg_body {
  fill: var(--color-primary);
}
#header .ds-iconbox {
  gap: 0.5em;
  height:auto;  
  padding:0;
  width:100%;
  align-items: center;
}
#header .ds-iconbox  + .ds-iconbox {
  margin-top:0.5em;
}
#header .ds-iconbox-icon {
  height: 2em;
  min-height:2em;
}


.header-component-iconboxes {
  flex-direction: column;
  justify-content: center;
  align-items: start;
}
.header-component-iconboxes .ds-iconbox-texticon {
  width:2em;
}
#header {
  width:100%;
  z-index: 30;
  position: relative;
  background-size:cover;
	background-position: center;
	background-color:var(--site-bg-color);
  color:var(--text-color);
}
#header .row {
  justify-content: space-between;   
 
}
#header .col {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: transform 200ms;
}

.header__logo img  {
  max-width:25vw;
}

.header-component-menu {
  padding-top:0;
  padding-bottom: 0;
  flex-grow: 1!important;
}

/************* menu ********/

.header-menu {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 0.5em;
}
.header-menu {
  list-style: none;
  margin:0;
}
.menu sup {
	border-radius: 100px;
	background: var(--color-primary);
	padding:0 0.5em;
}
#header .menu-item {	
  font-size: 0.9em;
}
.menu-item {  
  position:relative;
  line-height: initial;  
  text-transform: uppercase;
  transition: 0.3s;
  padding: 1em 0;
  cursor: pointer;
}
.menu-item a {
  color:var(--text-color);
}
.current-menu-item > a {
  font-weight: bolder;
}
.sub-menu {
  font-size:1.2em;
  min-width: 14vw;
  position: absolute;
  top: 100%;
  left: 0;
  padding: 1.25vw 1.25vw;  
  background-color: white;
  pointer-events: none;
  opacity: 0;
  z-index: 1;
  transition: 0.3s;
  box-shadow: 0 0.2vw 1vw 0px rgba(100,100,100,0.2);
  border-radius:0.5vw;
}
.sub-menu .menu-item {
  text-transform: none;
  padding: 0 0 1vw;
  line-height: 1.15;
  display: block;
}
.menu-item-has-children > a {
  display: flex;
  gap: 0.5em;
  align-items: center;
  justify-content: space-between;
}
.menu-item-has-children > a::after {
  content: "";
	display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-top:0.125em;
  border-left: 0.05vw solid currentColor;
  border-bottom: 0.05vw solid currentcolor;
  transform: translateY(-33%) rotate(-45deg);
  transition:transform 0.3s;
}
@media (min-width:768px) {
  .menu-item-has-children:hover > a::after {
    transform: translateY(0%) rotate(-225deg);
  }
  .menu-item-has-children:hover > .sub-menu {
    pointer-events: all;
    opacity: 1;
  }
}
a.menu-item-opened:after {
  transform: translateY(0%) rotate(-225deg); 
}



.menu-text {
  color: var(--text-color);
}

.header-btn {
  margin-bottom: 0.2vw;
	width: 100%;
  height: 5.7vw;
	position: relative;
	cursor: pointer;
	z-index: 999;
}
.header-btn span {
	width: 100%;
	height: 0.1771428571vw;
	position: absolute;
	left: 0;
	background-color: var(--color-primary);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.header-btn span:first-child {
	top: 0;
}
.header-btn span:nth-child(2) {
	top: 50%;
	-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
}
.header-btn span:last-child {
	bottom: .25vw;
}
.header-btn.open span:first-child {
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	transform-origin: center center;
}
.header-btn.open span:nth-child(2) {
	opacity: 0;
}
.header-btn.open span:last-child {
	bottom: 50%;
  transform: translateY(50%) rotate(45deg);
  transform-origin: center center;
	width: 2.7vw;
} 

.offcanvas {
  z-index:1006;
  display: flex; 
  flex-direction: column;
  position: fixed;
  top:0;
  left: 0; 
  height:100vh; 
  width:80vw; 
  transition: all 400ms;
  /* background-color: var(--site-bg-color);; */
  background: black;;

}
.offcanvas-backdrop {
  position: fixed;
  z-index: 1004;
  top:0; left:0; 
  width:100%; height:100vh;
  background: rgba(0,0,0,0.7);
  display: none;
}
.offcanvas-left {
  transform: translateX(100vw);
}
.offcanvas.show { 
  transform: translateX(20vw);
}
.offcanvas.show ~ .offcanvas-backdrop {
  display: block;
}
.offcanvas-inner {
  height: 100%;
  padding:7rem var(--gap) 2rem;
  position: relative;
  overflow-y:auto;
  display: flex;
  flex-direction: column;
}
.offcanvas-content {
  margin-top:auto;
}
.offcanvas-close {
  position: fixed;
  cursor: pointer;
}
.offcanvas-left .offcanvas-close {
  top: 4rem;
  left:5%;
}


/* admin bar */
body.admin-bar.header-transparent #header, body.admin-bar #header .fixed {
  top:32px;  
}
@media (max-width:767.5px){
  body.admin-bar #header .fixed {
    top: 0;
  } 
}


  .header-transparent .breadcrumbs {
    display: none;
  }
  
  .header-transparent #header {
    position: absolute;
    top:0; left:0;  
    background:transparent;
    box-shadow: none;
  }
  .header-transparent #header :is(p, a, div, span) {
      color:white;
  }  

  .sticked, .sticked-mobile {
    transition: all 0.3s ease-in-out;
  }
  
  .sticked.fixed  {
    transform: translateY(0);    
    transition: transform 0.5s ease-in-out;
    background-color: var(--site-bg-color);
    box-shadow: 0 2px 9px 1px rgba(0, 0, 0, 0.1);
    background:var(--site-bg-color);
    position: fixed;
    top:0; left:0;
    width:100%;
  }        
 
@media (min-width:768px) {

  /* fixed по разному обрабатывается для разных экранов */
  .header-transparent #header .sticked.fixed :is(p, a, div, span) {
    color: var(--text-color);  
  }  
  
  .header-transparent .header-menu .sub-menu li:after {
    border-color: initial!important;
  }  
  .header-transparent .header-menu > li:after {
    border-color: white;
  }
  .sticked.fixed  .header-menu > li:after   {
    border-color: initial!important;
  }  
  .header-transparent #header .sub-menu a {
    color: var(--submenu-link-color);
  }  
  .fixed .col {
    transform: scale(0.8);
    padding: 0;
  }
  .fixed .header-menu > li > a {
    font-weight: bolder;
  }
}

@media (max-width:767.5px) {
  #header .row {
    --bs-gutter-x: 0;
    padding:0.5rem 0;
  }
  #header .row .col {
    padding-bottom: 0;
  }
  /* разделение fixed на мобильный и широкий сделано специально во избежание конфликтов при изменении ширины*/
  .sticked-mobile.fixed {      
    position: fixed;
    width:100%;
    top:0;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.08), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
    transition: 0.3s;
    transform: translateY(0);
    background: var(--site-bg-color);
  }  
  .header-transparent #header .sticked-mobile.fixed :is(p, a, div, span) {
    color: var(--text-color);  
  }
  .header__logo img  {
    max-width:25vw;
  }  
  
  .header__logo img {
    max-width:33vw;
  }  
  

  .offcanvas .header-menu {
    width: 100%;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: start;
  }
            
   .header-btn {
    z-index: 33;  
   } 
  .header-btn span {
    width: 100%;
    height: 0.625vw;
    border-radius: var(--border-radius);
    position: absolute;
    left: 0;
    background-color: var(--color-primary);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }  
	.header-btn.open span:last-child {
		width: 8.1vw;
	}  
  
  .header-menu.wrapper {
    overflow-y: auto;
  }
  .header-menu.nav-wrap {
    width: 100%;
    height: 100%;
    border-bottom: none !important;
  }
  .header-menu.nav-wrap .nav {
    display: flex;
    flex-direction: column;
  }
  .menu-item {
    padding: 0.5em 0;
    display: block;
  }
  
  .menu-item-has-children .sub-menu {
    position: static;
    padding-left:1em;
    padding-top:0;
    pointer-events: all;
    opacity:1;
    border:none;
    background-color: transparent;
    transition: all 200ms;
    box-shadow:none;
    display: none;
  }  
  .menu-item-has-children .sub-menu.open {
    padding-top:3vw;
    opacity: 1;
    height:auto;
    display: block;
  }
  .menu-item-has-children .sub-menu li:not(:last-child) {
    padding-bottom: 2.5vw;
  }
  
}

.breadcrumbs {
  margin-top:1vw;
  margin-bottom: 1vw;
  font-size:smaller;
}
.breadcrumbs span > a {
  color:currentColor;
  font-weight: 300;
}
.breadcrumbs span > span {
  opacity: 0.6;
}
.home .breadcrumbs {
  display: none;
}



/*                END HEADER */


.line-dashed,
.line-dotted {
  position: relative;
  cursor: pointer;
}
.line-dashed:after,
.line-dotted:after {
  content: "";
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0%;
  right: 0%;
  height: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.dashed:hover::after,
.dotted:hover::after {
  width: 62%;
  right: 42%;
}

.line-dotted::after {
  border-bottom: 0.06vw dotted currentColor;
}
.line-dashed::after {
  border-bottom: 0.06vw dashed currentColor;
}


/* BUTTONS */

.btn-main, .wp-block-button__link {
  background: var(--color-primary);
  color: #fff!important;
  padding: 0.5em 2em;
  height: var(--form-element-height);
  border-radius: var(--btn-radius);
  display: inline-flex;
  align-items: center;    
  justify-content: center;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-transform:uppercase;
  font-size:var(--font-size-small);
}
a.btn-main, a.btn-main span { /* усиливаем гарантированный цвет */
  color:white;
}
button.btn-main {
  justify-content: space-between;
  gap: 1vw;
} 
.btn-main:hover, .btn-main.active, .wp-block-button__link:hover {
  background: var(--color-primary-hover);
  color:currentColor;
}
.btn-main:hover::after {
  opacity: 0;
}

.btn-main:after, .wp-block-button__link:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3em;
  height: 300%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: rgba(255, 255, 255, 0.8);
  animation: blick 3s linear infinite;
  transform: rotate(45deg) translateY(-50%);
}
.btn-main.no-blink:after, .no-blink .btn-main:after {
  content: none !important;
  display: none!important;
}
.btn-main.disabled {
  pointer-events: none;
  opacity: 0.7;
}
.btn-main.disabled::after {
  display: none;
}

/* при отключении страндарной btn-main включается этот класс */
.btn-custom {
  display: inline-block; /* !!!! */
  border-bottom: 1px dotted currentColor;
}
.item-btn:after, .btn-custom:after {
  content: ' \2192';
  transition: all 200ms;
}
.item-btn:hover:after, .btn-custom:hover:after {
  padding-left: 0.5em;
}
.btn-small {
  border-radius: 100px;
  padding:0.5em 1em;
  background: var(--color-secondary);
  font-size: var(--font-size-small);
  text-align: center;
  color: var(--text-color);
  font-weight: bolder;
}
.btn-video {  
  margin-bottom: 0!important;
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width:var(--gap3);
  height:var(--gap3);
  border-radius: 50%;
  transition: all 200ms;  
  display: flex;
  justify-content: center;
  align-items: center;  
  background-color: red;
  z-index: 1;
}
.btn-video.position-relative {
  top: auto;
  left:auto;
  transform: none;
}
.btn-video::after, .btn-video::before {
  content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    background-color: red;
    z-index: -1;
} 
.btn-video::after {
  animation: video_pulse_small 2s linear infinite;
}
.btn-video::before {
  animation: video_pulse_big 2s linear infinite;
}

@media (max-width:767.5px) {
  .btn-main::after, .wp-block-button__link:after {
    width:10vw;
  }
  .btn-video {
    width:var(--gap2);
    height:var(--gap2);
  }
}

/* cf7 */
input[type=text],
input[type=email],
input[type=tel],
input[type=password] {
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  background-color: #FFF;
  border: none;
  -webkit-text-fill-color: var(--form-elements-color);
  -webkit-box-shadow: none;
  transition: background-color 5000s ease-in-out 0s;
  caret-color: var(--form-elements-color);
}

input::placeholder{
	color: var(--form-elements-color);
}

.validate_error {
  border-color: red !important;
  color: red !important;
}
.validate_error::-webkit-input-placeholder {
  color: red !important;
}
.validate_error::-moz-placeholder {
  color: red !important;
}
.validate_error:-ms-input-placeholder {
  color: red !important;
}
.validate_error::-ms-input-placeholder {
  color: red !important;
}
.validate_error::placeholder {
  color: red !important;
}


.nice-select, .form-input, input[type="text"], 
input[type="select"], input[type="tel"], 
input[type="email"],textarea {
  background-color: white;
  width:100%;
  color: var(--form-elements-color);
  display: flex;
  padding: var(--gap);  
  height: var(--form-element-height);
  border: solid 0.0520833333vw #e8e8e8;
  border-radius: var(--btn-radius);
  position: relative;
  font-size: var(--font-size-small);
}

form .col {
	padding-bottom: 0!important;
}


.custom-form-btn {
	padding:0;
	margin:0;
  width:100%;
}
.custom-form-btn input {
	width:100%;
	height:100%;
	margin:0;
	background:none!important;
	color:white;
	margin-bottom:0!important;	
}

input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
  appearance: button;
}

.form-container {
  display: flex;
  gap:1.5em;
  width:100%;
  max-width:100%;
}
.flexible-form {
	flex-direction:column;
}
.form-column .form-container,  .popup .form-container {
  flex-direction: column;  
}
@media (min-width:768px) {
.form-row .flexible-form {
	flex-direction: row;
}
}
.form-info {
  display: block;
  margin-top: 0.5em;
  padding: 0.5em;
  border-radius:0.5em;
  font-size: 0.9em;
  background: #fff;
}
.form-info-success {
  color: green;
}
.form-info-fail {
  color: red;
}
.p-accept {
  margin-top:0.5em;
  font-size:0.65em;
}


.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  background-color: #FF6600	;
  border:none!important;
}
.wpcf7 form .wpcf7-response-output {
  margin: 1em 0! important;
  padding: 0.5em 1em;
  border: 1px solid transparent;
  font-size: 0.9em;  
  color:white;  
  border-radius: var(--btn-radius);
}
.wpcf7 form.sent .wpcf7-response-output {
  background-color: #009900;
  border:none!important;
}


.nice-select:after {
  content:'';
  border: none;
  width: calc(var(--font-size) * 0.4);
  height: calc(var(--font-size) * 0.4);
  border-left: 0.05vw solid var(--form-elements-color);
  border-bottom: 0.052vw solid var(--form-elements-color);
  transform: translate(-300%, -50%) rotate(-45deg);
  transition: 0.3s;
  position: absolute;
  right: 0;
  display: block;
}
.nice-select .list {
  width: 100%;
  top: 90%;
  border: 1px solid #e8e8e8;
  border-bottom-left-radius: 2.5vw;
  border-bottom-right-radius: 2.5vw;
  box-shadow: none;
}
.nice-select .list .option {
  line-height: var(--form-element-height);
  padding: 0 2vw;
}
.nice-select.open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.nice-select.open::after {
  transform: translate(-300%, -30%) rotate(-45deg);
}



.form-file {
  position: relative;
  cursor: pointer;
}
.form-file input {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
}
.form-file > div {
  width: 18vw;
  height: 5vw;
  padding: 0 2vw;
  padding-right: 3vw;
  border-radius: var(--border-radius);
  margin-right: 1vw;
  background-color: #fff;
  display: flex;
  align-items: center;
}
.form-file div img,
 .form-file > div svg {
  width: 1vw;
  height: 1vw;
  object-fit: contain;
  fill: var(  --text-color);
  position: absolute;
  top: 50%;
  right: 3.125vw;  
  transform: translateY(-50%);
}
.form-file > div img path,
.form-file > div svg path {
  fill: var(  --text-color);
}
.form-file > div p {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  max-height: 1.25vw;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.form-white form {
  background: white;
  border-radius: var(--border-radius);
  padding: var(--gap);
  color: initial;
}
.form-hide-intro .form-intro {
	display:none;
}
.form-hide-name .form-name {
	display:none;
}


@media (max-width:767px) {
	.flexible-form {
	flex-direction: column;
	}	
	
  .form-container {
    flex-direction: column;
  }
  .form-container > * {
    width:100%;
  } 
  .wpcf7 form .wpcf7-response-output {
    margin-top:1em;
  }
}

@keyframes wd-rotate {
  100% {
    transform: rotate(360deg); } 
}
.wpcf7-spinner {
  position: absolute;
  right: 1.5em;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  background-color: transparent;
  opacity: initial;
  width: 1.5em;
  height: 1.5em;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: auto;
}

.wpcf7-spinner:before {
  position: absolute;
  top: 0;
  background-color: transparent;
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  border: 1px solid transparent;
  border-left-color:gold;
  border-radius: 50%;
  vertical-align: middle;
  transform-origin:inherit;
  animation: wd-rotate 750ms infinite linear;
}

form.submitting .wpcf7-spinner {
  visibility: visible;
}

/*  end cf7 forms */
div, section  {
  background-repeat: no-repeat;
}

section, .wrapper {
	background-size: cover;
  background-position: center center;
  background-repeat: no-repeat !important;
  position: relative;
  
}
section {
  padding-top: calc(var(--gap) * 2);
  padding-bottom:calc(var(--gap) * 2);
}
.section-full-width .wrapper {
   width:100%;
}

.inner-mask-radial .wrapper:before {
  display:block;
  content:'';
  width:100%; height:100%;
  border-radius: var(--border-radius);
  position: absolute; 
  top:0;left:0;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.3) 3%, rgba(7, 5, 5, .8) 85%)!important;
}
.wrapper-overflow .wrapper {
  overflow: hidden;
}

section.border-top {
  padding-top: 0;
}
section.border-top .wrapper {    
  padding-top: calc(var(--gap)* 2);
  border-top:1px solid var(--border-color);
	border-radius: 0!important;
}

.page  .wrapper h2 {  	
  margin-top:0;
  text-align:center;
  text-transform:uppercase;
}
.subtitle {
  display: block;
  text-align: center;
  font-size: var(--font-size-large);
  margin-bottom:1em;
  margin-top:0.5em;
}
h2:has(+ .subtitle) {
  margin-bottom: 0;
}
p + :is(p, a, span, h2, h3, h4, h5, h6) {
  margin-top:0.75em!important;
}
@media (min-width:768px) {
  section.title-left h2:first-of-type, section.title-left .subtitle {	
    text-align:left;
  }
  section.title-center h2:first-of-type, section.title-center .subtitle {	
    text-align:left;
  }
    
}


.slider-categories {
  margin-bottom: var(--gap);
}


.page-pagination {  
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top:1em;
}
.page-pagination .navigation {
  display: flex;
  flex-direction: column;  
  align-items: center;
  position: relative;
  overflow: hidden;
}
.page-pagination .nav-links {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
.page-pagination .page-numbers {
  color: var(  --text-color);
  margin: 0 0.75em;
  flex-shrink: 0;
  transition: 0.3s;
}
.page-pagination .navigation .page-numbers:hover {
  color: var(--color-primary);
}
.page-pagination .navigation .page-numbers.current {
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background-color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  pointer-events: none;
}
.page-pagination .navigation .page-numbers.dots {
  pointer-events: none;
}
.page-pagination .page-numbers.prev, .page-pagination .page-numbers.next {
  font-size: 0;
  margin: 0;
  width: var(--font-size);
  height: var(--font-size);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;  
  
}
.page-pagination .page-numbers.prev::before, .page-pagination .page-numbers.next::before {
  content: "";
  font-size: calc(var(--font-size) * .5);
  width: calc(var(--font-size) * .5);
  height: calc(var(--font-size) * .5);
  transform: rotate(45deg);
  border-left: 1px solid var(--text-color);
  border-bottom: 1px solid var(--text-color);
  transition: 0.3s;
}
.page-pagination .navigation .page-numbers.prev:hover::before, .page-pagination .navigation .page-numbers.next:hover::before {
  border-color: var(--color-primary);
}
.page-pagination .navigation .page-numbers.next {
  transform: scale(-1);
}


.archive .simple-text {
  padding-top: var(--gap);
  padding-bottom: var(--gap);
}

.ds-slider {
  position: relative;
}
div.ds-slider:has(.swiper-pagination) { /* не tag <a> */
  margin-bottom: var(--gap2);
}



.swiper {
  opacity: 0; /* Скрыть до загрузки */
  transition: opacity 0.3s ease-in-out;
}

.swiper-button-next, .swiper-button-prev {
  margin-top:0;
}
.swiper-wrapper {
  /* если есть box-shadow */
  padding-top:0.5em;
  padding-bottom: 0.5em;
}

.swiper-initialized {
  opacity: 1; /* Показать после инициализации */
  height: unset;
}
.slider-hide-all :is(.swiper-button-next, .swiper-button-prev,.swiper-pagination) {
  display: none;
}
.slider-no-navs .swiper-button-next, .slider-no-navs .swiper-button-prev {
  display: none;
}

.slider-no-navs .ds-slider,  .ds-slider.slider-no-navs {
  margin-top:0;   
  margin-bottom: 0;;
}

.swiper-slide {
  height: auto; /* это важно, иначе не растягивается по высоте */
}
.swiper-slide .col {
  height: 100%;
}
.slides-auto .swiper-slide {
  width: auto !important;
}
.swiper:not(.gallery) .swiper-slide {
  cursor: grabbing;
}

 .swiper-button-next, .swiper-button-prev {
  width: var(--swiper-navs-size );
  height:var(--swiper-navs-size );
  border-radius: 50%;
  background-color: var(--color-primary);
  background-repeat: no-repeat;
  background-size: 30%;
  background-position: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  cursor: pointer;
} 
 .swiper-button-prev {
  left:calc(var(--swiper-navs-size ) * -0.5);
  right: auto;
}
.swiper-button-next {
  right:calc(var(--swiper-navs-size ) * -0.5); 
  left:auto;
} 
.swiper-button-next:after, .swiper-button-prev:after {
  color: white;
  font-size: calc(var(--swiper-navs-size ) * 0.65);
}
.swiper-navs-small .swiper-button-prev, .swiper-navs-small .swiper-button-next {
  width: 1rem;
  height:1rem;
}
.swiper-navs-small .swiper-button-next:after, .swiper-navs-small .swiper-button-prev:after {
  font-size: 0.75rem;
}
.swiper-navs-small .swiper-button-prev {
  left:0.2em;
} 
.swiper-navs-small .swiper-button-next {
  right:0.2em;  
}

.section-full-width  .swiper-button-prev  {
  left: var(--swiper-navs-size );
}
.section-full-width  .swiper-button-next {
  right: var(--swiper-navs-size );
}


.swiper-pagination {
  bottom: calc(var(--gap15) * -1)!important;
}
.swiper-pagination-bullet {
  width: var(--gap05);
  height: var(--gap05); 
}
.swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}
.section-full-width .swiper-pagination {
  bottom: var(--gap15)!important;
}
.section-full-width .ds-slider:has(.swiper-pagination) {
  margin-bottom:0;
}
                    /*  offset slider */
.section-slider-offset {
  overflow: hidden;
}
.section-slider-offset .ds-slider {   
 margin-right: calc(var(--gap) * -4);
}

.section-slider-offset .swiper-button-next {
  right: calc((100% - var(--site-width)) * .5);
}

/* end offset */
@media (max-width:575.5px) {
  .hide-navs-576 .swiper-button-next:not(.inner-slider), 
  .hide-navs-576 .swiper-button-prev:not(.inner-slider) {
   display:none;    
 }   
}

@media (max-width:767.5px) { 
    :root {
      --swiper-navs-size: 7.5vw;
    }
   .hide-navs-768 .swiper-button-next:not(.inner-slider), 
   .hide-navs-768 .swiper-button-prev:not(.inner-slider),
   .hide-bullets-768 .swiper-pagination:not(.inner-slider) .swiper-pagination-bullet {
    display:none;    
  }   
}
@media (min-width:768px) {

  .hide-navs-on-desktop .swiper-pagination,
  .hide-navs-on-desktop .swiper-button-next,
  .hide-navs-on-desktop .swiper-button-prev {
    display: none;
  }
  .ds-slider.hide-navs-on-desktop, .hide-navs-on-desktop .ds-slider {
    margin-top:0;
    margin-bottom: 0!important;
  }
}

.card {
  display: flex; /* это важно если карта это ссылка */
  overflow: hidden; 
  transition: 300ms;
  position: relative;
  border:none;
  background: none;
  flex-direction: column;
  height: 100%;
  background-color: white;
 }
 
 .card .slider-pagination {
  position: absolute;
  bottom: var(--gap05);
  width:100%; 
  margin:0 auto;
  z-index: 1;
 }
 .card-body {  
  display: flex;
  flex-direction: column;
  flex:1;
  padding: 0 var(--gap05) var(--gap05);
  width:100%;
 }

.card p {
  text-align: left;
}
.card .btn-container {
  margin-top:auto;
}
.card-link {
  margin-top:0.5em;
  margin-bottom: 0.5em;
  font-weight: bolder;
  border-bottom: 1px dashed currentColor;
}
.card-link:after {
  content: ' \2192';
  transition: all 200ms;
}
.card-link:hover:after {
  padding-left:0.5em;
}
.card-link:hover, .line-dashed:hover, .line-dotted:hover {
  color: var(--color-primary);        
}



.card > a {
  display: inline-block;
  color:currentColor;
}

.card .slider-btn {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  background-size: 60%;
  
}
.card .slider-btn.slider-prev-btn {
  left: 0.5rem;
}
.card .slider-btn.slider-next-btn {
  right: 0.5rem;
}

.card-post {
  max-width: 100%;
  height: 100%;
}
.card-post img {
  aspect-ratio: 3 / 2;
  width: 100%;
  object-fit: cover;  
}
.card-body {
  z-index: 4;
  padding-top:1em;
}
.card-link-container {
  margin-top:auto;
}
.card-portfolio {
  padding:1em;
}
 

.ds-grid .ds-mask {  
  background: linear-gradient(4deg, black, transparent); 
}

.ds-grid .card-body {
  width:100%;
  color:white;
  position: absolute;
  bottom:0;
}

/* popup !!!!!!!!!!!!!  */
.popup {
  display: none;
  border-radius: var(--border-radius);
}
.modal-only {
  display: none;
}

.popup .modal-only {
  display: block;
}
.popup .no-modal {
  display: none;
}
.popup {
  width:28vw;
}
#popup-modal {
  width:auto;
  min-width: 28vw;
  transition: all 2000ms;
  max-width:990px;
}
.popup :is(h2 br, h3 br, h4 br, .modal-decor br) {
  display: none;
}

.popup:has(.modal-options-size-medium), .modal-options-size-medium .popup {
  width:50%;
  max-width:50%;
}
.popup:has(.modal-options-size-large), .modal-options-size-large .popup  {  
  max-width:90%;
}
.popup:has(.modal-options-size-small), .modal-options-size-small .popup {
  width:28vw;    
}
.popup-content.modal-options-font-small  {
  font-size:0.75em;
}
.popup-content * {
  /* при вставке подтягиваются ненужные стили */
  color: var(--text-color)!important;
  background: none!important;
  
}
.popup h4 {
  text-align: center;
}
.popup :is(h1, h2) {
  font-size: calc( var(--font-size) * 1.4);
}
.modal-decor {
  margin-bottom: 0.5em;
  font-weight: bold;
}
@media only screen and (max-width: 767.5px) {
  .popup {
    text-align: center;    
    width: 97% !important;;
    max-width: 97%! important;
  }  
}
/* end popup */




  a.item-title {
    margin-top:0.5em;
    margin-bottom: 0.5em;
    font-weight: bolder;
    font-size:var(--font-size-large);
  }  
  .item-title:hover, .line-dashed:hover, .line-dotted:hover {
    color: var(--color-primary);        
  }
  .item-text {
    opacity: 0.9;
    font-size: 0.9em;
  }

 
  


.gallery-with-thumbnails__fullscreen {  
  margin-top:1em;
  margin-bottom:1em;
}
 
.gallery-with-thumbnails__first a {
  width:100%;
  aspect-ratio: 3 / 2;
}
.gallery-with-thumbnails .swiper-slide img {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-with-thumbnails .swiper-slide {
  max-width:25%;
}


.wide-gallery {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.wide-gallery a {
  width: 20vw;
  height: 20vw;
  border-radius: var(--border-radius);
  overflow: hidden;
}




/**************/
.to-top {
  position: fixed;
  right: 1.5vw;
  bottom: 1.5vw;
  width: 3.33vw;
  height: 3.33vw;
  border-radius: 50%;
  background-color: var(--color-primary);
  background-image: url('/wp-content/themes/ds_theme/assets/img/general/arrow-top.svg');
  background-repeat: no-repeat;
  background-position: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
  transition: 0.3s;
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
}

.to-top.visible {
  opacity: 1;
  pointer-events: all;
}
.to-top img, .to-top svg {
  width: 0.82;
  height: 0.47vw;
  object-fit: contain;
  fill: #fff;
}
.to-top img path, .to-top svg path {
  fill: #fff;
}
.to-top:hover {
  background-color: var(--color-primary-hover);
}

@media (max-width: 767.5px) {  
	.to-top {
    display: none;
  }  
   .ds-slider .slider-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5vw;
  }
	  
}



#cookie_notification{
  display: flex;
  opacity: 0;
  justify-content: space-between;
	    align-items: center;
	gap:0.5em;
  position: fixed;
  bottom: 0;
  left: 50%;
  width: 46vw;
  max-width: 90%;
  transform: translateX(-50%) translateY(100%);
  background-color: white;
	padding:1em;
  border-radius: var(--btn-radius);
  box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.4);
  z-index: 50;
  transition: 0.4s;
}

#cookie_notification.show {
	opacity: 0.9;
	transform: translateX(-50%) translatey(0);
}

#cookie_notification p {
	color:#333!important;
  text-align: left;
  font-size: 0.8em;
}

#cookie_notification button {
    font-size: 0.7em;
    padding: 1em 1.5em;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
    white-space: normal;
    color: #000;
    border: 1px solid var(--color-primary);
	border-radius: var(--btn-radius);
    background: #fff;
	cursor: pointer;
}


@media (max-width: 767.5px) {
	#cookie_notification{
		width: 100%;
		margin-bottom: 1em;
	}
	
}

/* посты, записи, posts */
aside {
  height: 100%;
  padding:0;
}
.retaled-title {
  font-size: xx-large;
} 
.prevnext-records {
  margin: var(--gap) auto;
  padding-top: var(--gap);
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--border-color);
}
.prevnext-records a {
  display: flex;
  color:currentColor;
  font-size: var(--font-size-small);
}
.prevnext-thumbnail {
  width:6vw;
  height:6vw;
}
.prevnext-thumbnail img {
  width:100%; 
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

/* bug fix */
.wp-caption {
 	max-width:100%;	
}
.single main  {
 margin-bottom: var(--gap);
}
.single h1 mark {
  background: #f1f1f1;
  padding: 0 0.25em;
  margin-right: 0.25em;
}


.item-time {
	position: absolute;
	bottom: 0.25em;
    right: 1em;
	font-size: smaller;
	opacity:0.9;
}
.related-records {
    margin-top: var(--gap);
    margin-bottom: var(--gap);
}

/* .single */

.row main {
	padding-bottom: var(--gap);
}

.prevnext-navigation {
  border-top:1px solid var(--border-color);
  margin-top: var(--gap);
  padding-top: var(--gap);
}
.page-poster {
  margin-bottom: var(--gap);
  aspect-ratio: 16 / 9;
}
@media (max-width:767.5px) {
  
  .page-poster {
    aspect-ratio: 3 / 2; 
  } 
}
/* END .single */


.btns-container {
  display: flex;
  gap: var(--gap);
  justify-content: stretch;
  margin-top: 1em;
}




.grecaptcha-badge {
  visibility: hidden;
}

.wrapper.with-bg, section.with-bg .wrapper {
  padding : var(--gap) var(--gap15);
}
.ds-fill {
  position: absolute;
  display: block;
  inset: 0;
  width:100%;
  height: 100%;
  z-index: 5;
 }

 .ds-centered {
  display: inline-flex;
  justify-content: center;
  align-items: center;
 }

 .slider-hint {
  display: none;
  margin-bottom: 0.5em;
  font-size:smaller;
}
@media (max-width:767.5px) {   
   .slider-hint {
    display: block;
  }
}



/*************           WIDGETS *******************/
.widget {
	margin-bottom: 1rem;
}
.widget section {
	padding-top: 0!important;
	padding-bottom:0!important;
}
.widgettitle {
	font-size: var(--font-size-large);
}
.widget :is(h2, h3, h4) {
  margin-top: 0;
}
.widget .sub-menu {
  position: static;
  opacity: 1;  
  background:none ;
  box-shadow: none;
  border:none;
  border-radius: 0;
}
.widget .menu .menu-item {
  text-transform: none;
  padding: 0.25em 0;
}
.widget .menu .menu-item:after {
  display: none;
}

.widget .card-post.ds-item {
	display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 0.5em;
    border-radius: 0;
    margin-top: 0.25rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #f0f0f0;
}
.widget .card-post .card-body {
	position: static;
	padding: 0 !important;
	display: block;
	line-height:1.15;
	color: var(--text-color);
	font-size: var(--font-size-small);
}

.widget .card-post .card-img {
    height: auto;
	border-radius: 0.25em;
}
.widget .card-post .btn-container {
	display:none;
}
.widget .wp-block-group.has-background {
	border-radius:var(--border-radius);
	overflow:hidden;
}
.widget .item-time {	
    bottom: 0.25rem;
	right:0.25rem;
}


/*********************************************/

@media (max-width:767.5px) {
  :root {
    --font-size-small: 3.75vw;  
    --font-size-smallest: 2.75vw;
    --font-size-large: 6vw;
    --font-size-largest: 7vw;  
    --gap: 5vw;
    --grid-gap: calc(var(--gap) * 0.5);
    --site-width: 90%!important;
  } 
  
  .row-cols-2 h2, .col-6 h2 {
    font-size: 1.3rem;
  }
  .row-cols-2 h3, .col-6 h3 {
    font-size: 1.2rem;
  }
  .row-cols-2 h4, .col-6 h4 {
    font-size: 1.1rem;
  }
  .row-cols-2, .col-6, .text-mobile-small {
      font-size: 0.85rem!important;
      line-height: calc(var(--line-height)* 0.85)!important;
  }

  .row-cols-2 .text-large, .col-6 .text-large, .text-mobile-small .text-large {
    font-size: 0.9rem!important;
  }

  h2 br, h3 br {
    display: none;
  }

}
/*****************************************/