:root{
	--all_background: #FEFEFE;
	--text_color: #000;
	--menu_color: #63774A;
	--text_color_green: #568358;
	--font_size_all: 19px;
	--font_lineh_all: 25px;
}

@font-face {
	font-family: 'Patsy Sans';
	src: local('Patsy Sans Regular'), local('Patsy-Sans-Regular'),
		url('/css/fonts/PatsySansRegular/PatsySansRegular.woff2') format('woff2'),
		url('/css/fonts/PatsySansRegular/PatsySansRegular.woff') format('woff'),
		url('/css/fonts/PatsySansRegular/PatsySansRegular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}
@font-face {
	font-family: 'Montserrat';
	src: url('Montserrat-Regular.eot');
	src: local('Montserrat Regular'), local('Montserrat-Regular'),
		url('/css/fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'),
		url('/css/fonts/Montserrat/Montserrat-Regular.woff') format('woff'),
		url('/css/fonts/Montserrat/Montserrat-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

html, body{margin: 0; padding: 0; outline: none !important; 
	background: #FEFEFE;
	background: var(--all_background);
	color: #000;
	color: var(--text_color);
	font-family: "Montserrat";
	font-size: 19px; line-height: 25px;
	font-size: var(--font_size_all);
	line-height: var(--font_lineh_all);
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
/*	font-size: 65px;*/
	line-height: 63px;
 	font-size: 3em; 
/* 	line-height: 3em;*/
	font-family: 'Patsy Sans';
	font-style: normal;
	color: #63774A;
	color: var(--menu_color);
	margin-top: 0;
}
img {
	width: 100%;
	height: auto;
}
figure {
	display: inline-block;
	margin: 0 0 0 0;
	width: 100%;
}
h4{ font-size: 1.5em; line-height: 1.5em; margin-bottom: 0;}

#page{ position: relative; height:100%; }
#header{ 
	background: #FEFEFE;
	background: var(--all_background); 
	width: 100%;
	height: 110px;
	box-shadow: 0px 1px 5px rgb(0 0 0 / 14%);
    z-index: 3;
    position: relative;
}
#header .row{
	position: relative;
	width: 80%;
	margin: 0 auto;
	height: 110px;
}
#main{ z-index: 1;}
#footer{}

.logo {
	display: inline-block;
	background: url(/img/logo.svg) 0 0 no-repeat;
	width: 90px;
	height: 90px;
	top: 14px;
	left: 10px;
	position: absolute;
	background-size: contain;
}
.logo_fond {
	display: inline-block;
	background: url(/img/logo_fond.svg) 0 0 no-repeat;
  width: 138px;
  height: 48px;
  top: 35px;
  left: 140px;
	position: absolute;
	background-size: contain;
}

.menu { position: absolute; display: block; top: 22px; left: 40%; z-index: 1;}
.top_menu { padding-left: 0; }
.top_menu li { list-style: none; display: inline-block; margin: 0 2em; transition: all 0.7s ease-in-out 0s; }
.top_menu li a { }

.top_menu li,
.top_menu li a{ 
	color: #63774A; 
	color: var(--menu_color); 
	font-weight: 400px;
	font-style: normal;
	font-size: 20px;
	line-height: 23px;
	cursor: pointer;
	font-family: "Patsy Sans";
/*	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);*/
}
.top_menu li:hover,
.top_menu li a:hover{ color: #333; }


.search_bar{ width: 58%; position: absolute; top:67px; right:10%; opacity: 0; z-index: -1; padding-right: 3px; padding-left: 3px;}
.search_bar .search_input{ line-height:35px; font-size: 20px; color: #000; width: 99%; border: solid 1px #ccc; border-radius: 4px; text-indent: 10px;}
.search_bar .search_input:focus{border: solid 1px #777; outline: none; }

.search{}
.search .icon.search {
	position: absolute;
	top: 52px;
	right: 0;
/*	display: inline-block;*/
	display: none;
	width: 25px;
	height: 29px;
	background: url(/img/search.svg) 0 0 no-repeat;
	cursor: pointer;
	background-size: contain;
}

.menu_lines {
	position: absolute;
	top: 42px;
	right: 35px;
	display: inline-block;
	width: 26px;
	height: 29px;
	background: url(/img/menu_lines.svg) 0 0 no-repeat;
	cursor: pointer;
	background-size: contain;
	display: none;
}

#map {
	position: relative;
	height: 800px;
	width: 100%;
	display: block;
	overflow: hidden;
}
#map .map{
	position: relative;
/*	width: 100%;*/
	height: auto;
	display: block;
	transition: all 1s ease 0s;
	transform: scale(1);
	top: -100px;
	left: 0;
}
#map .map {
/*	background: url(/img/map_2.svg) center center no-repeat;*/
	background-size: cover;

}
.zoom_nav {
	display: inline-block;
	width: 62px;
	height: 130px;
	position: absolute;
	bottom: 5%;
	left: 2%;
}
.zoom_nav .nav_plus, .zoom_nav .nav_minus {
	display: inline-block;
	width: 40px;
	height: 40px;
	text-indent: -9000px;
	cursor: pointer;
	box-shadow: 1px 1px 5px rgb(0 0 0 / 20%);
	border-radius: 10px;
	transition: all 0.2s ease-in-out 0s;
}
.zoom_nav .nav_plus {
	background: url(/img/btn_plus.svg) 0 0 no-repeat;
	margin-bottom: 12px;
	background-size: contain;
}
.zoom_nav .nav_minus {
	background: url(/img/btn_minus.svg) 0 0 no-repeat;
	background-size: contain;
}

.zoom_nav .nav_plus:active, 
.zoom_nav .nav_minus:active{
	box-shadow: 1px 1px 2px rgb(0 0 0 / 25%);
	transform: scale(0.9);
}

.container {
	position: relative;
	margin: 0 auto;
	width: 80%;
}
.f_section {
	position: relative;
	margin: 0 auto;
	width: 80%;
	padding: 20px;
}


.gallery h3 {
	font-family: 'Patsy Sans';
	font-style: normal;
	font-weight: 400;
	font-size: 65px;
	line-height: 63px;
	color: #8D8D8D;
}
.gallery {
/*	background: #D9D9D9;*/
	height: 100vh;
}
.gallery .container{ padding-top: 150px; padding-bottom:200px; }
.carousel{ text-align: justify; width: 100%; position: relative;}
.carousel .item {
/*	background: #9B9A9A;*/
/*	width: calc(100% / 3 - 3%);*/
/*	height: 350px;*/
	display: inline-block;
	text-align: left;
	vertical-align: top;
/*	margin: 0 1%;*/
margin: 0 5px;
}
.carousel .item img{ width: 100%; }

#gallery{position: fixed; top: 0; left: 0; width: 100%; height: 100vh;  z-index: -5; background: #fff;
opacity: 0;}
#gallery .container{overflow-y: auto; text-align: center;}
#gallery .btn_back{z-index: 151;}
.gallery_back{ cursor: pointer; position:relative; top: 14px; }
.img-grid .item { width: 32%; margin-bottom: 10px; }

#about{
	color: var(--text_color_green);
	background: url(/img/about.svg) center 100% no-repeat;
	background-size: 100%;
	width: 100%;
	height: 100vh;
}
.blank_img{ background: #9B9A9A; width: 100%; height: 500px;}

.col-6{ width: 50%; display: inline-block; vertical-align: top }
.col-md-6{width: 50%;display: inline-block; }

#contacts {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between; 
	color: var(--text_color_green);
}



