:root {
	--color-primary: #7bb73b;
	--color-secondary: #F5F5F5;
	--color-font-primary: #111111;
	--font-fam: 'Poppins', sans-serif;
	--font-size: 16px;
}
* {
	box-sizing: border-box;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-kerning: auto;
}

* {
    transition: all 0.2s ease-in-out;
}

html {
	font-family: var(--font-fam);
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}
html, body {
	padding: 0;
	margin: 0;
	font-family: var(--font-fam);
	font-size: var(--font-size);
	color: var(--color-font-primary);
}

p {
	font-size: 1rem;
	/*line-height: 1.8em;*/
	line-height: 21px;
	font-weight: 300;
}
a {
	text-decoration: none;
	color: var(--color-primary);
}
a:hover {
	border-bottom: 3px var(--color-primary) solid;
}
b {
	font-weight: 700;
	color: #717171;
}
.grey-font {
	color: #717171;
}
h1 {
	font-size: 36px;
	font-weight: 700;
	color: var(--color-font-primary);
	/*border-bottom: 3px var(--color-primary) solid;*/
	text-align: center;
	width: max-content;
	margin: 0 auto;
	padding-top: 50px;
	padding-bottom: 30px;
	 -ms-word-break: break-all;
     word-break: break-all;

     /* Non standard for WebKit */
     word-break: break-word;

-webkit-hyphens: auto;
   -moz-hyphens: auto;
        hyphens: auto;
}
@media screen and (max-width: 968px){
	h1 {
		max-width: 300px;
	}
}
h2 {
	margin: 0;
	font-weight: normal;
	font-size: 18px;
	font-weight: 600;
	/*min-height: 100px;*/
	letter-spacing: 1px;
	line-height: 1.3;
}
h3 {
	font-weight: 500;
	margin-top: 45px;
	letter-spacing: 1px;
	line-height: 1.3;
}
.curly-quotes:before, .curly-quotes:after {
  display: inline-block;
  vertical-align: top;
  height: 30px;
  line-height: 48px;
  font-size: 150px;
  opacity: 0.8;
}

.curly-quotes:before {
  content: '\201C';
  color: var(--color-primary);
  margin-right: 4px;
  margin-left: -50px;
}
/*
.curly-quotes:after {
  content: '\201D';
  margin-left: 4px;
  margin-right: -8px;
}
*/
#wrapper-nav {
	background-color: #fff;
	position: sticky;
	top: 0;
	-webkit-box-shadow: 0px 0px 9px 1px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 9px 1px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 9px 1px rgba(0,0,0,0.75);
	z-index: 2;
}
.wrapper-nav-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
}
nav {
	height: 80px;
	/*max-width: 1220px;
	margin: 0 auto;*/
}
#wrapper-nav img {
	height: 30px;
	margin-left: 10px;
}
#page-nav {
	/*width: 100%;
	top: 0;*/
}

#page-nav label, #hamburger {
	display: none;
}

#page-nav ul {
	list-style-type: none;
	margin: 0;
	padding: 0; 
	display: flex;
	/*align-items: right;
	justify-content: space-around;*/
	align-items: center;
	flex-direction: row;
	height: 100%;
}
#page-nav ul li {
	padding: 20px;
}
#page-nav ul li a {
	color: var(--color-font-primary);
	text-decoration: none;
}
#page-nav ul li a:hover {
	color: var(--color-primary);
	border-bottom: 3px var(--color-primary) solid;
	transition: all 0.3s ease-out;
}

@media screen and (max-width: 968px){
	#page-nav label {
		float: right;
		display: inline-block;
		font-style: normal;
		font-size: 2rem;
		padding: 14px;
	}

	#page-nav ul li {
		display: block;
	}
	#page-nav ul li {
		border-top: 1px solid #333;
		text-align: right;
		width: 100%;
	}
	#page-nav ul li a {
		width: 100%;
		display: block;
	}
	#page-nav ul {
		display: none;
		flex-direction: column;
	}
	#page-nav input:checked ~ ul {
		display: flex;
		position: fixed;
		right: 0;
		top: 80px;
		width: 180px;
		background: #fff;
		align-items: end;
		-webkit-box-shadow: -2px 2px 7px 0px rgba(0,0,0,0.75);
		-moz-box-shadow: -2px 2px 7px 0px rgba(0,0,0,0.75);
		box-shadow: -2px 2px 7px 0px rgba(0,0,0,0.75);
		transition: all 0.3s ease-out;
	}
}

