/* (c) Dmitry Dyukov 2017-2019 */

/* Reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Extended base styles (site specific) */

html { 
	overflow-y: scroll; /* always force a scrollbar in non-IE */
}
body {
	background: #e6e6e6;
	overflow-x: hidden;
	height: auto; 
	color: #000;
	font-size: 14px;
	font-family: Arial,sans-serif;
}
h1 {
	text-align: center;
	color: #00a054;
}
a, a:link,
a:active,
a:visited {
	-webkit-transition: color 0.25s ease-out;
	-moz-transition: color 0.25s ease-out;
	-o-transition: color 0.25s ease-out;
	transition: color 0.25s ease-out;
	color:#00a054;
	outline: none;
	text-decoration: none;
	}
	a:hover { 
		color:#009fb7;
}
img { 
	display:block;
}
p {
	margin:1em 0;
}
hr {
	margin: -20px 0 0 0;
	border: none;
	border-top: 5px solid #00a054;
	height: 3px;
}

/* Navigation */

nav#bar {
	z-index: 6;
	position: fixed;
	top: 0;
	width: 100%;
	height: 40px;
	background-color: rgba(0, 160 , 84, 1);
	padding-right: 25px;
	display: block;
	}
	nav#bar img {
		width: auto;
		max-width: 38px;
		height: auto;
		max-height: 38px;
		padding: 1px 0 1px 5px;
	}
	nav#bar li ul {
		display: none;
		background-color: #009fb7;
		position: absolute;
		top: 100%;
		cursor: default;
	}
    nav#bar li:hover ul { 
		display: block; 
	}
	nav#bar ul {
		margin: 0;
        padding: 0;
		list-style: none;
	}
	nav#bar li {
		-webkit-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		-moz-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
		float: right;
		height: 100%;
		cursor: pointer;
		}
		nav#bar a:hover, nav#bar a.active {
			background-color: rgba(0, 159, 183, 1);
		}
		nav#bar li a {
			display: block;
			padding: 13px;
			width: 150px;
			color: #fff;
			font-family: sans-serif;
			font-weight: bold;
			text-decoration: none;
			text-align: center;
		}
		nav#bar li#tel {
			-webkit-transition: all .3s ease-in-out;
			-o-transition: all .3s ease-in-out;
			-moz-transition: all .3s ease-in-out;
			transition: all .3s ease-in-out;
			cursor: default;
			position: absolute;
			left: 5px;
			top: -5px;
		}
		nav#bar li p {
			color: #fff;
			font-family: sans-serif;
			font-weight: bold;
			text-decoration: none;
			text-align: center;
			cursor: default;
		}
		nav#bar li p a {
			font-size: 20px;
			display: inline;
			margin-left: -8px;
			position: relative;
			bottom: -2px;
		}
		nav#bar li p a:hover {
			background-color: transparent;
		}
		nav.begin {
			background-color: #fff;
			padding-top: 20px;
			width: 80px;
			height: 60px;
			border-radius: 40px;
			position: relative;
			box-shadow: 0 0 20px rgba(0,0,0,0.5);
		}
		nav.next-prev {
			margin: 20px 0 0 0;
			}
			a.prev,
			a.next {
				-webkit-transition: all .3s ease-in-out;
				-o-transition: all .3s ease-in-out;
				-moz-transition: all .3s ease-in-out;
				transition: all .3s ease-in-out;
				display: block;
				width: 10px;
				height: 10px;
				text-indent: -9999px;
				}
			a.prev {
				margin: 0 auto 5px auto;
				display: block;
				border-right: 3px solid #00a054;
				border-bottom: 3px solid #00a054;
				transform: rotate(225deg);
				overflow: hidden;
				}
				a.prev:hover {
					border-right: 3px solid #009fb7;
					border-bottom: 3px solid #009fb7;
					}
			a.next {
				margin: 5px auto 0 auto;
				display: block;
				border-right: 3px solid #00a054;
				border-bottom: 3px solid #00a054;
				transform: rotate(45deg);
				overflow: hidden;
				}
				a.next:hover {
					border-right: 3px solid #009fb7;
					border-bottom: 3px solid #009fb7;
					}
		.main_menu {
			display: none;
            -webkit-transition: opacity .2s ease-in-out;
            -o-transition: opacity .2s ease-in-out;
            -moz-transition: opacity .2s ease-in-out;
            transition: opacity .2s ease-in-out;       
            cursor: pointer;
            padding: 10px 8px 6px 8px;
            color: #fff;
			background-color: #00a054;
        }
        .main_menu:hover {
            background-color: #009fb7;
        }
        .main_menu .lay {
            -webkit-transition: all .3s ease-in-out;
            -o-transition: all .3s ease-in-out;
            -moz-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out;
            background: #fff;
            position: relative;
            margin-bottom: 5px;
            display: block;
            width: 24px;
            height: 3px;
		}		
		#main_menu {
			display: none;
            z-index: -1;
            width: 176px;
            height: auto;
            background: #00a054;
			position: absolute;
			top: 40px;
			right: -50%;
			text-align: left;
		}
		.side_tel {
			display: none;
			position: relative;
		}
		.side_tel a{
			position: relative;
			left: -5px;
		}
		#main_menu ul li {
			max-width: 100%;
			position: relative;
			left: 0px;
		}
		#main_menu h3{
			font-size: 20px;
			color: #fff;
            font-family: sans-serif;
            font-weight: bold;
            text-align: center;
        }

