@import url('https://fonts.googleapis.com/css?family=Ubuntu:300,300i,400,400i,500,500i,700,700i&display=swap&subset=cyrillic');
@import url('https://fonts.googleapis.com/css2?family=Didact+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat+Alternates:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

@keyframes galleryLight {
  0%   {opacity: 1;}
  20%  {opacity: 0.6;}
  30%  {opacity: 0.9;}
  60%  {opacity: 1;}
  70%  {opacity: 0.8;}
  80%  {opacity: 0.4;}
  100% {opacity: 1;}
}

@keyframes flash {
	0% {
		opacity: .6;
	}
	100% {
		opacity: 1;
	}
}

@keyframes contactFormMove {
  0%   {transform: translate(5px, 5px); -webkit-transform: translate(5px, 5px);}
  25%   {transform: translate(7px, 15px); -webkit-transform: translate(7px, 15px);}
  70%   {transform: translate(10px, 25px); -webkit-transform: translate(10px, 25px);}
  90%   {transform: translate(5px, 10px); -webkit-transform: translate(5px, 10px);}
  100%   {transform: translate(5px, 5px); -webkit-transform: translate(5px, 5px);}
}

@keyframes wingLeftRotate {
  0%   {transform: rotate(0deg); -webkit-transform: rotate(0deg);}
  25%   {transform: rotate(5deg); -webkit-transform: rotate(5deg);}
  50%   {transform: rotate(6deg); -webkit-transform: rotate(6deg);}
  70%   {transform: rotate(3deg); -webkit-transform: rotate(3deg);}
  80%   {transform: rotate(-1deg); -webkit-transform: rotate(-1deg);}
}

@keyframes wingRightRotate {
  0%   {transform: rotate(0deg); -webkit-transform: rotate(0deg);}
  25%   {transform: rotate(-5deg); -webkit-transform: rotate(-5deg);}
  50%   {transform: rotate(-6deg); -webkit-transform: rotate(-6deg);}
  70%   {transform: rotate(-3deg); -webkit-transform: rotate(-3deg);}
  80%   {transform: rotate(1deg); -webkit-transform: rotate(1deg);}
}

@keyframes animatetop {
  from {opacity:0}
  to {opacity:1}
}

body, html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: 'Ubuntu', sans-serif;
  font-size: 12px;
  scroll-behavior: smooth;
}

.contact_form_wrapper {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 10000;
  left: 0;
  top: 0;
  overflow: auto;
}

.contact_form {
  width: 40%;
  height: auto;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  background: #453123 url(../images/form_bg.png) no-repeat left bottom;
  color: #ccc;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  text-align: center;
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s;
}

.contact_close {
  width: 30px;
  height: 30px;
  position: absolute;
  right: -10px;
  top: -10px;
  font-size: 30px;
  line-height: 26px;
  color: #fff;
  background: #000;
  border-radius: 15px;
  text-align: center;
  cursor: pointer;
  padding: 0;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}

.contact_title {
  font-size: 20px;
  font-weight: 500;
  background: #eee;
  color: #31302f;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  padding: 15px;
  margin-bottom: 20px;
}

form input {
  font-size: 16px;
  color: #fff;
  height: 44px;
  padding: 2px 15px;
  width: 80%;
  margin: 10px 0;
  background-color: rgba(57, 41, 29, 0.7);
  border: none;
  border-radius: 4px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

form textarea {
  border: none;
  border-radius: 4px;
  font-size: 16px;
  color: #fff;
  min-height: 100px;
  padding: 15px;
  width: 80%;
  max-width: 80%;
  min-width: 80%;
  margin: 20px 0;
  background-color: rgba(57, 41, 29, 0.7);
  box-sizing: border-box;
}

form button {
  position: relative;
  font-size: 16px;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  border: 1px solid #eee;
  background: rgba(0, 0, 0, 0);
  border-radius: 5px;
  cursor: pointer;
  padding: 8px 20px;
  margin-bottom: 20px;
  overflow:hidden;
  transition: all 250ms ease-in-out;
}

form button span {
  position: relative;
  z-index: 1;
}

form button::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-left: -100px;
  margin-top: -100px;
  content: '';
  border-color: #fff;
  border-style: solid;
  border-width: 1px;
  border-radius: 100px;
  transform-origin: center center;
  transition: all 250ms ease-in-out;
  box-sizing: border-box;
}

