@charset "utf-8";@font-face{font-family:'Open Sans';src:local('Open Sans Light'), local('OpenSans-Light'), url('opensanslight.woff2') format('woff2'), url('opensanslight.woff') format('woff'), url('opensanslight.ttf') format('truetype');font-weight:300;font-style:normal;}
@font-face{font-family:'Open Sans';src:local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url('opensanslightitalic.woff2') format('woff2'), url('opensanslightitalic.woff') format('woff'), url('opensanslightitalic.ttf') format('truetype');font-weight:300;font-style:italic;}
@font-face{font-family:'Open Sans';src:local('Open Sans'), local('OpenSans'), url('opensans.woff2') format('woff2'), url('opensans.woff') format('woff'), url('opensans.ttf') format('truetype');font-weight:400;font-style:normal;}
@font-face{font-family:'Open Sans';src:local('Open Sans Italic'), local('OpenSans-Italic'), url('opensansitalic.woff2') format('woff2'), url('opensansitalic.woff') format('woff'), url('opensansitalic.ttf') format('truetype');font-weight:400;font-style:italic;}
@font-face{font-family:'Open Sans';src:local('Open Sans Sremibold'), local('OpenSans-Sremibold'), url('opensanssremibold.woff2') format('woff2'), url('opensanssremibold.woff') format('woff'), url('opensanssremibold.ttf') format('truetype');font-weight:600;font-style:normal;}
@font-face{font-family:'Open Sans';src:local('Open Sans Sremibold Italic'), local('OpenSans-SremiboldItalic'), url('opensanssremibolditalic.woff2') format('woff2'), url('opensanssremibolditalic.woff') format('woff'), url('opensanssremibolditalic.ttf') format('truetype');font-weight:600;font-style:italic;}
@font-face{font-family:'Open Sans';src:local('Open Sans Bold'), local('OpenSans-Bold'), url('opensansbold.woff2') format('woff2'), url('opensansbold.woff') format('woff'), url('opensansbold.ttf') format('truetype');font-weight:700;font-style:normal;}
@font-face{font-family:'Open Sans';src:local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url('opensansbolditalic.woff2') format('woff2'), url('opensansbolditalic.woff') format('woff'), url('opensansbolditalic.ttf') format('truetype');font-weight:700;font-style:italic;}
@font-face{font-family:'Open Sans';src:local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url('opensansextrabold.woff2') format('woff2'), url('opensansextrabold.woff') format('woff'), url('opensansextrabold.ttf') format('truetype');font-weight:800;font-style:normal;}
@font-face{font-family:'Open Sans';src:local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url('opensansextrabolditalic.woff2') format('woff2'), url('opensansextrabolditalic.woff') format('woff'), url('opensansextrabolditalic.ttf') format('truetype');font-weight:800;font-style:italic;}
@font-face{font-family:'Marck Script';src:local('Marck Script'), local('MarckScript-Regular'), url('marckscript.woff2') format('woff2'), url('marckscript.woff') format('woff'), url('marckscript.ttf') format('truetype');font-weight:400;font-style:normal;}

* {margin: 0; padding: 0;}

