@import url("https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i&display=swap&subset=cyrillic,cyrillic-ext");
@import url("https://fonts.googleapis.com/css?family=PT+Serif:400,400i,700,700i&display=swap&subset=cyrillic,cyrillic-ext");
:root {
  --font-size-body-normal: 12px;
  --font-size-body-large: 14px;
  --font-size-body-Large: 16px;
  --font-size-body-LARGE: 18px;
  --main-content-width: 70em;
  --border-radius-main: 0.3em;
  --border-form-width: 2px;
  --color-body-bg: rgb(255, 255, 255);
  --color-gradient: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
  --color-header-text: rgb(255, 255, 255);
  --color-header-bg: rgb(0, 0, 0);
  --color-nav-text: rgb(0, 0, 0);
  --color-nav-bg: rgba(255, 255, 255);
  --color-body-text: rgb(0, 0, 0);
  --color-body-text-secondary: #693;
  --color-link-main: rgb(51, 102, 153);
  --color-link-hover: rgb(153, 0, 0);
  --color-border-main: rgb(10, 50, 90);
  --color-border-outer: #bbb;
  --color-border-inner: #ddd; }

* {
  box-sizing: inherit; }

html {
  box-sizing: border-box; }

*, *::before, *::after {
  margin: 0;
  padding: 0; }

html {
  font: var(--font-size-body-normal)/1.5 "PT Sans", sans-serif; }

@media (min-width: 768px) {
  html {
    font-size: var(--font-size-body-large); } }

@media (min-width: 1280px) {
  html {
    font-size: var(--font-size-body-Large); } }

@media (min-width: 1600px) {
  html {
    font-size: var(--font-size-body-LARGE); } }

body, table, form, select, option, input, textarea {
  font: inherit;
  color: var(--color-body-text);
  background: var(--color-body-bg); }

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  margin-bottom: 0.5em; }

h1 {
  font-size: 2.8em; }

h2 {
  font-size: 2.4em; }

h3 {
  font-size: 2.0em; }

h4 {
  font-size: 1.7em; }

h5 {
  font-size: 1.4em; }

h6 {
  font-size: 1.2em; }

a {
  text-decoration: none;
  color: var(--color-body-text); }
  a.text-link {
    color: var(--color-link-main);
    font-weight: bold; }
  a.text-link:hover {
    color: var(--color-link-hover); }

p, ul, ol {
  padding-bottom: 1.5em; }

ul, ol {
  padding-left: 2em; }

span.vip-text {
  font-weight: bold; }

ul ul, ol ul, ul ol, ol ol {
  padding-top: 0.5em;
  padding-bottom: 0.5em; }

ol > li > ol > li {
  list-style-type: lower-roman; }