/* Alerts */
.alert {
	position: absolute;
	top: 50px;
	right: 0;
	width: 200px;
	height: 50px;
	border-radius: 1px;
	background-color: #009fb7;
	text-align: center;
}
.alert p {
	color: #fff;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	font-size: 16px;
	margin: auto;
}

/* Page structure */
#wrapper {
	position: absolute;
	width: 100%;
	height: auto;
}

/* header */ 
#branding {
	z-index: 4;
	width: 100%;
	height: 170px;
	margin: 60px auto;
	}
	#branding div#title{
		position: absolute;
		width: 600px;
		height: 165px;
		right: 50%;
		margin-right: -300px;
		top: 240px;
	}
	#branding h1 {
		font-weight: lighter;
		font-family: sans-serif; 
		font-size: 60px; 
		color: #00a054;
		margin: 5px 5px 0 2px;
	}
	#branding h3 {
		font-weight: lighter;
		font-family: sans-serif; 
		font-size: 20px; 
		font-weight: bold;
		color: #333333;
		margin: 5px auto 0 auto;
		text-align: center;
		opacity: 0.7;
	}
	#branding span {
		font-weight: lighter;
		font-family: sans-serif; 
		font-size: 16px; 
		font-weight: bold;
		color: #525252;
		margin: auto;	
	}
	#logo {
		width: 155px;
		height: 160px; 
		position: relative;
		left: 50%;
		margin-left: -77.5px;
		}
		#branding p {
			font-weight: 600; 
			font-family: sans-serif; 
			font-size: 35px;
			color: #00a054;
			margin: -10px 0px -10px 20px;
			}
		#branding img {
		width: 135px;
		height: 135px;
		margin: 0px 10px;
	}

/* content */
#content {
	z-index: 4;
	position: relative;
	margin: 100px auto;
	padding-top: 60px;
	line-height: 1.7;
	list-style-type: circle;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	}
	#content article {
		max-width: 700px;
		width: auto;
		height: auto;
		background-color: #e8e8e8;
		border-radius: 20px;
		position: relative;
		}
		#content ul {
			position: relative;
			width: auto;
			max-width: 80%;
		}
		#content h1 {
			margin: 0 0 25px 0;
			font-size: 60px;
			font-weight: lighter;
			line-height: 65px;
		}
		#about,
		#services,
		#partners,
		#documents,
		#contacts {
			padding: 30px;
			box-shadow: 0 0 20px rgba(0,0,0,0.5);
			margin: 80px auto 20px auto;
			}
		#about{

			}
		#services ul{
			position: relative;
			left: 20px;
			}
		#partners #holder{
			width: auto;
			min-height: 250px;
			}
			#partners img {
				width: 100%;
				max-width: 320px;
				height: 100%;
				max-height: 100px;
				margin: 15px auto;
				-webkit-filter: grayscale(1);
				filter: grayscale(1);
				transition: 0.5s;
				animation-timing-function:ease-in-out;
			}
			#partners img:hover {
				-webkit-filter: grayscale(0);
				filter: grayscale(0);
			}
		#contacts {
			text-align: center;
			}
			#contacts div#map {
				width: 100%;
				height: 350px;
				position: relative;
				margin: auto;
			}
			#contacts ul#cont {
				position: relative;
				list-style: none;
				height: auto;
				margin: auto;
			}
			#contacts h3 {
				font-size: 18px;
			}