html{background:white;color:#373B3C;-webkit-font-smoothing:subpixel-antialiased; font-size: 16px;}
#main{display:flex;flex-flow:column nowrap; line-height:1.5em; font-family:"Open Sans", sans-serif;background:white; background: url(../img/icons/texture-leaves-original.png); min-height: 100vh;}
#menu-toggle-button{height:24px;width:24px;background-image:url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" 	 height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> <g id="Icons" style="opacity:1;"> 	<path id="menu" d="M6,15h12c0.553,0,1,0.447,1,1v1c0,0.553-0.447,1-1,1H6c-0.553,0-1-0.447-1-1v-1C5,15.447,5.447,15,6,15z M5,11v1 		c0,0.553,0.447,1,1,1h12c0.553,0,1-0.447,1-1v-1c0-0.553-0.447-1-1-1H6C5.447,10,5,10.447,5,11z M5,6v1c0,0.553,0.447,1,1,1h12 		c0.553,0,1-0.447,1-1V6c0-0.553-0.447-1-1-1H6C5.447,5,5,5.447,5,6z"/> </g> <g id="Guides" style="display:none;"> </g> </svg>');background-size:100% 100%;position:absolute;visibility:hidden;}
#menu-toggle{visibility:hidden;position:absolute;}
#menu-toggle-backdrop, #menu-toggle-button, #menu-toggle{display:none;}
#main-wrapper{display:flex;flex-flow:column nowrap;max-width:1500px;align-self:center;width:90%;margin: 0 auto; background: white;}

p {padding: 0.5rem 0;}
ul {list-style: none; margin: 0;padding: 0;}
ul li:before {display:inline-block; content:'\2713';padding-right:0.2rem; font-size:1.5rem; color: #0C9744;}

ol {counter-reset: myCounter;}
ol li{list-style: none;}
ol li:before {counter-increment: myCounter; content:counter(myCounter) ")";width:1.5em;display:inline-block;text-align:center;}

table {
    max-width: 100%;
}

table td, table th {
    padding: 0.5rem;
}

table td, table th, table {
    border: 1px solid white;
    border-collapse: collapse;
}

table thead tr td, table th{
    background-color: #0C9744;
    color: white;
}

table tbody tr:nth-child(odd) td {
    background-color: #EBEBEB;
}

table tbody tr:nth-child(even) td {
    background-color: #F5F5F5;
}

.container{display:flex;flex-flow:row nowrap;justify-content:center;width:100%;}
h1,h2 {font-family: 'Marck Script', 'Open Sans', sans-serif; font-size: 2.5rem; font-weight: normal; text-align: center;}
h1 > :last-child:not(:only-child),h1 > :last-child:not(:only-child) {
    color: #0C9744;
}
h3 {color: #0C9744;}
.wrapper > h1,
.wrapper > h2,
.wrapper > h3,
.text-content h1,
.text-content h2,
.text-content h3{
    text-align: center;
    margin: 2rem 0;
}

.text-content img {
    margin: 0.3rem;
    max-width:100%;
    height: auto !important;
}

.text-content a {
    color: #0C9744;
}


strong {
    color: #D37712;
}

hr {
    background-image: linear-gradient(to right, #0C9744,#0C9744),linear-gradient(to right, #0C9744,#0C9744), url(../img/icons/el.png);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left center, right center, center center;
    background-size: calc(50% - 50px) 2px, calc(50% - 50px) 2px, contain;
    border: none;
    height: 2rem;
    margin: 1rem 0;
    clear: both;
}

.wrapper{display:flex;flex-flow:column nowrap;padding:0.5rem 0;width: 95%;align-self:center;box-sizing: border-box;}
a{color: inherit; text-decoration: none;}
a:hover{text-decoration:underline;}

img {max-width: 100%;max-height: 100%; width: auto; height: auto; object-fit: contain;}

header {

}

header .header-top {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;   
    height: 6rem;
    position: relative;
}

header .header-top .company-logo {
    max-height: 100%;
    max-width: 300px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 0 0.5rem 0.5rem 0.5rem;
    box-sizing: border-box;
}

header .header-top .company-name {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    text-align: center;
    justify-content: space-evenly;
    text-transform: uppercase;
    font-size: 1.3em;
    transition: 0.2s 0s linear;
}

header .header-top .company-name:hover {
    transform: scale(1.05);
    text-decoration: none;
}

header .header-top .company-name:hover *{
    text-decoration: underline;
}

/*header .header-top .company-name:before,
header .header-top .company-name:after {
  content: '';
  display: block;
}*/

header .header-top .company-name *:nth-child(1) {
    color: #0C9744;
}
header .header-top .company-name *:nth-child(2) {
    font-family: 'Marck Script', 'Open Sans', sans-serif;
}

header .header-top .header-contacts {
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-evenly;
}

header .header-top .header-contacts .phones,
header .header-top .header-contacts .location {
    display: flex;
    flex-flow: column nowrap;
    padding-left: 3rem;
    min-height: 2rem;
    background-size: 2rem auto;
    background-position: left center;
    background-repeat: no-repeat;
    font-weight: bolder;
    justify-content: center;
}

header .header-top .header-contacts .phones {
    background-image: url(../img/icons/top_contact_phone.svg);
}

header .header-top .header-contacts .location {
    background-image: url(../img/icons/top_contact_place.svg);
}

header nav.header-bottom {
    display: flex;
    flex-flow: row nowrap;
}

header nav.header-bottom a:not(:first-child) {
    border-left: 1px solid white;
}

header nav.header-bottom a{
    background: #D37712;
    color: white;
    flex: auto;
    text-align: center;
    padding: 0.5rem 0;
    transition: 0.2s 0s ease;
}

header nav.header-bottom a:hover{
    transform: scale(1.05);
}


header nav.header-bottom a.current {font-weight: bolder; text-transform: uppercase;}

.services .list-services {
    list-style: none;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
}

.services .list-services li {
    background-position: -9999vw;
    background-repeat: no-repeat;
    flex: 1;
    text-align: center;
    display: flex;
    flex-flow: column nowrap;
}

.services .list-services li:before {
    all: unset;
    display: block;
    content: '';
    height: 7rem;
    background-image: inherit;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    margin: 1rem 0;
}

.services .list-services li p:first-child{
    color: #0C9744;
    font-weight: bolder;
}

.services .list-services li a:not(.list-service-header) {
    text-decoration: underline;
}

.container.gallery .wrapper .gallery-items {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.container.gallery .wrapper .gallery-items a{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 200px;
    margin-bottom: 0.5rem;
}

.container.contacts .wrapper{
    flex-flow: row nowrap;
    justify-content: space-between;
	justify-content: space-around;
    border-top: 3px solid #0C9744;
    border-bottom: 3px solid #0C9744;
}

.container.contacts .wrapper .contacts-social p{
    flex-flow: row wrap;
    justify-content: center;
}

.container.contacts .wrapper a[href*="vk.com"],
.container.contacts .wrapper a[href*="ok.ru"]{
    background-size: contain;
    width: 2rem;
    height: 2rem;
    margin: 0 0.5rem;
    background-position: center center;
    background-repeat: no-repeat;
}

.container.contacts .wrapper a[href*="vk.com"]{
    background-image: url(../img/icons/social-icon-vk.png);
}

.container.contacts .wrapper a[href*="ok.ru"]{
    background-image: url(../img/icons/social-icon-ok.png);
}

.container.contacts .wrapper a[href*="vk.com"]:hover,
.container.contacts .wrapper a[href*="ok.ru"]:hover{
    opacity: 0.9;
}

.container.contacts .wrapper .contacts-place > :first-child {
    text-align: center;
}

.container.contacts .wrapper .contacts-place p span{
    background: url(../img/icons/footer_place_icon.svg) left 0.2rem no-repeat;
    padding-left: 2rem;
    background-size: auto 1rem;
}

.container.contacts .wrapper .contacts-place p a{
    color: #0C9744;
    padding-left: 2rem;
    display: block;
}

/*
.container.contacts .wrapper .contacts-info > :first-child{
    padding-left: 2rem;
}
*/

.container.contacts .wrapper a[href^="tel:"]{
    background: url(../img/icons/footer_phone_icon.svg) left center no-repeat;
    padding-left: 2rem;
    background-size: auto 1rem;
}

.container.contacts .wrapper a[href^="mailto:"]{
    background: url(../img/icons/footer_mail_icon.svg) left center no-repeat;
    padding-left: 2rem;
    background-size: auto 1rem;
}

.container.contacts .wrapper > div{
    display: flex;
    flex-flow: column nowrap;
    max-width: 30%;
}

.container.contacts .wrapper > div > *:first-child{
    color: #D37712;
    text-transform: uppercase;
}

.container.contacts .wrapper > div > p {
    display: flex;
    flex-flow: column nowrap;
}

.container.contacts .wrapper .ya-rating {
    margin-top: 1rem;
	margin-bottom: 1rem;
}

.container.gallery-content .gallery-category .swiper-wrapper a {
    width: 300px; height: 200px; background-repeat: no-repeat; background-position: center; background-size: contain;
    border-left: 1px solid white;
    border-right: 1px solid white;
    box-sizing: border-box;
}

.container.text-content ul li:before {display:inline-block; content:'>';padding-right:0.2rem; font-size:1rem; font-weight: bolder; color: inherit; margin-left:0.5rem;}

footer.container .wrapper {
    flex-flow: row nowrap;
    justify-content: space-between;
}

footer.container .wrapper .customer {
    display: flex;
    padding-left: 6rem;
    background: url(../img/icons/logo.png) no-repeat left center;
    background-size: 5rem auto;
    height: 4rem;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

footer.container .wrapper .developer-copyright{
    display: flex;
    padding-left: 4em;
    background: url(../img/footer_developers-logo.svg) no-repeat left center;
    background-size: 3em auto;
    height: 4em;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

footer.container .wrapper .customer:hover, 
footer.container .wrapper .developer-copyright:hover{
    text-decoration: underline;
}

.container.bookonline24 {
    background: #16773A;
}

.container.bookonline24 .wrapper {
    flex-flow: row nowrap;
}

.bookonline24.container .wrapper .bookonline24-header {
    display: flex;
    flex-flow: column;
    justify-content: center;
}

.bookonline24.container .wrapper .bookonline24-widget-container {
    display: flex;
    justify-content: center;
	flex: 1;
} 


.bookonline24.container .wrapper .bookonline24-header .bookonline24-title {
    font-family: "Marck Script", Arial, sans-serif;
    font-weight: normal;
    font-style: normal;
    text-transform: none;
    color: #fff;
    font-size: 1.75rem;
	padding: 0;
    white-space: nowrap;	
}

.bookonline24.container .wrapper .bookonline24-header .bookonline24-short-offer,
.bookonline24.container .wrapper .bookonline24-header .bookonline24-long-offer {
    font-weight: normal;
    font-style: normal;
    text-transform: none;
    color: rgba(255,255,255,0.8);
    font-size: 0.75rem;
	padding: 0;
}

.bookonline24.container .wrapper .bookonline24-header .bookonline24-long-offer {
    display: none;
}

@media screen and (min-width:2500px){#main-wrapper{max-width:2500px;}}

@media screen and (max-width:1300px){
	.bookonline24.container .wrapper {
	    flex-flow: column;
	}
	
	.bookonline24.container .wrapper .bookonline24-header {
	    text-align: center;
	}
	
	.bookonline24.container .wrapper .bookonline24-header .bookonline24-short-offer {
	    display: none;
	}
	
	.bookonline24.container .wrapper .bookonline24-header .bookonline24-long-offer {
		display: block;
	}
	
	.bookonline24.container .wrapper .bookonline24-widget-container {
	    margin-top: 0.5rem;
	}
}


@media screen and (max-width:1000px){
    #main-wrapper {width: 99.5%}
    .wrapper {width: 99.5%;}
    .container.gallery .wrapper .gallery-items {justify-content: space-around; justify-content: space-evenly;}
}

@media screen and (max-width:768px){
    html {font-size:16px;}
    header .header-top {flex-flow: column nowrap; height: auto; align-items: center; padding-top: 50px;}
    header nav.header-bottom {display: none;}
    header .header-top .company-name {margin: 1rem 0;}
    #menu-toggle-button{position: absolute; left: 0; top: 0; display:flex;min-width:50px;min-height:50px;order:-1;visibility:visible; align-self: flex-start;}
    header .header-top .company-logo {max-width: 100px; max-height: 50px; position: absolute; top: 0; right: 0;}
    #menu-toggle-checker:checked ~ #main-wrapper .header-top #menu-toggle-backdrop{display:block;width:100%;height:100%;position:fixed;left:0;top:0;z-index:1;background: #373B3C; opacity: 0.4;}
    #menu-toggle-checker:checked ~ #main-wrapper #menu-toggle-button{z-index:20;background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" style="enable-background:new 255 255 255 255;" xml:space="preserve"> <g id="Icons" style="opacity:1;fill:#ffffff"> <path id="menu" d="M6,15h12c0.553,0,1,0.447,1,1v1c0,0.553-0.447,1-1,1H6c-0.553,0-1-0.447-1-1v-1C5,15.447,5.447,15,6,15z M5,11v1 		c0,0.553,0.447,1,1,1h12c0.553,0,1-0.447,1-1v-1c0-0.553-0.447-1-1-1H6C5.447,10,5,10.447,5,11z M5,6v1c0,0.553,0.447,1,1,1h12 		c0.553,0,1-0.447,1-1V6c0-0.553-0.447-1-1-1H6C5.447,5,5,5.447,5,6z"/> </g> <g id="Guides" style="display:none;"> </g> </svg>');background-color:#D37712;}
    #menu-toggle-checker:checked ~ #main-wrapper nav.header-bottom{display: flex; overflow: auto; z-index:20; position: absolute; left: 50px; top: 0; flex-flow: column wrap;}
    #menu-toggle-checker:checked ~ #main-wrapper header nav.header-bottom a {border-left: none;padding:1rem;}

    .container.gallery .wrapper .gallery-items {justify-content: space-around; justify-content: space-evenly;}
    .container.services .list-services {flex-flow: row wrap;}

    .container.contacts .wrapper {flex-flow: column nowrap; align-items: center; }
    .container.contacts .wrapper > div { max-width: none; flex: auto;}
    footer.container .wrapper {flex-flow: column nowrap;align-items: center;}
    footer.container .wrapper a {flex: auto;}
}

#block-search, #block-search * {
    box-sizing: border-box;
}
#block-search {
    background-color: #16773A;
    width: 100%;
    max-width: 1412px;
    margin: 0 auto;
}
.tl-container {
    padding: 0 30px;
}
.tl-button {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 13.5px;
    font-weight: bold;
    font-style: normal;
    display: block;
    text-decoration: none !important;
    cursor: pointer;
    max-width: 180px;
    width: 100%;
    padding: 12px;
    margin: 12px 0 20px;
    text-align: center;
    white-space: normal;
    border-radius: 4px;
    color: #ffffff !important;
    background-color: #d37712;
    background-image: -webkit-linear-gradient(bottom, #d37712, #d37712);
    background-image: linear-gradient(0deg, #d37712, #d37712);
    border: 0 solid;
    border-color: rgba(255,255,255,0.16);
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0%), 0 1px 0 0 rgb(255 255 255 / 0%) inset;
    text-shadow: 0 0 0 rgb(0 0 0 / 0%);
}
.tl-button:hover {
    color: #fff !important;
    background-color: #ec8c22;
    background-image: -webkit-linear-gradient(bottom, #ec8c22, #ecb06f);
    background-image: linear-gradient(0deg, #ec8c22, #ecb06f);
    border: 0 solid rgba(255,255,255,0.16);
    text-decoration: none !important;
    cursor: pointer;
}