blockquote {
  width: 80%;
  margin: auto;
  margin-bottom: 1.5em;
  padding-left: 4em;
  padding-right: 4em;
  position: relative;
  font-family: 'PT Serif', serif;
  background: #eee; }
  blockquote::before, blockquote::after {
    display: block;
    content: '';
    width: 38px;
    height: 45px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
  blockquote::before {
    background: url(../images/logos/razor_ltr.png) no-repeat;
    background-size: cover;
    left: 0.8em; }
  blockquote::after {
    background: url(../images/logos/razor_rtl.png) no-repeat;
    background-size: cover;
    right: 0.8em; }
  @media (max-width: 768px) {
    blockquote::before {
      width: 19px;
      height: 22.5px; }
    blockquote::after {
      width: 19px;
      height: 22.5px; } }

.quote-text {
  padding-top: 1em;
  padding-bottom: 1em;
  font-size: 1.2em;
  font-style: italic; }

.quote-author {
  text-align: center;
  font-weight: bold;
  padding-bottom: 1em; }
  .quote-author::before, .quote-author::after {
    display: inline-block;
    content: '\2014'; }
  .quote-author::before {
    padding-right: 0.5em; }
  .quote-author::after {
    padding-left: 0.5em; }

.site .page-wrapper {
  padding: 1em;
  max-width: var(--main-content-width);
  margin: auto; }

.site.sidebar .page-wrapper,
.site.no-sidebar .page-wrapper {
  display: flex; }
  @media (max-width: 1024px) {
    .site.sidebar .page-wrapper,
    .site.no-sidebar .page-wrapper {
      display: block; } }

.site.sidebar .site-main {
  min-width: 83%; }

.site.no-sidebar .site-main {
  min-width: 100%; }

.site-sidebar {
  min-width: 15%;
  margin-right: 2%;
  padding-right: 1%; }

@-webkit-keyframes fadeInBackBtn {
  from {
    opacity: 0; }
  to {
    opacity: 0.5; } }

@keyframes fadeInBackBtn {
  from {
    opacity: 0; }
  to {
    opacity: 0.5; } }

@-webkit-keyframes fadeOutBackBtn {
  from {
    opacity: 0.5; }
  to {
    opacity: 0; } }

@keyframes fadeOutBackBtn {
  from {
    opacity: 0.5; }
  to {
    opacity: 0; } }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@-webkit-keyframes fadeInY {
  from {
    opacity: 0;
    transform: translateY(-100%); }
  to {
    opacity: 1;
    transform: translateY(0%); } }

@keyframes fadeInY {
  from {
    opacity: 0;
    transform: translateY(-100%); }
  to {
    opacity: 1;
    transform: translateY(0%); } }

.page .back-top {
  display: none;
  border: none;
  cursor: pointer;
  padding: 0.5em 1em;
  color: var(--color-body-bg);
  border-radius: var(--border-radius-main);
  background: #000;
  position: fixed;
  right: 10px;
  bottom: 10px;
  opacity: 0.5;
  transition: opacity 0.2s linear; }
  .page .back-top:hover {
    opacity: 1; }
  .page .back-top:focus {
    outline: none; }
  .page .back-top i {
    display: block;
    padding-bottom: 0.2em;
    text-align: center; }
  .page .back-top p {
    text-align: center;
    padding-bottom: 0;
    line-height: 1; }
  .page .back-top.show {
    -webkit-animation: fadeInBackBtn 0.3s linear;
            animation: fadeInBackBtn 0.3s linear; }
  .page .back-top.hide {
    -webkit-animation: fadeOutBackBtn 0.3s linear;
            animation: fadeOutBackBtn 0.3s linear; }

.page a.btn {
  padding: 0.5em 1em;
  color: var(--color-nav-text);
  background: var(--color-nav-bg);
  border: 2px solid var(--color-nav-bg);
  border-radius: var(--border-radius-main);
  transition: opacity 0.25s, background 0.25s; }
  .page a.btn:hover {
    background: var(--color-link-hover); }
  .page a.btn:hover {
    background: var(--color-nav-text);
    color: var(--color-nav-bg);
    border: 2px solid var(--color-nav-bg); }
  .page a.btn.read-more, .page a.btn.back-to-list, .page a.btn.no-border {
    color: var(--color-nav-bg);
    background: var(--color-nav-text); }
    .page a.btn.read-more:hover, .page a.btn.back-to-list:hover, .page a.btn.no-border:hover {
      background: var(--color-nav-bg);
      color: var(--color-nav-text);
      border: 2px solid var(--color-nav-text); }
  .page a.btn.no-border {
    border: none; }
  .page a.btn.back-to-list {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto; }
  .page a.btn.book {
    font-size: 1.3em;
    font-weight: bold;
    color: var(--color-nav-bg);
    background: var(--color-link-main);
    border: none;
    opacity: 0.75; }
    .page a.btn.book:hover {
      opacity: 1; }

.page li.selected > a.btn {
  background: var(--color-nav-text);
  color: var(--color-nav-bg);
  border: 2px solid var(--color-nav-bg); }

.page .form-button,
.page .form-button:hover,
.page .form-button:focus {
  margin-left: auto;
  border: none;
  outline: none;
  padding: 1em;
  background-color: var(--color-link-main);
  color: white;
  font-size: 1.2em;
  font-weight: bold; }

.page .form-button:hover {
  background-color: var(--color-link-hover);
  -webkit-animation: fadeIn 0.2s ease-in;
          animation: fadeIn 0.2s ease-in; }

.site .header-outer {
  padding: 1em 0em 0.8em 0em;
  background: var(--color-header-bg); }

.site .header-inner {
  max-width: var(--main-content-width);
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  @media (max-width: 880px) {
    .site .header-inner {
      justify-content: center; } }

.site .site-logo a {
  display: flex;
  flex-direction: column;
  align-items: center; }

.page-home .site-header {
  background: var(--color-gradient), url("../images/shop_01.jpg") no-repeat center;
  background-size: cover; }

.header-slogan {
  display: none; }

.page-home .header-slogan {
  display: block; }

.site .slogan {
  color: var(--color-header-text);
  text-shadow: 0 0 0.2em rgba(0, 0, 0, 0.9);
  text-align: center; }

.site .header-slogan {
  max-width: var(--main-content-width);
  margin: auto; }
  .site .header-slogan h1 {
    padding: 2.5em 0 1.5em 0;
    text-transform: uppercase;
    letter-spacing: 0.2em; }
  .site .header-slogan h3 {
    padding-bottom: 3.5em;
    margin: 0; }

.site-title {
  padding-bottom: 0.5em;
  font-family: 'PT Serif', serif;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1;
  color: var(--color-header-text); }

.nav-header {
  margin-left: auto;
  padding: 1em; }
  @media (max-width: 880px) {
    .nav-header {
      margin: auto; } }
  .nav-header ul {
    display: flex;
    padding: 0;
    list-style: none outside; }
    .nav-header ul li {
      font-weight: bold;
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center; }
      @media (max-width: 430px) {
        .nav-header ul li a.btn {
          padding: 0.3em; }
        .nav-header ul li i {
          display: none; } }
    .nav-header ul li:not(:first-child) {
      margin-left: 0.5em; }

@media (max-width: 1024px) {
  .site-sidebar h3 {
    font-size: 1.2em;
    text-align: center;
    margin: 0; } }

.site-sidebar .nav ul {
  list-style: none outside;
  padding: 0; }
  @media (max-width: 1024px) {
    .site-sidebar .nav ul {
      display: flex;
      justify-content: center;
      padding-bottom: 2em; }
      .site-sidebar .nav ul a.btn {
        padding: 0.5em; }
      .site-sidebar .nav ul i {
        display: none; } }

.site-sidebar .nav li {
  padding-bottom: 0em;
  display: block; }

.site-sidebar .nav .btn {
  display: block;
  min-width: 65%; }

.site-footer {
  background: #000; }
  .site-footer .footer-wrapper {
    max-width: var(--main-content-width);
    margin: auto;
    padding: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 768px) {
      .site-footer .footer-wrapper {
        flex-direction: column; } }
  .site-footer .footer-logo a {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center; }
  .site-footer .footer-links {
    width: 40%;
    margin: auto; }
    @media (max-width: 768px) {
      .site-footer .footer-links {
        padding: 2em 0em;
        width: 70%; } }
    .site-footer .footer-links h6 {
      color: #fff; }
    .site-footer .footer-links ul {
      list-style: none outside;
      padding: 0;
      display: grid;
      grid-gap: 0.3em;
      grid-template-columns: repeat(auto-fit, minmax(8em, 1fr));
      grid-auto-flow: dense;
      justify-content: space-between; }
      .site-footer .footer-links ul a {
        display: block;
        color: #fff; }
  .site-footer .copyright h6 {
    margin: 0;
    color: #fff; }

.page-home .home-wrapper section {
  max-width: var(--main-content-width);
  margin: auto;
  padding: 1em;
  text-align: center; }

.page-home .home-wrapper .sec-end {
  padding: 1em 0 3em 0; }

.page-home .home-wrapper .sec-header {
  padding: 3em 0 2em 0; }
  @media (max-width: 768px) {
    .page-home .home-wrapper .sec-header {
      padding-bottom: 0em; } }

.page-home .home-wrapper .sec-header::after {
  display: block;
  content: '';
  margin: auto;
  width: 5%;
  height: 0.2em;
  background: #000;
  margin-top: 2em;
  margin-bottom: 2em; }
  @media (max-width: 768px) {
    .page-home .home-wrapper .sec-header::after {
      margin-bottom: 1em; } }

.page-home .home-wrapper .sec-main {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media (max-width: 768px) {
    .page-home .home-wrapper .sec-main {
      justify-content: center; } }

.page-home .home-wrapper .sec-item {
  width: 32%; }
  @media (max-width: 768px) {
    .page-home .home-wrapper .sec-item {
      min-width: 90%; } }
  .page-home .home-wrapper .sec-item h5 {
    padding-bottom: 1em; }
    @media (max-width: 768px) {
      .page-home .home-wrapper .sec-item h5 {
        padding-top: 2em; } }
  .page-home .home-wrapper .sec-item p {
    padding: 1em; }
  .page-home .home-wrapper .sec-item .media {
    position: relative;
    overflow: hidden;
    background: #000;
    border-radius: var(--border-radius-main); }
  .page-home .home-wrapper .sec-item .media:after {
    display: block;
    content: '';
    padding-top: 66.67%; }
  .page-home .home-wrapper .sec-item .media img {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: auto;
    transform: translateY(-50%); }

@media (max-width: 768px) {
  .page-home .home-wrapper .contacts .sec-item {
    min-width: 32%; } }

@media (max-width: 600px) {
  .page-home .home-wrapper .contacts .sec-item {
    min-width: 80%; } }

.page-home .home-wrapper .contacts .list {
  list-style: none outside;
  padding: 0;
  margin-bottom: 1em; }
  .page-home .home-wrapper .contacts .list li {
    padding-bottom: 1em; }
  .page-home .home-wrapper .contacts .list p {
    padding: 0; }

.page-home .home-wrapper .contacts .wt-list {
  font-size: 1.1em; }
  .page-home .home-wrapper .contacts .wt-list .w-hour {
    font-size: 1.3em;
    font-weight: bold;
    color: var(--color-link-hover); }

.page-home .home-wrapper .contacts .ad-list li, .page-home .home-wrapper .contacts .cont-list li {
  padding: 0.2em; }

.page-home .home-wrapper .contacts .feed-list {
  margin-bottom: 1.5em; }
  .page-home .home-wrapper .contacts .feed-list li {
    margin-bottom: 1em; }

.page-home .home-wrapper .contacts .sec-item:last-child h6 {
  margin-bottom: 1em; }

.page-home .home-wrapper .break1, .page-home .home-wrapper .break2 {
  margin-top: 3em;
  display: flex;
  position: relative; }
  .page-home .home-wrapper .break1 .break-slogan, .page-home .home-wrapper .break2 .break-slogan {
    width: 90%;
    text-align: center;
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 0; }
  .page-home .home-wrapper .break1 .pic1, .page-home .home-wrapper .break1 .pic2, .page-home .home-wrapper .break2 .pic1, .page-home .home-wrapper .break2 .pic2 {
    width: 50vw;
    height: 30vh; }

.page-home .home-wrapper .break1 .pic1 {
  background: var(--color-gradient), url("../images/shop_11.jpg") no-repeat top;
  background-size: cover; }

.page-home .home-wrapper .break1 .pic2 {
  background: var(--color-gradient), url("../images/shop_12.jpg") no-repeat bottom;
  background-size: cover; }

.page-home .home-wrapper .break2 .pic1 {
  background: var(--color-gradient), url("../images/shop_15.jpg") no-repeat center;
  background-size: cover; }

.page-home .home-wrapper .break2 .pic2 {
  background: var(--color-gradient), url("../images/shop_16.jpg") no-repeat top;
  background-size: cover; }

.jobs {
  padding: 0.5em; }
  .jobs-list {
    list-style: none outside;
    padding: 0 0 1em 2em; }
    .jobs-list h5 {
      margin-bottom: 0; }
    .jobs-list p {
      padding-bottom: 0.5em; }

.comments {
  padding: 0.5em; }
  .comments-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-auto-flow: dense;
    grid-gap: 1em;
    list-style: none outside;
    padding: 0 0 1em 0; }

.comment-item {
  background: #ddd;
  border-radius: var(--border-radius-main);
  border: 2px solid var(--color-border-main);
  padding: 0 0.5em;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }

.comment-item.long-comment {
  grid-column-start: span 2;
  grid-row-start: span 1; }

.comment-text {
  padding-bottom: 0.3em; }

.comment-author {
  font-family: 'PT serif', serif;
  font-style: italic;
  text-align: right;
  font-weight: bold;
  padding-bottom: 0.3em; }

.staff-list {
  list-style: none outside;
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  grid-template-rows: auto;
  justify-content: space-around;
  justify-items: center;
  grid-gap: 1em; }

.staff-member {
  width: 320px;
  overflow: hidden;
  border-radius: var(--border-radius-main);
  position: relative; }
  .staff-member .media {
    position: relative;
    overflow: hidden;
    background: #000; }
  .staff-member .media::after {
    display: block;
    content: '';
    padding-top: 150%;
    background: #000; }
  .staff-member .media img {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: auto;
    transform: translateY(-50%); }
  .staff-member .info {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1em;
    opacity: 0; }
    @media (max-width: 1024px) {
      .staff-member .info {
        opacity: 1;
        background: rgba(255, 255, 255, 0.6); } }
    .staff-member .info p {
      padding: 0; }
    .staff-member .info .info-wrapper p {
      font-size: 1.2em; }
    .staff-member .info .bold {
      font-weight: bold; }
    .staff-member .info .click {
      margin-top: auto;
      font-weight: bold;
      color: var(--color-link-hover); }
  .member-link:hover .info {
    opacity: 1;
    background: rgba(255, 255, 255, 0.6); }

.blog-content .posts-list {
  list-style: none outside;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-template-rows: repeat(auto, 200px);
  grid-gap: 2em;
  grid-auto-flow: row dense; }

.blog-content .post-item {
  display: flex;
  flex-direction: column; }
  .blog-content .post-item .read-more {
    width: 7em;
    margin-top: auto;
    text-align: center;
    margin-left: auto; }
  .blog-content .post-item .post-title {
    font-size: 1.5em; }
  .blog-content .post-item .post-meta {
    font-size: 1.1em;
    padding-left: 0; }

.blog-content .post-high {
  grid-column: span 2; }

@media (max-width: 450px) {
  .blog-content .post-high {
    grid-column: span 1;
    grid-row: span 1; } }

.blog-content .post-portrait {
  grid-row: span 2; }

.blog-content .post-media {
  position: relative;
  overflow: hidden;
  background: #000;
  border-radius: var(--border-radius-main); }

.blog-content .post-media.landscape::after {
  display: block;
  content: '';
  padding-top: 66.67%; }

.blog-content .post-media.landscape img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%); }

.blog-content .post-media.portrait::after {
  display: block;
  content: '';
  padding-top: 150%; }

.blog-content .post-media.portrait img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%); }

.image {
  width: 50%;
  display: inline-block;
  position: relative;
  overflow: hidden; }
  .image.floatleft {
    float: left;
    margin-right: 2em; }
    .image.floatleft::after {
      display: block;
      content: '';
      height: 0;
      clear: both; }
  .image.floatright {
    float: right;
    margin-left: 2em; }
    .image.floatright::after {
      display: block;
      height: 0;
      content: '';
      clear: both; }

.post-section .post-title {
  font-family: 'PT serif', serif; }

.post-section .post-meta {
  padding-left: 0; }

.post-section .post-body {
  clear: both; }

.image.landscape::after {
  display: block;
  content: '';
  padding-top: 66.67%; }

.image.landscape img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%); }

.image.portrait::after {
  display: block;
  content: '';
  padding-top: 150%; }

.image.portrait img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%); }

.gallery-section {
  margin-bottom: 2em; }
  .gallery-section .image-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-gap: 1rem;
    grid-auto-flow: dense;
    align-items: center; }
  .gallery-section a.image-link {
    display: block;
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 1;
    transition: opacity 0.2s linear; }
    .gallery-section a.image-link .image-item {
      transform: scale(1);
      transition: transform 0.2s linear; }
  .gallery-section a.image-link:hover {
    opacity: 0.7; }
    .gallery-section a.image-link:hover .image-item {
      transform: scale(1.05); }
  .gallery-section a.landscape {
    grid-row: span 1; }
  .gallery-section a.portrait {
    grid-row: span 2; }
  .gallery-section .image-item {
    position: relative;
    overflow: hidden;
    background: #000; }
  .gallery-section .image-item.landscape::after {
    display: block;
    content: '';
    padding-top: 66.67%; }
  .gallery-section .image-item.landscape img {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: auto;
    transform: translateY(-50%); }
  .gallery-section .image-item.portrait::after {
    display: block;
    content: '';
    padding-top: 150%; }
  .gallery-section .image-item.portrait img {
    position: absolute;
    top: 50%;
    left: 0;
    width: auto;
    height: 100%;
    transform: translateY(-50%); }

.lightbox-section .lightbox {
  opacity: 0;
  position: fixed;
  display: flex;
  align-items: center;
  z-index: 9999;
  width: 100%;
  height: 100%;
  left: 0;
  background-color: rgba(0, 0, 0, 0.9); }

.lightbox-section .lightbox:target {
  opacity: 1;
  top: 0; }

.lightbox-section .lightbox.landscape .box {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  height: auto;
  margin: auto; }

.lightbox-section .lightbox.portrait .box {
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  width: auto;
  margin: auto; }
  @media (max-width: 768px) {
    .lightbox-section .lightbox.portrait .box {
      width: 80vw;
      height: auto; } }

.lightbox-section .lightbox.landscape img {
  max-width: 70vw;
  max-height: auto; }

.lightbox-section .lightbox.portrait img {
  max-width: auto;
  max-height: 92vh; }

.lightbox-section .content {
  display: flex;
  justify-content: center;
  align-items: center; }

.lightbox-section .box p {
  color: white;
  text-align: center;
  margin: 0;
  padding: 0;
  margin-top: 1em; }
  @media (max-width: 768px) {
    .lightbox-section .box p {
      visibility: hidden; } }

.lightbox-section .btn-lb.close, .lightbox-section .btn-lb.prev, .lightbox-section .btn-lb.next {
  font-size: 2em;
  color: white; }

.lightbox-section .btn-lb.close:hover, .lightbox-section .btn-lb.prev:hover, .lightbox-section .btn-lb.next:hover {
  color: gray; }

.lightbox-section .btn-lb.prev {
  padding-right: 0.5em; }

.lightbox-section .btn-lb.next {
  padding-left: 0.5em; }

.lightbox-section .btn-lb.close {
  position: absolute;
  display: block;
  right: 1em; }

.lightbox-section .clear {
  display: block;
  clear: both; }

.page-services .services-header, .page-services .sec-header {
  text-align: center; }

.page-services .services-header {
  padding-top: 1em; }

.page-services .sec-header {
  margin: 1em;
  padding: 1em 0em; }

.page-services .sec-header::after {
  display: block;
  content: '';
  margin: auto;
  width: 5%;
  height: 0.2em;
  background: #000;
  margin-top: 1em;
  margin-bottom: 2em; }

.page-services .sec-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .page-services .sec-main {
      display: block; } }
  .page-services .sec-main .btn.book {
    display: none; }
    @media (max-width: 768px) {
      .page-services .sec-main .btn.book {
        display: block;
        margin: auto;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        margin-top: 1em;
        margin-bottom: 2em; } }

