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

* {
  padding: 0;
  margin: 0;
}

html {
  font-family: sans-serif;
  font-size: 16px;
  line-height: 1.15;
}
@media (min-width: 1600px) and (max-width: 1899px) {
  html {
    font-size: 18.4px;
  }
}
@media (min-width: 1900px) {
  html {
    font-size: 20.8px;
  }
}

article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  font-family: "Roboto", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.2;
  color: black;
  position: relative;
}
@media (min-width: 1600px) and (max-width: 1899px) {
  body {
    font-size: 18.4px;
  }
}
@media (min-width: 1900px) {
  body {
    font-size: 20.8px;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

button, input, select, textarea, th, td {
  font-family: "Roboto", sans-serif;
  font-style: normal;
  font-weight: normal;
}

a {
  text-decoration: none;
}

:root {
  --red-color-rgb: 174, 0, 25;
  --red-color: rgb(var(--red-color-rgb));
  --red-color-15: rgba(var(--red-color-rgb), 0.15);
  --dark-red-color-rbg: 152, 2, 23;
  --dark-red-color: rgb(var(--dark-red-color-rbg));
  --dark-red-color-50: rgba(var(--dark-red-color-rbg), 0.5);
  --sand-color-rgb: 255, 197, 124;
  --sand-color: rgb(var(--sand-color-rgb));
  --sand-color-15: rgba(var(--sand-color-rgb), 0.15);
  --white-color: white;
  --gray-color: #d1d1d1;
  --light-gray-color: #F2F2F2;
  --dark-gray-color: #707070;
  --black-color: #000;
  --default-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  --container-width: 90rem;
  --modal-width: 28.125rem;
  --mobi-menu-height: 60px;
  --mobi-padding: 0.75rem;
}

@media (max-width: 767px) {
  header.site-header {
    display: none;
  }
}
header.site-header .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  height: 120px;
}
@media (max-width: 767px) {
  header.site-header .container {
    width: 100vw;
  }
}
header.site-header .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--dark-red-color);
  border-radius: 20px;
  overflow: hidden;
}
header.site-header .bg svg {
  position: absolute;
  right: 0;
  top: 0;
}
header.site-header .top {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding-right: 70px;
}
header.site-header a.chounb {
  display: block;
  width: 120px;
  height: 120px;
  margin-right: 38px;
}
header.site-header a.chounb svg {
  vertical-align: top;
}
header.site-header a.journey {
  display: block;
  width: 100px;
  height: 98px;
  margin-right: 64px;
}
header.site-header a.journey svg {
  vertical-align: top;
}
header.site-header .tours, header.site-header .objects {
  position: relative;
  width: 205px;
  height: 60px;
  z-index: 10;
}
header.site-header .tours .inner, header.site-header .objects .inner {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 20px;
  background-color: var(--white-color);
  width: 100%;
}
header.site-header .tours.down .inner, header.site-header .objects.down .inner {
  box-shadow: var(--default-box-shadow);
}
header.site-header .tours .head, header.site-header .objects .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 20px;
  padding-right: 12px;
  color: var(--dark-red-color);
  width: 205px;
  height: 60px;
}
header.site-header .tours .head.active, header.site-header .objects .head.active {
  color: var(--sand-color);
}
header.site-header .tours .head span, header.site-header .objects .head span {
  font-size: 20px;
}
header.site-header .tours .head span.end, header.site-header .objects .head span.end {
  flex: 0 0 1rem;
}
header.site-header .tours .head:hover span, header.site-header .objects .head:hover span {
  -webkit-text-decoration: underline dashed;
          text-decoration: underline dashed;
  text-underline-offset: 0.25rem;
  text-decoration-thickness: 0.0625em;
}
header.site-header .tours ul, header.site-header .objects ul {
  list-style: none;
  padding: 0 0.75rem 0.25rem;
}
header.site-header .tours ul::before, header.site-header .objects ul::before {
  content: "";
  display: block;
  height: 1px;
  background-color: var(--gray-color);
}
header.site-header .tours:not(.down) ul, header.site-header .objects:not(.down) ul {
  display: none;
}
header.site-header .tours li, header.site-header .objects li {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
header.site-header .tours li a, header.site-header .objects li a {
  color: var(--dark-red-color);
}
header.site-header .tours li.default a, header.site-header .objects li.default a {
  color: var(--sand-color);
}
header.site-header .tours {
  margin-right: 40px;
}
header.site-header a.rustore {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
header.site-header a.rustore svg {
  vertical-align: top;
}
header.site-header a.myfav {
  border-radius: 20px;
  background-color: var(--white-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 20px;
  padding-right: 12px;
  color: var(--dark-red-color);
  width: 205px;
  height: 60px;
}
header.site-header a.myfav.active {
  color: var(--sand-color);
}
header.site-header a.myfav span {
  font-size: 20px;
}
header.site-header a.myfav span.end {
  flex: 0 0 1rem;
}
header.site-header a.myfav:hover span {
  -webkit-text-decoration: underline dashed;
          text-decoration: underline dashed;
  text-underline-offset: 0.25rem;
  text-decoration-thickness: 0.0625em;
}
header.site-header a.myfav .counter {
  padding-right: 8px;
}
header.site-header div.v-buttons {
  display: flex;
  flex-direction: column;
  margin-left: 2.25rem;
  gap: 0.75rem;
}
header.site-header div.v-buttons a.settings {
  display: block;
  color: var(--white-color);
}
header.site-header div.v-buttons a.settings svg {
  vertical-align: top;
}
header.site-header div.v-buttons div.search {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
}
header.site-header div.v-buttons div.search a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--white-color);
}
header.site-header div.v-buttons div.search form {
  position: absolute;
  right: 100%;
  top: -0.75rem;
  border: 0.25rem solid var(--red-color);
  border-radius: 0.5rem;
  background-color: var(--red-color);
}
header.site-header div.v-buttons div.search:not(.shown) form {
  display: none;
}
header.site-header div.v-buttons div.search input {
  display: block;
  height: 2.5rem;
  width: 15rem;
  line-height: 2.5rem;
  padding: 0 0.75rem;
  border: none;
  border-radius: 0.5rem;
  background: var(--white-color);
  outline: none;
}

footer.site-footer div.container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  footer.site-footer div.container {
    width: 100vw;
  }
}
footer.site-footer div.footer {
  background-color: #444444;
  padding: 2.8125rem 2.8125rem 3.4375rem;
  border-radius: 1.25rem;
  display: flex;
  justify-content: space-between;
  color: white;
}
@media (max-width: 767px) {
  footer.site-footer div.footer {
    border-radius: 0;
    padding: 2rem var(--mobi-padding) 3rem;
    flex-direction: column;
    justify-content: flex-start;
  }
}
footer.site-footer div.footer a {
  color: white;
}
footer.site-footer ul.contacts {
  list-style: none;
}
footer.site-footer ul.contacts li:not(:last-of-type) {
  margin-bottom: 0.75rem;
}
footer.site-footer ul.contacts li.library {
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  footer.site-footer ul.contacts li.link {
    display: none;
  }
}
footer.site-footer ul.contacts li.link a {
  text-decoration: underline;
}
footer.site-footer form {
  width: 38.3125rem;
}
@media (max-width: 767px) {
  footer.site-footer form {
    display: none;
  }
}
footer.site-footer form div.controls {
  display: grid;
  grid-template-columns: repeat(3, 11.4375rem);
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  margin-bottom: 0.5625rem;
}
footer.site-footer form div.controls input {
  border: none;
  background-color: white;
  padding: 0 1rem;
  line-height: 2.1875rem;
  border-radius: 0.625rem;
}
footer.site-footer form div.controls button {
  border: none;
  background-color: var(--red-color);
  color: white;
  border-radius: 0.625rem;
}
footer.site-footer form label {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
footer.site-footer form label input {
  display: none;
}
footer.site-footer form label input:not(:checked) ~ svg.checked-in {
  display: none;
}
footer.site-footer form label input:checked ~ svg.checked-out {
  display: none;
}
footer.site-footer form label span {
  font-size: 0.6875rem;
}
footer.site-footer form label span a {
  text-decoration: underline;
}
footer.site-footer form div.help {
  margin-top: 1.3125rem;
}
footer.site-footer div.right {
  text-align: right;
}
footer.site-footer div.right a {
  text-decoration: underline;
}
footer.site-footer div.snippets {
  margin-bottom: 1.375rem;
}
footer.site-footer div.devs {
  margin-bottom: 0.75rem;
}
@media (max-width: 767px) {
  footer.site-footer div.devs {
    margin-bottom: 0;
    text-align: left;
  }
}
@media (max-width: 767px) {
  footer.site-footer div.sitemap {
    display: none;
  }
}

section.commend-list {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
  section.commend-list {
    margin-top: 0;
  }
}
section.commend-list .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.commend-list .container {
    width: 100vw;
  }
}
section.commend-list .slider {
  position: relative;
  width: 100%;
  aspect-ratio: 2.56227758;
  overflow: hidden;
}
@media (max-width: 767px) {
  section.commend-list .slider {
    aspect-ratio: 1.333333333;
  }
}
section.commend-list .runner {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 1000000px;
  height: 100%;
}
section.commend-list .block {
  display: flex;
  height: 100%;
}
section.commend-list .commend {
  display: block;
  position: relative;
  width: var(--container-width);
  aspect-ratio: 2.56227758;
  z-index: 1;
}
@media (max-width: 767px) {
  section.commend-list .commend {
    width: 100vw;
    aspect-ratio: 1.333333333;
  }
}
section.commend-list .commend .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0.25rem solid var(--gray-color);
  border-radius: 1.875rem;
  background-color: var(--light-gray-color);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  section.commend-list .commend .bg {
    border-radius: 0;
  }
}
section.commend-list .commend .bg svg {
  color: var(--gray-color);
}
section.commend-list .commend iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
section.commend-list .commend .image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
section.commend-list .commend .image img {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.commend-list .commend .image img {
    border-radius: 0;
  }
}
section.commend-list .commend .image[data-loaded] img {
  display: block;
}
section.commend-list .commend .placeholder {
  display: flex;
  justify-content: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  bottom: 1.5rem;
}
@media (max-width: 767px) {
  section.commend-list .commend .placeholder {
    bottom: 1rem;
  }
}
section.commend-list .commend .info-block {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  padding: 0.25rem 2rem;
  background-color: var(--dark-red-color);
  border-radius: 1.875rem;
  max-width: 50%;
}
@media (max-width: 767px) {
  section.commend-list .commend .info-block {
    max-width: 90%;
    background-color: var(--dark-red-color-50);
  }
}
section.commend-list .commend .info-block.with-audio {
  padding-right: 1.25rem;
}
section.commend-list .commend .info {
  text-align: center;
}
section.commend-list .commend .info span {
  display: block;
}
section.commend-list .commend .info span.name {
  color: white;
  font-size: 1.25rem;
}
section.commend-list .commend .info span.subname {
  color: var(--sand-color);
}
section.commend-list .commend .audio {
  color: var(--sand-color);
}
section.commend-list div.arrows {
  position: relative;
  z-index: 5;
}
section.commend-list div.arrows button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 1rem;
  width: 3.125rem;
  height: 3.125rem;
  background: var(--dark-red-color);
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
}
@media (max-width: 767px) {
  section.commend-list div.arrows button {
    bottom: calc(75vw - 4rem);
    opacity: 0.5;
  }
}
section.commend-list div.arrows button.left {
  left: 1.25rem;
}
@media (max-width: 767px) {
  section.commend-list div.arrows button.left {
    left: 1rem;
  }
}
section.commend-list div.arrows button.right {
  right: 1.25rem;
}
@media (max-width: 767px) {
  section.commend-list div.arrows button.right {
    right: 1rem;
  }
}

div.pager {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  div.pager {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
div.pager .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  -moz-column-gap: 1.125rem;
       column-gap: 1.125rem;
}
@media (max-width: 767px) {
  div.pager .container {
    width: 100vw;
  }
}
@media (max-width: 767px) {
  div.pager .container {
    justify-content: center;
  }
}
div.pager span.range {
  font-size: 1.25rem;
  margin-right: 1rem;
  color: var(--dark-gray-color);
}
@media (max-width: 767px) {
  div.pager span.range {
    display: none;
  }
}
div.pager a {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  text-align: center;
  line-height: calc(2.5rem - 2px);
  border: 1px solid var(--red-color);
  border-radius: 0.625rem;
  font-size: 1.25rem;
  color: var(--red-color);
}
div.pager a.active, div.pager a:hover {
  color: white;
  background-color: var(--red-color);
}

div.breadcrumb {
  margin-top: 1rem;
  margin-bottom: 0.75rem;
}
@media (max-width: 767px) {
  div.breadcrumb {
    display: none;
  }
}
div.breadcrumb .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  div.breadcrumb .container {
    width: 100vw;
  }
}
div.breadcrumb ol {
  list-style: none;
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
div.breadcrumb li {
  color: var(--dark-gray-color);
}
div.breadcrumb li:not(:last-of-type)::after {
  content: "/";
  margin-left: 0.5rem;
}
div.breadcrumb a {
  color: var(--dark-gray-color);
}
div.breadcrumb a:hover {
  text-decoration: underline;
}

div.owner-block {
  color: var(--dark-gray-color);
  margin-bottom: 1rem;
}
div.owner-block dt {
  font-weight: 700;
  font-style: italic;
  margin-bottom: 0.125rem;
}
div.owner-block a {
  color: inherit;
}

div.share-block {
  color: var(--dark-gray-color);
  margin-bottom: 2rem;
}
div.share-block a {
  color: var(--dark-red-color);
}
div.share-block div.social {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  margin-bottom: 0.75rem;
}
div.share-block div.social a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 2.0625rem;
  height: 2.0625rem;
  border-radius: 50%;
  border: 1px solid var(--dark-red-color);
}

