@charset "UTF-8";

/*
Theme Name: Alba Longa
Details URI: https://update.goodwinpress.ru/themes/alba-longa-changelog.html
Theme URI: https://goodwinpress.ru/wp-tema-alba-longa
Author: GoodwinPress
Author URI: https://goodwinpress.ru/
Description: Адаптивная оптимизированная тема от GoodwinPress для сайта городского или районного портала, туристического гида, путеводителя, презентации событий и экскурсий, развернутого на CMS WordPress. Карточки экскурсий, событий, достопримечательностей, ресторанов и гостиниц. Расширенный поиск. Пользовательские отзывы с рейтингом отдельно, комментарии отдельно. Заказ экскурсий. Липкое меню. Хлебные крошки. Кнопки соц. сетей. Встроенный виджет Баннер. Микроразметка разных типов.
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: alba-longa
Domain Path: /languages
Tags: theme-options, custom-colors, custom-menu, custom-logo, editor-style, featured-images, blog, translation-ready
*/

/*
===============================
= Содержание файла стилей =
============================================

 01 Переменные
 02 Очистка
 03 Глобальные стили
 04 Подключение шрифта
 05 Базовые контейнеры
 06 Базовые заголовки
 07 Кнопки сайта
 08 Шапка сайта
 09 Кнопки соц сетей
 10 Меню в шапке
 11 Мобильное меню
 12 Расширенный поиск
 13 Шаблон страницы
 14 Сетка записей в архиве CPT
 15 Хлебные крошки
 16 Разметка карточки CPT
 17 Разметка архива достопримечательностей
 18 Разделы Главной
 19 Раздел Главной - Постер
 20 Раздел Главной - События
 21 Раздел Главной - О нас
 22 Раздел Главной - Достопримечательности
 23 Разделы Главной - Рестораны и гостиницы
 24 Раздел Главной - Услуги
 25 Раздел Главной - Отзывы
 26 Раздел Главной - Новости
 27 Список категорий CPT
 28 Раздел Главной - Экскурсии
 29 Списки сайта
 30 Отзывы и комментарии
 31 Форма отправки отзывов и комментариев
 32 Пользовательский рейтинг в отзывах
 33 Модальное окно (поп-ап) в экскурсиях
 34 Форма Contact Form 7 в поп-апе
 35 Навигация в CPT и блоге
 36 Блог и записи
 37 Галереи
 38 Таблицы
 39 Виджеты сайдбара
 40 Встроенный виджет Баннер
 41 Подвал сайта 
 42 Меню в подвале
 43 Страница 404
 44 Кнопки для расшаривания в CPT и записях
 45 Блок с контактами в экскурсиях
 46 Раздел Главной - Изображение и текст
*/


/*
===============================
= 01 Переменные 
============================================
*/

:root {
  /* гарнитура шрифта */
  --primeFont: 'Montserrat', sans-serif;
  
  /* жирность 500 */
  --normal: 500;

  /* жирность 600 */
  --medium: 600;

  /* жирность 700 */
  --bold: 700;

  /* ширина контейнера */
  --width: 1280px;

  /* цвет плейсхолдера в инпутах */
  --placeholder: #90909d;

  /* белый для фонов и текстов на цветном фоне */
  --lightColor: #fff;

  /* серый для второстепенных текстов, подсказок */
  --greyColor: #73767e;

  /* серый фон */
  --greyBg: #f3f3f9;

  /* цвет бордюров, разделителей */
  --borderColor: #e2e3ee;

  /* радиус закругления */
  --bradius: 5px;
}

/*
 ===============================
 = 02 Очистка
 ============================================
 */

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

body {
  line-height: 1
}

main {
  display: block
}

strong {
  font-weight: var(--bold)
}

em,
i {
  font-family: Georgia, serif;
  font-style: italic
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

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

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

iframe {
  max-width: 100%
}

embed,
img,
object,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0
}

embed,
iframe,
object {
  margin-bottom: 1.5rem
}

figure {
  margin: 0 0 1.5rem;
  max-width: 100%;
}

figure>a {
  display: block
}

.aligncenter {
  margin: 0 auto 1.2rem
}

.alignleft {
  float: left
}

.alignright {
  float: right
}

big {
  font-size: 131.25%
}

ins {
  text-decoration: none
}

a {
  background-color: transparent
}

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

small {
  font-size: 80%
}

sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

input,
textarea {
  vertical-align: middle;
  background: var(--lightColor);
}

pre {
  font-family: monospace;
  font-size: 1em;
  overflow-y: auto;
}

.screen-reader-text {
  display: none
}

[hidden] {
  display: none
}

/*
===============================
= 03 Глобальные стили
============================================
*/

.wp-block-separator,
hr {
  display: block;
  clear: both;
  margin: 2em auto;
  border-top: 0;
  border-bottom: 1px solid var(--borderColor);
  width: 100%;
  height: 1px
}

:focus {
  outline: 0;
}

input::-moz-placeholder,
select::-moz-placeholder {
  color: var(--placeholder)
}

input:-ms-input-placeholder,
select:-ms-input-placeholder {
  color: var(--placeholder)
}

input:-moz-placeholder-shown {
  color: var(--placeholder)
}

input:-ms-input-placeholder {
  color: var(--placeholder)
}

input::placeholder,
input:placeholder-shown,
select::placeholder {
  color: var(--placeholder)
}

::-moz-selection {
  color: var(--lightColor);
  background-color: #3f60c2;
}

::selection {
  color: var(--lightColor);
  background-color: #3f60c2;
}

legend {
  display: table;
  padding: 0;
  max-width: 100%;
  white-space: normal;
  color: inherit
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type="checkbox"],
[type="radio"] {
  padding: 0;
  box-sizing: border-box
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto
}

[type="search"] {
  -webkit-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none
}

input[type="search"]::-webkit-search-cancel-button {
  display: none;
}

p {
  margin-bottom: 1.1rem
}

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

button {
  font-family: var(--primeFont);
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  background: 0 0;
  cursor: pointer
}

.gallery-caption,
.wp-caption,
.wp-caption-text {
  font-size: 15px;
  color: var(--greyColor)
}

.wp-caption.alignleft {
  margin-right: 1.2rem;
}

.wp-caption.alignright {
  margin-left: 1.2rem;
}

img.alignright {
  float: right;
  margin-left: 1.2rem;
}

img.alignleft {
  float: left;
  margin-right: 1.2rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--medium);
}

.disable-scroll {
  overflow: hidden;
  width: 100%;
}

a {
  color: var(--mainColor);
  text-decoration: underline;
  transition: color 0.3s ease-in-out
}

a:hover {
  color: var(--hoverColor);
  text-decoration: underline;
  transition: color 0.3s ease-in-out
}

.sticky,
.bypostauthor {
  background-color: initial
}

p {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto
}

.required {
  color: red
}

label {
  margin-bottom: 0.5rem;
  font-family: var(--primeFont);
  font-size: 0.9rem;
  color: var(--mainColor);
  font-weight: var(--medium);
  display: block;
}

fieldset {
  margin-bottom: 1.5rem;
}

input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
input[type='number'],
input[type='tel'],
input[type='range'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='time'],
input[type='datetime'],
input[type='datetime-local'],
input[type='color'],
textarea {
  padding: 0.6rem 1rem;
  display: block;
  width: 100%;
  min-height: 2rem;
  -webkit-transition: border-color .15s ease-in-out;
  transition: border-color .15s ease-in-out;
  color: var(--mainColor);
  border: 1px solid #c9c5db;
  border-radius: var(--bradius);
  outline: none;
  background-color: var(--lightColor);
  -webkit-box-shadow: none;
  box-shadow: none;
  font-family: var(--primeFont);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  -webkit-appearance: none;
  -webkit-backface-visibility: hidden;
  appearance: none;
  backface-visibility: hidden;
}

select {
  padding: 0 0.6rem;
  width: 100%;
  height: 2rem;
  color: var(--mainColor);
  border: 1px solid #c9c5db;
  border-radius: var(--bradius);
  outline: none;
  background: var(--lightColor);
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  font-family: var(--primeFont);
  font-size: 1.1rem;
  line-height: 1.5;
  cursor: pointer;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='number']:focus,
input[type='tel']:focus,
input[type='range']:focus,
input[type='date']:focus,
input[type='month']:focus,
input[type='week']:focus,
input[type='time']:focus,
input[type='datetime']:focus,
input[type='datetime-local']:focus,
input[type='color']:focus,
select:focus,
textarea:focus {
  border-color: #9c5ae8;
}

textarea {
  max-width: 100%;
  height: 150px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  resize: vertical;
}

.lazy-hidden {
  opacity: 0;
  transition: opacity 0.3s;
}

.lazy-loaded {
  opacity: 1;
  transition: opacity 0.3s;
}


/*
===============================
= 04 Подключение шрифта
============================================
*/

/* montserrat-500 - cyrillic_latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('assets/fonts/montserrat/montserrat-v25-cyrillic_latin-500.woff2') format('woff2'); 
}

/* montserrat-600 - cyrillic_latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('assets/fonts/montserrat/montserrat-v25-cyrillic_latin-600.woff2') format('woff2'); 
}

/* montserrat-700 - cyrillic_latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/montserrat/montserrat-v25-cyrillic_latin-700.woff2') format('woff2'); 
}

/*
===============================
= 05 Базовые контейнеры
============================================
*/

html {
  box-sizing: border-box;
  font-size: 16px;
  height: 100%;
}

@media (max-width: 1160px) {
  html {
    font-size: 15px;
  }
}

@media (max-width: 800px) {
  html {
    font-size: 14px;
  }
}

@media (max-width: 415px) {
  html {
    font-size: 13px;
  }
}

*,
::before,
::after {
  box-sizing: border-box;
}

body {
  font-family: var(--primeFont);
  font-weight: var(--normal);
  font-size: 1.062rem;
  line-height: 1.65;
  word-wrap: break-word;
  color: var(--mainColor);
  background-color: var(--lightColor);
  scroll-behavior: smooth;
  position: relative;
}

.site-wrapper {
  margin: 0 auto;
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

.site-main {
  flex: 1;
  position: relative;
}

.container {
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  max-width: calc(var(--width) + 4rem);
}

@media (max-width: 1160px) {
  .container {
    --width: 800px;
  }
}

@media (max-width: 415px) {
  .container {
    padding: 0 1rem;
  }
}

.container--fullwidth {
  max-width: 100%;
  padding: 0 !important;
}

.home-section--animate {
  opacity: 0;
  transform: translateY(30px);
}

.home-section--animate.home-section--show {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s, transform 2s;
}


/*
===============================
= 06 Базовые заголовки
============================================
*/

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.custom-section h1,
.custom-section h2,
.custom-section h3,
.custom-section h4,
.custom-section h5,
.custom-section h6 {
  margin-bottom: 1.2rem;
}

.post-content h1 {
  font-size: 1.6rem;
}

.post-content h2 {
  font-size: 1.5rem;
}

.post-content h3 {
  font-size: 1.4rem;
}

.post-content h4 {
  font-size: 1.3rem;
}

.post-content h5 {
  font-size: 1.2rem;
}

.post-content h6 {
  font-size: 1.1rem;
}

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

@media (max-width: 600px) {
  #wpadminbar {
    top: -46px !important;
  }
}
 


/*
===============================
= 07 Кнопки сайта
============================================
*/


a.btn,
button.btn,
.wpcf7-submit,
.comment-form .submit,
.search-submit,
.error404-btn,
.wpcf7-submit {
  padding: 0.9rem 1.7rem;
  position: relative;
  z-index: 1;
  display: inline-block;
  max-width: 208px;
  border: none;
  border-radius: var(--bradius);
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  background-color: var(--accent1);
  color: var(--lightColor);
  overflow: hidden;
}


a.btn::after,
button.btn::after,
.wpcf7-submit::after,
.comment-form .submit::after,
.search-submit::after,
.error404-btn::after,
.wpcf7-submit::after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 30px;
  background-color: var(--accent2);
  position: absolute;
  top: -57%;
  right: -90%;
  z-index: -1;
  transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
}

a.btn:hover::after,
button.btn:hover::after,
.wpcf7-submit:hover::after,
.comment-form .submit:hover::after,
.search-submit:hover::after,
.error404-btn:hover::after,
.wpcf7-submit:hover::after {
  width: 450px;
  height: 250px;
  transition: width 0.6s ease-in-out, height 0.6s ease-in-out;
}

a.btn:hover,
button.btn:hover,
.wpcf7-submit:hover,
.comment-form .submit:hover,
.error404-btn:hover,
.search-submit:hover,
.wpcf7-submit:hover{
  color: var(--lightColor);
  text-decoration: none;
}

.home-section .btn {
  align-self: flex-start;
}


/*
===============================
= 08 Шапка сайта
============================================
*/

.site-header {
  margin-bottom: 3rem;
  border-bottom: 1px solid #eee;
}

 

@media (max-width: 760px) {
  .site-header {
    border: 0;
    margin-bottom: 0;
  }
}