.page-services .waiting .sec-header::after {
  margin-bottom: 0em; }

.page-services .waiting h6 {
  margin: auto;
  text-align: center;
  padding-bottom: 1em; }

@media (max-width: 768px) {
  .page-services .waiting h6 {
    margin-top: 2.5em;
    padding-bottom: 0.5em; } }

.page-services .waiting .sec-main {
  display: block; }
  .page-services .waiting .sec-main .wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .page-services .waiting .sec-main .wrapper {
        display: block; } }
    .page-services .waiting .sec-main .wrapper .sec-item {
      flex-direction: column; }

.page-services .sec-item {
  margin-bottom: 2em;
  width: 32%;
  display: flex;
  overflow: hidden;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
  border-radius: 0.5em;
  border: 2px solid var(--color-border-outer);
  position: relative; }
  .page-services .sec-item .sec-link {
    display: flex;
    flex-direction: column; }
  @media (max-width: 768px) {
    .page-services .sec-item {
      display: block;
      width: 80vw;
      margin: auto;
      margin-top: 1em; } }
  .page-services .sec-item .item-media {
    position: relative;
    overflow: hidden;
    background: #000;
    border-bottom: 2px solid var(--color-border-inner); }
  .page-services .sec-item .item-media:after {
    display: block;
    content: '';
    padding-top: 66.67%; }
  .page-services .sec-item .item-media img {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: auto;
    transform: translateY(-50%); }
  .page-services .sec-item .click-to-book {
    display: none;
    position: absolute;
    font-size: 2em;
    font-weight: bold;
    color: var(--color-link-hover);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10; }
  .page-services .sec-item .sec-link:hover .click-to-book {
    -webkit-animation: fadeIn 0.2s;
            animation: fadeIn 0.2s;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    justify-content: center;
    align-items: center; }
  @media (max-width: 768px) {
    .page-services .sec-item .sec-link:hover .click-to-book {
      display: none; } }