form button:hover {
  color: #31302f;
}

form button:hover::before {
  border-width: 100px;
}

.form_thanks {
  display: none;
  color: #fff;
  font-size: 20px;
  padding: 20px 15px;
  text-align: center;
}

.contact_btn {
  display:none;
  position:fixed;
  right:30px;
  bottom:50px;
  width:260px;
  height:190px;
  z-index:10;
  animation:contactFormMove 5s infinite;
  -webkit-animation:contactFormMove 5s infinite;
  animation-timing-function:linear;
  -webkit-animation-timing-function:linear
}

.contact_btn .wing_left {
  width: 70px;
  height: 75px;
  position: absolute;
  background: url(../images/form_wing_left.png) no-repeat top left;
  background-size: contain;
  animation: wingLeftRotate 5s infinite;
  -webkit-animation: wingLeftRotate 5s infinite;
  transform-origin: 100% 100%;
  -webkit-transform-origin: 100% 100%;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
}

.contact_btn .wing_right {
  width: 72px;
  height: 75px;
  position: absolute;
  right: 0;
  background: url(../images/form_wing_right.png) no-repeat top left;
  background-size: contain;
  animation: wingRighttRotate 5s infinite;
  -webkit-animation: wingRightRotate 5s infinite;
  transform-origin: 0 100%;
  -webkit-transform-origin: 0 100%;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
}

.contact_btn .main_body {
  width: 132px;
  height: 200px;
  position: absolute;
  background: url(../images/form_main_body.png) no-repeat top left;
  background-size: contain;
  left: 0;
  right: 0;
  top: -12px;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
}

.top-bar {
  position:fixed;
  top:0;
  width:100%;
  padding:4px 0 8px 0;
  background:#1b1b1b;
  z-index:1001
}

.top-bar-inner {
  max-width:1140px;
  margin:0 auto;
  display:flex;
  align-items:flex-end
}

.top-bar-inner-mobile {
  display:none;
  max-width:1140px;
  margin:0 auto;
  padding:0 8px;
  align-items:center;
  justify-content:space-between
}

.phones-top {
  font-family:'Didact Gothic', sans-serif;
  font-size:1.4rem;
  padding-left:22px;
  background:url("../images/phone_icon.png") no-repeat bottom left;
  color:#929292
}

.top-bar-inner-mobile .phones-top {
  flex-basis:33.333%;
  flex-grow:0;
  font-size:1.2rem;
  background:none;
  padding-left:0
}

.social-top {
  margin-left:2rem;
  position:relative;
  top:14px
}

.top-bar-inner-mobile .social-top {
  flex-basis:33.333%;
  flex-grow:0;
  text-align:center;
  margin-left:0;
  top:4px
}

.navigation {
  margin-left:auto
}

.top-bar-inner-mobile .navigation {
  flex-basis:33.333%;
  flex-grow:0;
  margin-left:0;
  text-align:right
}

.navigation a {
  font-family:'Didact Gothic', sans-serif;
  font-size:1.4rem;
  color:#929292;
  text-decoration:none;
  margin-left:1.4rem;
  transition:color .3s
}

.navigation a:hover {
  color:#acacac
}

.top-bar-inner-mobile .navigation a {
  font-size:1.2rem;
}

.logo-mobile {
  display:none
}

@media screen and (max-width:64.0625em) {
  .logo-mobile {
    display:block;
    width:40%;
    margin:0 auto
  }

  .logo-mobile img {
    width:100%;
    margin:2rem 0
  }
}

.container {
  width:100%;
  margin-right:auto;
  margin-left:auto
}

.header_background {
  height: 100%;
  background-image: url("../images/bg_main_n.jpg");
  background-position:top left;
  background-repeat: no-repeat;
  background-size: cover;
}

.first_screen {
  position:relative;
  max-width:1280px !important;
  height:100%;
  overflow:hidden;
  z-index:1000
}

.video-intro {
  position:absolute;
  width:100%;
  height:100%;
  overflow:hidden;
  z-index:1
}

.video-intro video {
  position:absolute;
  height:100%;
  width:177.77777778vh; /* 100 * 16 / 9 */
  min-width:100%;
  min-height:56.25vw; /* 100 * 9 / 16 */
}