.wrapper > section {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 55px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.banner { 
/*padding: 0 !important; */
	text-align: center;
    background-image: url(banner_clean.jpg);
    background-repeat: no-repeat;
    background-color: 
    #262626;
    background-position: center;
    height: 613px;
    /*margin-top: 111px;*/
}
.banner img { 
	width: 200px; 
	margin-top: 70px;
}
.banner h1 {

    max-width: 700px;
    font-weight: normal;
    font-size: 50px;
    line-height: 1.2;
    margin-top: 0;
    padding-top: 40px;
	 -ms-word-break: normal;
     word-break: normal;

     /* Non standard for WebKit */
     word-break: normal;

-webkit-hyphens: none;
   -moz-hyphens: none;
        hyphens: none;

}

@media screen and (max-width: 700px) {
	.banner h1 {
		max-width: 300px;
		font-size: 40px;
	}
}
.themes {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.themes > .theme-img {
	margin-top: 18px;
	max-width: 286px;
}
.img-responsive {
	width: 100%;
}
@media screen and (max-width: 600px) {
	.themes {
		justify-content: space-around;
	}
	.themes > .theme-img {
		max-width: 150px;
	}
}


#about {
	background-color: var(--color-secondary);
}
#about > section > .img-responsive {
	margin-right: 30px;
	max-width: 570px;
}
#about > section > .text {
	margin-left: 30px;
	max-width: 600px;
	padding-top: 25px;
}
#about > section > .text > img {
	margin-top: 20px;
}
#about > section > .text > blockquote {
	font-size: 1.3rem;
	/*padding-left: 50px;*/
	padding-bottom: 10px;
}


#philosophy > section > .text {
	max-width: 540px;
}
#philosophy > section > .img-responive {
	margin-left: 30px;
	max-width: 570px;
	padding-top: 50px;
}



#work section > div {
	max-width: 250px;
}
#work section > div img { padding-right: 80px;}
#work section > div h2 {
	word-wrap: break-word;
	text-align: left;
}
@media screen and (max-width: 600px) {
	#work section {
		justify-content: space-around;
	}
	#work section > div {
		max-width: 250px;
		margin-bottom: 50px;
	}
}

#why section > div {
	max-width: 250px;
}
#why section > div svg { 
	/*fill: var(--color-primary);*/
	height: 120px;
}
#why section > div h2 {
	word-wrap: break-word;
	text-align: left;
}
@media screen and (max-width: 600px) {
	#why section {
		justify-content: space-around;
	}
	#why section > div {
		max-width: 250px;
		margin-bottom: 50px;
	}
}

#why, #whork {
	padding-bottom: 80px;
}
#why h2, #work h2 {
	text-align: center;
	/*padding-top: 40px;*/
}

.wrapper {
	padding-top: 30px;
	padding-bottom: 90px;
}

@media screen and (max-width: 600px) {
	section {padding: 20px;}
	/*img, .text {margin: 0 !important;}*/
}

.inverted {
	background-color: #262626;
	color: white !important;
}

.owl-next {
    top: 170px;
    position: absolute;
    right: 0px;
	 font-size: 100px !important;
}
.owl-prev {
    top: 170px;
    position: absolute;
    left: 0px;
	 font-size: 100px !important;
}
.owl-prev img, .owl-next img {
	max-height: 45px;
}

.what-wrap {
	background-color: #fff;
	padding-top: 50px;
	padding-bottom: 30px;
	width: 80%;
	margin: 0 auto;
	color: black;
}

.path {
  stroke-dasharray: 1200;
  stroke-dashoffset: 1000;
  animation: dash 2s linear forwards;
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}

path, rect, line, circle, polygon polyline {
	stroke: var(--color-primary);
	fill: none;
	stroke-width:7.0866;
	stroke-miterlimit:10;
	/*stroke-dashoffset: 2300;*/
	stroke-dasharray: 1100;
}

polygon {
	fill: var(--color-primary);
}

#map {
	max-width: 800px;
	position: relative;
}
.feedback {
	max-width: 400px;
	padding: 150px 30px 50px 30px;
}
.feedback input, textarea {
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border-bottom: 2px var(--color-secondary) solid;
	padding: 5px;
	min-width: 300px;
	margin-bottom: 30px;
	font-size: var(--font-size);
}
.feedback button {
	min-width: 300px;
	background-color: var(--color-primary);
	padding-top: 10px;
	padding-bottom: 10px;
	border: none;
	color: white;
	font-size: var(--font-size);
}

.quote-txt {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
	line-height: 2;
}
@media screen and (max-width: 600px) {
	.quote-txt {
		line-height: 1.5;
		padding: 0 20px 0 20px;
	}
}
.quote-img {
	width: 70px !important;
	margin: 0 auto;
	padding-bottom: 10px;
}

.quote-ava {
	width: 50px !important;
	margin: 0 auto;
	padding-top: 60px;
}
.quote-sign {
	text-align: center;
}


.contacts-map {
	background-color: white;
	padding: 20px;
	max-width: 300px;
	z-index: 1;
	float: left;
	position: absolute;
	left: 300px;
	top: 150px;
}

@media screen and (max-width: 600px) {
	.contacts-map {
		position: relative;
		left: 0;
		top: 0;
	}
}
.grey {
	color: #9d9d9d;
}
.stage-item {
	min-height: 60px;
}
.author {
	margin-top: 57px;
	max-width: 200px;
	font-size: 16px;
}
.author-company {
	max-width: 200px;
	font-size: 15px;
	margin-top: 0px !important;
}
.sign {
	float: left;
	margin-top: -70px !important;
	margin-left: 160px;
	width: 200px;
}
@media screen and (max-width: 600px) {
	
	.sign {
		float: left;
		margin-top: 0 !important;
		margin-left: 0;
		width: 200px;
	}
}
.right {
	max-width: 540px;
}

.owl-prev {
}
#contacts {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}
#contacts > section {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.contact-header {
	font-size: 36px;
	font-weight: 700;
}
@media screen and (max-width: 600px) {
	.sm-center {
		text-align: center;
	}
}