/* documents */
#documents .doc-grid {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	max-width: 680px;
	margin: 20px auto 0 auto;
}
.doc-card {
	position: relative;
	display: block;
	padding: 18px 48px 18px 18px;
	background: linear-gradient(180deg, #f6fff9 0%, #ffffff 70%);
	border-radius: 14px;
	box-shadow: 0 10px 22px rgba(0,0,0,0.06);
	border: 1px solid #e1eee6;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	color: inherit;
	text-decoration: none;
	transition: box-shadow 0.2s ease-out, transform 0.2s ease-out, border-color 0.2s ease-out;
}
.doc-card::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #00a054;
	border-bottom: 2px solid #00a054;
	transform: translateY(-50%) rotate(-45deg);
}
.doc-card:hover,
.doc-card:focus {
	box-shadow: 0 14px 28px rgba(0,0,0,0.12);
	transform: translateY(-2px);
	border-color: #bfe6cf;
}
.doc-icon {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	align-self: flex-start;
	border-radius: 50%;
	background-color: #00a054;
	color: #ffffff;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	letter-spacing: 0.5px;
}
.doc-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
.doc-title {
	margin: 0 0 6px 0;
	font-size: 20px;
	color: #333333;
}
.doc-title--lift {
	margin-top: -12px;
	margin-bottom: 6px;
	line-height: 1.15;
}
.doc-title-no {
	position: relative;
	top: -1px;
}
.doc-text {
	margin: 0 0 12px 0;
	color: #555555;
	font-size: 14px;
}

/* footer */
#footer {
	z-index: 4;
	width: 100%;
	height: auto;
	min-height: 50px;
	position: relative;
	background-color: #e6e6e6;
	box-shadow: 0 0 20px rgba(0,0,0,0.5);
	padding-top: 40px;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	}
	#footer div{
		font-size: 14px; 
		color: #333333;
		text-align: left;
		}
		#footer div#copyright {
			position: absolute;
			left: 10%;
		}
		#footer div#copyright img {
			width: 30px;
			height: 30px;
			position: absolute;
			top: 15px;
			left: -35px;
		}
		#footer div#made {
			position: absolute;
			right: 10%;
		}
		#footer div#made a{
			text-decoration: underline;
		}

/* background */
#parallax-bg1 {
	z-index: -1;
	position: fixed;
	top: 0;
	opacity: 0.50;
	}
	.back {
		width: auto;
		min-width: 120vw;
		min-height: 100vh;
		position: relative;
		left: -15vw;
	}
	#bg1-1 {
		width: 100%;
        height: 100%;
		}
	#bg1-2 {
		width: 100%;
        height: 100%;
		}
	#bg1-3 {
		width: 100%;
        height: 100%;
		}
	#bg1-4 {
		width: 100%;
        height: 100%;
		}
#parallax-bg2 {
	z-index: -2;
	position: fixed;
	top: 0;
	opacity: 0.50;
	}
#mobile-bg {
	display: none;
}

/* Mobile version */
@media screen and (max-device-aspect-ratio: 4/3) {
	.back {
		min-height: 70vh;
	}
}

@media screen and (max-width: 1220px) {
	/* navigation */
	nav#bar li div.main_menu {
		display: block;
	}	
	nav#bar li a.top_menu{
		display: none;
	}
	nav#bar img{
		display: block;
	}
	#main_menu {
		display: block;
	}
	
	/* branding */
	#branding {
		top: 40px;
	}
	
	/* content */
	#about nav,
	#services nav,
	#partners nav,
	#documents nav,
	#contacts nav {
		display: none;
	}
	#contacts div#map{
		height: 250px;
	}
}

@media screen and (max-width: 720px) {
	#parallax-bg1 img{
		display: none;
	}
	#mobile-bg {
		display: block;
		margin: 0 auto;
		z-index: -1;
		position: fixed;
		top: 0;
	}
	#content h1 {
		margin: auto auto 25px auto;
		font-size: 50px;
		font-weight: lighter;
		line-height: 65px;
	}
	#partners img {
		-webkit-filter: grayscale(0);
		filter: grayscale(0);
	}
}

@media screen and (max-width: 650px) {
	#branding #title {
		display: none;
	}
	#branding #logo {
		top: 60px;
	}
	#about {
		margin-top: 0;
	}
	.doc-card {
		flex-direction: column;
	}
}

@media screen and (max-width: 479px) {	
	html {
		-webkit-text-size-adjust: none;
	}
	.top_tel {
		display: none;
	}
	.side_tel {
		display: block;
	}
	#footer {
		height: 86px;
	}
	#footer div#copyright {
		position: absolute;
		left: 20%;
	}
	#footer div#made {
		position: absolute;
		top: 70px;
		left: 9%;
	}
	
}
@media screen and (max-width: 320px) {	
	#content h1 {
		margin: auto auto 25px auto;
		font-size: 40px;
		font-weight: lighter;
		line-height: 65px;
	}
}