.site-header__wrap {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.site-header__branding {
  padding: 1rem 0;
}


.site-title {
  max-width: 300px;
}

@media (max-width: 760px) {
  .site-title {
    margin-right: auto;
  }
}

@media (max-width: 415px) {
  .site-title {
    max-width: 250px;
  }
}

@media (max-width: 415px) {
  .site-title__logo {
    max-width: 230px;
  }
}

/*
===============================
= 09 Кнопки соц сетей
============================================
*/


.social-btns {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.social-btns__item {
  display: flex;
  align-content: center;
  width: 2rem;
  height: 2rem;
  transition: transform 0.3s, opacity 0.3s;
}

@media (max-width: 500px) {
  .social-btns__item {
    width: 2.4rem;
    height: 2.4rem;
  }  
}

.social-btns__item:not(:last-child) {
  margin-right: 0.6rem;
}

.social-btns__symb {
  text-indent: -7304rem;
}

.social-btns__link {
  display: block;
  color: var(--lightColor);
}

.social-btns__item:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.social-btns__link svg {
  width: 2rem;
  height: 2rem;
}

@media (max-width: 500px) {
  .social-btns__link svg {
    width: 2.4rem;
    height: 2.4rem;
  }
}

.rutube-item {
  background-color: #100943;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rutube-item svg {
  width: 1.6rem;
  height: 1.6rem;
}



/*
===============================
= 10 Меню в шапке
============================================
*/

.site-header__nav {
  margin-left: auto;
  background-color: var(--lightColor);
}

@media (max-width: 1160px) {
  .site-header__nav {
    display: none;
  }
}

.nav-menu {
  display: flex;
}

.nav-menu__item {
  position: relative;
  font-size: 1.06rem;
}

.nav-menu__item:not(:first-child){
  margin-left: 1.5rem;
}

.nav-menu__item a {
  display: inline-block;
  text-decoration: none;
  color: var(--mainColor);
}

.nav-menu__item a:hover {
  text-decoration: none;
  color: var(--hoverColor);
}

.nav-menu li.menu-item-has-children {
  margin-right: 1rem !important;
}
 
.nav-menu .current-menu-item a {
  color: var(--hoverColor);
}

.nav-menu .menu-item-has-children::before {
  content: "";
  position: absolute;
  right: -1.5rem;
  top: 52%;
  z-index: 1;
  width: 20px;
  height: 20px;
  background-image: url("assets/img/arrow-down.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.nav-menu .sub-menu {
  margin-top: 0.7rem;
  padding: 0.5rem 0;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 20;
  width: 260px;
  background-color: var(--lightColor);
  border-radius: var(--bradius);
  opacity: 0;
  visibility: hidden;
  flex-direction: column;
  box-shadow: 0 22px 30px 0 rgba(15, 8, 49, .2);
  transform: translate(-1.3rem, 2rem);
  transition: transform 0.3s, opacity.3s;
}

.nav-menu li:hover>.sub-menu {
  display: flex;
  opacity: 1;
  visibility: visible;
  transform: translate(-1.3rem,  1.2rem);
  transition: transform 0.3s, opacity.3s;
}

.nav-menu .sub-menu .nav-menu__item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-weight: var(--normal);
  background-color: transparent;
  line-height: 140%;
  z-index: 2;
}

.nav-menu .sub-menu .nav-menu__item:not(:last-child) {
  border-bottom: 1px dashed rgb(226 227 238 / 22%);
}

.nav-menu .sub-menu .nav-menu__item a {
  padding: 0.9rem 1.4rem;
  padding-right: 2rem;
  display: block;
  color: var(--mainColor);
}

.nav-menu .sub-menu .nav-menu__item a:hover {
  text-decoration: none;
  color: var(--hoverColor);
}

.nav-menu .sub-menu .nav-menu__item>.sub-menu {
  margin-top: 0.7rem;
  left: 50%;
  top: 0;
  transform: translate(54%, 0);
  z-index: 20;
}

.nav-menu .sub-menu li:hover>.sub-menu {
  transform: translate(54%, -1.2rem);
}

.nav-menu .sub-menu li.menu-item-has-children {
  margin-right: 0;
}

.nav-menu .sub-menu li.menu-item-has-children::before {
  right: 1rem;
  top: 1.1rem;
  width: 20px;
  height: 20px;
  background-image: url("assets/img/arrow-down.svg");
  transform: rotate(-90deg);
}

.nav-menu .sub-menu::after {
  content: "";
  height: 50px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  transform: translateY(-60%);
}

.nav-menu .sub-menu .nav-menu__item>.sub-menu::after {
  content: "";
  height: 100%;
  width: 40px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  transform: translateX(-50%);
}

.headhesive {
  margin: 0 auto 0;
  padding: 1rem;
  width: 100%;
  background-color: var(--lightColor);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  transform: translateY(-200%);
  transition: all 350ms ease-in-out;
  box-shadow: 0 22px 30px 0 rgba(15, 8, 49, .15);
}

.headhesive .nav-menu {
  justify-content: center;
}

.headhesive--stick {
  transform: translateY(0%);
  transition: all 350ms ease-in-out;
}

@media (max-width: 1100px) {
  .headhesive {
    display: none;
  }
}


/*
===============================
= 11 Мобильное меню
============================================
*/

.site-header__mobile {
  position: absolute;
  top: 1.45rem;
  right: 2rem;
  z-index: 999;
  width: 48px;
  height: 48px;
  border-radius: var(--bradius);
  background-color: var(--greyBg);
  display: none;
}


@media (max-width: 1160px) {
  .site-header__mobile {
    display: flex !important;
  }
}

@media (max-width: 750px) {
  .site-header__mobile {
    top: 1.75rem;
    width: 38px;
    height: 38px;
  }
}

.mobile-menu-btn {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
}

@media (max-width: 750px) {
  .mobile-menu-btn {
    width: 38px;
    height: 38px;
  }
}

.mobile-menu-btn::after {
  right: -70% !important;
}

.mobile-menu-btn__line {
  position: relative;
  display: block;
  border-radius: 2px;
  width: 26px;
  height: 2px;
  background-color: var(--mainColor);
  transition: background-color 0.3s ease-in-out;
}

.mobile-menu-btn__line::before {
  content: "";
  position: absolute;
  left: 0;
  top: -7px;
  z-index: 1;
  border-radius: 2px;
  width: 20px;
  height: 2px;
  background-color: var(--mainColor);
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.is-active .mobile-menu-btn__line::before {
  top: 0;
  width: 26px;
  transform: rotate(45deg);
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.mobile-menu-btn__line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  z-index: 1;
  border-radius: 2px;
  width: 26px;
  height: 2px;
  background-color: var(--mainColor);
  transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.is-active .mobile-menu-btn__line::after {
  bottom: 0;
  width: 26px;
  transform: rotate(-45deg);
  transition: bototm 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.is-active .mobile-menu-btn__line {
  background-color: transparent;
  transition: background-color 0.02s ease-in-out;
}

.mobile-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  z-index: 200;
  background-color: #17181e;
  opacity: 0.7;
  transition: width 0.3s, transform 0.3s;
}

.mobile-overlay.is-open {
  width: 100%;
  transition: width 0.3s, transform 0.3s;
}
 
.mobile-nav-panel {
  padding: 3rem 1rem 3rem 0;
  background: var(--lightColor);
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  width: 100%;
  max-width: 300px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  transform: translateX(-100%);
}


.mobile-nav-panel.is-open {
  z-index: 998;
  opacity: 1;
  transform: translateX(0);
  transition: opacity .6s,visibility .6s,transform .6s;
}


.mobile-nav-panel__title {
  margin-bottom: 0.7rem;
  margin-left: 1.5rem;
  padding-bottom: 0.5rem;
  color: var(--greyColor);
  font-size: 0.92rem;
  border-bottom: 1px solid var(--borderColor);
}

.mobile-nav {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
}

.mobile-nav li {
  padding: 0;
  font-size: 1.1rem;
}

.mobile-nav .nav-menu__item:not(:first-child){
  margin-left: 0;
}

.mobile-nav li a {
  padding: 0.7rem 1.5rem;
  display: inline-block;
  text-decoration: none;
  color: var(--mainColor);
}

.mobile-nav .current-menu-item a {
  color: var(--mainColor);
}

.mobile-nav .current-menu-item a:hover {
  color: var(--accent2);
}

.mobile-nav .sub-menu {
  margin: 0.5rem 0;
  padding:  1rem 0;
  position: relative;
  display: none;
  background-color: var(--greyBg);
  border-radius: var(--bradius);
}

.mobile-nav .sub-menu .sub-menu {
  background-color: #ebeaf6;
  border-radius: 0;
}

.mobile-nav .sub-menu li {
  font-weight: var(--normal)
}

.mobile-nav .sub-menu li a {
  padding: 0.5rem 1.5rem;
}

.mobile-nav .menu-item-has-children::before,
.mobile-nav .reverse::before  {
  content: "";
  position: absolute;
  right: 1rem;
  top: 0.9rem;
  z-index: 1;
  width: 20px;
  height: 20px;
  background-image: url(assets/img/arrow-down-alt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: rotate(270deg);
  transition: transform 0.3s;
}

.mobile-nav .reverse::before {
  transform: rotate(360deg);
  transition: transform 0.3s;
}


/*
===============================
= 12 Расширенный поиск
============================================
*/

.site-header__search {
  margin-left: auto;
  position: relative;
  width: 100%;
  max-width: 300px;
}

@media (max-width: 1160px) {
  .site-header__search {
    margin-right: 5.5rem;
    max-width: 355px;
  }
}

@media (max-width: 820px) {
  .site-header__search {
    max-width: 300px;
  }
}

@media (max-width: 760px) {
  .site-header__search {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 2rem;
    position: relative;
    max-width: 100%;
  }
}

.site-search__form {
  position: relative;
  width: 100%;
}

.search-form__input {
  height: 50px;
}

.site-search__input {
  margin: 0;
  height: 50px;
  border-color: #c7b1e3 !important;
}

.site-search__input:focus {
  border-color: var(--accent2) !important;
}

.site-search__submit {
  position: absolute;
  right: 2px;
  top: 2px;
  z-index: 10;
  border: 0;
  width: 47px;
  height: 47px;
  background-image: url("assets/img/search.svg");
  background-position: center;
  background-size: 24px 24px;
  background-repeat: no-repeat;
  background-color: var(--lightColor);
  cursor: pointer;
}

.site-search__result {
  position: absolute;
  top: 3.5rem;
  left: 0;
  z-index: 99;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  background-color: var(--lightColor);
  border-radius: var(--bradius);
  max-height: 700px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-shadow: 0 22px 30px 0 rgba(15, 8, 49, .2);
  transform: translateY(20px);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}

.site-search__result::-webkit-scrollbar-thumb {
  background: #a26cfb
}

.site-search__result::-webkit-scrollbar {
  width: 4px;
  background: #eee
}

.is-find {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}

.search-form__list {
  padding: 1.5rem 2rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.search-list__item {
  font-size: 1rem;
}

.search-list__item:not(:last-child) {
  margin-bottom: 0.8rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px dashed rgb(226, 227, 238);
}

.search-list__link {
  display: block;
  color: var(--mainColor);
  text-decoration: none;
}

.search-list__link:hover {
  color: var(--mainMenuHover);
  text-decoration: none;
}

.wp-block-search__inside-wrapper  {
  position: relative;
}

.widget_search .wp-block-search__button {
  position: absolute;
  right: 3px;
  top: 2px;
  z-index: 10;
  border: 0;
  width: 44px;
  height: 44px;
  background-image: url(assets/img/search.svg);
  background-position: center;
  background-size: 26px 26px;
  background-repeat: no-repeat;
  background-color: var(--lightColor);
  text-indent: -9999px;
  cursor: pointer;
}

.widget_search .wp-block-search__input {
  padding-right: 4rem;
}


/*
===============================
= 13 Шаблон страницы
============================================
*/


.page__header {
  margin-bottom: 2rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
}

@media (max-width: 1160px) {
  .page-header {
    margin-bottom: 1rem;
  }

  .category .page-header,
  .tag .page-header {
    margin-bottom: 2rem;
  }
}

.page-header__wrap {
  margin-bottom: 0.5rem;
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: baseline;
}

@media (max-width: 1160px) {
  .page-header__wrap {
    margin-bottom: 0;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: normal
  }
}

.page-header__title {
  max-width: 600px;
  font-size: 1.8rem;
  line-height: 130%;
  font-weight: var(--bold);
}

@media (max-width: 1160px) {
  .page-header__title {
    max-width: 100%;
    order: 2
  }
}

@media (max-width: 415px) {
  .page-header__title {
    font-size: 1.5rem;
  }
}

.page-header__count {
  align-self: start;
  font-size: 1rem;
  color: var(--greyColor);
}

@media (max-width: 1160px) {
  .page-header__count {
    margin: 0.3rem 0 0.8rem;
  }
}


/*
===============================
= 14 Сетка записей в архиве CPT
============================================
*/

.page-list {
  display: grid;
  grid-column-gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}

.single-attractions .page-list {
  grid-row-gap: 2rem; 
}

@media (max-width: 1160px) {
  .page-list {
    grid-column-gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .page-list {
    grid-column-gap: 2rem;
  }
}

@media (max-width: 720px) {
  .page-list {
    display: block;
  }
}

.page-list--front {
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 1160px) {
  .single-attractions .page-list {
    grid-row-gap: 3rem;
  }
}

.page-list__item {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s;
}

@media (max-width: 720px) {
  .page-list__item {
    margin: 0 auto;
    max-width: 400px;
  } 
}

.list-item__wrap {
  margin: 0;
  padding: 1.4rem 1.8rem 1.8rem 1.8rem;
  display: flex;
  flex-direction: column;
  width: 90%;
  max-width: 362px;
  height: 100%;
  position: relative;
  z-index: 2;
  transform: translate(5.5%, -4rem);
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, .1);
  background-color: var(--lightColor);
  border-radius: var(--bradius);
}


.page-list__item:hover {
  transform: translateY(3px);
  transition: transform 0.3s;
}

.home .page-list__item:hover {
  transform: translateY(0);
}

.list-item__image,
.cpt-content__image {
  position: relative;
  opacity: 1;
  transition: opacity 0.3s;
}

.cpt-content__image--mobile {
  display: none;
}

@media (max-width: 1160px) {
  .cpt-content__image--mobile {
    display: block;
  }

  .cpt-content__image--desktop {
    display: none;
  }
  
}

.list-item__image:hover,
.cpt-content__image:hover {
  opacity: 0.8;
  transition: opacity 0.3s;
}

.list-item__image img {
  border-radius: var(--bradius);
}

.list-item__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
}

.list-item__title {
  margin-bottom: 1.1rem;
  font-size: 1.3rem;
  line-height: 135%;
  font-weight: var(--medium);
}

.list-item__link {
  text-decoration: none;
}

.list-item__link:hover {
  text-decoration: underline;
}

.list-item__descr {
  margin-top: 0.5rem;
  padding-top: 0.6rem;
  border-top: 1px dashed var(--borderColor);
  font-size: 0.96rem;
  color: var(--greyColor);
}

.list-item__footer {
  margin-top: auto;
  padding-top: 1.2rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}

.list-item__footer .btn {
  padding: 0.5rem 1.7rem;
  font-size: 1rem;
}

.list-item__footer .btn::after {
  top: -60%;
  right: -80%;
}

.list-item__price {
  padding: 0.8rem 1rem;
  display: block;
  text-align: center;
  border-radius: var(--bradius);
  background-color: var(--greyBg);
  font-size: 1rem;
  line-height: 1;
  font-weight: var(--medium);
}

.list-item__schedule {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  line-height: 1;
  font-weight: var(--medium);
}

.list-item__schedule em {
  margin-bottom: 7px;
  display: block;
  font-family: inherit;
  font-size: 0.9rem;
  font-style: normal;
  font-weight: var(--normal);
  color: var(--greyColor);
}

.page-content__descr {
  margin-bottom: 0.5rem;
  padding: 2rem 0;
  border-top: 1px dashed var(--borderColor);
  font-size: 1.1rem;
  color: var(--greyColor);
}

.post-type-archive-events .page-content__descr {
  margin-top: 0;
}

.list-item__recommend {
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: -1.5rem;
  right: 1.8rem;
  z-index: 1;
}

.single .list-item__recommend {
  top: -1rem;
}

.list-item__recommend::before {
  content: "";
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  background-image: url("assets/img/like.svg");
  background-position: center center;
  background-size: 1.5rem 1.5rem;
  background-repeat: no-repeat;
  background-color: #3bca75;
  border-radius: 50%;
}

.list-item__delivery {
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: -1rem;
  left: 1.8rem;
  z-index: 1;
}

.list-item__delivery::before {
  content: "";
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  background-image: url("assets/img/truck-fast.svg");
  background-position: center center;
  background-size: 1.5rem 1.5rem;
  background-repeat: no-repeat;
  background-color: #9e6ec6;
  border-radius: 50%;
}


.list-item__text {
  font-size: 1rem;
}

.list-item__time {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 1.6rem;
  display: block;
  font-size: 1rem;
  line-height: 145%;
}

.list-item__time::before {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 3px;
  left: 0;
  background-image: url("assets/img/clock.svg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.list-item__info {
  position: relative;
  margin-bottom: 0.5rem;
  display: flex;
  flex-flow: row wrap;
  font-size: 0.96rem;
  line-height: 145%;
}

.list-item__icon {
  margin-right: 0.6rem;
  margin-top: 2px;
  width: 1.2rem;
  height: 1.2rem;
  fill: var(--accent1);
}

.list-item__info p {
  margin-bottom: 0;
  flex: 1 0 80%;
}

@media (max-width: 720px) {
  .list-item__info p {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
  }
}

.page-content-item__top {
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.page-content-item__top::before {
  content: "";
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  background-image: url("assets/img/star.svg");
  background-position: center center;
  background-size: 1.2rem 1.2rem;
  background-repeat: no-repeat;
  background-color: #9e6ec6;
  border-radius: 50%;
}

.list-item__warning {
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  top: -1rem;
  right: 1.8rem;
  z-index: 1;
}

.list-item__warning::before {
  content: "18+";
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  font-size: 0.96rem;
  background-color: var(--accent1);
  color: var(--lightColor);
  border-radius: 50%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}


/*
===============================
= 15 Хлебные крошки
============================================
*/

.breadcrumbs {
  margin-left: auto;
  line-height: 1.2;
  display: inherit;
}

@media (max-width: 1160px) {
  .breadcrumbs {
    margin-left: 0;
    margin-bottom: 1rem;
    order: 1;
  }
}

@media (max-width: 700px) {
  .breadcrumbs {
    display: flex;
    flex-flow: row nowrap;
    width: 200%;
    overflow-y: auto;
  }
}

.breadcrumbs__item {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  color: var(--greyColor);
}

@media (max-width: 415px) {
  .breadcrumbs__item {
    font-size: 0.9rem;
  }
}

.breadcrumbs__item::before {
  content: "";
  position: absolute;
  left: -1.4rem;
  top: 0.6rem;
  width: 0.8rem;
  height: 1px;
  background-color: var(--greyColor);
}

@media (max-width:415px) {
  .breadcrumbs__item::before {
    top: 0.5rem;
  }
}

.breadcrumbs__item:not(:last-child) {
  margin-right: 2rem;
}

.breadcrumbs__item:first-child::before {
  display: none;
}

.breadcrumbs__link {
  display: inline-block;
  text-decoration: none;
  color: var(--greyColor);
}

.breadcrumbs__link:not(a[href]):hover {
  text-decoration: none;
  color: var(--greyColor);
}

.breadcrumbs__link:hover {
  text-decoration: underline;
}

.breadcrumbs__item:last-child span {
  display: inline-block;
  max-width: 200px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media (max-width: 520px) {
  .breadcrumbs__item:last-child span {
    max-width: 180px;
  }
}

.breadcrumbs__item--home {
  padding-left: 1.5rem;
}

.breadcrumbs__item--home svg {
  position: absolute;
  top: 1px;
  left: 0;
  width: 1rem;
  height: 1rem;
  fill: var(--accent1)
}


/*
===============================
= 16 Разметка карточки
============================================
*/


.cpt-item {
  margin-bottom: 2.6rem;
  display: grid;
  grid-column-gap: 3rem;
  grid-template-columns: repeat(12, 1fr);
}

@media (max-width: 1160px) {
  .cpt-item {
    display: flex;
    flex-direction: column;
  }
}

.cpt-item__content {
  grid-column: span 7;
  background-color: var(--lightColor);
  border-radius: var(--bradius);
}

@media (max-width: 1160px) {
  .cpt-item__content {
    order: 2
  }
}

@media (max-width: 415px) {
  .cpt-item__content {
    padding: 1rem;
  }
}

.cpt-item__aside {
  grid-column: span 5;
  border-radius: var(--bradius);
}

@media (max-width: 1160px) {
  .cpt-item__aside {
    order: 1;
    padding-bottom: 0;
  }
}

@media (max-width: 415px) {
  .cpt-item__aside {
    padding: 1rem;
  }
}

.cpt-item__aside iframe {
  margin: 0 auto;
}

.cpt-content__image {
  margin-bottom: 2rem;
}

@media (max-width: 415px) {
  .cpt-content__image {
    margin-bottom: 1.5rem;
  }
}

.cpt-content__image img {
  border-radius: var(--bradius);
}

.cpt-content .event-item__date {
  margin-bottom: 1rem;
  font-size: 1rem;
  border-radius: var(--bradius);
  overflow: hidden;
}

.cpt-info-list {
  display: flex;
  flex-direction: column;
}

.cpt-info__item {
  padding: 0.8rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  border: 1px solid var(--borderColor);
  border-radius: var(--bradius);
  font-size: 1rem;
}

.cpt-info__item:not(:last-child) {
  margin-bottom: 1rem;
}

.cpt-info-list__label {
  margin-bottom: 0.4rem;
  display: block;
  color: var(--greyColor);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.cpt-item__wrap {
  display: flex;
  flex-direction: column;
  flex: 1 0 70%;
  overflow: auto;
}

.cpt-info__map {
  margin-bottom: 1rem;
  border-radius: var(--bradius);
  background-color: #f7f6fb;
  overflow: hidden;
}

@media (max-width: 1160px) {
  .cpt-info__map {
    display: none;
  }

  .cpt-info__map.is-shown {
    display: flex;
    animation: scale-display .3s;
  }
}

.cpt-item__price {
  font-weight: var(--bold);
}

.cpt-info__item p:not(:last-child) {
  margin-bottom: 0.2rem;
}

.cpt-item__icon {
  margin-right: 1rem;
  width: 1.4rem;
  height: 1.4rem;
  fill: var(--accent1);
}

.cpt-info__item a {
  text-decoration: none;
}

.single-hotels .post-content,
.single-eat .post-content,
.single-events .post-content,
.single-attractions .post-content,
.single-excursions .post-content,
.single .post-content {
  margin-bottom: 1.5rem;
}

.cpt-item__tags,
.post-tags {
  margin-bottom: 1.5rem;
  padding-top: 0.5rem;
  display: flex;
  flex-flow: row wrap;
}

@media (max-width: 1160px) {
  .event-page .cpt-item__tags {
    margin-bottom: 0;
  }
}

@media (max-width: 700px) {
  .cpt-item__tags,
  .post-tags {
    margin-bottom: 1rem;
  }
}

.cpt-tags__item,
.post-tags a {
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

@media (max-width: 700px) {
  .cpt-tags__item,
.post-tags a {
    margin-bottom: 0.6rem;
  }
}

.cpt-tags__item:not(:last-child),
.post-tags a:not(:last-child) {
  margin-right: 1rem;
}

@media (max-width: 700px) {
  .cpt-tags__item:not(:last-child),
  .post-tags a:not(:last-child) {
    margin-right: 0.5rem;
  }
}

.cpt-tags__link,
.post-tags a {
  padding: 0.3rem 0.8rem;
  display: inline-flex;
  border: 1px solid var(--greyColor);
  text-decoration: none;
  border-radius: var(--bradius);
  color: var(--greyColor);
}

.cpt-tags__link::before,
.post-tags a::before {
  content: "#";
}

.cpt-tags__link:hover,
.post-tags a:hover {
  border-color: var(--hoverColor);
  text-decoration: none;
}

.page__related {
  margin-top: 4rem;
}

@media (max-width:415px) {
  .page__related {
    margin-top: 0;
  }
}

.single-attractions .page__related {
  margin-bottom: 3rem;
}

.list-item--related .list-item__footer {
  padding-top: 0.5rem;
}

.list-item--related .list-item__wrap {
  padding: 1.4rem;
}

.related-items__title {
  margin-bottom: 2rem;
  padding-bottom: 0.9rem;
  position: relative;
    font-size: 1.4rem;
    line-height: 135%;
    font-weight: var(--medium);
}

.related-items__title::after {
  content: "";
  width: 70px;
  height: 2px;
  background: linear-gradient(90deg, #e1b2f2, transparent);
  position: absolute;
  left: 0;
  bottom: -0.1rem;
  z-index: 1;
}


 /*
===============================
= 17 Разметка достопримечательностей
============================================
*/

.page-content-list {
  margin-bottom: 2.6rem;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1160px) {
  .page-content-list {
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .page-content-list {
    display: block;
  } 
}

.page-content-item {
  position: relative;
  width: 100%;
  height: 300px;
  background-color: var(--greyBg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: var(--bradius);
  box-shadow: 0px 5px 23px 0px rgb(62 55 75 / 16%);
  overflow: hidden;
}

@media (max-width: 720px) {
  .page-content-item {
    margin: 0 auto;
    max-width: 400px;
  } 

  .page-content-item:not(:last-child) {
    margin-bottom: 2rem;
  } 
}

.page-content-item--attr {
  height: 460px;
}

@media (max-width: 720px) {

  .page-content-item {
    height: 260px;
  }

  .page-content-item--attr {
    height: 360px;
  } 
}

.page-content-item__wrap {
  width: 100%;
  height: 100%;
  -webkit-transition: 0.6s;
  -webkit-transform-style: preserve-3d;
  transition: 0.6s;
  transform-style: preserve-3d;
  position: relative;
}

.page-content-item__caption {
  padding: 2rem 2rem 2.5rem;
  position: absolute;
  bottom: 0rem;
  left: 0rem;
  right: 0;
  background: #21202b;
  background: linear-gradient(to top, #21202b, transparent);
}

.page-content-item__title {
  position: relative;
  font-size: 1.4rem;
  font-weight: var(--medium);
  color: var(--lightColor);
  line-height: 120%;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s, transform 0.4s;
}

.page-content-item__title::before {
  content: "";
  width: 2rem;
  height: 1px;
  position: absolute;
  bottom: -0.8rem;
  left: 0;
  background-color: rgba(241, 243, 245, 0.5);
}

.page-content-item:hover .page-content-item__title {
  transform: translateY(-5px);
  transition: transform 0.4s;
}

.page-content-item--attr:hover .page-content-item__title {
  opacity: 1 !important;
  transform: translateY(-5px);
  transition: transform 0.4s;
}

.page-content-item__link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.page-content-item__overlay {
  padding: 3rem;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transform: rotateY(180deg);
  border-radius: var(--bradius);
  /*background-color: var(--attrBg);*/
  transition: opacity 0.3s;
}

.page-content-item:hover .page-content-item__overlay {
  opacity: 1;
  transition: opacity 0.6s;
}

.page-content-item:hover .page-content-item__wrap {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  transition: 0.6s;
}

.page-content-item__overlay .btn {
  margin-top: auto !important;
}

.page-content-item__descr {
  color: var(--lightColor);
  font-size: 1rem;
}

@media (max-width: 1440px) {
  .page-content-item__descr {
    font-size: 0.9rem;
  }
}


 /*
===============================
= 18 Разделы Главной
============================================
*/


.section-header {
  margin-bottom: 1rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 720px) {
  .section-header {
    margin-bottom: 3rem;
    flex-direction: column;
    align-items:start;
  }
}

.section-header--center {
  justify-content: center;
}

.section-header__title {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  position: relative;
  font-size: 1.7rem;
  line-height: 115%;
  font-weight: var(--bold);
}

@media (max-width: 415px) {
  .section-header__title {
    font-size: 1.5rem;
  }
}


.section-header__title::after {
  content: "";
  width: 70px;
  height: 2px;
  background: linear-gradient(90deg, #b2b2f2, transparent);
  position: absolute;
  left: 0;
  bottom: -0.8rem;
  z-index: 1;
}

.section-header__descr {
  margin-bottom: 2rem;
  font-size: 1.1rem;
  display: inline-block;
  max-width: 600px;
  color: var(--greyColor);
}

@media (max-width: 1160px) {
  .section-header__descr {
    margin-right: 2rem;
    max-width: 500px;
  }
}

@media (max-width: 800px) {
  .section-header__descr {
    max-width: 360px;
  }
}

@media (max-width: 720px) {
  .section-header__descr {
    margin-right: 0;
    margin-bottom: 1.5rem;
    display: block;
    max-width: 100%;
  }
}

@media (max-width: 415px) {
  .section-header__descr {
    font-size: 1rem;
  }
}

.custom-section {
  margin-bottom: 5rem;
  padding-top: 2rem;
}

.move-item,
.home .events-list__item:nth-of-type(2),
.page-list--front li:nth-of-type(2) {
  transform: translateY(1rem);
}

.move-item-x2 {
  transform: translateY(2rem);
}

.locals__hotels .page-list--front li:nth-of-type(1) {
  transform: translateY(1rem);
}

.locals__hotels .page-list--front li:nth-of-type(2) {
  transform: translateY(0);
}

.page-list--front li:nth-of-type(2):hover {
  transform: translateY(1rem);
}

.locals__hotels .page-list--front li:nth-of-type(2):hover {
  transform: translateY(0);
}

.services-list__item:nth-of-type(2),
.services-list__item:nth-of-type(5) {
  transform: translateY(1rem);
}

.page-list--exc .list-item:nth-of-type(2) {
  transform: translateY(1rem);
}

@media (max-width: 1160px) {
  .move-item,
  .home .events-list__item:nth-of-type(2),
  .page-list--front li:nth-of-type(2) {
    transform: translateY(0);
  }
  
  .move-item-x2 {
    transform: translateY(0);
  }
  
  .locals__hotels .page-list--front li:nth-of-type(1) {
    transform: translateY(0);
  }
  
  .locals__hotels .page-list--front li:nth-of-type(2) {
    transform: translateY(0);
  }
  
  .page-list--front li:nth-of-type(2):hover {
    transform: translateY(0);
  }
  
  .locals__hotels .page-list--front li:nth-of-type(2):hover {
    transform: translateY(0);
  }
  
  .services-list__item:nth-of-type(2),
  .services-list__item:nth-of-type(5) {
    transform: translateY(0);
  }
  
  .page-list--exc .list-item:nth-of-type(2) {
    transform: translateY(0);
  }
}


 /*
===============================
= 19 Раздел Главной - Постер
============================================
*/

.poster {
  margin-bottom: 2rem;
}

@media (max-width: 1160px) {
  .poster {
    margin-bottom: 5rem;
  }
}

.poster__wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
}

@media (max-width: 1160px) {
  .poster__wrap {
    flex-direction: column;
    align-items: start;
  }
}

.poster__offer {
  max-width: 550px;
}

@media (max-width: 1160px) {
  .poster__offer {
    margin-bottom: 2rem;
    max-width: 100%;
  }
}

.poster__title {
  margin-bottom: 3rem;
  font-size: 2.45rem;
  line-height: 130%;
  font-weight: var(--bold);
}

@media (max-width: 720px) {
  .poster__title {
    font-size: 1.85rem;
    text-align: left !important;
  }

  .poster__title::after {
      left: 0;
      transform: none;
    }
}

.poster__mark {
  color: var(--hoverColor);
}

.poster__descr {
  display: block;
  color: var(--greyColor);
  hyphens: none;
}

.poster__link {
  margin-top: 1.5rem;
  display: inline-block;
  font-size: 1rem;
  color: var(--accent1);
  text-decoration: none;
  font-weight: var(--medium);
}

.poster__media {
  margin-left: auto;
  position: relative;
}

@media (max-width: 1160px) {
  .poster__media {
    margin-left: 0;
    display: grid;
    justify-content: center;
    width: 100%;
  }
}

@media (max-width: 760px) {
  .poster__media {
    padding: 2rem;
  }
}

@media (max-width: 600px) {
  .poster__media {
    padding: 0;
  }
}

.poster-media__img {
  border-radius: 2rem;
}

.curve-bottom {
  width: 250px;
  height: 82px;
  border-top-left-radius: 2rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: transparent;
  transform: translateY(-100%) scaleY(-1);
  box-shadow: -30px -30px 0 #fff;
}

@media (max-width: 600px) {
  .curve-bottom, 
  .curve-top  {
    display: none;
  }
}

.curve-bottom::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-top-right-radius: 2rem;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-100%) scaleY(-1);
}

.curve-bottom::after {
  content: "";
  width: 100%;
  height: 100%;
  border-top-left-radius: 2rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: transparent;
  transform: translate(100%, -100%);
  box-shadow: -30px -30px 0 #fff;
}

.curve-top {
  width: 240px;
  height: 82px;
  border-bottom-right-radius: 2rem;
  position: absolute;
  top: 0;
  right: 0;
  background-color:transparent;
  transform: translateY(100%) scaleY(-1);
  box-shadow: 30px 30px 0 #fff;
}

.curve-top::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-bottom-left-radius: 2rem;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(100%) scaleY(-1);
}

.curve-top::after {
  content: "";
  width: 100%;
  height: 100%;
  border-bottom-right-radius: 2rem;
  position: absolute;
  top: 0;
  right: 0;
  background-color:transparent;
  transform: translate(-100%, 100%);
  box-shadow: 30px 30px 0 #fff;
}

.poster-btn {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: absolute;
  color: var(--lightColor);
  background-color: var(--accent1);
  border-radius: 1.6rem;
  padding: 1rem 2rem;
  text-align: center;
  text-decoration: none;
  transition: box-shadow 0.4s, transform 0.4s;
  box-shadow: 0 22px 30px 0 rgba(15, 8, 49, .2);
}

.poster-btn--bottom {
  bottom: 0;
  left: 1rem;
}

.poster-btn--top {
  top: 0;
  right: 1.2rem;
}

@media (max-width: 600px) {
  .poster-btn--top {
    top: 1.2rem;
  }

  .poster-btn--bottom {
    bottom: 1.2rem;
  }
}

@media (max-width: 450px) {
  .poster-btn {
    position: relative;
    padding: 1rem 1rem;
  }

  .poster-btn--top {
    top: initial;
    right: initial;
    margin: 2rem 0;
  }

  .poster-btn--bottom {
    bottom: initial;
    left: initial;
  }
}

.poster-btn:hover {
  color: var(--lightColor);
  text-decoration: none;
  box-shadow: 0 22px 30px 0 rgba(15, 8, 49, 0);
  transform: translateY(3px);
  transition: box-shadow 0.4s, transform 0.4s;
}

.poster-btn__icon {
  width: 30px;
  height: 30px;
  margin-right: 1rem;
}

.poster__socials {
  margin-top: 2.6rem;
}

@media (max-width: 1160px) {
  .poster__socials {
    margin-bottom: 2rem;
  }
} 


.guide  {
  margin-bottom: 6rem;
}

.guide-title {
 margin-bottom: 3rem;
 display: inline-block;
}

.guide-list {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1160px) {
  .guide-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media (max-width: 530px) {
  .guide-list {
    display: block;
  }
}

.guide-list__item {
  padding: 1.2rem 1.5rem;
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: var(--bradius);
  background-color: var(--greyBg);
  color: var(--mainColor);
  box-shadow: 0px 5px 30px 0px rgba(94, 75, 139, 0.1);
  transition: background-color 0.3s ease-in-out, color 0.3s;
}

@media (max-width: 530px) {
  .guide-list__item:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}

.guide-list__item:hover {
  background-color: var(--accent1);
  color: var(--lightColor);
  transition: background-color 0.3s ease-in-out, color 0.3s;
}

@media (max-width: 1160px) {
  .guide-list__item {
    padding: 0.8rem 1.2rem;
  }
}

.guide-list__num {
  min-width: 64px;
  color: var(--lightColor);
  background-color: var(--accent2);
  padding: 1rem;
  text-align: center;
  font-weight: var(--bold);
  border-radius: var(--bradius);
}

@media (max-width: 720px) {
  .guide-list__num {
    min-width: 46px;
    padding: 0.75rem;
  }
}


.guide-list__item p {
  margin: 0;
  margin-right: 2rem;
  line-height: 120%;
}

@media (max-width: 720px) {
  .guide-list__item p {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
  }
}
 
.guide-list__link {
  text-decoration: none;
  position: absolute;
  inset: 0;
}


 /*
===============================
= 20 Раздел Главной - События
============================================
*/

.home-section--events {
  position: relative;
  margin-bottom: 5rem;
}

.home-section--events::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  max-width: 900px;
  max-height: 1000px;
  background-color: #f4f4ff;
  transform: translate(-50%, -50%) skew(10deg);
  z-index: -1;
  opacity: 0.6;
  border-radius: 50%;
}

@media (max-width: 1160px) {
  .home-section--events::before {
    max-width: 600px;
    max-height: 500px;
  }
}

@media (max-width: 700px) {
  .home-section--events::before {
    display: none;
  }
}

.terms-list {
  margin-top: 0.5rem;
  padding-top: 0.8rem;
  border-top: 1px dashed var(--borderColor);
  display: flex;
}

.terms-list__item:not(:last-child) {
  margin-right: 1.2rem;
}

.terms-list__item {
  padding-left: 13px;
  position: relative;
}

.terms-list__item::before {
  content: "";
  width: 5px;
  height: 5px;
  background-color: var(--accent2);
  border-radius: 50%;
  position: absolute;
  top: 13px;
  left: 0;
}

.terms-list__link {
  text-decoration: none;
  color: var(--accent1);
  font-weight: var(--medium);
  font-size: 1rem;
}

.events-list {
  display: grid;
  grid-column-gap: 2rem;
  grid-row-gap: 0;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1160px) {
  .events-list {
    grid-column-gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .events-list {
   display: block;
  }
}

.event-item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media (max-width: 720px) {
  .event-item {
    margin: 0 auto;
    max-width: 400px;
  } 
}

.event-item__date {
  padding-right: 1.2rem;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-top-right-radius: var(--bradius);
  font-size: 1rem;
  background-color: rgba(231, 229, 243, 0.612);
}

.single-events .event-item__date {
  margin-bottom: 1rem;
}

@media (max-width: 415px) {
  .single-events .event-item__date {
    padding: 0.6rem 1rem;
  }
}


.event-item__calendar {
  margin-right: 1.1rem;
  padding: 0.9rem;
  background-color: var(--accent2);
  border-top-left-radius: var(--bradius);
}

.single-events .event-item__calendar  {
  border-bottom-left-radius: var(--bradius);
}

@media (max-width: 415px) {
  .single-events .event-item__calendar  {
    display: none;
  } 
}

.event-item__icon {
  width: 1.6rem;
  height: 1.6rem;
  fill: var(--lightColor)
}

.event-item__time {
  margin-left: auto;
}

.events-thumb {
  position: relative;
}

.events-thumb img {
  border-bottom-right-radius: var(--bradius);
  border-bottom-left-radius: var(--bradius);
}

.events-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--accent2);
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}

.events-thumb::after {
  content: "";
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  opacity: 0;
  background-image: url("assets/img/eye.svg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translate(-50%, -86%);
}

.events-thumb:hover::before,
.events-thumb:hover::after {
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}

.events-thumb__link {
  text-decoration: none;
  position: absolute;
  inset: 0;
  z-index: 3;
}

.event-item__label {
  margin-bottom: 1rem;
  padding-left: 1.6rem;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 0.9rem;
  color: var(--greyColor);
}

.event-item__label--last::before,
.event-item__label--today::before,
.event-item__label--finished::before,
.event-item__continues::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.event-item__label--last::before {
  background-image: url("assets/img/info.svg");
}

.event-item__label--today::before,
.event-item__continues::before {
  background-image: url("assets/img/check.svg");
}

.event-item__label--finished::before {
  background-image: url("assets/img/warning.svg");
}


 /*
===============================
= 21 Раздел Главной - О нас
============================================
*/


.home-section--about {
  margin-bottom: 10rem;
}

@media (max-width: 540px) {
  .home-section--about {
    margin-bottom: 5rem;
  }
}

@media (max-width: 540px) {
  .home-section--about .section-header {
  margin-bottom: 1rem;
 }
}

.about__wrap {
  margin-right: 2rem;
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 1160px) {
  .about__wrap { 
    margin-right:0;
    display: block;
  }
}

.about-item {
  position: relative;
  z-index: 1;
  align-self: start;
}

@media (max-width: 1160px) {
  .about-item:first-child {
    margin-bottom: 4rem;
  }
}

@media (max-width: 540px) {
  .about-item:first-child {
    margin-bottom: 3rem;
  }
}

.about-item__img {
  border-radius: var(--bradius);
  transition: opacity 0.4s;
}

@media (max-width: 1160px) {
  .about-item__img {
    max-width: 500px;
  }
}

@media (max-width: 540px) {
  .about-item__img {
    margin-bottom: 1rem;
    max-width: 100%;
  }
}

.about-item:hover .about-item__img {
  opacity: 0.9;
}

@media (max-width: 1160px) {
  .about-item:nth-of-type(2) .about-item__img {
    margin-left: auto;
  }
}

.about-item__caption {
  padding: 1.7rem;
  max-width: 400px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 5;
  background-color: var(--lightColor);
  border-radius: var(--bradius);
  transform: translate(2rem, 2rem);
  box-shadow: 0 22px 30px 0 rgba(15, 8, 49, .1);
  transition: transform 0.4s;
}

@media (max-width: 1160px) {
  .about-item__caption {
    max-width: 600px;
    bottom: 3rem;
    transform: translate(0, 0);
  }
}

@media (max-width: 540px) {
  .about-item__caption {
    max-width: 100%;
    position: relative;
    bottom: initial;
  }
}

.about-item:hover .about-item__caption {
  transform: translate(2rem, 1rem);
}

@media (max-width: 1160px) {
  .about-item:hover .about-item__caption {
    transform: translate(0, 0);
  }
}

@media (max-width: 1160px) {
  .about-item:hover .about-item__caption {
    transform: translate(0, 0);
  }
}

@media (max-width: 1160px) {
  .about-item:nth-of-type(2) .about-item__caption {
    right: initial;
    left: 0;
  }
}

.about-item__descr {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.about-item__link {
  font-size: 1rem;
  color: var(--accent1);
  font-weight: var(--medium);
  text-decoration: none;
}

.about-item__link:hover {
  text-decoration: none;
}

.about-item__title {
  margin-bottom: 0.8rem;
  display: block;
  font-size: 1.3rem;
  font-weight: var(--bold);
}


 /*
===============================
= 22 Раздел Главной - Достопримечательности
============================================
*/


.attr {
  margin-bottom: 5rem;
  padding: 4rem 0 0 3rem;
  position: relative;
  overflow: hidden;
}

@media (max-width: 540px) {
  .attr {
    padding: 4rem 0 0 0;
  }
}

.attr::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 88%;
  background-color: var(--greyBg);
}

@media (max-width: 1160px) {
  .attr::after {
    height: 70%;
  }
}

.attr-text__title,
.locals__title {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  position: relative;
  font-size: 1.7rem;
  line-height: 115%;
  font-weight: var(--bold);
}

.attr-text__title::after,
.locals__title::after {
  content: "";
  width: 70px;
  height: 2px;
  background: linear-gradient(90deg, #e1b2f2, transparent);
  position: absolute;
  left: 0;
  bottom: -0.1rem;
  z-index: 1;
}

@media (max-width: 720px) {
  .attr-text__title::after,
  .locals__title::after {
    left: 50%;
    transform: translateX(-50%);
  }
}

.attr-text__descr,
.locals__text {
  display: block;
  margin-bottom: 2.4rem;
}


@media (max-width: 720px) {
  .attr-text__descr,
  .locals__text {
    margin-bottom: 1.5rem;
  }
}


.attr-wrap {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

@media (max-width: 1160px) {
  .attr-wrap {
    display: flex;
    flex-flow: column wrap;
  }
}

.attr-wrap__text {
  padding-right: 4rem;
  padding-top: 1rem;
  position: relative;
  flex-basis: 35%;
  align-self: start;
}

@media (max-width: 540px) {
  .attr-wrap__text {
    padding-right: 0;
    flex-basis: initial;
    align-self:normal;
    width: 100%;
  }
}

.attr-wrap__gallery {
  position: relative;
  flex-basis: 60%;
  overflow: hidden;
}

@media (max-width: 540px) {
  .attr-wrap__gallery {
    flex-basis: initial;
    width: 100%;
  }
}

.attr-gallery {
  margin-top: 6rem;
}

@media (max-width: 1160px) {
  .attr-gallery {
    margin-top: 3rem;
  }
}

.gallery-cell {
  opacity: 0.5;
  border-radius: var(--bradius);
  height: 420px;
  transition: opacity 0.7s;
}

@media (max-width: 1160px) {
  .gallery-cell {
    opacity: 1;
  }
}

.gallery-cell.swiper-slide-active {
  opacity: 1;
  transition: opacity 0.6s;
}

.gallery-cell .page-content-item__title {
  font-size: 1.5rem;
}

@media (max-width: 540px) {
  .gallery-cell .page-content-item__title {
    padding-right: 5rem;
  }
}

@media (max-width: 420px) {
  .gallery-cell .page-content-item__title {
    font-size: 1.4rem;
  }
}

.gallery-cell .page-content-item__caption {
  opacity: 0;
}

.gallery-cell.swiper-slide-active .page-content-item__caption {
  opacity: 1;
  transition: opacity 0.6s;
}

.attr-nav {
  width: 62%;
  height: 0;
  position: absolute;
  right: 4rem;
  top: 63%;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}


@media (max-width: 1160px) {
  .attr-nav {
    top: 75%;
  }
}

.attr-nav__prev,
.attr-nav__next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
  width: 2.6rem;
  height: 2.6rem;
  color: var(--greyColor);
  background-color: var(--accent1);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  cursor: pointer;
}

.attr-nav__prev svg,
.attr-nav__next svg {
  width: 2rem;
  height: 2rem;
  fill: currentColor;
  -o-object-fit: cover;
  object-fit: cover;
}

.attr-nav__prev:hover,
.attr-nav__next:hover {
  background-color: var(--accent2);
}

@media (max-width: 1160px) {
  .attr-nav__prev {
    display: none;
  }

  .attr-nav__next  {
    margin-left: auto;
  }
}



 /*
===============================
= 23 Раздел Главной - Рестораны и гостиницы
============================================
*/

.home-section--locals {
  margin-bottom: 5rem;
  position: relative;
  z-index: 1;
}

.home-section--locals::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  max-width: 600px;
  max-height: 900px;
  background-color: #f4f4ff;
  transform: translate(-50%, -50%) skew(10deg);
  z-index: -1;
  opacity: 0.6;
  border-radius: 50%;
}

@media (max-width: 1160px) {
  .home-section--locals::before {
    max-width: 600px;
    max-height: 500px;
  }
}

@media (max-width: 700px) {
  .home-section--locals::before {
    display: none;
  }
}

.locals__wrap {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(8, 1fr);
}

@media (max-width: 1160px) {
  .locals__wrap {
    display: flex;
    flex-direction: column;
  }
}

.locals__eat,
.locals__hotels {
  grid-column: 5 span;
}

@media (max-width: 1160px) {
  .locals__eat,
  .locals__hotels {
    order: 2;
  }
}

.locals__descr {
  padding-left: 2rem;
  grid-column: 3 span;
}

@media (max-width: 1160px) {
  .locals__descr {
    padding-left: 0;
    order: 1;
  }
}

.page-list--front li .list-item__descr {
  display: none;
}
 

/*
===============================
= 24 Раздел Главной - Услуги
============================================
*/

.home-section--services {
  margin-bottom: 10rem;
}

.services-list {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr)
}

@media (max-width: 1160px) {
  .services-list {
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 720px) {
  .services-list {
   display: block;
  }
}

.services-list__item {
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  background-color: var(--lightColor);
  border-top-right-radius: 30px;
  border-bottom-left-radius: 30px;
  box-shadow: 0px 0px 40px 0px rgba(94, 75, 139, 0.17);
  overflow: hidden;
  transition: box-shadow .4s;
}

@media (max-width: 720px) {
  .services-list__item {
    margin: 0 auto;
    max-width: 400px;
  } 

  .services-list__item:not(:last-child) {
    margin-bottom: 3rem;
  }
}

.services-list__item:hover {
  box-shadow: 0px 0px 40px 0px rgba(94, 75, 139, 0.07);
  transition: box-shadow .4s;
}

.services-list__content {
  margin-bottom: 1.2rem;
}

.service-item__icon {
  margin-bottom: 1.2rem;
}

.service-item__title {
  margin-bottom: 1rem;
  display: block;
  font-size: 1.3rem;
  font-weight: var(--medium);
}

.service-item__descr img {
  margin-bottom: 0;
  border-radius: var(--bradius);
}

.service-item__descr p {
  hyphens:none;
}

.service-item__descr p:not(:last-child) {
  margin-bottom: 0.9rem;
}

.service-item__footer {
  margin-top: auto;
  padding-top: 0.8rem;
  display: flex;
  border-top: 1px dashed var(--borderColor);
  display: block;
}

.service-item__link {
  font-size: 1rem;
  color: var(--accent1);
  font-weight: var(--medium);
  text-decoration: none;
}

.service-item__link:hover {
  text-decoration: none;
}



/*
===============================
= 25 Раздел Главной - Отзывы
============================================
*/

.home-section--feedback {
  margin-bottom: 5rem;
  padding-top: 5rem;
}

.home-section--feedback .section-header {
  margin-bottom: 0;
  position: relative;
}

.home-section--feedback:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 430px;
  background-color: var(--greyBg);
}

@media (max-width: 1160px) {
  .home-section--feedback::after {
    height: 390px;
  }
}


.home-section--feedback .swiper-slide-next {
  transform: translateY(1rem);
  transition: transform 0.4s;
}

@media (max-width: 1160px) {
  .home-section--feedback .swiper-slide-next {
    transform: translateY(0);
  }
}

@media (max-width: 720px) {
  .home-section--feedback .section-header__descr {
    margin-bottom: 6rem;
  }
}

.feedback-list {
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 1rem 1rem 3rem;
  position: relative;
  overflow-x: hidden;
}

.feedback-list__item {
  background-color: var(--lightColor);
  padding: 1.8rem 2.4rem;
  position: relative;
  border-radius: var(--bradius);
  box-shadow: 0px 5px 30px 0px rgba(94, 75, 139, 0.1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.4s;
}

.feedback-list__item::after {
  content: "";
  width: 7rem;
  height: 7rem;
  background-color: rgba(239, 238, 251, 0.7);
  border-radius: 50%;
  position: absolute;
  bottom: -4rem;
  right: -4rem;
}

.feedback-item__author {
  margin-bottom: 0.1rem;
  padding-left: 4.2rem;
  display: block;
  font-size: 1.1rem;
  font-weight: var(--medium);
}

.feedback-item__content {
  position: relative;
  overflow: hidden;
}

.feedback-item__rate {
  position: absolute;
  top: 1.5rem;
  right: 1.8rem
}

.feedback-item__date {
  margin-bottom: 1rem;
  padding-left: 4.2rem;
  display: block;
  font-size: 0.9rem;
  color: var(--greyColor);
}

.feedback-item__more {
  position: absolute;
  bottom: 2rem;
  left: 2.4rem;
  z-index: 1;
  padding: 0;
  display: inline-block;
  font-size: 1rem;
  color: var(--accent1);
  font-weight: var(--medium);
  align-self: start;
}

.feedback-nav {
  position: absolute;
  right: 2.2rem;
  top: 3rem;
  display: flex;
  align-items: center;
}

@media (max-width: 720px) {
  .feedback-nav {
    top: 8.4rem;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
  }
}

.feedback-nav__next {
  margin-left: 0.5rem;
}

.feedback-nav__prev,
.feedback-nav__next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
  width: 2.6rem;
  height: 2.6rem;
  color: var(--greyColor);
  background-color: var(--accent1);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  cursor: pointer;
}

.feedback-nav__prev svg,
.feedback-nav__next svg {
  width: 2rem;
  height: 2rem;
  fill: currentColor;
  -o-object-fit: cover;
  object-fit: cover;
}

.feedback-nav__prev:hover,
.feedback-nav__next:hover {
  background-color: var(--accent2);
}

.feedback-item__icon {
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 1.8rem;
  left: 2.4rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background-color: var(--accent2);
  border-radius: var(--bradius);
}

.feedback-item__icon svg {
  width: 2rem;
  height: 2rem;
}

.feedback-item__target {
  margin-bottom: 0.8rem;
  padding: 0.55rem 0;
  width: 100%;
  position: relative;
  display: inline-block;
  font-size: 1rem;
  border-top: 1px solid #e5e2ec;
  border-bottom: 1px solid #e5e2ec;
}

.feedback-item__link {
  margin-left: 4px;
  color: var(--accent1);
  text-decoration: none;
}



/*
===============================
= 26 Раздел Главной - Новости
============================================
*/

.news {
  margin-bottom: 5rem;
}

.news-list {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1160px) {
  .news-list {
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .news-list {
    display: block;
  }
}

.news-list__item {
  padding: 1.4rem 1.8rem;
  position: relative;
  display: flex;
  background-color: var(--lightColor);
  border-radius: var(--bradius);
  box-shadow: 0px 5px 30px 0px rgba(94, 75, 139, 0.1);
  transition: transform 0.4s;
}

@media (max-width: 720px) {
  .news-list__item {
    margin: 0 auto;
    max-width: 400px;
  }

  .news-list__item:not(:last-child) {
    margin-bottom: 3rem;
  }
}

@media (max-width: 400px) {
  .news-list__item {
    flex-direction: column;
  }
}

.news-list__item:hover {
  transform: translateY(5px);
  transition: transform 0.4s;
}

.news-list__item::after {
  content: "+";
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 1.3rem;
  right: 1.8rem;
  font-size: 1.2rem;
  font-weight: var(--medium);
  border-radius: 50%;
  background-color: var(--accent1);
  color: var(--lightColor);
  transition: background-color 0.3s, transform 0.3s;
}

.news-list__item:hover::after {
  background-color: var(--accent2);
  transform: rotate(180deg);
  transition: background-color 0.3s, transform 0.3s;
}

.news-list__title {
  margin-bottom: 0.5rem;
  display: block;
  font-size: 1rem;
  line-height: 140%;
  font-weight: var(--medium);
}

.news-list__date {
  font-size: 0.9rem;
  color: var(--greyColor);
}

.news-list__thumb {
  margin-right: 1.5rem;
}

@media (max-width: 400px) {
  .news-list__thumb {
    margin-right: 0;
    margin-bottom: 1rem;
  }
}

.news-list__thumb img {
  max-width: 80px;
  border-radius: 50%;
}

.news-list__link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.news-list__type {
  margin-top: 1rem;
  display: block;
  color: var(--accent1);
  font-weight: var(--medium);
  font-size: 1rem;
}
 

 /*
===============================
= 27 Список категорий CPT
============================================
*/

.page-categories-list {
  margin-bottom: 1.5rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}


@media (max-width: 1160px) {
  .page-categories-list {
    display: none;
  }

  .page-categories-list.is-shown {
    margin-bottom: 1rem;
    display: flex;
    animation: scale-display .3s;
  }
}

@keyframes scale-display {
	0% {
		opacity: 0;
		transform: scale(0);
    -webkit-transform: scale(0);
	}

	100% {
		opacity: 1;
		transform: scale(1);
    -webkit-transform: scale(1);
	}
}
 
.page-categories-list__item {
  margin-bottom: 1rem;
}

.page-categories-list__item:not(:last-child) {
  margin-right: 1rem;
}

@media (max-width: 1160px) {
  .page-categories-list__item {
    margin-bottom: 0.6rem;
  }
  
  .page-categories-list__item:not(:last-child) {
    margin-right: 0.6rem;
  }
}

.page-categories-list__link {
  padding: 0.25rem 1.35rem;
  display: inline-block;
  border: 1px solid;
  border-color: #c7b1e3;
  font-size: 0.96rem;
  border-radius: var(--bradius);
  text-decoration: none;
  background-color: var(--lightColor);
  transition: border-color 0.3s;
}


@media (max-width: 1160px) {
  .page-categories-list__link {
    padding: 0.25rem 1rem;
    font-size: 0.9rem;
  }
}

.page-categories-list__link:hover {
  text-decoration: none;
  border-color: var(--accent2);
  color: var(--mainColor);
  transition: border-color 0.3s;
}

.current-cat-item,
.base-item {
  padding-left: 2rem;
  position: relative;
  border-color: var(--accent2);
  color: var(--mainColor);
  transition: border-color 0.3s;
}

.current-cat-item::before,
.base-item::before {
  content: "";
  width: 5px;
  height: 5px;
  background-color: var(--accent2);
  border-radius: 50%;
  position: absolute;
  top: 0.9rem;
  left: 1rem;
}

@media (max-width: 1160px) {
  .current-cat-item::before,
  .base-item::before {
    top: 0.8rem;
  }
}

.page-categories-list__toggle,
.exc-info-toggle {
  margin-bottom: 1.5rem;
  display: none;
}


@media (max-width: 1160px) {
  .page-categories-list__toggle,
  .exc-info-toggle {
    display: inline-block;
    color: var(--accent1);
    border-bottom: 1px dashed var(--accent1);
    cursor: pointer;
    transform: translateY(-5px);
  }
}


 /*
===============================
= 28 Раздел Главной - Экскурсии
============================================
*/

#excursions {
  margin-bottom: 4rem;
}

.excursions-thumb {
  margin-bottom: 1rem;
}

.excursions-thumb img {
  border-radius: var(--bradius);
}

.excursion-week {
  margin-bottom: 1.5rem;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  font-size: 0.9rem;
  line-height: 1;
  font-weight: var(--medium);
}

.excursion-week__day {
  padding: 5px 8px;
  background-color: var(--lightColor);
}

.excursion-week__day.on {
  padding: 5px 8px;
  background-color: #25b650e4;
  color: var(--lightColor);
  border-radius: 3px;
}

.exc-info__text{
  font-size: 1rem;
}

.exc-info__label {
  margin-bottom: 0.6rem;
  padding-bottom: 0.6rem;
  display: block;
  color: var(--greyColor);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--borderColor);
}

@media (max-width: 415px) {
  .exc-info__label {
    font-size: 11px;
  }
}
 

.exc-info__price {
  font-size: 1.3rem !important;
  font-weight: var(--bold);
}

.exc-info__price em { 
  font-weight: var(--bold);
  font-style: normal;
  font-family: inherit;
}

.exc-info-item {
  margin-bottom: 1.5rem;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.exc-info-item > * {
  flex: 1
}

.exc-days .excursion-week {
  margin-bottom: 2rem;
  max-width: 300px;
}

.exc-days .exc-info__label {
  margin-bottom: 1rem;
}

.exc-info__header {
  margin-bottom: 2rem;
}

@media (max-width: 415px) {
  .exc-info__header {
    flex-flow: column wrap;
  }
}

.sidebar__wrap {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background-color: rgb(243 243 249 / 57%);
  border-radius: var(--bradius);
}

.order-btn {
  padding: 0.8rem 1.5rem !important;
  max-width: 220px !important;
  font-weight: var(--medium);
  text-align: center;
  line-height: 138%;
}
 
@media (max-width: 1160px) {
  .order-btn {
    padding: 1rem 1.5rem !important;
    align-self: center;
  }
}

@media (max-width: 415px) {
  .order-btn {
    margin-top: 1.5rem;
    align-self: self-start;
  }
}
 

 /*
===============================
= 29 Списки сайта
============================================
*/

.post-content ul:not(:last-child),
.widget ul:not(:last-child) {
  margin: 1rem 0;
}

.post-content ul {
  padding-left: 1rem;
}

.post-content ul li ul {
  margin-top: 0.6rem;
}

.post-content ul li {
  padding-left: 1rem;
  position: relative;
}

.post-content ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.post-content ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: var(--accent1);
  position: absolute;
  left: 0;
  top: 0.75rem;
  border-radius: 50%;
}

.post-content ol {
  margin: 1rem 0;
  padding-left: 1rem;
  list-style: decimal;
  list-style-position: inside;
}

.post-content ol li {
  padding: 0
}

.post-content ol li:not(:last-child) {
  margin-bottom: 0.6rem;
}

.post-content ol ol {
  list-style: upper-alpha
}

.post-content ol ol ol {
  list-style: lower-roman
}

.post-content ol ol ol ol {
  list-style: lower-alpha
}


 /*
===============================
= 30 Отзывы и комментарии
============================================
*/



.comments__list {
  margin-bottom: 2.6rem;
}

.comments__wrapper.open {
  height: auto;
  display: block;
  overflow: visible;
  opacity: 1;
}

.comments {
  margin-top: 3rem;
  position: relative;
}

.comments__title {
  margin-bottom: 1.5rem;
  display: block;
  font-weight: var(--bold);
  font-size: 1.2rem;
}

#respond .comments__title {
  margin-bottom: 1rem;
  border: 0;
}

@media (max-width:415px) {
  .comments__title,
  #respond .comments__title {
    font-size: 1.1rem;
  }
}

@media (max-width: 900px) {
  .comments {
    margin-bottom: 2rem;
  }
}

.comment {
  padding: 1rem 1.4rem;
  display: flex;
  flex-flow: column nowrap;
  font-size: 1rem;
  border: 1px solid var(--borderColor);
  border-radius: 8px;
}

@media (max-width: 500px) {
  .comment {
    padding: 1rem 0.9rem 0.6rem;
  }
}

.comment:not(:last-child) {
  margin-bottom: 3rem;
}

.comment .children {
  margin: 0.5rem 0;
  padding: 1rem 0 0 1rem;
}

@media (max-width: 500px) {
  .comment .children {
    padding-left: 0.8rem;
  }
}

.comment__wrapper {
  display: flex;
  flex-direction: column;
}

.comment__header {
  padding-bottom: 0.5rem;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--borderColor);
}

.comment-author-info {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

.comment-edit-link {
  margin-left: 1rem;
  color: var(--greyColor);
  text-decoration: none;
}

@media (max-width: 500px) {
  .comment-edit-link {
    display: none;
  }
}

.comment-edit-link:hover {
  text-decoration: underline;
  color: var(--hoverColor);
}

.comment__text {
  padding: 1rem 0 0.5rem;
  font-size: 1.05rem;
  line-height: 165%;
}

@media (max-width: 700px) {
  .comment__text {
    font-size: 1rem;
  }
}

.comment__author {
  font-weight: var(--medium);
  font-size: 1rem;
  line-height: 130%;
  color: var(--accent1)
}

.comment__author .url {
  text-decoration: none;
}

.comment__author .url:hover {
  text-decoration: underline;
}

.comment-author-info__label {
  position: relative;
}

.comment-author-info__label::after {
  content: "Автор";
  margin-left: 14px;
  padding: 5px 8px;
  display: inline-flex;
  background-color: var(--accent2);
  color: var(--lightColor);
  font-size: 13px;
  line-height: 1;
  border-radius: 4px;
}

@media (max-width: 600px) {
  .comment-author-info__label::after {
    content: " ";
    margin-left: 8px;
    padding: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transform: translateY(-10px)
  }
}

.comment__meta {
  margin-left: 1.2rem;
  font-size: 0.9rem;
  color: var(--greyColor);
}

@media (max-width: 500px) {
  .comment__meta {
    margin-left: 1rem;
    font-size: 0.8rem;
    color: var(--greyColor);
  }
}

.comment__meta a {
  text-decoration: none;
  color: var(--greyColor);
}

.children .comment {
  padding: 0;
  border: none;
}

.children .comment:not(:last-child) {
  margin-bottom: 1rem;
}

.comment-awaiting-moderation {
  display: block;
  margin-bottom: 1.5rem;
  font-style: normal;
  font-size: 1rem;
  color: #219951;
}


/*
===============================
= 31 Форма отправки отзывов и комментариев
============================================
*/

.comment-form {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.comment-form .comment-notes,
.logged-in-as {
  display: block;
  flex-basis: 100%;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  color: var(--greyColor);
}

@media (max-width:415px) {

  .required-field-message {
    display: block;
  }
}

.comment-form .comment-notes input {
  margin-right: 1rem;
}

.comment-form .comment-notes a,
.logged-in-as a,
.comment-form__agreement a {
  color: var(--greyColor);
}

.comment-form .comment-notes a:hover,
.logged-in-as a:hover,
.comment-form__agreement a:hover {
  color: var(--hoverColor);
}

#comments-checkbox {
  margin-right: 10px;
}

.comment-form-cookies-consent {
  flex-basis: 100%;
  margin-bottom: 0.6rem;
  display: none;
}

.comment-form-cookies-consent input {
  margin-right: 1rem;
}

.comment-form-author {
  flex: 1;
  margin-right: 1rem;
}

@media (max-width: 600px) {
  .comment-form-author {
    flex-basis: 100%;
    margin-right: 0;
  }
}

.comment-form-email {
  flex: 1;
  margin-left: 1rem;
}

@media (max-width: 600px) {
  .comment-form-email {
    flex-basis: 100%;
    margin-left: 0;
  }
}

.comment-form-comment {
  flex-basis: 100%;
  margin-bottom: 1rem;
}

.comment-form .submit {
  margin: 0;
  margin-top: 0.8rem;
}

.comment-form .submit:disabled,
.wpcf7-submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transition: opacity 0.3s ease-in-out;
}

.comment-form .submit:hover,
.error404-btn:hover,
.wpcf7-submit:hover {
  text-decoration: none;
  color: var(--lightColor);
  transition: background-color 0.3s ease-in-out;
}

.comment__reply {
  color: var(--greyColor);
  cursor: pointer;
  font-size: 1rem;
}

@media (max-width: 415px) {
  .comment__reply {
    font-size: 0.8rem;
  }
}

.comment__reply:hover {
  text-decoration: underline;
  color: var(--hoverColor);
}

a#cancel-comment-reply-link {
  display: inline-block;
  padding-left: 10px;
  text-decoration: none;
  overflow: hidden;
  width: 36px;
  height: 36px
}

a#cancel-comment-reply-link:before {
  content: "\00D7";
  font-size: 30px;
  color: red;
  width: 36px;
  height: 36px
}

.form-checkbox {
  margin-bottom: 1rem;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  font-weight: 400;
}

.form-checkbox__input {
  position: absolute;
  opacity: 0;
}

.form-checkbox__text {
  margin-left: 1.8rem;
  font-size: 0.92rem;
  line-height: 140%;
  flex: 0 100%;
  color: var(--greyColor);
}

@media (max-width:800px) {
  .form-checkbox__text {
    line-height: 20px
  }
}

@media (max-width:500px) {
  .form-checkbox__text {
    font-size: 13px;
  }
}

.form-submit {
  margin-bottom: 0 !important;
}

@media (max-width:415px) {
  .form-submit {
    width: 100%;
  }
}

.form-checkbox__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  border: 1px solid #c9c5db;
  border-radius: 4px;
}

@media (max-width:500px) {
  .form-checkbox__text::before {
    top: 4px;
  }
}

.form-checkbox__input:checked+.form-checkbox__text::before {
  background-image: url("assets/img/checked.svg");
  background-position: center;
  background-size: 1.1rem;
  background-repeat: no-repeat;
  border-color: transparent;
  background-color: var(--accent1);
}

.form-checkbox__text a {
  color: var(--accent1);
  text-decoration: none;
}

.form-checkbox__text a:hover {
  color: var(--hoverColor);
  text-decoration: underline;
}

.comment-navigation {
  margin: 0 0 3rem !important;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

@media (max-width: 415px) {
  .comment-navigation {
    flex-direction: column;
  }
}

.comment-navigation a {
  padding: 1rem;
  display: block;
  font-size: 0.86rem;
  border: 1px solid var(--borderColor);
  border-radius: 6px;
  font-weight: var(--medium);
  color: var(--greyColor);
  text-decoration: none;
  margin: 0.5rem 0;
  text-align: center;
}

.comment .comment-respond {
  margin-top: 1rem;
  padding: 1.2rem;
  padding-top: 0.5rem;
  background-color: #f8f8fb;
  border-radius: var(--bradius);
}

.comment .comments__title {
  margin-bottom: 0.5rem;
}



/*
===============================
= 32 Пользовательский рейтинг в отзывах
============================================
*/

.comments-rating {
  margin-bottom: 0 !important;
}

.rating-container {
  font-size: 0;
  display: flex;
  justify-content: flex-end;
  flex-direction: row-reverse;
}

.rating-container * {
  font-size: 1.5rem;
}

.rating-container>input {
  position: absolute;
  margin: -1px;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
}

.rating-container>input+label {
  display: inline-block;
  overflow: hidden;
  text-indent: 9999px;
  width: 1.3rem;
  white-space: nowrap;
  cursor: pointer;
  margin: 0;
}

.rating-container>input+label:before {
  display: inline-block;
  text-indent: -9999px;
  content: "★";
  color: #9f71de;
  transition: color 0.3s;
}

.rating-container>input:checked~label:before,
.rating-container>input+label:hover~label:before,
.rating-container>input+label:hover:before {
  content: "★";
  color: #fb8022;
  transition: color 0.3s;
}

.rating-container>.star-cb-clear+label {
  text-indent: -9999px;
  width: .5em;
  margin-left: -.5em;
}

.rating-container>.star-cb-clear+label:before {
  width: .5em;
}

.rating-container:hover>input+label:before {
  content: "★";
  color: #9f71de;
  transition: color 0.3s;
}

.star-filled {
  width: 1.2rem;
  font-size: 1.2rem;
}

@media(max-width: 415px) {
  .star-filled {
    font-size: 1rem;
  }
}

.rating-container:hover>input+label:hover~label:before,
.rating-container:hover>input+label:hover:before,
.star-filled:before {
  content: "★";
  color: #fb8022;
  transition: color 0.3s;
}

.comment-respond .rating-container>.star-cb-clear+label,
.comment-respond .rating-container>input+label:before {
  text-indent: 9999px;
}

.comment-respond .rating-container>input+label {
  text-indent: -9999px;
}

.comment-respond .rating-container>input+label:not(:last-child) {
  margin-right: 0.5rem;
}

.comment-form-rating {
  margin: 0 0 1.5rem;
  padding: 0.5rem 1.5rem;
  flex-basis: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  background-color: #f7f6fb;
  border-radius: var(--bradius);
}

.comment-form-rating label {
  margin-bottom: 0;
}

.star-empty {
  display: inline-block;
  width: 1rem;
  height: 1.5rem;
  background-color: var(--lightColor);
}

.exc-rating {
  padding: 0.7rem 1.4rem;
  position: absolute;
  bottom: 1.4rem;
  left: 1.4rem;
  z-index: 1;
  display: flex;
  flex-direction: column;
  background-color: var(--lightColor);
  border-radius: var(--bradius);
}

.exc-rating--list {
  margin-bottom: 1rem;
  padding: 0;
  position: relative;
  inset: initial;
}

.exc-rating__wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.exc-rating--list .exc-rating__wrap {
  justify-content: flex-end;
  flex-direction: row-reverse;
}

.exc-rating__label {
  display: block;
  font-size: 0.9rem;
}

.exc-rating--list .exc-rating__label {
  display: none;
}

.exc-rating__num {
  display: block;
  font-size: 1.2rem;
  color: var(--accent1);
}

.exc-rating--list .exc-rating__num {
  font-size: 1rem;
}

.exc-rating__stars {
  margin-left: 0.7rem;
  --percent: calc(var(--rating) / 5 * 100%);
  display: inline-block;
  font-size: 1.4rem;
  font-family: Helvetica, Arial, sans-serif;
  line-height: 135%;
}

.exc-rating--list .exc-rating__stars {
  margin-left: 0;
  margin-right: 0.7rem;
  font-size: 1.2rem;
  line-height: 119%;
}

.exc-rating__stars::before {
  content: '★★★★★';
  letter-spacing: 2px;
  background: linear-gradient(90deg, #fb8022 var(--percent), #cbd1da var(--percent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


/*
===============================
= 33 Модальное окно (поп-ап) в экскурсиях
============================================
*/

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  z-index: 1001;
  background-color: #17181e;
  opacity: 0.7;
  transition: width 0.3s, transform 0.3s;
}

.modal-overlay.is-open {
  width: 100%;
  transition: width 0.3s, transform 0.3s;
}

.modal {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 10001;
  width: 100%;
  max-width: 700px;
  overflow-y: auto;
  max-height: 620px;
  background-color: var(--lightColor);
  opacity: 0;
  visibility: hidden;
  border-top: 6px solid var(--accent1);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  transform: translate(-50%, -30%);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}

.modal.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%);
  transition: opacity 0.6s, visibility 0.6s, transform 0.6s;
}

.modal__close {
  content: "";
  position: absolute;
  right: 1.2rem;
  top: 1rem;
  z-index: 9999;
  width: 2rem;
  height: 2rem;
  background-image: url("assets/img/close.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.modal__content {
  padding: 3rem;
}

@media(max-width: 450px) {
  .modal__content {
    padding: 1.2rem;
  }
}

.modal__subtitle {
  margin-bottom: 0.3rem;
  color: var(--greyColor);
  display: block;
  font-size: 1rem;
}

.modal__title {
  margin-bottom: 1rem;
  display: block;
  font-weight: var(--bold);
  font-size: 1.3rem;
  line-height: 120%
}

@media(max-width: 450px) {
  .modal__title {
    font-size: 1.1rem;
  }
}

.modal__descr {
  margin-bottom: 1.7rem;
  padding-left: 1.7rem;
  padding-top: 1rem;
  position: relative;
  font-size: 1rem;
  line-height: 145%;
  border-top: 1px solid var(--borderColor);
}

@media(max-width: 500px) {
  .modal__descr {
    margin-bottom: 1.8rem;
    font-size: 0.9rem;
  }
}

.modal__descr::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 1.1rem;
  height: 1.1rem;
  background-image: url(assets/img/circle-check.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.modal-form {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

@media(max-width: 450px) {
  .modal-form {
    flex-flow: column wrap;
  }
}

.modal-form__label {
  margin-bottom: 10px;
  flex-basis: 48%;
}

.modal-form__mob {
  flex-basis: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

@media(max-width: 450px) {
  .modal-form__mob > * {
    flex: 1
  }

  .modal-form__mob label:nth-of-type(1) {
    margin-right: 0.5rem;
  }

  .modal-form__mob label:nth-of-type(2)  {
    margin-left: 0.5rem;
  }
}
 


/*
===============================
= 34 Форма Contact Form 7 в поп-апе
============================================
*/

.wpcf7 {
  margin-bottom: 1.5rem;
}

.modal__content .wpcf7 {
  margin-bottom: 0 !important;
}

.modal-form__label .wpcf7-form-control-wrap {
  margin: 0 !important;
}

.modal .wpcf7-acceptance {
  margin: 0.8rem 0;
}

.modal .wpcf7-form-control-wrap {
  margin-bottom: 0;
}

.modal .wpcf7-submit {
  width: 100%;
}

.wpcf7-list-item {
  margin-left: 0;
}

.wpcf7-text,
.wpcf7-email,
.wpcf7-tel,
.wpcf7-date,
.wpcf7-number,
.wpcf7-textarea {
  margin: 10px 0;
  border: 1px solid var(--borderColor);
  border-radius: var(--bradius);
  padding: 1rem;
  width: 100%;
  height: 52px;
  font-family: inherit;
  font-size: 1.1rem;
  line-height: 1;
  color: var(--mainColor);
}


@media(max-width: 450px) {
  .wpcf7-text,
  .wpcf7-email,
  .wpcf7-tel,
  .wpcf7-date,
  .wpcf7-number,
  .wpcf7-textarea {
    margin: 5px 0;
    padding: 0.5rem 1rem;
    height: 42px;
    font-size: 1rem;
  }
}

.wpcf7-textarea {
  height: 120px;
}

.wpcf7-text:focus,
.wpcf7-email:focus,
.wpcf7-tel:focus,
.wpcf7-date:focus,
.wpcf7-number:focus,
.wpcf7-textarea:focus,
.wpcf7-submit:focus {
  border-color: #5a7ee8;
  outline: none
}

.wpcf7-form p {
  margin: 0;
}

.wpcf7 label {
  font-size: 0.94rem;
  line-height: 100%;
  font-weight: var(--medium);
  color: var(--greyColor);
}

.wpcf7-form-control-wrap {
  margin-bottom: 1.2rem;
  display: block;
}

.wpcf7-not-valid {
  border: 1px solid red;
}

.wpcf7-not-valid-tip {
  margin-bottom: 10px;
  line-height: 1;
}

.wpcf7-not-valid-tip {
  font-size: 0.65rem !important;
}

.wpcf7-acceptance {
  margin: 1rem 0;
  display: block;
}

.wpcf7-acceptance input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.wpcf7-acceptance .wpcf7-list-item {
  display: inline-block;
  margin: 0;
}

.modal .wpcf7-acceptance .wpcf7-list-item {
  margin-top: -12px;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  position: relative;
  display: block;
  padding-left: 2rem;
  font-size: 0.9rem;
  line-height: 130%;
  font-weight: var(--normal);
}

@media(max-width: 450px) {
  .wpcf7-acceptance .wpcf7-list-item-label {  
    font-size: 0.84rem;
  }
}

.wpcf7-acceptance .wpcf7-list-item-label a {
  color: var(--greyColor);
}

.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.3rem;
  height: 1.3rem;
  background-color: var(--lightColor);
  border: 1px solid #c9c5db;
  border-radius: 4px;
}

.wpcf7-acceptance input:checked+span::before {
  background-color: var(--accent2);
  background-image: url("assets/img/checked.svg");
  background-position: center;
  background-size: 1.1rem;
  background-repeat: no-repeat;
  border-color: transparent;
}

.wpcf7-submit:disabled {
  opacity: 0.6;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1rem 0 0 0 !important;
  padding: 0.4rem !important;
  font-size: 1rem !important;
  line-height: 130%;
  text-align: center;
  border-radius: var(--bradius);
}

@media(max-width: 450px) {
  .wpcf7 form .wpcf7-response-output {
    font-size: 0.9rem !important;
  }
}

@media (max-width: 1100px) {
  .flex-wrapper {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }

  .flex-wrapper .modal-form__label {
    margin-bottom: 0;
  }

  .page-template-contact-page .wpcf7-acceptance .wpcf7-list-item-label::before {
    top: -0.2rem !important
  }
}

.wpcf7-not-valid {
  border-color: rgb(222, 185, 233) !important;
}

.wpcf7-not-valid-tip {
  display: none !important;
}



 /*
===============================
= 35 Навигация в CPT и блоге
============================================
*/

.pagination {
  margin-bottom: 2rem;
}

.nav-links {
  margin: 0;
  display: flex;
  justify-content: center;
}

.page-numbers {
  margin-right: 0.5rem;
  padding: 0.7rem 1rem;
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  color: var(--lightColor);
  background-color: var(--accent1);
  border-radius: var(--bradius);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.page-numbers.current,
.page-numbers:hover {
  text-decoration: none;
  background-color: var(--accent2);
  color: var(--lightColor);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.dots,
.dots:hover {
  text-decoration: none;
  background-color: var(--accent1);
}

.single-post .nav-links {
  margin-top: 3rem;
  padding: 1.5rem;
  display: flex;
  border-radius: var(--bradius);
  background-color: rgb(183 193 227 / 12%);
}

@media (max-width: 515px) {
  .single-post .nav-links {
    flex-direction: column;
  }
}

.nav-previous {
  flex: 1;
  padding-right: 1rem;
  text-align: left
}

@media (max-width: 515px) {
  .nav-previous {
    margin-bottom: 2rem;
  }
}

.nav-next {
  flex: 1;
  padding-left: 1rem;
  text-align: right
}

@media (max-width: 515px) {
  .nav-next {
    padding-left: 0;
    text-align: left
  }
}

.nav-links__label {
  margin-bottom: 0.5rem;
  display: block;
  color: var(--greyColor);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.nav-previous a,
.nav-next a,
.nav-previous a:hover .nav-links__label,
.nav-next a:hover .nav-links__label {
  text-decoration: none
}

.nav-previous a:hover .nav-links__title,
.nav-next a:hover .nav-links__title {
  text-decoration: underline
}

.nav-links__title {
  font-weight: var(--medium);
  font-size: 1rem;
  line-height: 140%;
}



/*
===============================
= 36 Блог и записи
============================================
*/


.blog-wrap {
  display: grid;
  grid-column-gap: 3rem;
  grid-row-gap: 0;
  grid-template-columns: repeat(12, 1fr)
}

@media (max-width: 1160px) {
  .blog-wrap {
    display: block;
  }
}

.blog-wrap__content {
  margin-bottom: 0.5rem;
  display: flex;
  flex-direction: column;
}

.blog-wrap__sidebar {
  grid-column: 4 span;
  border-radius: var(--bradius);
  align-self: start;
}

@media (max-width: 1160px) {
  .blog-wrap__sidebar {
    margin: 0 auto;
    max-width: 400px;
  }
}

.blog-wrap__list {
  margin-bottom: 3rem;
  display: grid;
  gap: 2rem;
}

@media (max-width: 720px) {
  .blog-wrap__list {
    display: block;
  }
}

.blog-wrap__descr {
  margin-bottom: 1.8rem;
  padding: 1.8rem;
  color: var(--greyColor);
  grid-column: 1 / 3;
  border-radius: var(--bradius);
  background-color: var(--lightColor);
  box-shadow: 0px 0px 40px 0px rgb(94 75 139 / 8%)
}

@media (max-width: 720px) {
  .blog-wrap__descr {
    margin: 0 auto 2rem;
    max-width: 400px;
  }
}

.blog-post {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  border-radius: var(--bradius);
  background-color: var(--lightColor);
  box-shadow: 0px 0px 40px 0px rgb(94 75 139 / 8%)
}

@media (max-width: 720px) {
  .blog-post {
    margin: 0 auto;
    max-width: 400px;
  }

  .blog-post:not(:last-child) {
    margin-bottom: 2rem;
  }
}

@media (max-width: 415px) {
  .blog-post {
    padding: 1.2rem;
  }
}

.blog-post__title {
  margin-bottom: 0.6rem;
  display: block;
  font-size: 1.2rem;
  line-height: 130%;
  font-weight: var(--medium);
}

.blog-post__link {
  text-decoration: none;
}

.blog-post__content {
  display: flex;
  flex-direction: column;
}

.blog-wrap__content .nav-links {
  margin-top: 0;
  justify-content: flex-start;
}

@media (max-width: 1160px) {
  .blog-wrap__content .nav-links {
    justify-content: center;
  }
}

.blog-post__thumb {
  margin-bottom: 1rem;
  border-radius: var(--bradius);
  overflow: hidden;
}

.blog-post__anons {
  margin-bottom: 0.96rem;
  color: var(--greyColor);
}

.blog-post__btn {
  padding: 0.5rem 1.7rem !important;
  font-size: 1rem !important;
}

.blog-post__footer {
  margin-top: auto;
  padding-top: 1rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}

.blog-post-footer__info {
  max-width: 224px;
  margin-right: 1rem;
  display: flex;
  flex-direction: column;
}

.blog-post-footer__category {
  font-size: 1rem;
  font-weight: var(--medium);
}

.blog-post-footer__category a {
  color: var(--accent1);
  text-decoration: none;
}

.blog-post-footer__category a:hover {
  text-decoration: underline;
}

.blog-post-footer__date {
  font-size: 0.92rem;
  color: var(--greyColor);
}

.single-entry {
  margin-bottom: 4rem;
  background-color: var(--lightColor);
  border-radius: var(--bradius);
}

@media (max-width: 450px) {
  .single-entry {
    padding: 1rem;
  }
}

.single-thumbnail img {
  border-radius: var(--bradius);
}

figcaption {
  margin-top: -5px;
  color: var(--greyColor);
  font-size: 13px;
}


blockquote {
  margin-bottom: 1.2rem;
  padding: 1.3rem 2rem 1.3rem 3rem;
  display: flex;
  flex-direction: column;
  border-width: 0 0 0 5px;
  border-style: solid;
  border-color: var(--accent1);
  background-color: #fafafb;
}

@media (max-width: 415px) {
  blockquote {
    padding: 1.2rem 1.8rem 1.2rem 2rem;
  }
}

blockquote p {
  font-size: 1.2rem;
  line-height: 150%;
}

blockquote cite {
  font-size: 1rem;
  font-weight: var(--medium);
  text-align: right;
}

.wp-block-group__inner-container {
  padding: 1rem;
}

.wp-block-media-text {
  margin-bottom: 1rem;
}

.page-template-blank-page .post-content > * {
  margin-bottom: 1.3rem;
}

code,
kbd,
pre,
samp {
	font-family: monospace;
	font-size: 0.9em;
	padding: 0.4rem 0.6rem;
}

code,
kbd,
samp {
	background: rgba(0, 0, 0, 0.075);
	border-radius: 0.2rem;
}

pre {
	border: 0.1rem solid #dcd7ca;
	line-height: 1.5;
	margin: 4rem 0;
	overflow: auto;
	padding: 3rem 2rem;
	text-align: left;
}

pre code {
	background: transparent;
	padding: 0;
}

.post-info {
  margin-bottom: 1.3rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}

.post-info__item {
  position: relative;
  display: flex;
  font-size: 1rem;
  color: var(--greyColor);
}

@media (max-width: 520px) {
  .post-info__item {
    font-size: 0.9rem;
  }
}

.post-info__item:not(:last-child) {
  margin-right: 2rem;
}

@media (max-width: 520px) {
  .post-info__item:not(:last-child) {
    margin-right: 1rem;
  }
}

.post-info__item a {
  text-decoration: none;
}

.post-info__item a:hover {
  text-decoration: underline;
}

.post-info__icon {
  margin-right: 0.5rem;
  margin-top: 2px;
  width: 1.2rem;
  height: 1.2rem;
  fill: var(--accent1);
}

@media (max-width: 520px) {
  .post-info__icon {
    margin-right: 0.4rem;
    margin-top: 4px;
    width: 0.9rem;
    height: 0.9rem;
  }
}



/*
===============================
= 37 Галереи
============================================
*/
 
.blocks-gallery-grid,
.wp-block-gallery {
  margin-top: 0 !important;
}

.blocks-gallery-grid,
.wp-block-gallery {
  margin-left: 0 !important
}

.wp-block-gallery,
.post-content .gallery {
  margin-bottom: 1.6rem;
}

.wp-block-gallery.is-cropped .blocks-gallery-item img {
  height: 100%;
  flex: 1;
  object-fit: cover
}

@media (max-width: 560px) {
  .wp-block-gallery {
    display: block;
  }

  .wp-block-gallery .wp-block-image {
    margin-bottom: 1rem !important;
    width: 100% !important;
  }
}

.blocks-gallery-grid li {
  padding-left: 0 !important;
}

.blocks-gallery-grid li::before {
  display: none;
}

.wp-block-image {
  overflow: hidden;
  border-radius: var(--bradius);
}
 
.wp-block-image img {
  border-radius: var(--bradius);
}

.wp-block-image .alignleft {
  margin: 0 2rem 1rem 0;
}

img.alignleft {
  float: left;
  margin: 0 2rem 1rem 0;
}

.wp-block-image .alignright {
  margin: 0 0 1rem 2rem;
}

img .alignright {
  float: right;
  margin: 0 0 1rem 2rem;
}

@media (max-width: 900px) {

  .wp-block-image .alignleft,
  .wp-block-image .alignright {
    margin: 0 auto 1rem;
    float: none;
    display: table
  }
}

.gallery {
  margin: 1rem auto 0;
  display: inline-block;
}

.gallery .gallery-item {
  margin: 0;
  padding: 0;
}

.gallery .gallery-item img {
  border-radius: 6px;
}

.gallery-columns-2 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width:600px) {
  .gallery-columns-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.gallery-columns-4 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width:600px) {
  .gallery-columns-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.wp-block-cover {
  margin-bottom: 1.2rem;
}

.wp-block-buttons {
  margin-bottom: 1.2rem;
}

.wp-block-button__link:hover {
  text-decoration: none;
}


/*
===============================
= 38 Таблицы
============================================
*/


table,
.wp-block-table {
  margin: 0 0 1.2rem;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

table th {
  padding: 1rem;
  text-align: left;
  font-size: 1rem;
  font-weight: var(--medium);
  border: 1px solid var(--borderColor);
  background-color: #f6f7fb;
  word-break: normal
}

table td {
  padding: 1rem;
  font-size: 1rem;
  line-height: 1.5;
  border: 1px solid var(--borderColor);
  vertical-align: top;
  word-break: normal;
}

.wp-block-table td,
.wp-block-table th {
  font-size: 1rem;
  line-height: 1.5;
  border: 1px solid var(--borderColor);
  padding: 1rem;
}

table tr:nth-of-type(odd) {
  background-color: #f6f7fb
}

table tr:nth-of-type(even) {
  background-color: var(--lightColor);
}

table,
.wp-block-table {
  border-collapse: collapse
}

.wp-block-table {
  border-collapse: collapse
}

dt,
dd {
  margin-bottom: 1rem;
}

table::-webkit-scrollbar {
  height: 0.5rem;
}

table::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

table::-webkit-scrollbar-thumb {
  background-color: var(--accent1);
  outline: 1px solid var(--accent1);
}

.wp-block-table figcaption {
  padding-bottom: 1rem;
}


/*
===============================
= 39 Виджеты сайдбара
============================================
*/

.widget {
  margin-bottom: 3rem;
}

.widget:last-child {
  margin-bottom: 2rem;
}

.widget-title,
.widget .wp-block-heading,
.wp-block-search__label {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  display: block;
  font-weight: var(--medium);
  font-size: 1.1rem;
  line-height: 1;
  border-bottom: 1px solid var(--borderColor);
}

.widget_nav_menu ul {
  padding-left: 0 !important;
}

.widget_nav_menu ul li {
  padding: 0;
  padding-left: 1rem;
  position: relative;
  font-weight: var(--normal);
}

.widget_nav_menu ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: var(--accent1);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}

.widget_nav_menu ul li a {
  color: var(--mainColor);
}

.widget_nav_menu ul li:not(:last-child) {
  margin-bottom: 0.8rem;
}

.widget_nav_menu ul li a {
  text-decoration: none;
}

.widget_nav_menu ul li a:hover {
  color: var(--hoverColor);
  text-decoration: underline;
}

.widget #calendar_wrap,
.wp-calendar-table {
  width: 100%;
}

.widget #wp-calendar th {
  text-align: center;
  padding: 5px 4px;
  font-size: 1rem;
  font-weight: var(--medium);
  border: 1px solid #ccccd0;
}

.widget #wp-calendar td {
  padding: 5px 6px;
  border: 1px solid #ccccd0;
  text-align: center;
  font-size: 1rem;
}

.widget #wp-calendar caption {
  margin-bottom: 0.5rem;
  font-size: 14px;
}

.widget .wp-calendar-nav a {
  font-size: 1rem;
}

.widget ul,
.widget ol {
  padding-left: 0;
}

.widget li,
.widget p {
  font-size: 1rem;
}

.widget a {
  text-decoration: none;
}

.widget a:hover {
  text-decoration: underline
}

.tagcloud {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}

.tagcloud a {
  margin-bottom: 0.9rem;
  margin-right: 0.9rem;
  padding: 0.3rem 0.5rem;
  display: inline-flex;
  align-items: center;
  position: relative;
  font-size: 0.9rem !important;
  border: 1px solid var(--accent1);
  color: var(--accent1);
  border-radius: var(--bradius);
  text-decoration: none;
}

.tagcloud a::before {
  content: "";
  margin-right: 0.4rem;
  width: 0.6rem;
  height: 0.6rem;
  background-image: url("assets/img/hashtag.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.widget .tagcloud a:hover {
  text-decoration: none;
  border-color: var(--accent2);
  transition: border-color 0.3s;
}

.widget .cat-item {
  padding-bottom: 0.5rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;

}

.widget .cat-item:not(:last-child) {
  border-bottom: 1px dashed var(--borderColor);
}

.widget .cat-item .post_count {
  font-size: 1rem;
  color: var(--greyColor);
}

.widget .wp-block-group__inner-container {
  padding: 0;
}


/*
===============================
= 40 Встроенный виджет Баннер
============================================
*/

.banner-widget {
  position: relative;
  background-color: rgb(183 193 227 / 12%);
  border-radius: var(--bradius);
  overflow: hidden;
}

.banner-widget__img {
  opacity: 1;
  transition: opacity 0.4s;
}

.banner-widget:hover .banner-widget__img {
  opacity: 0.8;
  transition: opacity 0.4s;
}

.banner-widget__link {
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}

.banner-widget__wrap {
  position: relative;
}

.banner-widget__caption {
  padding: 1rem 1.2rem;
  display: block;
  position: absolute;
  bottom: 1.2rem;
  left: 1.7rem;
  width: 80%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--bradius);
  background-color: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(11px);
}

.banner-widget__title {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 140%;
  font-weight: var(--medium);
  color: var(--lightColor);
}

.banner-widget__text {
  padding: 1rem 1.7rem;
  padding-bottom: 1.3rem;
  font-size: 1rem;
  display: block;
}


/*
===============================
= 41 Подвал сайта 
============================================
*/

.footer {
  border-top: 1px solid #eee;
}

.footer .container {
  padding: 3rem 1rem;
}

.footer-content {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 900px;
}

.footer-content__title {
  margin-bottom: 0.5rem;
  display: block;
  max-width: 400px;
  font-size: 1.2rem;
  font-weight: var(--medium);
}

.footer-content__contacts {
  margin-bottom: 1.5rem;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  color: var(--greyColor);
}

.footer-contacts__wrap {
  margin-bottom: 0.2rem;
  display: flex;
  justify-content: center;
  font-size: 0.9rem;
}

@media (max-width: 500px) {
  .footer-contacts__wrap {
    margin-bottom: 0.4rem;
    flex-direction: column;
    text-align: center;
    font-size: 1rem;
  }
}

.footer-content__link {
  padding: 0 0.5rem;
  text-decoration: none;
}

@media (max-width: 500px) {
  .footer-content__link {
    padding: 0.3rem;
  }
}

.footer-content__socials {
  margin-bottom: 2rem;
  justify-content: center;
}


.back2top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 2.6rem;
  height: 2.6rem;
  opacity: 0;
  visibility: hidden;
  text-align: center;
  color: var(--lightColor);
  background-color: var(--accent1);
  cursor: pointer;
  transition: background-color 0.5s, visibility 0.5s, opacity 0.5s;
}

.back2top svg {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  transform: rotate(-90deg);
}

.back2top.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s;
  transition: background-color 0.5s, visibility 0.5s, opacity 0.5s;
}

.back2top:hover {
  color: var(--lightColor);
  background-color: var(--accent2);
  transition: background-color 0.5s, visibility 0.5s, opacity 0.5s;
}
 


/*
===============================
= 42 Меню в подвале
============================================
*/

.footer-menu {
  margin-bottom: 3rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.footer-menu li {
  position: relative;
  font-size: 0.96rem;
}

.footer-menu li:not(:last-child) {
  margin-right: 1rem;
}

.footer-menu li:not(:last-child)::after {
  content: "·";
}

.footer-menu li:not(:last-child) a {
  margin-right: 1rem;
}

.footer-menu li a {
  color: var(--greyColor);
  text-decoration: none;
}

.footer-menu li a:hover {
  color: var(--hoverColor);
  text-decoration: underline;
}

.footer-content__stat {
  opacity: 0.2;
  transition: opacity 0.3s;
}

.footer-content__stat:hover {
  opacity: 1;
}


/*
===============================
= 43 Страница 404
============================================
*/


.error-section {
  margin: 2rem auto 0;
  text-align: center;
}

.error-section__title {
  margin-bottom: 2rem;
  font-size: 4rem;
  font-weight: var(--medium);
}

.error-section__text {
  margin: 0 auto 2rem;
  max-width: 700px;
}

.error404-btn {
  margin: 0 auto;
}


/*
===============================
= 44 Кнопки для расшаривания в CPT и записях
============================================
*/

.share-btns {
  margin-top: 1.2rem;
}

.share-btns__list {
  margin-bottom: 2rem;
  padding-left: 0 !important;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.share-btns__title {
  display: block;
  margin-bottom: 0.6rem;
  font-size: 0.9rem;
  color: var(--greyColor);
}

.share-btns__item {
  padding-left: 0 !important;
  opacity: 0.8;
  transition: opacity 0.3s;
}
 
.share-btns__item:not(:last-child) {
  margin-right: 0.5rem;
}

.share-btns__link {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--bradius);
  width: 1.8rem;
  height: 1.8rem;
  color: var(--mainColor);
}

.share-btns__item::before {
  display: none !important;
}

.share-btns__item:hover {
  opacity: 1;
  transition: opacity 0.3s;
}

.share-btns__link svg {
  border-radius: var(--bradius);
  width: 1.8rem;
  height: 1.8rem;
}

/*
===============================
= 45 Блок с контактами в экскурсиях
============================================
*/

.cpt-content__contacts {
  margin-bottom: 2rem;
  padding: 2.5rem 2rem;
  background-color: rgb(243 243 249 / 66%);
  border-radius: var(--bradius);
}

.cpt-contacts__title {
  margin-bottom: 1.2rem;
  display: block;
  font-size: 1.2rem;
  line-height: 130%;
  font-weight: var(--medium);
  text-align: center;
}

.cpt-contacts__list {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit,minmax(140px,1fr));
}

@media (max-width:500px) {
  .cpt-contacts__list {
    display: block;
  }
}

.cpt-contacts__item {
  font-size: 1rem;
  font-weight: var(--medium);
  line-height: 1;
}

@media (max-width:500px) {
  .cpt-contacts__item:not(:last-child) {
    margin-bottom: 1.2rem;
  }
}

.cpt-contacts__link {
  padding: 0.8rem 0.2rem;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  color: var(--lightColor);
  text-decoration: none;
  border-radius: var(--bradius);
  transition: background-color 0.3s;
}

.cpt-contacts__link--phone {
  background-color: #d075dd;
}

.cpt-contacts__link--whats {
  background-color: #26c566;
}

.cpt-contacts__link--tgrm {
  background-color:  #0088CC;
}

.cpt-contacts__link:hover {
  background-color: var(--accent1);
  color: var(--lightColor);
  text-decoration: none;
  transition: background-color 0.3s;
}

.cpt-contacts__icon {
  margin-right: 0.8rem;
  padding: 0.4rem;
  width: 2rem;
  height: 2rem;
  fill: var(--lightColor);
  border: 1px solid var(--lightColor);
  border-radius: 50%;
  object-fit: cover;
}

.pswp__bg {
  opacity: 0.85 !important;
} 


/*
===============================
= 46 Раздел Главной - Изображение и текст
============================================
*/

.text-block {
  margin-bottom: 6rem;
}

.text-block__wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 880px) {
  .text-block__wrap {
    flex-direction: column;
  }
}

.text-block__content {
  padding-right: 2rem;
  max-width: 600px;
}

@media (max-width: 1160px) {
  .text-block__content {
    max-width: 440px;
  }
}

@media (max-width: 880px) {
  .text-block__content {
    margin-bottom: 2rem;
    padding-right: 0;
    max-width: 100%;
  }
}

.text-block-title {
  margin-bottom: 2.5rem;
}

.text-block__descr {
  margin-bottom: 2rem;
}

.text-block__media {
  max-width: 620px;
}

.text-block__img {
  border-radius: 2rem;
}

.text-block--alt .text-block__content {
  padding-left: 2rem;
  padding-right: 0;
  order: 2
}

.text-block--alt .text-block__media {
  order: 1;
}

@media (max-width: 880px) {
  .text-block--alt .text-block__content {
    padding-left: 0;
    padding-right: 0;
    order: 1
  }
  
  .text-block--alt .text-block__media {
    order: 2;
  }
}

.site-title__link {
  display: block;
  padding: 1rem 0;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: none;
} 