.page-services .item-meta .title,
.page-services .item-meta .desc,
.page-services .item-footer {
  padding: 0.5em 1em; }

.page-services .item-meta .title {
  font-size: 1.2em;
  font-weight: bold;
  background: var(--color-border-inner);
  border-bottom: 2px solid var(--color-border-outer); }

.page-services .item-footer {
  border-top: 2px solid var(--color-border-outer);
  margin-top: auto;
  font-size: 1.2em;
  background: var(--color-border-inner); }
  .page-services .item-footer p {
    text-align: right;
    padding-bottom: 0; }
  .page-services .item-footer .price {
    margin-left: 0.5em;
    display: inline;
    color: var(--color-link-hover);
    font-family: 'PT Serif', serif;
    font-weight: bold; }

.page-contacts .contacts-content {
  margin-bottom: 2em; }
  .page-contacts .contacts-content ul {
    font-size: 1.2em;
    list-style: none outside; }
    .page-contacts .contacts-content ul li {
      padding-bottom: 0.2em; }
  .page-contacts .contacts-content .wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center; }
    @media (max-width: 768px) {
      .page-contacts .contacts-content .wrapper {
        flex-direction: column; } }
  .page-contacts .contacts-content .work-time {
    flex: 0 0 40%;
    margin-bottom: 3em; }
    @media (max-width: 768px) {
      .page-contacts .contacts-content .work-time {
        width: 60%;
        margin-bottom: 0em; } }
    @media (max-width: 600px) {
      .page-contacts .contacts-content .work-time {
        width: 80%; } }
    .page-contacts .contacts-content .work-time ul {
      padding: 0 2em; }
    @media (max-width: 768px) {
      .page-contacts .contacts-content .work-time ul {
        padding: 0;
        text-align: center; } }
    .page-contacts .contacts-content .work-time li {
      display: flex;
      justify-content: space-between; }
    .page-contacts .contacts-content .work-time span {
      display: inline-block; }
    .page-contacts .contacts-content .work-time .week-day {
      text-align: left; }
    .page-contacts .contacts-content .work-time .work-hours {
      text-align: center;
      font-weight: bold;
      color: #900; }
  .page-contacts .contacts-content .media-icons {
    flex: 0 0 35%; }
    @media (max-width: 768px) {
      .page-contacts .contacts-content .media-icons {
        width: 60%;
        margin-top: 2em; } }
    @media (max-width: 600px) {
      .page-contacts .contacts-content .media-icons {
        width: 80%; } }
    .page-contacts .contacts-content .media-icons ul {
      padding: 0;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 1em; }
    .page-contacts .contacts-content .media-icons li {
      display: block;
      padding-bottom: 0;
      text-align: center;
      border-radius: 0.5em; }
    .page-contacts .contacts-content .media-icons a {
      color: var(--color-link-main);
      display: block;
      padding: 0.7em 0; }
    .page-contacts .contacts-content .media-icons a:hover {
      color: var(--color-link-hover);
      border-radius: 0.5em; }
    .page-contacts .contacts-content .media-icons i {
      display: block;
      font-size: 2em; }
  .page-contacts .contacts-content .address {
    flex: 0 0 21%;
    margin-left: 2em; }
    @media (max-width: 768px) {
      .page-contacts .contacts-content .address {
        width: 60%;
        margin-left: 0em;
        margin-bottom: 3em;
        margin-top: 2em; }
        .page-contacts .contacts-content .address .address-list li {
          text-align: center; } }
    @media (max-width: 600px) {
      .page-contacts .contacts-content .address {
        width: 80%; } }
    .page-contacts .contacts-content .address-list {
      padding: 0; }
  .page-contacts .contacts-content .section-map {
    flex: 0 0 40%; }
  .page-contacts .contacts-content .section-form {
    flex: 0 0 56%; }

.booking-section {
  margin-bottom: 2em; }

.reservation-time {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 938px) {
    .reservation-time {
      flex-direction: column;
      align-content: center;
      align-items: center; } }

h4 {
  text-align: center; }

h6 {
  padding-left: 0.7em; }

.calendar {
  margin-bottom: 2em;
  padding-right: 2em;
  display: grid;
  grid-template-columns: repeat(7, minmax(3em, 4em));
  grid-template-rows: repeat(6, minmax(3em, 4em));
  grid-gap: 1em; }
  @media (max-width: 938px) {
    .calendar {
      padding-right: 0; } }
  @media (max-width: 600px) {
    .calendar {
      grid-gap: 0.5em; } }

.day {
  cursor: default;
  font-weight: bold;
  text-align: center;
  line-height: 4em;
  border-radius: var(--border-radius-main); }
  .day.day-title {
    background: #369;
    color: #fff; }
  .day.curr-month {
    background: #ccc; }
  .day.today {
    background: #090; }
  .day.prev-month, .day.next-month {
    background: #ddd;
    color: #999; }

.hours-table {
  display: grid;
  grid-template-columns: repeat(6, minmax(3em, 4em));
  grid-template-rows: repeat(3, minmax(3em, 4em));
  grid-gap: 1em; }

.hour {
  cursor: default;
  text-align: center;
  background: #963;
  line-height: 4em;
  border-radius: 0.3em;
  color: #fff;
  font-weight: bold; }

div.day:nth-child(7n+1) {
  background: #900;
  color: #fff; }

.selected-time {
  margin: auto;
  margin: 3em 0;
  width: 100%; }
  .selected-time .time-wrapper {
    margin-bottom: 0.5em; }
  .selected-time .input-label {
    display: inline-block;
    width: 10em;
    padding: 0.3em 0.7em;
    background: #ddd;
    font-size: 1.1em;
    font-weight: bold;
    color: #000; }
  .selected-time .input-date {
    font-size: 1.1em;
    display: inline-block;
    padding: 0.2em 0.3em;
    border: none;
    border: 2px solid #ddd; }

.selected-services {
  width: 90%;
  margin: auto;
  margin-bottom: 2em; }
  .selected-services .services-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly; }
  .selected-services .service-wrapper {
    margin: 0 1em; }
  .selected-services .cb-label {
    display: inline-block;
    width: 8em;
    margin: 0.5em 0.2em 0.5em 0;
    padding: 0.3em 0.8em;
    font-size: 1.3em;
    font-weight: bold;
    color: #fff;
    border-radius: var(--border-radius-main);
    background: var(--color-link-main); }
  .selected-services .cb-label:hover {
    background: var(--color-link-hover); }
  .selected-services .cb-form {
    transform: scale(1.2); }

.form textarea {
  display: block; }

.form-header {
  padding-top: 2em;
  padding-bottom: 0.5em; }

.form.comment-form, .form.contact-form, .form.job-form {
  display: flex;
  flex-wrap: wrap; }

@media (max-width: 600px) {
  .form.comment-form, .form.contact-form, .form.job-form {
    display: flex;
    flex-direction: column; } }

.form-position, .form-file {
  padding: 0em;
  margin-top: 0.5em;
  margin-bottom: 0.6em;
  display: flex;
  align-items: center;
  border: var(--border-form-width) solid #999; }
  .form-position:focus-within, .form-file:focus-within {
    border: var(--border-form-width) solid var(--color-link-main); }
  .form-position label, .form-file label {
    padding: 0em 0.5em; }

.form-content {
  outline: none;
  resize: none; }

.form input, .form select,
.form input:focus, .form select:focus,
.form input:hover, .form select:hover {
  outline: none;
  border: none; }

.form select, .form .input-file {
  height: 2.75em;
  border: none;
  border-left: var(--border-form-width) solid #999;
  background: #ddd;
  flex-grow: 1; }

.form select:focus, .form .input-file:focus {
  border-left: var(--border-form-width) solid var(--color-link-main); }

.form select {
  padding: 0.5em 0.2em;
  position: relative; }

.form select:hover {
  background-color: #999;
  color: #fff; }

.form .form-file .selected-file {
  cursor: default;
  padding-left: 0.4em; }

.form .input-file {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  left: 0em;
  overflow: hidden;
  position: absolute;
  z-index: -1; }

.form .input-file + label {
  line-height: 2.75em;
  background-color: #ddd;
  border-right: var(--border-form-width) solid #999;
  display: inline-block; }

.form .input-file:focus + label {
  border-right: var(--border-form-width) solid var(--color-link-main); }

.form .input-file:hover + label {
  background-color: #999;
  color: #fff; }

.form .form-field-wrapper {
  margin-bottom: 0.5em;
  position: relative; }
  .form .form-field-wrapper input, .form .form-field-wrapper textarea,
  .form .form-field-wrapper .placeholder {
    line-height: 2;
    font-size: 1.1em; }
  .form .form-field-wrapper::before {
    position: absolute;
    top: 0.9em;
    left: 0.5em;
    font-family: 'Font Awesome 5 Free';
    font-size: 1.1em;
    color: #999;
    z-index: 999; }
  .form .form-field-wrapper::after {
    display: block;
    content: '';
    height: 2px;
    background: none; }
  .form .form-field-wrapper:focus-within::after {
    background: var(--color-link-main); }
  .form .form-field-wrapper input, .form .form-field-wrapper textarea {
    margin-top: 0.4em;
    width: 100%;
    padding: 0.3em 0.3em 0.2em 2em;
    border: var(--border-form-width) solid #999;
    outline: 0; }
  .form .form-field-wrapper input:focus,
  .form .form-field-wrapper textarea:focus {
    color: var(--color-link-main);
    border-color: var(--color-link-main); }
  .form .form-field-wrapper:focus-within::before {
    color: var(--color-link-main); }
  .form .form-field-wrapper .placeholder {
    margin-left: 0.4em;
    margin-top: 1.1em;
    padding-left: 1.6em;
    color: #999;
    background: #fff;
    line-height: 1em;
    position: absolute;
    top: 0;
    left: 0;
    cursor: text;
    transition: all 0.2s; }
  .form .form-field-wrapper input:focus + .placeholder,
  .form .form-field-wrapper input.filled-input + .placeholder,
  .form .form-field-wrapper textarea:focus + .placeholder,
  .form .form-field-wrapper textarea.filled-input + .placeholder {
    margin-left: 1.8em;
    margin-top: 1.3em;
    padding: 0 0.9em;
    line-height: 1em;
    font-size: 75%;
    transform: translateY(-125%); }
  .form .form-field-wrapper input:valid + .placeholder,
  .form .form-field-wrapper textarea.filled-input + .placeholder {
    color: #999; }
  .form .form-field-wrapper input:invalid,
  .form .form-field-wrapper textarea:invalid {
    outline: none;
    box-shadow: none; }
  .form .form-field-wrapper input:focus + .placeholder,
  .form .form-field-wrapper input.filled-input + .placeholder,
  .form .form-field-wrapper textarea:focus + .placeholder,
  .form .form-field-wrapper textarea.filled-input + .placeholder {
    color: var(--color-link-main); }

.form .name-wrapper {
  flex: 1 1 48%;
  margin-right: 1em; }
  @media (max-width: 600px) {
    .form .name-wrapper {
      margin-right: 0em; } }
  .form .name-wrapper::before {
    content: '\f007'; }

.form .fname-wrapper {
  flex: 1 1 48%;
  margin-right: 1em; }
  @media (max-width: 600px) {
    .form .fname-wrapper {
      margin-right: 0em; } }
  .form .fname-wrapper::before {
    content: '\f007'; }

.form .lname-wrapper {
  flex: 1 1 48%; }
  .form .lname-wrapper::before {
    content: '\f007'; }

.form .email-wrapper {
  flex: 1 1 48%; }
  .form .email-wrapper::before {
    font-weight: bold;
    content: '\f1fa'; }

.page-join-us .form .email-wrapper {
  padding-right: 1em; }

.form.job-form .email-wrapper, .form.contact-form .email-wrapper {
  flex: 1 1 48%;
  margin-right: 1em;
  padding: 0; }
  @media (max-width: 600px) {
    .form.job-form .email-wrapper, .form.contact-form .email-wrapper {
      margin-right: 0em; } }

.form .subject-wrapper {
  flex: 1 1 48%; }
  .form .subject-wrapper::before {
    content: '\f0a4'; }

.form .ta-wrapper {
  flex: 1 1 100%; }
  .form .ta-wrapper textarea {
    line-height: 1.4;
    padding: 0.5em 0.3em; }
  .form .ta-wrapper .placeholder {
    margin-left: 0.2em;
    padding-left: 0.1em; }
  .form .ta-wrapper textarea:focus + .placeholder,
  .form .ta-wrapper textarea.filled-input + .placeholder {
    margin-left: 0.2em;
    padding: 0 0.3em; }

.form .phone-wrapper {
  flex: 1 1 48%; }
  .form .phone-wrapper::before {
    font-weight: bold;
    content: '\f3cd'; }

.form .form-position {
  flex: 1 1 30%;
  margin-right: 1em; }
  @media (max-width: 600px) {
    .form .form-position {
      margin-right: 0em; } }

.form .form-file {
  flex: 1 1 66%; }

.page-not-found {
  background: #000; }
  .page-not-found .page-wrapper {
    padding: 0; }
  .page-not-found .nav-header, .page-not-found .site-footer {
    display: none; }

.pnf {
  color: var(--color-body-bg);
  background: var(--color-gradient), url("../images/post_04.jpg") center no-repeat;
  background-size: cover; }
  .pnf-info {
    padding: 1em 2rem;
    display: flex;
    align-items: center;
    background: rgba(0, 0, 0, 0.3);
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.9); }
    .pnf-info p {
      font-size: 8em;
      font-weight: bold;
      padding: 0 1em 0 0; }
    .pnf-info h2 {
      padding: 0;
      margin: 0; }
  .pnf-message {
    padding-bottom: 6em;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.9); }
    .pnf-message .text-link {
      text-shadow: 0px 0px 1px rgba(51, 102, 153, 0.9); }
      .pnf-message .text-link :hover {
        text-shadow: 0px 0px 1px rgba(153, 0, 0, 0.9); }
  .pnf-message h4 {
    margin: 0;
    padding: 3em 2rem;
    -moz-text-align-last: left;
         text-align-last: left; }
  .pnf-reasons {
    padding: 2em 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5));
    list-style: none outside; }
    .pnf-reasons .text-link {
      font-weight: bold; }
    .pnf-reasons li {
      padding: 0 2rem; }