div.bottom-share-block div.share-block {
  color: black;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: bold;
  position: relative;
}

div.audio-block {
  display: flex;
}
@media (max-width: 767px) {
  div.audio-block {
    flex-direction: column;
  }
}
div.audio-block video {
  display: none;
}
div.audio-block div.player {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 1.875rem;
  padding-right: 2.5rem;
  background-color: var(--sand-color-15);
  border-radius: 1.875rem;
  height: 7.5rem;
}
div.audio-block div.controls {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
@media (max-width: 767px) {
  div.audio-block div.controls {
    flex-direction: column;
    border-radius: 0.625rem;
    height: auto;
    padding: 1.5rem 2rem;
    row-gap: 1rem;
  }
}
div.audio-block div.controls .head {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.125rem;
       column-gap: 0.125rem;
  color: var(--dark-red-color);
  margin-bottom: 0.125rem;
}
div.audio-block div.controls .head span {
  font-size: 1.875rem;
  font-weight: bold;
}
div.audio-block div.controls .caption {
  white-space: nowrap;
  color: var(--dark-red-color);
}
div.audio-block div.controls button {
  flex: 0 0 9.75rem;
  width: 9.75rem;
  height: 2.8125rem;
  border: none;
  background-color: var(--red-color);
  border-radius: 0.625rem;
  color: white;
  font-size: 1rem;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}
@media (max-width: 767px) {
  div.audio-block div.controls button {
    flex: auto;
  }
}
div.audio-block div.controls button .when-playing {
  display: none;
}
div.audio-block.playing div.controls button .when-playing {
  display: block;
}
div.audio-block.playing div.controls button .when-paused {
  display: none;
}
div.audio-block div.progress-holder {
  position: relative;
}
div.audio-block div.progress {
  position: absolute;
  top: 0.5rem;
  left: 0;
  width: 100%;
  height: 0.5rem;
  border-radius: 0.25rem;
  background-color: var(--red-color);
  cursor: pointer;
}
div.audio-block:not(.playing) div.progress {
  display: none;
}
div.audio-block div.progress-bar {
  width: 0;
  height: 100%;
  border-radius: 0.25rem;
  background-color: rgba(255, 255, 255, 0.75);
}

section.main-content {
  margin-top: 1.25rem;
  margin-bottom: 3.75rem;
  --step: 30rem;
}
@media (max-width: 767px) {
  section.main-content {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
section.main-content .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media (max-width: 767px) {
  section.main-content .container {
    width: 100vw;
  }
}
section.main-content .main-content-bg {
  position: absolute;
  right: -1rem;
  top: 0;
}
@media (max-width: 767px) {
  section.main-content .main-content-bg {
    display: none;
  }
}
section.main-content.single .main-content-bg {
  display: none;
}
section.main-content .blank1 {
  position: absolute;
  right: 35rem;
  top: 9rem;
  width: 22rem;
  height: 14rem;
  background: white;
}
@media (max-width: 767px) {
  section.main-content .blank1 {
    display: none;
  }
}
section.main-content .blank2 {
  position: absolute;
  right: 28rem;
  top: 17rem;
  width: 4rem;
  height: 8rem;
  background: white;
}
@media (max-width: 767px) {
  section.main-content .blank2 {
    display: none;
  }
}
section.main-content .blank3 {
  position: absolute;
  right: 5rem;
  top: 10rem;
  width: 25rem;
  height: 7rem;
  background: white;
}
@media (max-width: 767px) {
  section.main-content .blank3 {
    display: none;
  }
}
section.main-content.single .main-content-bg, section.main-content.single .blank1, section.main-content.single .blank2, section.main-content.single .blank3 {
  display: none;
}
section.main-content .arrows {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}
@media (max-width: 767px) {
  section.main-content .arrows {
    display: none;
  }
}
section.main-content .arrows a.arrow {
  color: var(--gray-color);
}
section.main-content .arrows a.arrow:hover {
  color: var(--dark-red-color);
}
section.main-content .arrows a.arrow svg {
  display: block;
}
section.main-content .arrows div.more-pages {
  color: var(--gray-color);
}
section.main-content .slider {
  position: relative;
  width: var(--container-width);
  height: 39.5rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  section.main-content .slider {
    position: static;
    width: auto;
    height: auto;
  }
}
section.main-content.single .slider {
  height: auto;
}
section.main-content .runner {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 1000000px;
  height: 39.5rem;
  transition: transform 0.5s ease-in-out;
}
@media (max-width: 767px) {
  section.main-content .runner {
    display: block;
    position: static;
    width: auto;
    height: auto;
  }
}
section.main-content.single .runner {
  display: block;
  position: static;
  width: auto;
  height: auto;
}
section.main-content .wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(0.333333 * var(--container-width));
}
@media (max-width: 767px) {
  section.main-content .wrapper {
    display: block;
    width: auto;
  }
}
section.main-content .wrapper:nth-child(3n+1) .column {
  background-color: var(--light-gray-color);
}
@media (max-width: 767px) {
  section.main-content .wrapper:nth-child(3n+1) .column {
    background-color: transparent;
  }
}
section.main-content .wrapper:nth-child(3n+2) .column {
  background: linear-gradient(to bottom, #D9D9D9, var(--light-gray-color) 64%, var(--light-gray-color) 100%);
}
@media (max-width: 767px) {
  section.main-content .wrapper:nth-child(3n+2) .column {
    background: transparent;
  }
}
section.main-content .wrapper:nth-child(3n+3) .column {
  background-color: #FFF7EC;
}
@media (max-width: 767px) {
  section.main-content .wrapper:nth-child(3n+3) .column {
    background-color: transparent;
  }
}
section.main-content.single .wrapper {
  display: block;
  width: auto;
}
section.main-content .column {
  position: relative;
  width: 27rem;
  height: 39.5rem;
  border-radius: 1.875rem;
  padding: 1.75rem 2rem 0;
}
@media (max-width: 767px) {
  section.main-content .column {
    position: static;
    width: auto;
    height: auto;
    border-radius: 0;
    padding: 0;
  }
}
section.main-content.single .column {
  width: auto;
  height: auto;
}
section.main-content .viewport {
  height: 33.7499rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  section.main-content .viewport {
    height: auto;
  }
}
section.main-content.single .viewport {
  height: auto;
}
section.main-content .page-numbering {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  overflow: hidden;
  height: 2.5rem;
}
section.main-content .number-holder {
  position: relative;
  width: 5.3rem;
  height: 2.5rem;
  color: #E7B3BA;
}
section.main-content .number-holder svg.border {
  position: absolute;
  left: 0;
  top: 0;
  width: 5.5rem;
  height: 5.5rem;
}
section.main-content .number-holder div.prev-page-arrow {
  position: absolute;
  left: -2rem;
  bottom: 0.5rem;
  transform: translate(-50%, -50%);
  transform: rotate(90deg);
}
section.main-content .number-holder div.prev-page-arrow span {
  display: block;
  width: 1rem;
  height: 1rem;
  border-bottom: 0.25rem solid #E7B3BA;
  border-right: 0.25rem solid #E7B3BA;
  transform: rotate(45deg);
  margin: -0.5rem;
  animation: prev-page-animate 2s infinite;
}
section.main-content .number-holder div.prev-page-arrow span:nth-child(2) {
  animation-delay: -0.2s;
}
section.main-content .number-holder div.prev-page-arrow span:nth-child(3) {
  animation-delay: -0.4s;
}
section.main-content .number-holder a.prev-page-link {
  position: absolute;
  left: -6.5rem;
  bottom: 0;
  width: 2.1875rem;
  height: 2.1875rem;
  text-align: center;
  font-size: 1.25rem;
  line-height: 2.1875rem;
  color: inherit;
}
section.main-content .number-holder div.next-page-arrow {
  position: absolute;
  right: -2rem;
  bottom: 0.5rem;
  transform: translate(-50%, -50%);
  transform: rotate(270deg);
}
section.main-content .number-holder div.next-page-arrow span {
  display: block;
  width: 1rem;
  height: 1rem;
  border-bottom: 0.25rem solid #E7B3BA;
  border-right: 0.25rem solid #E7B3BA;
  transform: rotate(45deg);
  margin: -0.5rem;
  animation: next-page-animate 2s infinite;
}
section.main-content .number-holder div.next-page-arrow span:nth-child(2) {
  animation-delay: -0.2s;
}
section.main-content .number-holder div.next-page-arrow span:nth-child(3) {
  animation-delay: -0.4s;
}
section.main-content .number-holder a.next-page-link {
  position: absolute;
  right: -10rem;
  bottom: 0;
  width: 5rem;
  height: 2.1875rem;
  font-size: 1.25rem;
  line-height: 2.1875rem;
  color: inherit;
}
section.main-content .number-holder .number {
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 2.5rem;
  font-size: 1.25rem;
}

@keyframes prev-page-animate {
  0% {
    opacity: 0;
    transform: rotate(45deg) translate(-1rem, -1rem);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(45deg) translate(1rem, 1rem);
  }
}
@keyframes next-page-animate {
  0% {
    opacity: 0;
    transform: rotate(45deg) translate(-1rem, -1rem);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(45deg) translate(1rem, 1rem);
  }
}
section.chapter-content div.text-content-part,
section.article-content div.text-content-part {
  font-size: 1.125rem;
  line-height: 1.5;
  color: var(--dark-gray-color);
}
@media (max-width: 767px) {
  section.chapter-content div.text-content-part,
  section.article-content div.text-content-part {
    font-size: 1rem;
  }
}
section.chapter-content div.text-content-part a,
section.article-content div.text-content-part a {
  color: var(--dark-red-color);
}
section.chapter-content div.text-content-part p,
section.article-content div.text-content-part p {
  margin-bottom: 1em;
  padding-bottom: 0;
}
@media (max-width: 767px) {
  section.chapter-content div.text-content-part p,
  section.article-content div.text-content-part p {
    margin-bottom: 1rem;
    padding-bottom: 0;
  }
}
section.chapter-content div.text-content-part ol,
section.article-content div.text-content-part ol {
  padding-left: 1.2em;
  margin-bottom: 1em;
}
section.chapter-content div.text-content-part ul,
section.article-content div.text-content-part ul {
  padding-left: 1.2em;
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  section.chapter-content div.text-content-part,
  section.article-content div.text-content-part {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}

section.main-content div.text-content-part {
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--black-color);
}
@media (max-width: 767px) {
  section.main-content div.text-content-part {
    font-size: 1rem;
  }
}
section.main-content div.text-content-part a {
  color: var(--dark-red-color);
}
section.main-content div.text-content-part p {
  margin-bottom: 0;
  padding-bottom: 1.875rem;
}
@media (max-width: 767px) {
  section.main-content div.text-content-part p {
    margin-bottom: 1rem;
    padding-bottom: 0;
  }
}
section.main-content div.text-content-part ol {
  padding-left: 1.2em;
  margin-bottom: 0;
}
section.main-content div.text-content-part ul {
  padding-left: 1.2em;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  section.main-content div.text-content-part {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}

section.chapter-content div.image-content-part,
section.article-content div.image-content-part {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
section.chapter-content div.image-content-part.single,
section.article-content div.image-content-part.single {
  display: flex;
  justify-content: center;
}
section.chapter-content div.image-content-part.pair,
section.article-content div.image-content-part.pair {
  display: flex;
  justify-content: space-around;
}
@media (max-width: 767px) {
  section.chapter-content div.image-content-part.pair,
  section.article-content div.image-content-part.pair {
    flex-direction: column;
    justify-content: flex-start;
    row-gap: 1rem;
  }
}
section.chapter-content div.image-content-part.single figure, section.chapter-content div.image-content-part.pair figure,
section.article-content div.image-content-part.single figure,
section.article-content div.image-content-part.pair figure {
  flex: 0 0 80rem;
  width: 80rem;
}
@media (max-width: 767px) {
  section.chapter-content div.image-content-part.single figure, section.chapter-content div.image-content-part.pair figure,
  section.article-content div.image-content-part.single figure,
  section.article-content div.image-content-part.pair figure {
    flex-direction: column;
    flex: auto;
    width: 100%;
  }
}
section.chapter-content div.image-content-part.single figure img, section.chapter-content div.image-content-part.pair figure img,
section.article-content div.image-content-part.single figure img,
section.article-content div.image-content-part.pair figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.chapter-content div.image-content-part.single figure img, section.chapter-content div.image-content-part.pair figure img,
  section.article-content div.image-content-part.single figure img,
  section.article-content div.image-content-part.pair figure img {
    border-radius: 0;
  }
}
section.chapter-content div.image-content-part.single figure figcaption, section.chapter-content div.image-content-part.pair figure figcaption,
section.article-content div.image-content-part.single figure figcaption,
section.article-content div.image-content-part.pair figure figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  text-align: center;
  color: var(--dark-gray-color);
}
section.chapter-content div.image-content-part.single figure figcaption a, section.chapter-content div.image-content-part.pair figure figcaption a,
section.article-content div.image-content-part.single figure figcaption a,
section.article-content div.image-content-part.pair figure figcaption a {
  color: var(--dark-red-color);
}
section.chapter-content div.image-content-part.pair figure,
section.article-content div.image-content-part.pair figure {
  flex: 0 0 40rem;
  width: 40rem;
}
@media (max-width: 767px) {
  section.chapter-content div.image-content-part.pair figure,
  section.article-content div.image-content-part.pair figure {
    flex-direction: column;
    flex: auto;
    width: 100%;
  }
}
section.chapter-content div.image-content-part.pair figure img,
section.article-content div.image-content-part.pair figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.chapter-content div.image-content-part.pair figure img,
  section.article-content div.image-content-part.pair figure img {
    border-radius: 0;
  }
}
section.chapter-content div.image-content-part.pair figure figcaption,
section.article-content div.image-content-part.pair figure figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  text-align: center;
  color: var(--dark-gray-color);
}
section.chapter-content div.image-content-part.pair figure figcaption a,
section.article-content div.image-content-part.pair figure figcaption a {
  color: var(--dark-red-color);
}
section.chapter-content div.image-content-part.triplex,
section.article-content div.image-content-part.triplex {
  display: grid;
  grid-template-columns: 1fr 28.625rem;
  gap: 1.25rem 1.25rem;
  grid-auto-rows: 16rem;
}
section.chapter-content div.image-content-part.triplex figure:first-of-type,
section.article-content div.image-content-part.triplex figure:first-of-type {
  grid-row: span 2;
}
section.chapter-content div.image-content-part.triplex img,
section.article-content div.image-content-part.triplex img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.875rem;
}
section.chapter-content div.image-content-part.triplex figcaption,
section.article-content div.image-content-part.triplex figcaption {
  display: none;
}