#about .container {
	padding: 120px 0 0 0;
	margin: 0 auto;
	width: 80%;
}

#gallery .container {
	padding: 0;
	margin: 0 auto;
	width: 100%;
	height: 100%;
}
#contacts .container{	
	padding: 6vh 0 15px 0;
	margin: 0 auto;
	width: 80%;
	display: flex;
	flex-direction: column;
	justify-content: space-between; 
}
#contacts { }
#contacts h3 { margin-bottom: 3vh;}
#contacts .text_right { margin-bottom: 40px; }
#contacts .text_top { margin-bottom: 3vh; }
#contacts .org_links a { transition: all 5s ease 0s; }

#contacts .org_links{}
#contacts .org_links a{
	display: inline-block;
	width: 52px;
	height: 32px;
	margin: 0 40px 14px 0;
	background-size: 100%;
	text-indent: -9000px;
}
#contacts .org_links a:hover{opacity: 0.9;}
.org_vk_group { background: url(/img/vk_org.svg) 0 0 no-repeat; }
.org_email { background: url(/img/mail_org.svg) 0 0 no-repeat; }
.textarea{ position: relative; }
.attach_file {
	display: inline-block;
	width: 41px;
	height: 41px;
	cursor: pointer;
	position: absolute;
	top: 18px;
  right: 10px;
	z-index: 2;
	border: none;
	background: url(/img/attach_file.svg) 0 0 no-repeat;
	background-size: 100%;
	text-indent: -9000px;
}