@media (max-width:64.0625em) {
  .video-intro {
    display:none;
  }

  .first_screen {
    /*background:rgba(0,0,0,0.5)*/
  }

  .header_background {
    background-image:url("../images/bg_main_mobile.jpg");
    background-position:center center;
    background-size:cover
  }
}

.header-text {
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  z-index:1000
}

.header-text-inner {
  font-family:'Montserrat Alternates', sans-serif;
  font-size:1.6rem;
  line-height:3rem;
  font-weight:300;
  color:#fff;
  background:rgba(0,0,0,0.6);
  text-shadow:1px 1px 0 rgba(0, 0, 0, 1);
  padding:2rem 4rem;
  -webkit-border-radius:10px;
  -moz-border-radius:10px;
  border-radius:10px
}

@media (max-width:64.0625em) {
  .header-text {
    align-items:center
  }
}

@media (max-width:37.5em) {
  .header-text {
    padding-top:2rem
  }
}

.header-text-inner h2 {
  font-size:3rem;
  line-height:4rem;
  font-weight:400
}

.header-text-divider {
  width:297px;
  height:10px;
  margin:9rem auto;
  background: url("../images/header-text-divider.png") no-repeat top center;
}

@media (max-width:37.5em) {
  .header-text-divider {
    display:none
  }
}

@media (max-width:37.5em) {
  .header-text-inner h2 {
    padding-top:0;
    margin-top:0;
    font-size:2rem
  }

  .header-text-inner {
    background:rgba(0,0,0,0.7);
    padding:2rem 2rem;
    font-size:1.5rem;
    line-height:2.3rem;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
    border-radius:10px
  }

  .header-text-divider {
    margin:2rem auto;
  }
}

.book-btn {
  display:inline-block;
  font-family:'Montserrat Alternates', sans-serif;
  font-size:2.6rem;
  font-weight:400;
  text-transform:uppercase;
  margin-top:10rem;
  margin-bottom:2rem;
  padding:1rem 2rem;
  background:rgba(0,0,0,0.3);
  border:2px solid #caa462;
  cursor:pointer;
  transition:color .5s;
}

.book-btn:hover {
  color:#ffe5bf
}

@media (max-width:37.5em) {
  .book-btn {
    font-size:1.8rem;
    padding:0.6rem 2rem;
    margin-top:4rem;
    margin-bottom:0
  }
}

.title_img {
  display: block;
  width: 320px;
  height: 114px;
  margin: 0 auto;
}

.title_img_offset {
  display: block;
  width: 320px;
  height: 114px;
  margin: 0 auto;
  position: relative;
  top: -57px;
}

.rooms {
  min-height:500px;
  background:url(../images/rooms_bg.jpg) no-repeat top center;
  background-size:cover;
  text-align:center;
  padding:6rem 0 12rem 0
}

@media (max-width:64.0625em) {
  .rooms {
    padding:3rem 0 6rem 0
  }
}

.rooms h2 {
  display:inline-block;
  margin:0 auto;
  font-family: 'Didact Gothic', sans-serif;
  font-size:2.4rem;
  font-weight:400;
  color:#fff;
  background:url(../images/about_title_bg.png) no-repeat top center;
  background-size:cover;
  padding:1.8rem 3.8rem;
  text-transform:uppercase
}

@media (max-width:37.5em) {
  .rooms h2 {
    font-size:1.5rem;
  }
}

.room {
  position:relative;
  margin-top:5rem
}

@media (max-width:37.5em) {
  .room {
    margin-top:3rem
  }
}

.room img {
  width:100%;
  height:auto;
  outline:1px solid #fff;
  outline-offset:-20px;
  -moz-box-shadow:0 0 14px 1px rgba(0,0,0,0.55);
  -webkit-box-shadow:0 0 14px 1px rgba(0,0,0,0.55);
  box-shadow:0 0 14px 1px rgba(0,0,0,0.55)
}

.room .room-name {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  font-family: 'Didact Gothic', sans-serif;
  font-size:2rem;
  font-weight:300;
  background:rgba(0,0,0,0.7);
  padding:0.6rem 1rem;
  color:#fff
}