@media (max-width: 767px) {
  section.main-content div.image-content-part {
    margin-bottom: 1rem;
  }
}
section.main-content div.image-content-part img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 1.875rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media (max-width: 767px) {
  section.main-content div.image-content-part img {
    border-radius: 0;
  }
}
section.main-content div.image-content-part figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  text-align: center;
  color: var(--dark-gray-color);
}
@media (max-width: 767px) {
  section.main-content div.image-content-part figcaption {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.main-content div.image-content-part figcaption a {
  color: var(--dark-red-color);
}

section.chapter-content.first {
  order: -100;
}
section.chapter-content.last {
  order: 10000;
}
section.chapter-content .placeholder {
  position: relative;
  height: 6.75rem;
}
section.chapter-content .interior {
  background: linear-gradient(to right, var(--red-color-15) 0%, var(--red-color-15) 54%, var(--sand-color-15) 100%);
  border-radius: 1.875rem;
}
section.chapter-content.expanded .interior {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--container-width);
  background: white;
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.2);
  z-index: 9999;
}
@media (max-width: 767px) {
  section.chapter-content.expanded .interior {
    width: auto;
  }
}
section.chapter-content .head {
  display: flex;
  height: 6.75rem;
  align-items: center;
  padding-left: 2rem;
  padding-right: 2rem;
  cursor: pointer;
}
@media (max-width: 767px) {
  section.chapter-content .head {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
section.chapter-content .head .full-name {
  display: flex;
  align-items: baseline;
}
@media (max-width: 767px) {
  section.chapter-content .head .full-name {
    flex-direction: column;
  }
}
section.chapter-content .head h3 {
  font-size: 1.875rem;
  margin-right: 3rem;
}
@media (max-width: 767px) {
  section.chapter-content .head h3 {
    font-size: 1.25rem;
    margin-right: 0;
  }
}
section.chapter-content .head .subname {
  color: var(--dark-gray-color);
}
section.chapter-content .head .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  margin-right: 0.625rem;
  color: var(--red-color);
}
section.chapter-content .head svg.shevron {
  margin-left: auto;
}
section.chapter-content .head svg.close {
  display: none;
}
section.chapter-content.expanded .head h3 {
  color: var(--red-color);
}
section.chapter-content.expanded .head .subname {
  display: none;
}
section.chapter-content.expanded .head svg.shevron {
  display: none;
}
section.chapter-content.expanded .head svg.close {
  display: inline-block;
  margin-left: auto;
}
section.chapter-content .parts {
  display: none;
  padding: 0 2.5rem 1.25rem;
}
@media (max-width: 767px) {
  section.chapter-content .parts {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.chapter-content .parts .foot {
  text-align: center;
}
section.chapter-content .parts .foot a {
  color: var(--dark-red-color);
  font-size: 1.125rem;
  text-decoration: underline;
}
section.chapter-content.expanded .parts {
  display: block;
}

.gallery-up {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}
.gallery-up:not(.show) {
  display: none;
}
.gallery-up a.icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 2rem;
  height: 2rem;
  top: 1rem;
  color: white;
}
.gallery-up a.icon.close {
  right: 1rem;
}
.gallery-up a.icon.toggle {
  right: 4rem;
}
.gallery-up a.icon:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
.gallery-up a.icon svg {
  width: 1.5rem;
  height: 1.5rem;
}
.gallery-up a.arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 4rem;
  height: 4rem;
  top: calc(50% - 2rem);
  background: rgba(0, 0, 0, 0.4);
  color: white;
  border-radius: 50%;
}
.gallery-up a.arrow.left {
  left: 1rem;
}
.gallery-up a.arrow.right {
  right: 1rem;
}
.gallery-up a.arrow svg {
  width: 1.5rem;
  height: 1.5rem;
}
.gallery-up .viewport {
  position: absolute;
  left: 1rem;
  top: 1rem;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.gallery-up .viewport img {
  max-width: 100%;
  max-height: 100%;
}
.gallery-up .title {
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: 1rem;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.3);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  text-align: center;
  color: white;
}
.gallery-up .bi-fullscreen-exit {
  display: none;
}
.gallery-up.fullscreen .viewport {
  overflow: auto;
}
.gallery-up.fullscreen .viewport img {
  max-width: none;
  max-height: none;
}
.gallery-up.fullscreen .bi-fullscreen-exit {
  display: inline-block;
}
.gallery-up.fullscreen .bi-arrows-fullscreen {
  display: none;
}

body.gallery-freeze-background {
  overflow: hidden;
}

section.gallery {
  margin-top: 3rem;
  margin-bottom: 3rem;
  clear: both;
}
@media (max-width: 767px) {
  section.gallery {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
section.gallery .top-gallery {
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  section.gallery .top-gallery {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
section.gallery .top-gallery .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.gallery .top-gallery .container {
    width: 100vw;
  }
}
section.gallery .top-gallery .grid {
  display: grid;
  grid-template-columns: 1fr 42.25rem;
  grid-auto-rows: 20.5rem;
  row-gap: 1.5rem;
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}
@media (max-width: 767px) {
  section.gallery .top-gallery .grid {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
  }
}
section.gallery .top-gallery .grid div:first-child {
  grid-row: span 2;
}
section.gallery .top-gallery .slide {
  cursor: pointer;
}
section.gallery .top-gallery figure {
  width: 100%;
  height: 100%;
}
section.gallery .top-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.gallery .top-gallery img {
    border-radius: 0;
  }
}
section.gallery .top-gallery figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  text-align: center;
  color: var(--dark-gray-color);
  padding-left: var(--mobi-padding);
  padding-right: var(--mobi-padding);
}
section.gallery .top-gallery figcaption a {
  color: var(--dark-red-color);
}
@media (min-width: 768px) {
  section.gallery .top-gallery figcaption {
    display: none;
  }
}
section.gallery .bottom-gallery {
  --animated-duration: 20s;
}
section.gallery .bottom-gallery .slider {
  height: 18.75rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  section.gallery .bottom-gallery .slider {
    height: auto;
  }
}
section.gallery .bottom-gallery .runner {
  height: 100%;
  display: flex;
}
@media (max-width: 767px) {
  section.gallery .bottom-gallery .runner {
    height: auto;
    display: block;
  }
}
section.gallery .bottom-gallery.animated .runner {
  width: 100000px;
  animation-name: gallery-to-left;
  animation-duration: var(--animated-duration);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
section.gallery .bottom-gallery.animated .runner:hover {
  animation-play-state: paused;
}
section.gallery .bottom-gallery.centered .runner {
  justify-content: center;
}
section.gallery .bottom-gallery .slide {
  padding: 0 0.875rem;
  cursor: pointer;
}
@media (max-width: 767px) {
  section.gallery .bottom-gallery .slide {
    padding: 0;
  }
}
section.gallery .bottom-gallery .block {
  display: flex;
}
@media (max-width: 767px) {
  section.gallery .bottom-gallery .block {
    flex-direction: column;
    row-gap: 2rem;
  }
  section.gallery .bottom-gallery .block:last-of-type {
    display: none;
  }
}
section.gallery .bottom-gallery figure {
  width: 25rem;
  height: 18.75rem;
}
@media (max-width: 767px) {
  section.gallery .bottom-gallery figure {
    width: auto;
    height: auto;
  }
}
section.gallery .bottom-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.gallery .bottom-gallery img {
    height: auto;
    border-radius: 0;
  }
}
section.gallery .bottom-gallery figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  text-align: center;
  color: var(--dark-gray-color);
  padding-left: var(--mobi-padding);
  padding-right: var(--mobi-padding);
}
section.gallery .bottom-gallery figcaption a {
  color: var(--dark-red-color);
}
@media (min-width: 768px) {
  section.gallery .bottom-gallery figcaption {
    display: none;
  }
}

@keyframes gallery-to-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(0px - var(--block-size)));
  }
}
div.history-block {
  position: relative;
  width: 46rem;
  --delim-position: 50%;
}
@media (max-width: 767px) {
  div.history-block {
    width: 100vw;
    aspect-ratio: 4/3;
  }
}
div.history-block div.now {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
div.history-block div.now img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
div.history-block div.before {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  clip-path: polygon(var(--delim-position) 0, 100% 0, 100% 100%, var(--delim-position) 100%);
}
div.history-block div.before img {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
div.history-block .delim-line {
  display: block;
  position: absolute;
  left: calc(var(--delim-position) - 0.5 * 4px);
  top: 0;
  width: 4px;
  height: 100%;
  background-color: white;
  cursor: ew-resize;
}
div.history-block .delim-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: calc(0.5 * 4px - 0.5 * 4rem);
  top: calc(50% - 0.5 * 4rem);
  width: 4rem;
  height: 4rem;
  color: white;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}
div.history-block .delim-icon svg {
  width: 3rem;
  height: 3rem;
}

@media (max-width: 767px) {
  div.bottom-share-block {
    margin-top: 2rem;
  }
}
div.bottom-share-block div.container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  height: 14.0625rem;
  position: relative;
}
@media (max-width: 767px) {
  div.bottom-share-block div.container {
    width: 100vw;
  }
}
@media (max-width: 767px) {
  div.bottom-share-block div.container {
    height: auto;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
    padding-bottom: 13rem;
  }
}
div.bottom-share-block svg {
  position: absolute;
}
div.bottom-share-block svg.bottom-logo {
  width: 13.0625rem;
  height: 13.5625rem;
  right: -1.7rem;
  top: -1.2rem;
}
@media (max-width: 767px) {
  div.bottom-share-block svg.bottom-logo {
    right: 0;
    top: auto;
    bottom: 0;
  }
}
div.bottom-share-block svg.bottom-curve {
  width: 23.4375rem;
  height: 14.0625rem;
  left: 20.625rem;
  top: 0;
}
@media (max-width: 767px) {
  div.bottom-share-block svg.bottom-curve {
    display: none;
  }
}