.contacts .row{
	display: flex;
	flex-direction: row;
	justify-content: space-between; 
}

.row-flex {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
#contacts .row-flex .flex-1{width: 56%}
#contacts .row-flex .flex-2{width: 40%}

.contacts .right_col {  width: 45%; }

.container .row { font-size: 0; }
.container .row .col-6 {
	font-size: 19px;
	line-height: 25px;
	font-size: var(--font_size_all);
	line-height: var(--font_lineh_all);
}
.container .row .col-text{width: 70%}

#footer{ height: 134px;}
#footer .copy{position: absolute; top: 27px}
#footer .logo { 
	background: #8D8D8D; 
	left: 36%; 
	top: 0px;
	display: inline-block;
	background: url(/img/logo.svg) 0 0 no-repeat;
    width: 111px;
    height: 110px;
	position: absolute;
	background-size: contain;
}
#footer .logo_fond{
	display: inline-block;
	background: url(/img/logo_fond.svg) 0 0 no-repeat;
	width: 200px;
	height: 70px;
	top: 19px;
	left: 50%;
	position: absolute;
	background-size: contain;
} 
#footer .vk_group {
	background: url(/img/vk.svg) 0 0 no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	display: inline-block;
	position: absolute;
	right: 40px;
	top: 33px
}

.informer {
	display: block;
	position: fixed;
	z-index: 10;
	background: #fff;
	width: 50%;
	height: 100%;
	top: 0px;
	right: -55%;
/*	transition: all 1s ease-in-out 0s;*/
	padding-top: 60px;
	overflow-y: auto;
}
.all_back,
.btn_back {
	position: absolute;
	width: 155px;
	height: 51px;
	right: 0;
	top: -90px;
	background: #FFFFFF;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 30.5px;
	border: solid 1px #fff;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;
	text-indent: 13px;
	color: #000000;
	transition: all 0.7s ease-in-out 0s;
	cursor: pointer;
	background: #fff url(/img/arrow_back.svg) 21px center no-repeat;
	z-index: 3;
}
.all_back:active,
.btn_back:active{
	box-shadow: 1px 1px 3px rgb(0 0 0 / 25%);
	transform: scale(0.95);
}
.all_back{ z-index: 110; top: 20px; right: -230px }
.print{
	display: inline-block;
	width: 33px;
	height: 30px;
	cursor: pointer;
	margin: 0 15px 7px 0;
	text-indent: -9000px;
	background-size: 100%;
	background: url(/img/print.svg) center center no-repeat;
}

.save{
	display: inline-block;
	width: 35px;
	height: 28px;
	cursor: pointer;
	margin: 0 15px 7px 0;
	text-indent: -9000px;
	background-size: 100%;
	background: url(/img/save.svg) center center no-repeat;
}

.all_info .print{
	position: absolute;
	top: 30px;
  left: 9%;
	z-index: 110;
}
.all_info .save{
	position: absolute;
	top: 30px;
  left: 13%;
	z-index: 110;
}

.informer .inner{ margin: 50px 0; position: relative;}
.informer .btn_back {right: 50px;}
.informer .title {
	font-family: 'Patsy Sans';
	font-style: normal;
	font-weight: 400;
	font-size: 42px;
	line-height: 40px;
	color: #63774A;
	transition: all 0.7s ease-in-out 0s;
	margin-bottom: 20px;
	position: relative;
	left: 50px;
	z-index: 1;
}
.informer .tur_info {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	font-size: 22px;
	line-height: 27px;
	color: #95AE6E;
	margin-bottom: 30px;
	transition: all 0.7s ease-in-out 0s;
	position: relative;
	left: 50px;
	z-index: 1;
}
.informer .title,.informer .tur_info{
	padding-right: 50px;
}



.informer .content {}
.informer .marshrut {
	width: 100%;
	display: block;
	margin: 0 auto;
	transition: all 0.7s ease-in-out 0s;
	position: relative;
	z-index: 0;
	cursor: pointer;
}
.informer .marshrut svg{
	width: 100%;
	height: auto;
}

.short_marshrut {
    width: 88%;
    position: relative;
    margin: 0 auto;
    display: block;
}

/*#kolchanovo:hover {fill: #f00}*/

/*#main #map .map svg #kolchanovo.selected {
  fill-opacity: 0.5;
}*/