@media screen and (max-width:37.5em) {
  .room .room-name {
    font-size:1.3rem;
    line-height:1.5rem;
    min-height:1.5rem;
    padding:0.4rem 0.8rem;
    top:75%;
    left:50%;
    transform:translate(-50%, -75%)
  }
}

.room .room-name-inner{
  width:18rem;
  padding:1.2rem 0;
  border-top:1px solid #fff;
  border-bottom:1px solid #fff
}

@media screen and (max-width:37.5em) {
  .room .room-name-inner{
    width:17rem;
    padding:0;
    border:none
  }
}

.room .two-lines {
  padding:0.2rem 0
}

@media screen and (max-width:37.5em) {
  .room .two-lines {
    padding:0
  }
}

.photos {
  padding:8rem 0 10rem 0;
  background:#1f1f25
}

@media screen and (max-width:37.5em) {
  .photos {
    padding-top:4rem
  }
}

@media screen and (max-width:64.0625em) {
  .photos {
    padding-bottom:6rem
  }
}

.photos .zones {
  color:#fff;
  background:url(../images/photo-bg-1.png) no-repeat 2% top
}

.photos .bg-2 {
  background:url(../images/photo-bg-2.png) no-repeat 3% 96%
}

.photos .bg-3 {
  background:url(../images/photo-bg-3.png) no-repeat 90% 76%
}

.photos .text-photo {
  font-family: 'Didact Gothic', sans-serif;
  font-size:5rem;
  font-weight:600;
  text-transform:uppercase;
  padding-left:4rem
}

@media screen and (max-width:37.5em) {
  .photos .text-photo {
    font-size:3rem
  }
}

.photos .zones-content {
  display:flex;
  width:100%;
  align-content:space-between
}

.photos .photos-mobile {
  display:none
}

@media screen and (max-width:64.0625em) {
  .photos .photos-normal, .photos .items-content {
    display:none !important
  }
  
  .photos .photos-mobile, .photos .zones-content {
    display:block;
  }
  
  .photos .zones {
    background:url(../images/photo-bg-1.png) no-repeat 90% top;
    Background-size:30%
  }

  .photos .bg-2, .photos .bg-3 {
    background:none
  }
}

.photos .zones-content .right {
  margin-left:auto
}

.photos .zones-content .photo {
  padding:19px 18px 10px 26px;
  margin:2rem 2rem 0 2rem;
  background:url(../images/photo-bg.png) no-repeat top left;
  background-size:contain
}

.photos .photos-mobile .photo {
  width:80%;
  text-align:center;
  margin:2rem auto
}

.photos .photos-mobile .photo img {
  width:100%
}

.photos .zones-content .photo-decor {
  text-align:center;
  margin:2rem 0
}

@media screen and (max-width:64.0625em) {
  .photos .zones-content .photo-decor {
    margin:0
  }
  
  .photos .zones-content .photo-decor img {
    width:60%;
    height:auto
  }
}

.photos .right {
  position:relative;
  align-self:stretch
}

.photos .text-items {
  position:absolute;
  bottom:0;
  left:3rem;
  font-size:4.2rem;
  text-transform:uppercase
}

.photos .text-items-mobile {
  width:90%;
  margin:4rem auto 0 auto;
  text-align:center;
  font-size:3.6rem;
  text-transform:uppercase
}

.photos .sub-text {
  font-size:3rem;
  font-weight:300;
  text-transform:none
}

.photos .text-items-mobile .sub-text {
  font-size:1.8rem;
  font-weight:300;
  text-transform:none
}

.photos .items-content {
  margin-top:4rem;
  display:flex;
  justify-content:space-between
}

.gallery {
  background:url(../images/bg_gallery.jpg) no-repeat top center;
  background-size:cover;
  position:relative;
  padding-bottom:50px
}

#gallery_icons {
  margin-left: 30px;
}

.projector {
  background: url(../images/projector.png) no-repeat top left;
  background-size: contain;
  width: 120px;
  height: 760px;
  position: absolute;
  top: -60px;
}

.projector_light {
  background: url(../images/projector_light.png) no-repeat top left;
  background-size: contain;
  width: 244px;
  height: 300px;
  position: absolute;
  top: 269px;
  left: 100px;
  animation: galleryLight 2s infinite;
  -webkit-animation: galleryLight 2s infinite;
}