div.chapter-block {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
}
@media (max-width: 767px) {
  div.chapter-block {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
div.chapter-block .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  div.chapter-block .container {
    width: 100vw;
  }
}
div.chapter-block .grid {
  display: grid;
  grid-template-columns: 1fr 26.875rem;
  -moz-column-gap: 4.5rem;
       column-gap: 4.5rem;
}
@media (max-width: 767px) {
  div.chapter-block .grid {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
div.chapter-block .chapters {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
}
div.chapter-block .dummy-image {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  div.chapter-block .dummy-image {
    display: none;
  }
}
div.chapter-block .dummy-image img {
  display: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  border-radius: 1.875rem;
}
div.chapter-block .dummy-image[data-loaded] img {
  display: block;
}

section.offices {
  background: linear-gradient(var(--red-color-15) 0%, var(--red-color-15) 52%, var(--sand-color-15) 100%);
  border-radius: 1.875rem;
  padding: 0.3125rem;
}
section.offices .bg {
  background-color: white;
  border-radius: 1.875rem;
  position: relative;
}
section.offices .bg img {
  position: absolute;
  right: -1rem;
  bottom: -2rem;
  opacity: 0.05;
}
section.offices .interior {
  padding: 1.75rem;
  position: relative;
}
section.offices .office:not(:first-of-type) {
  margin-top: 1.625rem;
}
section.offices h4 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
section.offices .contact {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
  margin-top: 0.4375rem;
  font-size: 1.125rem;
}
section.offices .contact.web {
  font-weight: bold;
}
section.offices .contact.web a {
  color: var(--dark-red-color);
}
section.offices .contact svg {
  flex: 0 0 24px;
  color: var(--dark-red-color);
}
section.offices .contact a {
  color: inherit;
}

section.obj-list {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  section.obj-list {
    margin-top: 2rem;
  }
}
section.obj-list.home {
  margin-top: 7.5rem;
}
@media (max-width: 767px) {
  section.obj-list.home {
    margin-top: 2rem;
  }
}
section.obj-list .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.obj-list .container {
    width: 100vw;
  }
}
section.obj-list .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media (max-width: 767px) {
  section.obj-list .header {
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    row-gap: 0.5rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.obj-list .header h3 {
  font-size: 3rem;
  line-height: 1;
  white-space: nowrap;
}
@media (max-width: 767px) {
  section.obj-list .header h3 {
    font-size: 1.75rem;
    white-space: initial;
  }
}
section.obj-list .header h3 sup {
  font-size: 1.25rem;
  color: var(--red-color);
  padding-left: 1rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  section.obj-list .header h3 sup {
    padding-left: 0.5rem;
  }
}
section.obj-list .header form {
  display: flex;
  align-items: center;
  width: 30rem;
  height: 2.5rem;
  background-color: var(--light-gray-color);
  border-radius: 0.625rem;
  padding: 0 1rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
@media (max-width: 767px) {
  section.obj-list .header form {
    width: 100%;
  }
}
section.obj-list .header form svg {
  color: var(--dark-gray-color);
}
section.obj-list .header form input {
  flex-grow: 1;
  height: 2.5rem;
  line-height: 2.5rem;
  border: none;
  background: transparent;
  outline: none;
}
section.obj-list .header div.obj-list-filter {
  position: relative;
  width: 15rem;
  height: 2.5rem;
  z-index: 10;
}
@media (max-width: 767px) {
  section.obj-list .header div.obj-list-filter {
    width: 100%;
  }
}
section.obj-list .header div.obj-list-filter .inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  border: 1px solid var(--dark-gray-color);
  border-radius: 0.625rem;
  background-color: white;
}
section.obj-list .header div.obj-list-filter.drop .inner {
  border-color: white;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
section.obj-list .header div.obj-list-filter .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--dark-gray-color);
  height: 2.5rem;
  padding-left: 1rem;
  padding-right: 0.25rem;
}
section.obj-list .header div.obj-list-filter .head svg {
  transition: transform 0.3s ease-in-out;
}
section.obj-list .header div.obj-list-filter .head span.filter-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
section.obj-list .header div.obj-list-filter.drop .head svg {
  transform: rotate(180deg);
}
section.obj-list .header div.obj-list-filter .down {
  padding: 0 0.75rem 0.5rem;
}
section.obj-list .header div.obj-list-filter:not(.drop) .down {
  display: none;
}
section.obj-list .header div.obj-list-filter .options {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  margin-bottom: 0.5rem;
  max-height: 16rem;
  overflow-x: hidden;
  overflow-y: auto;
}
section.obj-list .header div.obj-list-filter .option {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  color: var(--dark-gray-color);
  cursor: pointer;
}
section.obj-list .header div.obj-list-filter .option svg {
  flex: 0 0 24px;
}
section.obj-list .header div.obj-list-filter .option .checked-in {
  display: none;
}
section.obj-list .header div.obj-list-filter .option.selected {
  color: var(--red-color);
}
section.obj-list .header div.obj-list-filter .option.selected .checked-in {
  display: block;
}
section.obj-list .header div.obj-list-filter .option.selected .checked-out {
  display: none;
}
section.obj-list .header div.obj-list-filter button {
  width: 100%;
  height: 3rem;
  border-radius: 0.625rem;
  border: none;
  background-color: var(--red-color);
  color: white;
  font-size: 1rem;
  cursor: pointer;
}
section.obj-list .header .toggle {
  position: relative;
  width: 15rem;
  height: 2.5rem;
  background-color: var(--light-gray-color);
  border-radius: 0.625rem;
}
section.obj-list .header .toggle::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background-color: var(--red-color);
  border-radius: 0.625rem;
  transition: left 0.25s ease-in-out;
}
section.obj-list .header .toggle .links {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 50% 50%;
}
section.obj-list .header .toggle .links a {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
  transition: color 0.25s ease-in-out;
}
section.obj-list .header .toggle .links a.list-option {
  color: white;
}
section.obj-list .header .toggle .links a.map-option {
  color: var(--dark-gray-color);
}
@media (max-width: 767px) {
  section.obj-list.cityId .header div.obj-list-filter:not(:first-of-type) {
    visibility: hidden;
  }
}
section.obj-list.map-shown .toggle::before {
  left: 50%;
}
section.obj-list.map-shown .toggle .links a.list-option {
  color: var(--dark-gray-color);
}
section.obj-list.map-shown .toggle .links a.map-option {
  color: white;
}
section.obj-list .grid {
  display: grid;
  grid-template-columns: repeat(2, calc(0.5 * (var(--container-width) - 5rem)));
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  row-gap: 2.5rem;
}
@media (max-width: 767px) {
  section.obj-list .grid {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.obj-list .grid article a.image {
  display: block;
  position: relative;
  aspect-ratio: 1.1428571;
  background-color: white;
  border-radius: 1.875rem;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
}
@media (max-width: 767px) {
  section.obj-list .grid article a.image {
    border-radius: 0.625rem;
  }
}
section.obj-list .grid article a.image .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0.25rem solid var(--gray-color);
  border-radius: 1.875rem;
  background-color: var(--light-gray-color);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  section.obj-list .grid article a.image .bg {
    border-radius: 0.625rem;
  }
}
section.obj-list .grid article a.image .bg svg {
  color: var(--gray-color);
}
section.obj-list .grid article a.image img {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.obj-list .grid article a.image img {
    border-radius: 0.625rem;
  }
}
section.obj-list .grid article a.image[data-loaded] .bg {
  display: none;
}
section.obj-list .grid article a.image[data-loaded] img {
  display: block;
}
section.obj-list .grid article a.image .fav-marker {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 4.375rem;
  height: 3.5625rem;
  background-color: white;
  border-radius: 1.875rem 0;
  color: var(--red-color);
}
@media (max-width: 767px) {
  section.obj-list .grid article a.image .fav-marker {
    border-radius: 1.875rem 0 0.625rem;
  }
}
section.obj-list .grid article h4 {
  margin-top: 1rem;
  font-size: 1.75rem;
}
@media (max-width: 767px) {
  section.obj-list .grid article h4 {
    font-size: 1.5rem;
  }
}
section.obj-list .grid article h4 a {
  color: black;
}
section.obj-list .grid article h4 a:hover {
  color: var(--red-color);
}
section.obj-list .grid article div.info {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
section.obj-list .grid article div.info div.place-counter, section.obj-list .grid article div.info div.distance {
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  color: var(--dark-gray-color);
}
section.obj-list .grid article div.info a.audio {
  display: flex;
  align-items: center;
  height: 2.1875rem;
  padding: 0 0.625rem;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  background-color: var(--light-gray-color);
  color: var(--red-color);
  border-radius: 1.875rem;
}
section.obj-list .grid article div.info a.audio:hover {
  background-color: var(--red-color);
  color: white;
}
section.obj-list .grid article div.kinds {
  margin-top: 0.5rem;
  color: var(--dark-gray-color);
}
section.obj-list .grid article div.kinds a {
  color: inherit;
}
section.obj-list .grid article div.kinds a:hover {
  color: var(--red-color);
}
section.obj-list.map-shown .grid, section.obj-list.not-found .grid {
  display: none;
}
section.obj-list .map {
  height: 60vh;
}
section.obj-list:not(.map-shown) .map, section.obj-list.not-found .map {
  display: none;
}
section.obj-list .marker {
  display: block;
  position: absolute;
  left: -1.5625rem;
  top: -1.5625rem;
  width: 3.125rem;
  height: 3.125rem;
  border: 0.1875rem solid var(--red-color);
  background-color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 2.75rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--red-color);
}
section.obj-list .marker:hover {
  background-color: var(--red-color);
  color: white;
}
section.obj-list div.marker-tooltip {
  position: absolute;
  left: 0;
  top: 0;
  width: 19.375rem;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  background-color: white;
  border-radius: 0.625rem;
  z-index: 99;
  --step: 19.375rem;
  z-index: 99;
}
section.obj-list div.marker-tooltip:not(.shown) {
  display: none;
}
section.obj-list div.marker-tooltip div.slider {
  position: relative;
  height: 11rem;
  border-radius: 0.625rem 0.625rem 0 0;
  overflow: hidden;
}
section.obj-list div.marker-tooltip div.slide {
  width: 19.375rem;
  height: 11rem;
}
section.obj-list div.marker-tooltip div.slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
section.obj-list div.marker-tooltip div.runner {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 1000000px;
  height: 11rem;
}
section.obj-list div.marker-tooltip div.dots {
  position: absolute;
  left: 0;
  bottom: 0.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
section.obj-list div.marker-tooltip div.dots button {
  width: 0.625rem;
  height: 0.625rem;
  border: none;
  border-radius: 50%;
  background: white;
  cursor: pointer;
}
section.obj-list div.marker-tooltip div.dots button.active {
  background: var(--red-color);
}
section.obj-list div.marker-tooltip div.index {
  position: absolute;
  left: 1.25rem;
  top: 9.9375rem;
  width: 2.1875rem;
  height: 2.1875rem;
  line-height: 2.1875rem;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
  border-radius: 50%;
}
section.obj-list div.marker-tooltip a.close {
  display: block;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 0.625rem;
  right: 0.5rem;
}
section.obj-list div.marker-tooltip a.close svg {
  vertical-align: top;
}
section.obj-list div.marker-tooltip div.info {
  padding: 1.5rem 1.5rem 1.5rem;
}
section.obj-list div.marker-tooltip div.info div.grid {
  display: grid;
  grid-template-columns: 1fr 1.5rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  margin-bottom: 0.75rem;
}
section.obj-list div.marker-tooltip div.info h4 {
  font-size: 1.125rem;
}
section.obj-list div.marker-tooltip div.info h4 a {
  color: var(--red-color);
}
section.obj-list div.marker-tooltip div.info div.estimate {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
section.obj-list div.marker-tooltip div.info div.estimate svg {
  color: var(--sand-color);
}
section.obj-list div.marker-tooltip div.info div.estimate span {
  font-size: 0.625rem;
  color: var(--dark-gray-color);
}
section.obj-list div.marker-tooltip div.info div.icons {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
section.obj-list div.marker-tooltip div.info div.icons span.fav-marker {
  cursor: pointer;
}
section.obj-list div.marker-tooltip div.info div.icons span.share-block {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
}
section.obj-list div.marker-tooltip div.info div.icons span.share-block a.btn {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
section.obj-list div.marker-tooltip div.info div.icons span.share-block span.links {
  position: absolute;
  top: -0.25rem;
  right: calc(100% + 0.25rem);
  padding: 0.25rem 1.5rem 0.25rem 0.5rem;
  background-color: white;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  border-radius: 0.625rem;
}
section.obj-list div.marker-tooltip div.info div.icons span.share-block:not(.expanded) span.links {
  display: none;
}
section.obj-list div.marker-tooltip div.info div.icons span.share-block span.social {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  margin-bottom: 0.75rem;
  margin-bottom: 0;
}
section.obj-list div.marker-tooltip div.info div.icons span.share-block span.social a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 2.0625rem;
  height: 2.0625rem;
  border-radius: 50%;
  border: 1px solid var(--dark-red-color);
}
section.obj-list div.marker-tooltip div.info div.icons span.share-block span.social a {
  color: var(--dark-red-color);
}
section.obj-list div.marker-tooltip div.info p {
  font-size: 0.75rem;
  margin-bottom: 1.25rem;
}
section.obj-list div.marker-tooltip div.info a.link {
  display: block;
  height: 3.125rem;
  text-align: center;
  line-height: 3.125rem;
  text-transform: uppercase;
  border-radius: 0.625rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
}
section.obj-list div.not-found-block {
  padding-top: 1rem;
}
section.obj-list:not(.not-found) div.not-found-block {
  display: none;
}

section.home-places {
  margin-top: 2rem;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  section.home-places {
    margin-bottom: 2rem;
  }
}
section.home-places .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.home-places .container {
    width: 100vw;
  }
}
section.home-places .head {
  display: flex;
  justify-content: flex-end;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  align-items: center;
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
  section.home-places .head {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
    margin-bottom: 1rem;
  }
}
section.home-places .head h3 {
  font-size: 3rem;
  line-height: 1;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.home-places .head h3 {
    font-size: 1.75rem;
  }
}
section.home-places .head h3 sup {
  font-size: 1.25rem;
  color: var(--red-color);
  padding-left: 1rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  section.home-places .head h3 sup {
    padding-left: 0.5rem;
  }
}
section.home-places .head a.arrow {
  color: var(--gray-color);
}
section.home-places .slider {
  position: relative;
  height: 370px;
  overflow: hidden;
}
section.home-places .runner {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 1000000px;
  height: 370px;
}
section.home-places .block {
  display: flex;
  height: 370px;
}
section.home-places .block .place {
  padding-right: 1.09375rem;
}
section.home-places .block article {
  overflow: hidden;
  position: relative;
  width: 260px;
  height: 370px;
}
section.home-places .block a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  border-radius: 1.875rem;
  overflow: hidden;
}
section.home-places .block a .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  border: 0.25rem solid var(--gray-color);
  border-radius: 1.875rem;
  background-color: var(--light-gray-color);
  display: flex;
  justify-content: center;
  align-items: center;
}
section.home-places .block a .bg svg {
  color: var(--gray-color);
}
section.home-places .block a img {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.3s ease-in-out;
}
section.home-places .block a[data-loaded] .bg {
  display: none;
}
section.home-places .block a[data-loaded] img {
  display: block;
}
section.home-places .block a:hover[data-loaded] img {
  transform: scale(1.2);
}
section.home-places .block a .slide-up {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 260px;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 1rem;
  border-radius: 1.875rem;
  transform: translateY(100%);
  transition: transform 500ms ease-in-out;
}
section.home-places .block a .slide-up .name, section.home-places .block a .slide-up .city {
  display: block;
  font-size: 0.875rem;
  text-align: center;
  margin-bottom: 0.25rem;
}
section.home-places .block a .slide-up .city {
  color: var(--sand-color);
}
section.home-places .block a .slide-up .brief {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.875rem;
}
section.home-places .block a:hover .slide-up {
  top: auto;
  bottom: 0;
  transform: none;
}
section.home-places .block a .gradient {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  padding: 1.5rem 1rem;
  background: linear-gradient(180deg, transparent 66%, rgba(0, 0, 0, 0.9) 85.59%);
  color: #fff;
}
section.home-places .block a .gradient .name {
  display: block;
  margin-top: auto;
  font-size: 1rem;
  text-align: center;
}
section.home-places .block a .gradient .brief {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.875rem;
}
section.home-places .block .index {
  display: block;
  position: absolute;
  left: 1.22rem;
  top: 0.5rem;
  width: 1.875rem;
  height: 1.875rem;
  line-height: 1.875rem;
  text-align: center;
  background: var(--sand-color);
  border-radius: 50%;
  font-size: 0.9375rem;
  font-weight: bold;
  color: white;
}
section.home-places .block video {
  display: none;
}
section.home-places .block .audio {
  display: flex;
  align-items: center;
  position: absolute;
  left: 4.5625rem;
  top: 0.375rem;
  width: 7.6875rem;
  height: 2.1875rem;
  background-color: white;
  border: none;
  border-radius: 1.875rem;
  padding: 0 0.6875rem;
  color: var(--red-color);
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  cursor: pointer;
}
section.home-places .block .audio:hover {
  background-color: var(--red-color);
  color: white;
}
section.home-places .block .audio .when-playing {
  display: none;
}
section.home-places .block .audio.playing .when-playing {
  display: block;
}
section.home-places .block .audio.playing .when-paused {
  display: none;
}
section.home-places .block .fav-marker {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  width: 2.375rem;
  height: 2.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--red-color);
  cursor: pointer;
}

div.place-head {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  div.place-head {
    margin-top: 0;
  }
}
div.place-head .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 46rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media (max-width: 767px) {
  div.place-head .container {
    width: 100vw;
  }
}
@media (max-width: 767px) {
  div.place-head .container {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 1rem;
  }
}
@media (max-width: 767px) {
  div.place-head div.info {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
div.place-head div.top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
div.place-head div.top h1 {
  font-size: 3rem;
}
@media (max-width: 767px) {
  div.place-head div.top h1 {
    font-size: 1.75rem;
  }
}
div.place-head div.top h1 span {
  color: var(--dark-red-color);
  cursor: pointer;
}
div.place-head div.top h1 svg {
  vertical-align: middle;
}
div.place-head p.desc {
  font-size: 1.75rem;
  margin-bottom: 2.875rem;
}
@media (max-width: 767px) {
  div.place-head p.desc {
    font-size: 1.25rem;
    margin-bottom: 2rem;
  }
}
div.place-head .place-details {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 2.75rem;
       column-gap: 2.75rem;
  row-gap: 0.75rem;
  margin-bottom: 2.875rem;
}
div.place-head .place-details .distance {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  color: var(--dark-gray-color);
}
div.place-head .place-details .distance:not(.show) {
  display: none;
}
div.place-head .place-details .place-types {
  text-transform: lowercase;
}
div.place-head .place-details .place-types a {
  color: var(--dark-red-color);
}
div.place-head .place-details .place-types a:hover {
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 0.125rem;
}
div.place-head .place-details .view-counter {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  color: var(--dark-gray-color);
}
div.place-head .place-details .estimate {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  color: var(--sand-color);
}
div.place-head div.image img {
  display: none;
  width: 100%;
  aspect-ratio: 736/562;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.25rem;
}
@media (max-width: 767px) {
  div.place-head div.image img {
    border-radius: 0;
  }
}
div.place-head div.image[data-loaded] img {
  display: block;
}

div.place-map {
  margin-top: 3rem;
  margin-bottom: 3rem;
  clear: both;
}
@media (max-width: 767px) {
  div.place-map {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
div.place-map div.map {
  height: 45.5rem;
}
@media (max-width: 767px) {
  div.place-map div.map {
    height: 60vh;
  }
}
div.place-map div.controls {
  padding: 1rem 2rem;
}
@media (max-width: 767px) {
  div.place-map div.controls {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
div.place-map div.controls button.show-neighbor-button {
  display: flex;
  align-items: center;
  border: none;
  background: transparent;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  cursor: pointer;
}
div.place-map div.controls button.show-neighbor-button span {
  font-size: 1.25rem;
}
div.place-map div.controls button.show-neighbor-button .checked-in {
  display: none;
}
div.place-map.show-neighbor div.controls button.show-neighbor-button {
  color: var(--red-color);
}
div.place-map.show-neighbor div.controls button.show-neighbor-button .checked-in {
  display: block;
}
div.place-map.show-neighbor div.controls button.show-neighbor-button .checked-out {
  display: none;
}
div.place-map .marker-container {
  position: relative;
}
div.place-map .marker-text {
  position: absolute;
  left: 0;
  top: 3.375rem;
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--red-color);
  width: 20rem;
  transform: translateX(-50%);
  text-align: center;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
div.place-map .marker-text.hidden {
  opacity: 0;
}
div.place-map .marker {
  position: absolute;
  left: -3.125rem;
  top: -3.125rem;
  width: 6.25rem;
  height: 6.25rem;
  border: 0.1875rem solid var(--red-color);
  background-color: var(--red-color);
  border-radius: 50%;
}
div.place-map .image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 50%;
}
div.place-map .neighbor {
  display: block;
  position: absolute;
  left: -1.5625rem;
  top: -1.5625rem;
  width: 3.125rem;
  height: 3.125rem;
  border: 0.1875rem solid var(--red-color);
  background-color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 2.75rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--red-color);
}
div.place-map .neighbor:hover {
  background-color: var(--red-color);
  color: white;
}
div.place-map:not(.show-neighbor) .neighbor {
  display: none;
}
div.place-map div.neighbor-place {
  position: absolute;
  left: 0;
  top: 0;
  width: 19.375rem;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  background-color: white;
  border-radius: 0.625rem;
  z-index: 99;
  --step: 19.375rem;
}
div.place-map div.neighbor-place:not(.shown) {
  display: none;
}
div.place-map div.neighbor-place div.slider {
  position: relative;
  height: 11rem;
  border-radius: 0.625rem 0.625rem 0 0;
  overflow: hidden;
}
div.place-map div.neighbor-place div.slide {
  width: 19.375rem;
  height: 11rem;
}
div.place-map div.neighbor-place div.slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
div.place-map div.neighbor-place div.runner {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 1000000px;
  height: 11rem;
}
div.place-map div.neighbor-place div.dots {
  position: absolute;
  left: 0;
  bottom: 0.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
div.place-map div.neighbor-place div.dots button {
  width: 0.625rem;
  height: 0.625rem;
  border: none;
  border-radius: 50%;
  background: white;
  cursor: pointer;
}
div.place-map div.neighbor-place div.dots button.active {
  background: var(--red-color);
}
div.place-map div.neighbor-place div.index {
  position: absolute;
  left: 1.25rem;
  top: 9.9375rem;
  width: 2.1875rem;
  height: 2.1875rem;
  line-height: 2.1875rem;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
  border-radius: 50%;
}
div.place-map div.neighbor-place a.close {
  display: block;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 0.625rem;
  right: 0.5rem;
}
div.place-map div.neighbor-place a.close svg {
  vertical-align: top;
}
div.place-map div.neighbor-place div.info {
  padding: 1.5rem 1.5rem 1.5rem;
}
div.place-map div.neighbor-place div.info div.grid {
  display: grid;
  grid-template-columns: 1fr 1.5rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  margin-bottom: 0.75rem;
}
div.place-map div.neighbor-place div.info h4 {
  font-size: 1.125rem;
}
div.place-map div.neighbor-place div.info h4 a {
  color: var(--red-color);
}
div.place-map div.neighbor-place div.info div.estimate {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
div.place-map div.neighbor-place div.info div.estimate svg {
  color: var(--sand-color);
}
div.place-map div.neighbor-place div.info div.estimate span {
  font-size: 0.625rem;
  color: var(--dark-gray-color);
}
div.place-map div.neighbor-place div.info div.icons {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
div.place-map div.neighbor-place div.info div.icons span.fav-marker {
  cursor: pointer;
}
div.place-map div.neighbor-place div.info div.icons span.share-block {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
}
div.place-map div.neighbor-place div.info div.icons span.share-block a.btn {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
div.place-map div.neighbor-place div.info div.icons span.share-block span.links {
  position: absolute;
  top: -0.25rem;
  right: calc(100% + 0.25rem);
  padding: 0.25rem 1.5rem 0.25rem 0.5rem;
  background-color: white;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  border-radius: 0.625rem;
}
div.place-map div.neighbor-place div.info div.icons span.share-block:not(.expanded) span.links {
  display: none;
}
div.place-map div.neighbor-place div.info div.icons span.share-block span.social {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  margin-bottom: 0.75rem;
  margin-bottom: 0;
}
div.place-map div.neighbor-place div.info div.icons span.share-block span.social a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 2.0625rem;
  height: 2.0625rem;
  border-radius: 50%;
  border: 1px solid var(--dark-red-color);
}
div.place-map div.neighbor-place div.info div.icons span.share-block span.social a {
  color: var(--dark-red-color);
}
div.place-map div.neighbor-place div.info p {
  font-size: 0.75rem;
  margin-bottom: 1.25rem;
}
div.place-map div.neighbor-place div.info a.link {
  display: block;
  height: 3.125rem;
  text-align: center;
  line-height: 3.125rem;
  text-transform: uppercase;
  border-radius: 0.625rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
}

div.place-tours {
  display: flex;
  flex-wrap: wrap;
}
div.place-tours .place {
  padding-right: 1.09375rem;
}
div.place-tours article {
  overflow: hidden;
  position: relative;
  width: 260px;
  height: 370px;
}
div.place-tours a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  border-radius: 1.875rem;
  overflow: hidden;
}
div.place-tours a .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  border: 0.25rem solid var(--gray-color);
  border-radius: 1.875rem;
  background-color: var(--light-gray-color);
  display: flex;
  justify-content: center;
  align-items: center;
}
div.place-tours a .bg svg {
  color: var(--gray-color);
}
div.place-tours a img {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.3s ease-in-out;
}
div.place-tours a[data-loaded] .bg {
  display: none;
}
div.place-tours a[data-loaded] img {
  display: block;
}
div.place-tours a:hover[data-loaded] img {
  transform: scale(1.2);
}
div.place-tours a .slide-up {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 260px;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 1rem;
  border-radius: 1.875rem;
  transform: translateY(100%);
  transition: transform 500ms ease-in-out;
}
div.place-tours a .slide-up .name, div.place-tours a .slide-up .city {
  display: block;
  font-size: 0.875rem;
  text-align: center;
  margin-bottom: 0.25rem;
}
div.place-tours a .slide-up .city {
  color: var(--sand-color);
}
div.place-tours a .slide-up .brief {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.875rem;
}
div.place-tours a:hover .slide-up {
  top: auto;
  bottom: 0;
  transform: none;
}
div.place-tours a .gradient {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 370px;
  padding: 1.5rem 1rem;
  background: linear-gradient(180deg, transparent 66%, rgba(0, 0, 0, 0.9) 85.59%);
  color: #fff;
}
div.place-tours a .gradient .name {
  display: block;
  margin-top: auto;
  font-size: 1rem;
  text-align: center;
}
div.place-tours a .gradient .brief {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.875rem;
}
div.place-tours .index {
  display: block;
  position: absolute;
  left: 1.22rem;
  top: 0.5rem;
  width: 1.875rem;
  height: 1.875rem;
  line-height: 1.875rem;
  text-align: center;
  background: var(--sand-color);
  border-radius: 50%;
  font-size: 0.9375rem;
  font-weight: bold;
  color: white;
}
div.place-tours video {
  display: none;
}
div.place-tours .audio {
  display: flex;
  align-items: center;
  position: absolute;
  left: 4.5625rem;
  top: 0.375rem;
  width: 7.6875rem;
  height: 2.1875rem;
  background-color: white;
  border: none;
  border-radius: 1.875rem;
  padding: 0 0.6875rem;
  color: var(--red-color);
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  cursor: pointer;
}
div.place-tours .audio:hover {
  background-color: var(--red-color);
  color: white;
}
div.place-tours .audio .when-playing {
  display: none;
}
div.place-tours .audio.playing .when-playing {
  display: block;
}
div.place-tours .audio.playing .when-paused {
  display: none;
}
div.place-tours .fav-marker {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  width: 2.375rem;
  height: 2.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--red-color);
  cursor: pointer;
}

section.video-player {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  section.video-player {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
section.video-player .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2rem;
}
@media (max-width: 767px) {
  section.video-player .container {
    width: 100vw;
  }
}
section.video-player iframe {
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.video-player iframe {
    width: 100vw;
    height: 56.25vw;
    border-radius: 0;
  }
}

section.tour-list {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
section.tour-list.home {
  margin-top: 7.5rem;
}
section.tour-list .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.tour-list .container {
    width: 100vw;
  }
}
section.tour-list .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
section.tour-list .header h3 {
  font-size: 3rem;
  line-height: 1;
}
section.tour-list .header h3 sup {
  font-size: 1.25rem;
  color: var(--red-color);
  padding-left: 1rem;
  font-weight: normal;
}
section.tour-list .header form {
  display: flex;
  align-items: center;
  width: 30rem;
  height: 2.5rem;
  background-color: var(--light-gray-color);
  border-radius: 0.625rem;
  padding: 0 1rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
section.tour-list .header form svg {
  color: var(--dark-gray-color);
}
section.tour-list .header form input {
  flex-grow: 1;
  height: 2.5rem;
  line-height: 2.5rem;
  border: none;
  background: transparent;
  outline: none;
}
section.tour-list .header a.sorting {
  display: block;
  padding: 0.5rem;
  color: var(--dark-gray-color);
}
section.tour-list .header a.sorting svg {
  vertical-align: top;
}
section.tour-list .header a.switch {
  display: block;
  width: 0.5rem;
  color: var(--dark-gray-color);
}
section.tour-list .header a.switch span {
  display: block;
  width: 34px;
  height: 26px;
  position: relative;
}
section.tour-list .header a.switch span svg {
  position: absolute;
  top: 0;
  background-color: white;
}
section.tour-list .header a.switch span svg.left {
  left: 0;
}
section.tour-list .header a.switch span svg.right {
  right: 0;
}
section.tour-list .header div.tours {
  position: relative;
  width: 12rem;
  height: 2.5rem;
  z-index: 10;
}
section.tour-list .header div.tours .inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  border: 1px solid var(--dark-gray-color);
  border-radius: 0.625rem;
  background-color: white;
}
section.tour-list .header div.tours .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--dark-gray-color);
  height: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 0.75rem;
}
section.tour-list .header div.tours ul {
  list-style: none;
  padding: 0 0.75rem 0.25rem;
}
section.tour-list .header div.tours ul::before {
  content: "";
  display: block;
  height: 1px;
  background-color: var(--gray-color);
}
section.tour-list .header div.tours:not(.down) ul {
  display: none;
}
section.tour-list .header div.tours li {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
section.tour-list .header div.tours li a {
  color: var(--dark-red-color);
}
section.tour-list .header .toggle {
  position: relative;
  width: 15rem;
  height: 2.5rem;
  background-color: var(--light-gray-color);
  border-radius: 0.625rem;
}
section.tour-list .header .toggle::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background-color: var(--red-color);
  border-radius: 0.625rem;
  transition: left 0.25s ease-in-out;
}
section.tour-list .header .toggle .links {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 50% 50%;
}
section.tour-list .header .toggle .links a {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
  transition: color 0.25s ease-in-out;
}
section.tour-list .header .toggle .links a.list {
  color: white;
}
section.tour-list .header .toggle .links a.map {
  color: var(--dark-gray-color);
}
section.tour-list .grid {
  display: grid;
  grid-template-columns: repeat(2, calc(0.5 * (var(--container-width) - 5rem)));
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  row-gap: 2.5rem;
}
section.tour-list .grid article a.image {
  display: block;
  position: relative;
  aspect-ratio: 1.1428571;
  background-color: white;
  border-radius: 1.875rem;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
}
section.tour-list .grid article a.image .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0.25rem solid var(--gray-color);
  border-radius: 1.875rem;
  background-color: var(--light-gray-color);
  display: flex;
  justify-content: center;
  align-items: center;
}
section.tour-list .grid article a.image .bg svg {
  color: var(--gray-color);
}
section.tour-list .grid article a.image img {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.875rem;
}
section.tour-list .grid article a.image[data-loaded] .bg {
  display: none;
}
section.tour-list .grid article a.image[data-loaded] img {
  display: block;
}
section.tour-list .grid article a.image .fav-marker {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 4.375rem;
  height: 3.5625rem;
  background-color: white;
  border-radius: 1.875rem 0;
  color: var(--red-color);
}
section.tour-list .grid article h4 {
  margin-top: 1rem;
  font-size: 1.75rem;
}
section.tour-list .grid article h4 a {
  color: black;
}
section.tour-list .grid article h4 a:hover {
  color: var(--red-color);
}
section.tour-list .grid article div.info {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
section.tour-list .grid article div.info div.place-counter, section.tour-list .grid article div.info div.distance {
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  color: var(--dark-gray-color);
}
section.tour-list .grid article div.info a.audio {
  display: flex;
  align-items: center;
  height: 2.1875rem;
  padding: 0 0.625rem;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  background-color: var(--light-gray-color);
  color: var(--red-color);
  border-radius: 1.875rem;
}
section.tour-list .grid article div.info a.audio:hover {
  background-color: var(--red-color);
  color: white;
}
section.tour-list .grid article div.kinds {
  margin-top: 0.5rem;
  color: var(--dark-gray-color);
}
section.tour-list .grid article div.kinds a {
  color: inherit;
}
section.tour-list .grid article div.kinds a:hover {
  color: var(--red-color);
}

body.tour-list-map section.tour-list .header .toggle::before {
  left: 50%;
}
body.tour-list-map section.tour-list .header .toggle .links a.list {
  color: var(--dark-gray-color);
}
body.tour-list-map section.tour-list .header .toggle .links a.map {
  color: white;
}

div.all-tours-link {
  margin-top: 2rem;
  margin-bottom: 3rem;
  display: flex;
  justify-content: center;
}
div.all-tours-link a {
  display: block;
  width: 12.8125rem;
  height: 3.75rem;
  border: 1px solid var(--red-color);
  border-radius: 0.625rem;
  text-align: center;
  line-height: calc(3.75rem - 2px);
  font-size: 1.25rem;
  color: var(--red-color);
}

div.tour-head {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  div.tour-head {
    margin-top: 0;
  }
}
div.tour-head .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 46rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media (max-width: 767px) {
  div.tour-head .container {
    width: 100vw;
  }
}
@media (max-width: 767px) {
  div.tour-head .container {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 1rem;
  }
}
@media (max-width: 767px) {
  div.tour-head div.info {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
div.tour-head div.top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
div.tour-head div.top h1 {
  font-size: 3rem;
}
@media (max-width: 767px) {
  div.tour-head div.top h1 {
    font-size: 1.75rem;
  }
}
div.tour-head div.top h1 span {
  color: var(--dark-red-color);
  cursor: pointer;
}
div.tour-head div.top h1 svg {
  vertical-align: middle;
}
div.tour-head .tour-details {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
  margin-bottom: 2.875rem;
}
div.tour-head .tour-details div.line {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 2.75rem;
       column-gap: 2.75rem;
}
div.tour-head .tour-details .tour-kinds {
  text-transform: lowercase;
}
div.tour-head .tour-details .tour-kinds a {
  color: var(--dark-red-color);
}
div.tour-head .tour-details .tour-kinds a:hover {
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 0.125rem;
}
div.tour-head .tour-details .tour-kinds span {
  color: var(--dark-red-color);
}
div.tour-head .tour-details .place-counter, div.tour-head .tour-details .full-distance, div.tour-head .tour-details .view-counter {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  color: var(--dark-gray-color);
}
div.tour-head .tour-details .estimate {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  color: var(--sand-color);
}
div.tour-head .gallery {
  position: relative;
  --step: 46rem;
}
@media (max-width: 767px) {
  div.tour-head .gallery {
    position: static;
  }
}
div.tour-head .gallery .arrows {
  position: absolute;
  right: 0;
  bottom: 100%;
  display: flex;
  justify-content: flex-end;
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}
@media (max-width: 767px) {
  div.tour-head .gallery .arrows {
    display: none;
  }
}
div.tour-head .gallery .arrows a.arrow {
  color: var(--gray-color);
}
div.tour-head .gallery .arrows a.arrow:hover {
  color: var(--dark-red-color);
}
div.tour-head .gallery .arrows a.arrow svg {
  display: block;
}
div.tour-head .gallery .slider {
  position: relative;
  width: 46rem;
  height: 35.125rem;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  div.tour-head .gallery .slider {
    position: static;
    width: auto;
    height: auto;
    border-radius: 0;
  }
}
div.tour-head .gallery .runner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100000px;
  height: 35.125rem;
  display: flex;
  transition: transform 1s ease-in-out;
}
@media (max-width: 767px) {
  div.tour-head .gallery .runner {
    position: static;
    width: auto;
    height: auto;
    display: block;
  }
}
div.tour-head .gallery .slide {
  width: 46rem;
  height: 35.125rem;
}
@media (max-width: 767px) {
  div.tour-head .gallery .slide {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
}
div.tour-head .gallery .slide img {
  display: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  cursor: pointer;
}
div.tour-head .gallery .slide[data-loaded] img {
  display: block;
}

div.tour-place-map {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
div.tour-place-map div.map {
  height: 60vh;
}
div.tour-place-map div.controls {
  padding: 1rem 2rem;
}
div.tour-place-map div.controls button.show-neighbor-button {
  display: flex;
  align-items: center;
  border: none;
  background: transparent;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  cursor: pointer;
}
div.tour-place-map div.controls button.show-neighbor-button span {
  font-size: 1.25rem;
}
div.tour-place-map div.controls button.show-neighbor-button .checked-in {
  display: none;
}
div.tour-place-map.show-neighbor div.controls button.show-neighbor-button {
  color: var(--red-color);
}
div.tour-place-map.show-neighbor div.controls button.show-neighbor-button .checked-in {
  display: block;
}
div.tour-place-map.show-neighbor div.controls button.show-neighbor-button .checked-out {
  display: none;
}
div.tour-place-map .marker-container {
  position: relative;
}
div.tour-place-map .marker-container div.place-holder {
  display: none;
  position: absolute;
  right: 0;
  top: 1.5625rem;
  padding-top: 0.5rem;
  width: 19.375rem;
  z-index: 999;
}
div.tour-place-map .marker-container div.place-holder.visible {
  display: block;
}
div.tour-place-map .marker {
  display: block;
  position: absolute;
  left: -1.5625rem;
  top: -1.5625rem;
  width: 3.125rem;
  height: 3.125rem;
  border: 0.1875rem solid var(--red-color);
  background-color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 2.75rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--red-color);
}
div.tour-place-map .marker:hover {
  background-color: var(--red-color);
  color: white;
}
div.tour-place-map div.tour-place {
  position: absolute;
  left: 0;
  top: 0;
  width: 19.375rem;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  background-color: white;
  border-radius: 0.625rem;
  z-index: 99;
  --step: 19.375rem;
}
div.tour-place-map div.tour-place:not(.shown) {
  display: none;
}
div.tour-place-map div.tour-place div.slider {
  position: relative;
  height: 11rem;
  border-radius: 0.625rem 0.625rem 0 0;
  overflow: hidden;
}
div.tour-place-map div.tour-place div.slide {
  width: 19.375rem;
  height: 11rem;
}
div.tour-place-map div.tour-place div.slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
div.tour-place-map div.tour-place div.runner {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 1000000px;
  height: 11rem;
}
div.tour-place-map div.tour-place div.dots {
  position: absolute;
  left: 0;
  bottom: 0.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
div.tour-place-map div.tour-place div.dots button {
  width: 0.625rem;
  height: 0.625rem;
  border: none;
  border-radius: 50%;
  background: white;
  cursor: pointer;
}
div.tour-place-map div.tour-place div.dots button.active {
  background: var(--red-color);
}
div.tour-place-map div.tour-place div.index {
  position: absolute;
  left: 1.25rem;
  top: 9.9375rem;
  width: 2.1875rem;
  height: 2.1875rem;
  line-height: 2.1875rem;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
  border-radius: 50%;
}
div.tour-place-map div.tour-place a.close {
  display: block;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 0.625rem;
  right: 0.5rem;
}
div.tour-place-map div.tour-place a.close svg {
  vertical-align: top;
}
div.tour-place-map div.tour-place div.info {
  padding: 1.5rem 1.5rem 1.5rem;
}
div.tour-place-map div.tour-place div.info div.grid {
  display: grid;
  grid-template-columns: 1fr 1.5rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  margin-bottom: 0.75rem;
}
div.tour-place-map div.tour-place div.info h4 {
  font-size: 1.125rem;
}
div.tour-place-map div.tour-place div.info h4 a {
  color: var(--red-color);
}
div.tour-place-map div.tour-place div.info div.estimate {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
div.tour-place-map div.tour-place div.info div.estimate svg {
  color: var(--sand-color);
}
div.tour-place-map div.tour-place div.info div.estimate span {
  font-size: 0.625rem;
  color: var(--dark-gray-color);
}
div.tour-place-map div.tour-place div.info div.icons {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
div.tour-place-map div.tour-place div.info div.icons span.fav-marker {
  cursor: pointer;
}
div.tour-place-map div.tour-place div.info div.icons span.share-block {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
}
div.tour-place-map div.tour-place div.info div.icons span.share-block a.btn {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
div.tour-place-map div.tour-place div.info div.icons span.share-block span.links {
  position: absolute;
  top: -0.25rem;
  right: calc(100% + 0.25rem);
  padding: 0.25rem 1.5rem 0.25rem 0.5rem;
  background-color: white;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  border-radius: 0.625rem;
}
div.tour-place-map div.tour-place div.info div.icons span.share-block:not(.expanded) span.links {
  display: none;
}
div.tour-place-map div.tour-place div.info div.icons span.share-block span.social {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  margin-bottom: 0.75rem;
  margin-bottom: 0;
}
div.tour-place-map div.tour-place div.info div.icons span.share-block span.social a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 2.0625rem;
  height: 2.0625rem;
  border-radius: 50%;
  border: 1px solid var(--dark-red-color);
}
div.tour-place-map div.tour-place div.info div.icons span.share-block span.social a {
  color: var(--dark-red-color);
}
div.tour-place-map div.tour-place div.info p {
  font-size: 0.75rem;
  margin-bottom: 1.25rem;
}
div.tour-place-map div.tour-place div.info a.link {
  display: block;
  height: 3.125rem;
  text-align: center;
  line-height: 3.125rem;
  text-transform: uppercase;
  border-radius: 0.625rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
}
div.tour-place-map .neighbor-marker {
  display: block;
  position: absolute;
  left: -1.5625rem;
  top: -1.5625rem;
  width: 3.125rem;
  height: 3.125rem;
  border: 0.1875rem solid var(--sand-color);
  background-color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 2.75rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--sand-color);
}
div.tour-place-map .neighbor-marker:hover {
  background-color: var(--sand-color);
  color: white;
}
div.tour-place-map:not(.show-neighbor) .neighbor-marker {
  display: none;
}
div.tour-place-map div.neighbor-tour {
  position: absolute;
  left: 0;
  top: 0;
  width: 19.375rem;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  background-color: white;
  border-radius: 0.625rem;
  z-index: 99;
  --step: 19.375rem;
}
div.tour-place-map div.neighbor-tour:not(.shown) {
  display: none;
}
div.tour-place-map div.neighbor-tour div.slider {
  position: relative;
  height: 11rem;
  border-radius: 0.625rem 0.625rem 0 0;
  overflow: hidden;
}
div.tour-place-map div.neighbor-tour div.slide {
  width: 19.375rem;
  height: 11rem;
}
div.tour-place-map div.neighbor-tour div.slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
div.tour-place-map div.neighbor-tour div.runner {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 1000000px;
  height: 11rem;
}
div.tour-place-map div.neighbor-tour div.dots {
  position: absolute;
  left: 0;
  bottom: 0.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
div.tour-place-map div.neighbor-tour div.dots button {
  width: 0.625rem;
  height: 0.625rem;
  border: none;
  border-radius: 50%;
  background: white;
  cursor: pointer;
}
div.tour-place-map div.neighbor-tour div.dots button.active {
  background: var(--red-color);
}
div.tour-place-map div.neighbor-tour div.index {
  position: absolute;
  left: 1.25rem;
  top: 9.9375rem;
  width: 2.1875rem;
  height: 2.1875rem;
  line-height: 2.1875rem;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
  border-radius: 50%;
}
div.tour-place-map div.neighbor-tour a.close {
  display: block;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 0.625rem;
  right: 0.5rem;
}
div.tour-place-map div.neighbor-tour a.close svg {
  vertical-align: top;
}
div.tour-place-map div.neighbor-tour div.info {
  padding: 1.5rem 1.5rem 1.5rem;
}
div.tour-place-map div.neighbor-tour div.info div.grid {
  display: grid;
  grid-template-columns: 1fr 1.5rem;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  margin-bottom: 0.75rem;
}
div.tour-place-map div.neighbor-tour div.info h4 {
  font-size: 1.125rem;
}
div.tour-place-map div.neighbor-tour div.info h4 a {
  color: var(--red-color);
}
div.tour-place-map div.neighbor-tour div.info div.estimate {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
div.tour-place-map div.neighbor-tour div.info div.estimate svg {
  color: var(--sand-color);
}
div.tour-place-map div.neighbor-tour div.info div.estimate span {
  font-size: 0.625rem;
  color: var(--dark-gray-color);
}
div.tour-place-map div.neighbor-tour div.info div.icons {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
div.tour-place-map div.neighbor-tour div.info div.icons span.fav-marker {
  cursor: pointer;
}
div.tour-place-map div.neighbor-tour div.info div.icons span.share-block {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
}
div.tour-place-map div.neighbor-tour div.info div.icons span.share-block a.btn {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
div.tour-place-map div.neighbor-tour div.info div.icons span.share-block span.links {
  position: absolute;
  top: -0.25rem;
  right: calc(100% + 0.25rem);
  padding: 0.25rem 1.5rem 0.25rem 0.5rem;
  background-color: white;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  border-radius: 0.625rem;
}
div.tour-place-map div.neighbor-tour div.info div.icons span.share-block:not(.expanded) span.links {
  display: none;
}
div.tour-place-map div.neighbor-tour div.info div.icons span.share-block span.social {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  margin-bottom: 0.75rem;
  margin-bottom: 0;
}
div.tour-place-map div.neighbor-tour div.info div.icons span.share-block span.social a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 2.0625rem;
  height: 2.0625rem;
  border-radius: 50%;
  border: 1px solid var(--dark-red-color);
}
div.tour-place-map div.neighbor-tour div.info div.icons span.share-block span.social a {
  color: var(--dark-red-color);
}
div.tour-place-map div.neighbor-tour div.info p {
  font-size: 0.75rem;
  margin-bottom: 1.25rem;
}
div.tour-place-map div.neighbor-tour div.info a.link {
  display: block;
  height: 3.125rem;
  text-align: center;
  line-height: 3.125rem;
  text-transform: uppercase;
  border-radius: 0.625rem;
  font-weight: bold;
  color: white;
  background-color: var(--red-color);
}

section.feedback-block {
  --step: 30rem;
}
section.feedback-block .actions {
  display: flex;
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  section.feedback-block .actions {
    -moz-column-gap: normal;
         column-gap: normal;
    margin-bottom: 1rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
    justify-content: space-between;
  }
}
section.feedback-block .actions button {
  width: 15rem;
  height: 3.125rem;
  border-radius: 0.625rem;
  border: 1px solid var(--red-color);
  text-transform: uppercase;
  color: var(--red-color);
  background-color: white;
  cursor: pointer;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
@media (max-width: 767px) {
  section.feedback-block .actions button {
    width: 9rem;
  }
}
section.feedback-block .actions button:hover {
  color: white;
  background-color: var(--red-color);
}
section.feedback-block div.feedback {
  width: 30rem;
  height: 17.5rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  section.feedback-block div.feedback {
    width: 100vw;
  }
}
section.feedback-block article {
  width: 26.875rem;
  height: 17.5rem;
  border: 1px solid var(--gray-color);
  border-radius: 1.875rem;
  padding: 1.875rem 1.75rem 1.5rem;
}
@media (max-width: 767px) {
  section.feedback-block article {
    width: calc(100vw - 2 * var(--mobi-padding));
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.feedback-block article .fb-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
}
section.feedback-block article .fb-estimate {
  display: flex;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
section.feedback-block article div.text {
  overflow-x: hidden;
  overflow-y: auto;
}
@media (max-width: 767px) {
  section.feedback-block {
    --step: 100vw;
  }
}
section.feedback-block div.container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.feedback-block div.container {
    width: 100vw;
  }
}
section.feedback-block .head {
  display: flex;
  margin-bottom: 1.75rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media (max-width: 767px) {
  section.feedback-block .head {
    flex-direction: column;
    margin-bottom: 1rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.feedback-block .head h3 {
  font-size: 3rem;
}
@media (max-width: 767px) {
  section.feedback-block .head h3 {
    font-size: 1.75rem;
  }
}
section.feedback-block .head .estimate {
  display: flex;
  align-items: center;
  color: var(--sand-color);
  font-size: 1.25rem;
}
section.feedback-block .feedbacks {
  position: relative;
}
@media (max-width: 767px) {
  section.feedback-block .feedbacks {
    margin-top: 4rem;
  }
}
section.feedback-block .arrows {
  position: absolute;
  right: 0;
  bottom: 100%;
  padding-bottom: 1rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}
@media (max-width: 767px) {
  section.feedback-block .arrows {
    width: 100%;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.feedback-block .arrows a.arrow {
  color: var(--gray-color);
}
section.feedback-block .arrows a.arrow:hover {
  color: var(--dark-red-color);
}
section.feedback-block .arrows a.arrow svg {
  display: block;
}
section.feedback-block .arrows a.more {
  position: relative;
  background: white;
  color: var(--gray-color);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 0.125rem;
}
@media (max-width: 767px) {
  section.feedback-block .arrows a.more {
    margin-right: auto;
  }
}
section.feedback-block .arrows a.more:hover {
  color: var(--dark-red-color);
}
section.feedback-block .arrows .curve {
  display: block;
  position: absolute;
  right: 12rem;
  bottom: 0;
}
@media (max-width: 767px) {
  section.feedback-block .arrows .curve {
    display: none;
  }
}
section.feedback-block .slider {
  position: relative;
  width: var(--container-width);
  height: 17.5rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  section.feedback-block .slider {
    width: 100%;
  }
}
section.feedback-block .runner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100000px;
  height: 17.5rem;
  display: flex;
  transition: transform 1s ease-in-out;
  -moz-column-gap: 4.6875;
       column-gap: 4.6875;
}
@media (max-width: 767px) {
  section.feedback-block .runner {
    -moz-column-gap: normals;
         column-gap: normals;
  }
}

section.feedback-list {
  margin-bottom: 3rem;
}
section.feedback-list .actions {
  display: flex;
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  section.feedback-list .actions {
    -moz-column-gap: normal;
         column-gap: normal;
    margin-bottom: 1rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
    justify-content: space-between;
  }
}
section.feedback-list .actions button {
  width: 15rem;
  height: 3.125rem;
  border-radius: 0.625rem;
  border: 1px solid var(--red-color);
  text-transform: uppercase;
  color: var(--red-color);
  background-color: white;
  cursor: pointer;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
@media (max-width: 767px) {
  section.feedback-list .actions button {
    width: 9rem;
  }
}
section.feedback-list .actions button:hover {
  color: white;
  background-color: var(--red-color);
}
section.feedback-list div.feedback {
  width: auto;
  height: 17.5rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  section.feedback-list div.feedback {
    width: 100vw;
  }
}
section.feedback-list article {
  width: 26.875rem;
  height: 17.5rem;
  border: 1px solid var(--gray-color);
  border-radius: 1.875rem;
  padding: 1.875rem 1.75rem 1.5rem;
}
@media (max-width: 767px) {
  section.feedback-list article {
    width: calc(100vw - 2 * var(--mobi-padding));
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.feedback-list article .fb-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
}
section.feedback-list article .fb-estimate {
  display: flex;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
section.feedback-list article div.text {
  overflow-x: hidden;
  overflow-y: auto;
}
section.feedback-list div.container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.feedback-list div.container {
    width: 100vw;
  }
}
section.feedback-list div.feedbacks {
  display: grid;
  grid-template-columns: repeat(3, 30rem);
  row-gap: 2rem;
}
@media (max-width: 767px) {
  section.feedback-list div.feedbacks {
    display: flex;
    flex-direction: column;
  }
}

div.modal {
  display: none;
}
div.modal .dialog {
  background: #FFFFFF;
  box-shadow: 0px 0.625rem 1.875rem rgba(2, 61, 72, 0.2);
  border-radius: 2.5rem;
  padding: 1.75rem 2.5rem 2.5rem;
  width: var(--modal-width);
}
@media (max-width: 767px) {
  div.modal .dialog {
    width: 95vw;
    border-radius: 0.625rem;
    padding: 1rem 1rem 1.5rem;
  }
}
div.modal .head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 1.75rem;
}
div.modal .head h4 {
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--black-color);
  margin-right: auto;
}
div.modal .head a {
  color: var(--black-color);
}
div.modal .submit {
  margin-top: 1.75rem;
}
div.modal .submit button {
  display: block;
  width: 100%;
  height: 3.75rem;
  border-radius: 0.625rem;
  border: 1px solid var(--red-color);
  background: var(--red-color);
  color: var(--white-color);
  font-size: 1.5625rem;
  cursor: pointer;
}
div.modal .submit p {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  color: var(--gray-color);
}
div.modal .submit p a {
  color: var(--red-color);
}
div.modal .message {
  display: none;
  margin-bottom: 1rem;
}
div.modal .message.error {
  color: var(--red-color);
}
div.modal .message.info {
  color: var(--red-color);
  font-weight: bold;
}
div.modal .control {
  position: relative;
  border: 0.03125rem solid #DDDDDD;
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
}
div.modal .control label {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: var(--color-text);
  padding: 1rem;
  font-size: 1rem;
}
div.modal .control input, div.modal .control textarea {
  display: block;
  border: none;
  background: transparent;
  outline: none;
  width: 100%;
  font-size: 1rem;
}
div.modal .control input::-moz-placeholder, div.modal .control textarea::-moz-placeholder {
  color: transparent;
}
div.modal .control input::placeholder, div.modal .control textarea::placeholder {
  color: transparent;
}
div.modal .control input:not(:-moz-placeholder-shown) ~ label, div.modal .control textarea:not(:-moz-placeholder-shown) ~ label {
  opacity: 0.7;
  font-size: 0.875rem;
  line-height: 1rem;
  padding-top: 0;
  padding-bottom: 0;
  height: 1rem;
}
div.modal .control input:focus ~ label, div.modal .control input:not(:placeholder-shown) ~ label, div.modal .control textarea:focus ~ label, div.modal .control textarea:not(:placeholder-shown) ~ label {
  opacity: 0.7;
  font-size: 0.875rem;
  line-height: 1rem;
  padding-top: 0;
  padding-bottom: 0;
  height: 1rem;
}
div.modal .control textarea {
  max-width: 100%;
  min-height: 4.375rem;
}
div.modal .control .errtext {
  display: none;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: var(--red-color);
}
div.modal .control.error .errtext {
  display: block;
}
div.modal .bi-arrow-clockwise {
  display: none;
  vertical-align: middle;
  margin-right: 0.25rem;
  width: 1.5rem;
  height: 1.5rem;
  animation: rotation 2s linear infinite;
}
div.modal.sending .bi-arrow-clockwise {
  display: inline;
}
div.modal.shown {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  padding-top: 5.625rem;
  padding-bottom: 5.625rem;
  flex-direction: column;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
div.estimate-block {
  margin-bottom: 1rem;
}
div.estimate-block .stars {
  display: flex;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
div.estimate-block .point {
  position: relative;
  width: 35px;
  height: 35px;
  cursor: pointer;
}
div.estimate-block .point svg {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}
div.estimate-block .point svg.point-on {
  display: none;
}
div.estimate-block .point.on svg.point-on {
  display: block;
}
div.estimate-block .point.on svg.point-off {
  display: none;
}

div.embed-dialog {
  position: relative;
  display: flex;
  flex-direction: column;
}
div.embed-dialog .dialog {
  background: #FFFFFF;
  box-shadow: 0px 0.625rem 1.875rem rgba(2, 61, 72, 0.2);
  border-radius: 2.5rem;
  padding: 1.75rem 2.5rem 2.5rem;
  width: var(--modal-width);
}
@media (max-width: 767px) {
  div.embed-dialog .dialog {
    width: 95vw;
    border-radius: 0.625rem;
    padding: 1rem 1rem 1.5rem;
  }
}
div.embed-dialog .head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 1.75rem;
}
div.embed-dialog .head h4 {
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--black-color);
  margin-right: auto;
}
div.embed-dialog .head a {
  color: var(--black-color);
}
div.embed-dialog .submit {
  margin-top: 1.75rem;
}
div.embed-dialog .submit button {
  display: block;
  width: 100%;
  height: 3.75rem;
  border-radius: 0.625rem;
  border: 1px solid var(--red-color);
  background: var(--red-color);
  color: var(--white-color);
  font-size: 1.5625rem;
  cursor: pointer;
}
div.embed-dialog .submit p {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  color: var(--gray-color);
}
div.embed-dialog .submit p a {
  color: var(--red-color);
}
div.embed-dialog .message {
  display: none;
  margin-bottom: 1rem;
}
div.embed-dialog .message.error {
  color: var(--red-color);
}
div.embed-dialog .message.info {
  color: var(--red-color);
  font-weight: bold;
}
div.embed-dialog .control {
  position: relative;
  border: 0.03125rem solid #DDDDDD;
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
}
div.embed-dialog .control label {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: var(--color-text);
  padding: 1rem;
  font-size: 1rem;
}
div.embed-dialog .control input, div.embed-dialog .control textarea {
  display: block;
  border: none;
  background: transparent;
  outline: none;
  width: 100%;
  font-size: 1rem;
}
div.embed-dialog .control input::-moz-placeholder, div.embed-dialog .control textarea::-moz-placeholder {
  color: transparent;
}
div.embed-dialog .control input::placeholder, div.embed-dialog .control textarea::placeholder {
  color: transparent;
}
div.embed-dialog .control input:not(:-moz-placeholder-shown) ~ label, div.embed-dialog .control textarea:not(:-moz-placeholder-shown) ~ label {
  opacity: 0.7;
  font-size: 0.875rem;
  line-height: 1rem;
  padding-top: 0;
  padding-bottom: 0;
  height: 1rem;
}
div.embed-dialog .control input:focus ~ label, div.embed-dialog .control input:not(:placeholder-shown) ~ label, div.embed-dialog .control textarea:focus ~ label, div.embed-dialog .control textarea:not(:placeholder-shown) ~ label {
  opacity: 0.7;
  font-size: 0.875rem;
  line-height: 1rem;
  padding-top: 0;
  padding-bottom: 0;
  height: 1rem;
}
div.embed-dialog .control textarea {
  max-width: 100%;
  min-height: 4.375rem;
}
div.embed-dialog .control .errtext {
  display: none;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: var(--red-color);
}
div.embed-dialog .control.error .errtext {
  display: block;
}
div.embed-dialog .bi-arrow-clockwise {
  display: none;
  vertical-align: middle;
  margin-right: 0.25rem;
  width: 1.5rem;
  height: 1.5rem;
  animation: rotation 2s linear infinite;
}
div.embed-dialog.sending .bi-arrow-clockwise {
  display: inline;
}
div.embed-dialog > p {
  font-size: 1.25rem;
  margin-bottom: 2rem;
}
div.embed-dialog svg.curve {
  position: absolute;
  left: 43.65rem;
  bottom: -0.35rem;
}
@media (max-width: 767px) {
  div.embed-dialog svg.curve {
    display: none;
  }
}

div.article-title {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  div.article-title {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
div.article-title div.container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  div.article-title div.container {
    width: 100vw;
  }
}
div.article-title h1 {
  font-size: 3rem;
}
@media (max-width: 767px) {
  div.article-title h1 {
    font-size: 1.75rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}

section.article-content {
  margin-top: 1.25rem;
  margin-bottom: 2rem;
}
section.article-content div.container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.article-content div.container {
    width: 100vw;
  }
}

section.search-item-list {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
section.search-item-list .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
@media (max-width: 767px) {
  section.search-item-list .container {
    width: 100vw;
  }
}
section.search-item-list article {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
@media (max-width: 767px) {
  section.search-item-list article {
    flex-direction: column;
    row-gap: 1rem;
  }
}
section.search-item-list .image {
  flex: 0 0 20rem;
}
@media (max-width: 767px) {
  section.search-item-list .image {
    flex: auto;
  }
}
section.search-item-list .image a {
  display: block;
  aspect-ratio: 4/3;
}
@media (max-width: 767px) {
  section.search-item-list .image a {
    height: 75vw;
  }
}
section.search-item-list .image img {
  border-radius: 1.25rem;
}
@media (max-width: 767px) {
  section.search-item-list .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    border-radius: 0;
  }
}
@media (max-width: 767px) {
  section.search-item-list .info {
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.search-item-list .type {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  color: var(--dark-gray-color);
  margin-bottom: 0.25rem;
}
section.search-item-list h3 {
  font-size: 1.75rem;
  margin-bottom: 0.25rem;
}
section.search-item-list h3 a {
  color: var(--black-color);
}
section.search-item-list h3 a:hover {
  color: var(--dark-red-color);
}
section.search-item-list .place-city {
  margin-bottom: 0.25rem;
}
section.search-item-list p {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
section.search-item-list div.kinds {
  color: var(--dark-gray-color);
}
section.search-item-list div.kinds a {
  color: inherit;
}
section.search-item-list div.kinds a:hover {
  color: var(--red-color);
}

section.favorite-list {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
section.favorite-list .container {
  width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  section.favorite-list .container {
    width: 100vw;
  }
}
section.favorite-list .grid {
  display: grid;
  grid-template-columns: repeat(2, calc(0.5 * (var(--container-width) - 5rem)));
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  row-gap: 2.5rem;
}
@media (max-width: 767px) {
  section.favorite-list .grid {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    padding-left: var(--mobi-padding);
    padding-right: var(--mobi-padding);
  }
}
section.favorite-list .grid article a.image {
  display: block;
  position: relative;
  aspect-ratio: 1.1428571;
  background-color: white;
  border-radius: 1.875rem;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
}
@media (max-width: 767px) {
  section.favorite-list .grid article a.image {
    border-radius: 0.625rem;
  }
}
section.favorite-list .grid article a.image .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0.25rem solid var(--gray-color);
  border-radius: 1.875rem;
  background-color: var(--light-gray-color);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  section.favorite-list .grid article a.image .bg {
    border-radius: 0.625rem;
  }
}
section.favorite-list .grid article a.image .bg svg {
  color: var(--gray-color);
}
section.favorite-list .grid article a.image img {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1.875rem;
}
@media (max-width: 767px) {
  section.favorite-list .grid article a.image img {
    border-radius: 0.625rem;
  }
}
section.favorite-list .grid article a.image[data-loaded] .bg {
  display: none;
}
section.favorite-list .grid article a.image[data-loaded] img {
  display: block;
}
section.favorite-list .grid article a.image .fav-marker {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 4.375rem;
  height: 3.5625rem;
  background-color: white;
  border-radius: 1.875rem 0;
  color: var(--red-color);
}
@media (max-width: 767px) {
  section.favorite-list .grid article a.image .fav-marker {
    border-radius: 1.875rem 0 0.625rem;
  }
}
section.favorite-list .grid article h4 {
  margin-top: 1rem;
  font-size: 1.75rem;
}
@media (max-width: 767px) {
  section.favorite-list .grid article h4 {
    font-size: 1.5rem;
  }
}
section.favorite-list .grid article h4 a {
  color: black;
}
section.favorite-list .grid article h4 a:hover {
  color: var(--red-color);
}
section.favorite-list .grid article div.info {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
section.favorite-list .grid article div.info div.place-counter, section.favorite-list .grid article div.info div.distance {
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  color: var(--dark-gray-color);
}
section.favorite-list .grid article div.info a.audio {
  display: flex;
  align-items: center;
  height: 2.1875rem;
  padding: 0 0.625rem;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  background-color: var(--light-gray-color);
  color: var(--red-color);
  border-radius: 1.875rem;
}
section.favorite-list .grid article div.info a.audio:hover {
  background-color: var(--red-color);
  color: white;
}
section.favorite-list .grid article div.kinds {
  margin-top: 0.5rem;
  color: var(--dark-gray-color);
}
section.favorite-list .grid article div.kinds a {
  color: inherit;
}
section.favorite-list .grid article div.kinds a:hover {
  color: var(--red-color);
}

div.mobile-head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  height: var(--mobi-menu-height);
  padding-left: var(--mobi-padding);
  padding-right: var(--mobi-padding);
  background-color: var(--dark-red-color);
}
@media (min-width: 768px) {
  div.mobile-head {
    display: none;
  }
}
div.mobile-head a.chounb {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
}
div.mobile-head a.logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  color: white;
}
div.mobile-head .name {
  margin-left: auto;
  margin-right: auto;
}
div.mobile-head .name svg {
  vertical-align: top;
}
div.mobile-head a.hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  color: white;
  background-color: var(--red-color);
}
div.mobile-head a.close {
  display: none;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  color: white;
  background-color: var(--red-color);
}

body.mobi-menu-on div.mobile-head a.hamburger {
  display: none;
}
body.mobi-menu-on div.mobile-head a.close {
  display: flex;
}

div.mobile-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: var(--mobi-menu-height);
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 5555;
  border-top: 1px solid var(--gray-color);
}
div.mobile-menu div.mobile-menu-items {
  padding: 1rem 1.25rem 1.5rem;
  background-color: white;
}
div.mobile-menu dl dt {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  height: 51px;
  border-bottom: 1px solid var(--gray-color);
}
div.mobile-menu dl dt span {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875rem;
  color: black;
}
div.mobile-menu dl dt svg {
  color: var(--dark-gray-color);
  margin-left: auto;
}
div.mobile-menu dl.expanded dt span {
  color: var(--sand-color);
}
div.mobile-menu dl.expanded dt svg {
  transform: rotate(180deg);
}
div.mobile-menu dd {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  display: none;
  border-bottom: 1px solid var(--gray-color);
}
div.mobile-menu dd a {
  display: block;
  height: 50px;
  line-height: 50px;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--dark-gray-color);
}
div.mobile-menu dd.active a {
  color: var(--sand-color);
}
div.mobile-menu dl.expanded dd {
  display: block;
}
div.mobile-menu .menuitem {
  border-bottom: 1px solid var(--gray-color);
}
div.mobile-menu .menuitem a {
  display: block;
  height: 50px;
  line-height: 50px;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875rem;
  color: black;
}
div.mobile-menu .menuitem.active a {
  color: var(--sand-color);
}
div.mobile-menu .search {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
div.mobile-menu .search form {
  border: 1px solid var(--gray-color);
  height: 50px;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
}
div.mobile-menu .search label {
  display: flex;
  justify-content: center;
  flex: 0 0 50px;
  color: var(--gray-color);
}
div.mobile-menu .search input {
  border: none;
  background: transparent;
  display: block;
  line-height: 50px;
  outline: none;
  flex-grow: 1;
  font-size: 1rem;
}
div.mobile-menu .app {
  border-top: 1px solid var(--gray-color);
  border-bottom: 1px solid var(--gray-color);
}
div.mobile-menu .app a {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  height: 50px;
  line-height: 50px;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--dark-red-color);
}
div.mobile-menu .ask {
  padding-top: 1rem;
}
div.mobile-menu .ask a {
  display: block;
  width: 100%;
  height: 50px;
  text-align: center;
  line-height: 50px;
  background-color: var(--sand-color);
  border-radius: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  color: white;
  transition: background-color 0.3s ease-in-out;
}
div.mobile-menu .ask a:hover {
  background-color: var(--dark-red-color);
}

body.mobi-menu-on div.mobile-menu {
  display: block;
}

/*# sourceMappingURL=styles.f9b4399a6bac3e8d29a7.css.map */