.back_top {
	position: fixed;
	display: inline-block;
	width: 70px;
	height: 70px;
	background: #ccc;
	bottom: -80px;
	left: 20px;
	cursor: pointer;
	opacity: 0.8;
	background: url(/img/arrow_next.svg) 0 0 no-repeat;
	background-size: contain;
	transform: rotateZ(90deg);
	transition: all 0.3s ease-in-out 0s;
}
.back_top:active{
	transform: scale(0.9) rotateZ(90deg);
}

svg #kolchanovo_title,
svg #lod_pole_title,
svg #tihvin_title,
svg #volkhov_title,
svg #staraya_ladoga
{ 
	transition: all 0.45s ease 0s;
}
svg #volkhov,
svg #staraya_ladoga_group {cursor:pointer;}

.hide{display: none !important;}

#about.aboubg_fix1 { background-position-y: 114%; }
.marshrut_3_fix {
	top: -280px;
	position: relative;
	margin-bottom: -280px;
}

/*Start anim position*/
.informer .btn_back{ opacity: 0; right: -100px; }
.informer .marshrut{ opacity: 0; top: 30px; }
.informer .title,
.informer .tur_info{ left: 200px; opacity: 0; }

/*#all_info_1{ background: url(/img/all_info/Kolchanovo.svg) 0 0 no-repeat; background-size: 100%;}*/
.all_info { height: 100vh; width: 100%; position: fixed; top: 0; left: 0; z-index: -1; display: block; opacity: 0; overflow-y: scroll; background: #fff; }
.all_info img { width: 100%; display: block; position: relative; margin: 0 auto; }
.all_info .wrap{  max-width: 1700px; width: 100%; display: block; position: relative; margin: 0 auto; }
.pin { display: inline-block; width: 3px; height: 3px; background: #f00; position: absolute; top: 0; left: 0; z-index: 5; }
.form{}
#msg {
	background: #F1F1F1;
	border: none;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 25px;
	width: 88%;
	padding: 25px 5% 14px 7%;
	color: #777;
	font-family: "Montserrat";
	font-size: 19px; line-height: 25px;
	font-size: var(--font_size_all);
	line-height: var(--font_lineh_all);
	margin-bottom: 25px;
}

textarea:focus-visible {
    outline: none;
}

.btn_holder{ position: relative; text-align: right; }
.btn {
	display: inline-block;
	width: 220px;
	height: 55px;
	background: #6F8556;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 27.5px;
	font-style: normal;
	font-weight: 400;
	font-size: 17px;
	line-height: 21px;

	color: #FFFFFF;
	text-align: center;
	line-height: 55px;
	border: none;
	cursor: pointer;
	transition: all 0.4s ease-in-out 0s; 
	text-transform: uppercase;
}
.btn:hover{  background: #809a62; }

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; 
/*	-ms-touch-action: pan-y; touch-action: pan-y; */
	-webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }
@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list { background: #fff url('/ajax-loader.gif') center center no-repeat; }

/* Icons */
@font-face { font-family: 'slick'; font-weight: normal; font-style: normal; src: url('/fonts/slick.eot'); src: url('/fonts/slick.eot?#iefix') format('embedded-opentype'), url('/fonts/slick.woff') format('woff'), url('/fonts/slick.ttf') format('truetype'), url('/fonts/slick.svg#slick') format('svg'); }

/* Arrows */
.slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 60px; height: 60px; padding: 0; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); cursor: pointer; color: transparent; border: none; outline: none; background: transparent; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; }
.slick-prev:before, .slick-next:before { opacity: .75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    display: block;
    width: 60px;
    height: 60px;
  }
  .slick-prev:before{
    background: url(/img/arrow_next.svg) center center no-repeat;
  } 
  .slick-next:before {
    background: url(/img/arrow_prev.svg) center center no-repeat;
  }
.slick-prev { left: -55px; }
[dir='rtl'] .slick-prev { right: -55px; left: auto; }
.slick-prev:before { content: '←'; }
[dir='rtl'] .slick-prev:before { content: '→'; }
.slick-next { right: -55px; }
[dir='rtl'] .slick-next { right: auto; left: -55px; }
.slick-next:before { content: '→'; }
[dir='rtl'] .slick-next:before { content: '←'; }

/* Dots */
.slick-dotted.slick-slider { margin-bottom: 30px; }
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; }
.slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { opacity: .75; color: black; }
.slick-slider{
    touch-action: auto!important;
}