.gallery_main_photo {
  background: url(../images/bg_gallery_photo.png) no-repeat top left;
  background-size: contain;
  width: 800px;
  height: 576px;
  position: relative;
  top: 4vh;
  left: 15.7vw;
}

.gallery_main_photo img {
  width: 700px;
  height: 470px;
  display: block;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.gal_image_sm {
  float: left;
  width: 5.1vw;
  margin-right: 6px;
  margin-top: 40px;
  margin-bottom: 80px;
  position: relative;
}

.gal_image_sm img {
  width: 4.9vw;
  height: auto;
  display: block;
  margin: 0 auto;
  -webkit-filter: sepia(1);
  filter: sepia(1);
  -webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.gal_image_sm:hover {
  cursor: pointer;
}

.gal_image_sm:hover > img {
  -webkit-filter: sepia(0.6);
  filter: sepia(0.6);
  opacity: 1;
	-webkit-animation: flash 0.5s;
	animation: flash 0.5s;
}

.active img {
  -webkit-filter: sepia(0);
	filter: sepia(0);
}

.gal_img_border {
  width: 5.1vw;
  height: 4.2vw;
  background: url(../images/gallery_border.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0;
}

.foodmenu {
  background: url(../images/bg_menu.jpg) no-repeat bottom center;
  background-size: cover;
  min-height: 700px;
  position: relative;
}

.about_wrapper{
  position: relative;
  top: -40px;
  width: 100%;
}

.about-text {
  width: 60%;
  margin: 0 auto;
  background: rgba(0,0,0,0.7);
  border-radius: 0.7rem;
  font-family: 'Montserrat Alternates', sans-serif;
  color: #fff;
  font-size: 1.6rem;
  padding: 2rem;
  text-align: center;
}

.img_marging_right {
  /*margin-right: 40px;*/
}

.footer {
  background: url(../images/bg_footer.jpg) no-repeat top left;
  padding: 40px 0;
}

.footer_wrapper {
  width: fit-content;
  margin: 0 auto;
}

.footer .map {
  float: left;
}

.footer .contacts {
  float: left;
  color: #ffffff;
  font-size: 18px;
  margin-left: 70px;
}

.footer .contacts .phones {
  border-left: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  padding: 0 20px;
  float: left;
  height: 122px;
}

.footer .contacts .icon {
  display: block;
  margin: 0 auto;
}

.footer .contacts .location {
  border-right: 1px solid #ffffff;
  padding: 0 20px;
  margin-bottom: 20px;
  float: left;
  height: 122px;
}

.social_footer {
  margin-top: 12px;
  text-align: center;
}

.social_footer img{
  margin: 0 4px;
}

.img_footer {
  display: block;
  width: 398px;
  border: 1px solid #ffffff;
  margin: 0 auto;
}

.footer_copy {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #ffffff;
  color: #ffffff;
  font-size: 14px;
}

.footer_copy img {
  height: 60px;
  float: left;
  margin-right: 14px;
}

.footer_copy_wrapper {
  width: 1022px;
  padding-bottom: 40px;
  background: url(../images/bg_copy.png) no-repeat top right;
}

.gallery_mobile {
  display: none;
}

.gallery_main {
  display: block;
}

.animBlock {
  opacity: 0;
  filter: alpha(opacity=0);
  position: relative;
  -webkit-transition: all .55s ease-in;
  -moz-transition: all .55s ease-in;
  -ms-transition: all .55s ease-in;
  -o-transition: all .55s ease-in;
  transition: all .55s ease-in;
}
.animBlock[data-position="left"] { left: -22%; }
.animBlock[data-position="left2"] { left: -42%; }
.animBlock[data-position="left3"] { left: -62%; }
.animBlock[data-position="right"] { right: -22%; }
.animBlock[data-position="top"] { top: -22%;}
.animBlock[data-position="bottom"] { bottom: -22%;}

.animBlock[data-position="left"].viewed, .animBlock[data-position="left2"].viewed, .animBlock[data-position="left3"].viewed {
  left: 0%;
  opacity: 1;
  filter: alpha(opacity=100);
}
.animBlock[data-position="right"].viewed {
  right: 0%;
  opacity: 1;
  filter: alpha(opacity=100);
}
.animBlock[data-position="top"].viewed {
  top: 0%;
  opacity: 1;
  filter: alpha(opacity=100);
}
.animBlock[data-position="bottom"].viewed {
  bottom: 0%;
  opacity: 1;
  filter: alpha(opacity=100);
}

/*@media (max-width : 576px) {*/
@media (max-width:64.0625em) {
  .container {
    width: 100%;
  }

  .logo img {
    margin-left: 2vw;
  }

  .header_instagram {
    left: 10vw;
  }

  .link_zone_insta, .link_zone_fb {
    width: 5.6vw;
    margin-left:-2.8vw;
  }
  
  .menu_item_active_wrapper {
    margin-right: 1vw;
  }

  .projector, .projector_light, .gallery_main {
    display: none;
  }

  .gallery_mobile {
    display: block;
    margin-bottom: 50px;
  }

  .menu_img {
    width: 100%;
    margin: 5px 0;
  }

  .footer .map iframe {
    width: 100%;
    
  }

  .footer .contacts {
    float: none;
    clear: both;
    padding: 0;
    margin: 0;
    width: 100%;
    min-height: 200px;
    padding-top: 30px;
    position: relative;
  }

  .footer .contacts .phones, .footer .contacts .location {
    width: 50%;
    margin: 0 !important;
    padding: 0 !important;
    float: left;
    text-align: center;
  }

  .footer_copy {
    padding: 20px;
  }

}

@media (max-width:64.0625em) {
  .gallery_mobile {
    display:block;
    margin-bottom:50px
  }
}

@media (min-width: 576px) and (max-width: 992px) {
  .container {
    max-width: 540px;
  }

  .gallery_main_photo {
    top: 30px;
    width: 600px;
    height: 432px;
  }
  
  .gallery_main_photo img {
    width: 520px;
    height: auto;
  }

  .projector {
    top: -120px;
  }
  
  .projector_light {
    top: 209px;
    left: 100px;
  }

  .menu_img {
    width: 100%;
    margin: 5px 0;
  }
}

@media (max-width: 1200px) {

  .top-bar-inner {
    display:none
  }

  .top-bar-inner-mobile {
    display:flex
  }
  
  .footer .map {
    width: 100%;
  }

  .footer .map iframe {
    width: 100%;
  }

  .footer .contacts {
    float: none;
    clear: both;
    padding: 0;
    margin: 0;
    width: 100%;
    min-height: 200px;
    padding-top: 30px;
    position: relative;
    display: flex;
    align-content: space-between;
  }

  /*.footer .contacts .phones {
    margin-right: 30px;
  }*/

  .footer .contacts .phones, .footer .contacts .location {
    border: none;
	padding: 0 10px;
  }

  .img_footer {
    display: block;
    float: left;
    position: absolute;
    top: 0;
    right: 0;
  }
}

@media (max-width: 992px) {
  .img_footer {
    display: none;
  }

  .footer .contacts .phones {
    margin-left: 124px;
    margin-right: 60px;
  }

  .footer .contacts {
    min-height: 140px;
  }
}

@media (max-width: 780px) {
  .img_footer {
    display: none;
  }

  .footer .contacts .phones {
    margin-left: 20px;
    margin-right: 90px;
  }
}

@media (min-width: 576px) and (max-width: 780px) {
  .gallery_main_photo {
    top: 0;
    width: 400px;
    height: 288px;
  }
  
  .gallery_main_photo img {
    width: 340px;
    height: auto;
  }

  .projector, .projector_light, .gallery_main {
    display: none;
  }

  .gallery_mobile {
    display: block;
    margin-bottom: 50px;
  }
}
  
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }

  #gallery_icons {
    margin-left: 16vw;
  }
}
  
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }

  #gallery_icons {
    margin-left: 20vw;
  }
}