.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;

  --pswp-error-text-color: var(--pswp-icon-color);
}

.pswp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--pswp-root-z-index);
	display: none;
	touch-action: none;
	outline: 0;
	opacity: 0.003;
	contain: layout style size;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
	display: block;
}

.pswp,
.pswp__bg {
	transform: translateZ(0);
	will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
	background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
	overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
	width: auto;
	height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor: move;
	cursor: -webkit-grab;
	cursor: -moz-grab;
	cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor: -webkit-zoom-out;
	cursor: -moz-zoom-out;
	cursor: zoom-out;
}

.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pswp__item {
	/* z-index for fade transition */
	z-index: 1;
	overflow: hidden;
}

.pswp__hidden {
	display: none !important;
}

.pswp__content {
  pointer-events: none;
}
.pswp__content > * {
  pointer-events: auto;
}

.pswp__error-msg-container {
  display: grid;
}
.pswp__error-msg {
	margin: auto;
	font-size: 1em;
	line-height: 1;
	color: var(--pswp-error-text-color);
}

.pswp .pswp__hide-on-close {
	opacity: 0.005;
	will-change: opacity;
	transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index: 10; /* always overlap slide content */
	pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
	opacity: 1;
	pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 0.85;
	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
	outline: 0;
}

div.pswp__img--placeholder,
.pswp__img--with-bg {
	background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	display: flex;
  flex-direction: row;
  justify-content: flex-end;
	z-index: 10;

	/* allow events to pass through top bar itself */
	pointer-events: none !important;
}
.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}

.pswp__button--close {
  margin-right: 6px;
}
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}
.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}
/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}

.one_center,
.two_center{display: inline-block; width: 1px; position: relative; vertical-align: middle;}

.one_center{ height: 100%; }
.two_center{ width: 96%; margin: 0 auto; max-width: 1900px;}

.top_menu li{ margin: 0 1em;}

.menu { left:30%; }
.fav_title{ text-align:center; padding-top: 14px}
.favs{ position: fixed; top:0; left:0; bottom:0; right: 0; overflow-y: auto; z-index:100; background:#fff; 
	z-index: -5;
	opacity: 0;
}
.favs .fav{display:none;  }
.favs .fav.open{ display:block; }
#gallery .x_close,
.favs .x_close{
	position: absolute;
	width: 175px;
	height: 61px;
	right: 0;
	top: 10px;
	background: #FFFFFF;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 30.5px;
	border: solid 1px #fff;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;
	color: #000000;
	transition: all 0.7s ease-in-out 0s;
	cursor: pointer;
	background: #fff url(./img/arrow_back.svg) 21px center no-repeat;
	z-index: 3;
	transition: all 0.5s ease; 
}

.btn_back:hover,
.all_back:hover,
#gallery .x_close:hover,
.favs .x_close:hover{
	/*	background-position-x: 17px; */
	box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.20);
	right:2px 
}
.btn_back:active,
.all_back:active,
#gallery .x_close:active,
.favs .x_close:active{box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);}

.favs_page{ position: relative; position: relative; margin: 0 auto; top:0; width:80%; padding-bottom: 40px;}
.fav_menu a{ color: #000; text-decoration:none; font-weight: 600; line-height: 20px; padding: 10px 20px; display: inline-block; 
	background: #e1e7db;
	border-radius: 19px 19px 70px 70px;
	transition: all 0.5s ease; 
}