@media (max-width: 1200px) {
	.menu_item {
	width: 12.9vh;
	height: 12.9vh;
	margin-top: 1vh;
	/*margin-left: 1vh;*/
  }
  
  .menu_item img {
	height: 1.6vh;
  }

  .menu_item_active_wrapper {
	width: 14.5vh;
	height: 14.5vh;
	/*margin-right: 0.3vw;*/
  }
  
  .contact_btn {
	right:20px;
    bottom:-50px
  }
  
  .contact_form {
	width: 90%;
  }
  
  .footer_copy {
	margin-bottom: 40px;
  }
}
  
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }

  #gallery_icons {
    margin-left: 5vw;
  }
}

@media (min-width: 1200px) and (max-width: 1600px) {
  #gallery_icons {
    margin-left: 16vw;
  }
}

/* Image hover effect */

.grid figure {
  position:relative;
  cursor:pointer;
  margin:0;
  padding:0
}

.grid figure img {
  display:block
}

.grid figure figcaption {
  color:#fff
}

.grid figure figcaption::before,
.grid figure figcaption::after {
  pointer-events:none
}

.grid figure figcaption {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%
}

.grid figure p {
  position:absolute;
  width:46px;
  height:46px;
  background:url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 512 512"><g><g> <path d="m289.8,200.2h-49.3v-49.3c0-11.3-9.1-20.4-20.4-20.4-11.3,0-20.4,9.1-20.4,20.4v49.3h-49.3c-11.3,0-20.4,9.1-20.4,20.4 0,11.3 9.1,20.4 20.4,20.4h49.3v49.3c0,11.3 9.1,20.4 20.4,20.4 11.3,0 20.4-9.1 20.4-20.4v-49.3h49.3c11.3,0 20.4-9.1 20.4-20.4 0-11.3-9.2-20.4-20.4-20.4z" fill="%23ffffff"/> <path d="m220.2,388.7c-92.9,0-168.2-75.2-168.2-168.1s75.3-168.1 168.2-168.1 168.1,75.3 168.1,168.1-75.3,168.1-168.1,168.1zm274.8,78l-113.3-113.3c29.7-36.1 47.6-82.4 47.6-132.8 0-115.5-93.6-209.2-209.2-209.2s-209.1,93.7-209.1,209.2 93.6,209.2 209.2,209.2c50.4,0 96.6-17.8 132.7-47.5l113.3,113.3c5.2,5.3 21.1,7.9 28.9,0 7.9-8 7.9-20.9-0.1-28.9z" fill="%23ffffff"/> </g> </g> </svg>') no-repeat center center;
  top:50%;
  left:50%;
  margin:-23px 0 0 -23px
}

figure.effect-layla {
  background:#000
}

figure.effect-layla figcaption::before,
figure.effect-layla figcaption::after {
  position:absolute;
  content:'';
  opacity:0
}

figure.effect-layla figcaption::before {
  top:50px;
  right:30px;
  bottom:50px;
  left:30px;
  border-top:1px solid #fff;
  border-bottom:1px solid #fff;
  -webkit-transform:scale(0,1);
  transform:scale(0,1);
  -webkit-transform-origin:0 0;
  transform-origin:0 0
}

figure.effect-layla figcaption::after {
  top:30px;
  right:50px;
  bottom:30px;
  left:50px;
  border-right:1px solid #fff;
  border-left:1px solid #fff;
  -webkit-transform:scale(1,0);
  transform:scale(1,0);
  -webkit-transform-origin:100% 0;
  transform-origin:100% 0
}

figure.effect-layla p {
  text-transform:none;
  opacity:0;
  -webkit-transform:translate3d(0,-10px,0);
  transform:translate3d(0,-10px,0)
}

figure.effect-layla img,
figure.effect-layla figcaption::before,
figure.effect-layla figcaption::after,
figure.effect-layla p {
  -webkit-transition:opacity 0.35s, -webkit-transform 0.35s;
  transition:opacity 0.35s, transform 0.35s
}

figure.effect-layla:hover img {
  opacity:0.6
}

figure.effect-layla:hover figcaption::before,
figure.effect-layla:hover figcaption::after {
  opacity:1;
  -webkit-transform:scale(1);
  transform:scale(1)
}

figure.effect-layla:hover p {
  opacity:1;
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0)
}

figure.effect-layla:hover figcaption::after,
figure.effect-layla:hover p,
figure.effect-layla:hover img {
  -webkit-transition-delay:0.15s;
  transition-delay:0.15s
}

#lightSliderItems {
  margin-top:2rem !important
}

.famousItems ul.lSPager {
  margin:0 auto !important
}

@media (orientation: portrait) {
  .about-text {
    width: 90%;
    padding: 5%;
  }
}