.fav_menu a.open,
.fav_menu a:hover{ background: #f2f2f2; margin-left:5px; }

.fav_menu ul,
.fav_menu li{  list-style: none; padding-left: 0; margin-bottom: 7px}
.fav{ position: relative; margin: 0 auto; padding: 20px 20px;}
.fav .title{}
.fav .content{}


/*@media all and (max-width:768px) {
	.col-6 { width: 100%; }
	#about h2 { white-space: nowrap; }
	.gallery h3 { font-size: 8vw; line-height: 1em; }
	.container, .f_section { width: 95%; }
	.logo { width: 5em }
	.logo_fond { width: 6em }
	#header .row { width: 100%; }
	.top_menu li, .top_menu li a { width: 96%; margin-left: 2%; margin-right: 2% }
	.menu { position: absolute; display: none; top: 130px; left: 0px; z-index: 1; background: #fff; width: 100%; }
	.carousel .item { height: 30vh; }
	#footer .copy { top: auto; font-size: 2vw; position: relative; text-align: center; width: 100%; }
	#footer .logo { left: 0%; top: 20px; position: relative; width: 14vw; }
	.zoom_nav .nav_plus, .zoom_nav .nav_minus { width: 35px; height: 35px; }
	.menu_lines{ display: inline-block; }
}
*/





@media all and (max-width: 1400px) {
	#header .row{ width: 1100px; }
}

@media all and (max-width: 1210px) {
	#header .row{ width: 1004px; }
	.top_menu li { margin: 0 0.8em;}
}

@media all and (max-width: 770px) {
	.img-grid .item { width: 30%; margin-bottom: 10px; }
	#about { padding-bottom: 80px; }
	.fav_menu a{ text-align:center; }
	.favs_page{ padding-top: 50px; }
	.gallery_back{ padding-top: 60px; }

	#gallery .x_close,
	.favs .x_close{ background:#fff; width:90%; height:40px; }
}

@media all and (max-width: 988px) {
	/*	#mobile_menu { display: none !important; }*/
	.favs_page{ width:95%; }
	#map{ height:auto; }
	#map .map{ top:0; }
	.col-6 { width: 100%; }
	#about h2 { white-space: nowrap; }
	.gallery h3 { font-size: 8vw; line-height: 1em; }
	.container, .f_section { width: 95%; padding: 0;}
	.logo {
		width: 5em;
		top: 10px;
		left: 20px
	}

	.logo_fond {
		width: 6em;
		top: 35px;
		left: 137px;
	}
	.container .row .col-text,
	#header .row { width: 100%; }

	.top_menu li, .top_menu li a { width: 96%; margin-left: 2%; margin-right: 2%;
		font-size: 32px;
    line-height: 60px;
  }
	.menu { position: absolute; display: none; top: 109px; left: 0px; z-index: 1; background: #fff; width: 100%; text-align: center; 
	}
	.top_menu{
		transition: all .8s ease-in-out;
		opacity: 0;
	}

	.menu.top_menu_open .top_menu{
		transition: all .8s ease-in-out;
		opacity: 1;
	}

	.carousel .item { height: 30vh; }
	#footer .copy { top: 155px; font-size: 16px; position: relative; text-align: center; width: 100%; padding-bottom: 30px;}
	#footer .logo { left: 20px; top: 0px; position: absolute; width: 95px; }
	#footer .logo_fond { width: 180px; height: 70px; top: 23px; left: 37%; }
	.zoom_nav .nav_plus, .zoom_nav .nav_minus { width: 35px; height: 35px; }
	.menu_lines { display: inline-block; }

	.search .icon.search{ right:80px }
	.search_bar{right: 10%; top: 85px;}

	h1, h2, h3{
    font-size: 30px;
    font-size: 8vw; 
  	line-height: 1em;
	}



	.slick-next {
		right: -30px;
	}
	.menu.top_menu_open{
		color: #000;
		display: block;
/*		animation: 0.5s ease-in-out both top_menu_open;*/
/*		animation: 3s ease-in 1s both running slidein;*/
	}	
	.contacts .row-flex{flex-direction: column;}
	#contacts .row-flex .flex-1,
	#contacts .row-flex .flex-2{ width:100%; margin-bottom:50px }
	#about .container,
	#contacts .container{ width:90%; }
	#footer{height: auto; padding: 25px 0;}

	#about { background-position-y: 110%;}

	.all_info .print{left: 23px;}
	.all_info .save{left: 80px;}
	.all_info img{ top: 50px; }
}

@media all and (max-width:485px) {
	#footer .vk_group {
		position: relative;
		right: 0;
		top: 130px;
		margin: 0 auto;
		display: block;
		width: 60px;
		height: 60px;
	}
	#footer .logo_fond {
		top: 23px;
		left: auto;
		right: 5%;
		width: 45vw;
	}
	#footer .logo{ 
		left:5%; 
		width: 40vw; 
	}
	.btn_holder{ text-align:center; }

		#about,
	#gallery,
	#contacts{ height: auto; }

	#about .container { padding: 50px 0 140px 0; }
	#gallery,
	#contacts{ padding: 0; }
	.org_links {text-align: center;}
}

@media all and (max-height:710px) {
	#msg { height: 140px; }
	.gallery h3 { margin-bottom: 24px; }
	#about .container { padding: 65px 0 0 0; }
}

body.over_hide{ overflow: hidden; margin-right: 14px;}
body.over_hide .informer{margin-right: 12px;}