@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/* ------------------------------------------------------------- *
 * Global variables
/* ------------------------------------------------------------- */:root {
	--main-font: 'Poppins', sans-serif;
	--black: #000;
	--white: #fff;
	--brand: #00533a;
	--gray: #374151;
	--green: #488a65;
	--green-light: #dee9e1;
}
/* ------------------------------------------------------------- *
 * General
/* ------------------------------------------------------------- */
*, :after, :before { -webkit-box-sizing: border-box; box-sizing: border-box; }

html,body { padding: 0; margin: 0; width: 100%; height: 100%; min-height: 100vh; }

body {
	position: relative;
	font-family: var(--main-font);
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;
	color: var(--black);
/*	background-color: var(--white);*/
	overflow-x: hidden;
}
body:after {
    background: url('../images/bg-image.jpg') top;
    background-size: cover;
    content: "";
    height: 100vh;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: -1;
}
main {
	display: flex;
    flex-direction: column;
	width: 100%;
	padding-top: 76px;
	overflow-x: initial;
}
@media (max-width: 992px) {
	main {
		padding-top: 50px;
	}
}
p { 
	color: var(--dark-1);
	margin: 0 0 20px; 
	font-weight: 300;
	line-height: 1.3;
}
a {
	color: var(--main-color);
	text-decoration: none;
	outline: none;
	cursor: pointer;
}
a,button {
	-webkit-transition: .2s linear;
	-o-transition: .2s linear;
	transition: .2s linear;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0; 
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
img {
	display: block;
  	border-style: none;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
b, strong {
	font-weight: bold;
	font-weight: 700;
}
button {
	font-family: var(--main-font);
	outline: none;
	border: 0;
	padding: 0;
	line-height: 1.3;
	background: transparent;
	cursor: pointer;
}
button:focus { 
	outline: none; 
}
fieldset {
	border: 0;
	padding: 0;
	margin: 0;
}
input {
	border: 0;
	outline: none;
}
.small, small {
	font-size: 80%;
}
.no-scroll {
	overflow: hidden;
}
.hide {
	display: none;
}
.w-100 {
	width: 100%!important;
}
/* Table */
table {
	width: 100%;
	border-collapse: collapse;
}
table th,td {
	padding: 16px;
	text-align: left;
	border: none;
}
/* Lists */
ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.list-inline {
	padding-left: 0;
	margin-left: -5px;
	list-style: none;
}
.list-inline > li {
	display: inline-block;
	padding-right: 5px;
	padding-left: 5px;
}
/* Section */
section,
.section {
	position: relative;
	padding: 100px 0;
	border-radius: 12px;
}
@media (max-width: 767px) {
	section,
	.section {
		padding: 60px 0;
	}
}
/* Container */
.container {
	width: 100%;
	max-width: 1280px;
    margin: 0 auto;
    padding: 0 15px;
}
.container-fluid {
	width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.justify-content-space-between {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
/* Font weights */ 
.fw-300 { font-weight: 600!important; }
.fw-400 { font-weight: 600!important; }
.fw-500 { font-weight: 600!important; }
.fw-600 { font-weight: 600!important; }
/* Flex Classes */ 
.align-center { -webkit-box-align: center!important; -ms-flex-align: center!important; align-items: center!important; }
.justify-content-center { -webkit-justify-content: center!important; -ms-justify-content: center!important; justify-content: center!important; }
/* Margins */ 
.mb-0 { margin-bottom: 0!important }
.mt-0 { margin-top: 0!important }
/* Paddings */
.pb-0 { padding-bottom: 0!important }
.pt-0 { padding-top: 0!important }
.pt-20 { padding-top: 20px }
.pt-40 { padding-top: 40px }
.pt-40 { padding-top: 50px }
/* Alignment */
.text-left { text-align: left!important }
.text-center { text-align: center!important }
.text-right { text-aright: center!important }
/* Block Shadow */
.block-shadow-1 {
	box-shadow: var(--block-shadow-1);
}
.bg-section-grey,
.bg-style-1 {
	background: var(--bg-section)!important;
}
.bg-none { background: none }
.bg-brand { background: var(--main-color) }
/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight: 500;
	margin: 0 0 25px 0;
}
/* ------------------------------------------------------------- *
 * Buttons
/* ------------------------------------------------------------- */
.btn {
	display: inline-block;
    text-align: center;
    word-break: break-word;
    cursor: pointer;
    background-color: var(--green-light);
    border-width: 0;
    color: var(--brand);
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    padding: 15px 26px;
    text-decoration: none;
    border-radius: 5px;
    border: 2px solid var(--black);
    text-transform: uppercase;
    transition: all .2s;
}
.btn:hover {
	background: var(--white);
}

/* ------------------------------------------------------------- *
 * Header
/* ------------------------------------------------------------- */
.fixed {
	position: fixed;
	z-index: 999;
}
.header {
	width: 100%;
	top: 0;
	left: 0;
	background: var(--white);
	border-bottom: 1px solid rgba(209,213,219,1);
}
.header .row {
	justify-content: space-between;
	align-items: center;
}
.header .logo {
	width: 150px;
}
.header nav ul .menu-item {
	display: inline-block;
	cursor: pointer;
}
.header nav ul .menu-item:hover {
	background: rgba(243,244,246,1);
}

.header nav ul .menu-item a {
	font-weight: 500;
	padding: 1.75rem;
	display: inline-block;
}
/* Базовая стилизация меню */
nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
nav ul li {
    position: relative;
    display: inline-block;
}
nav ul li a {
    text-decoration: none;
    display: block;
}
/* Стили для выпадающего меню */
.dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: rgba(0,0,0,.9);
    color: var(--white);
    z-index: 1000;
    min-width: 200px;
}
.dropdown li {
    display: block;
    margin-right: 0;
}
.dropdown li a {
	width: 100%;
    padding: 1.25rem!important;
}
.dropdown li a:hover {
	background: rgb(64 74 87) !important;
}
/* Стили для вложенного выпадающего меню (справа) */
.dropdown-submenu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    background: rgba(0,0,0,.9);
    color: var(--white);
    z-index: 1000;
    min-width: 200px;
}
.has-dropdown {
    position: relative;
}
@media (max-width: 992px) {
	.header {
		padding: .5rem 0;
	}
	.header nav {
		display: none;
	}
}
/* ------------------------------------------------------------- *
 * Header - Burger Menu
/* ------------------------------------------------------------- */
.header .header-burger {
    position: relative;
 	background-color: transparent;
 	border: none;
 	cursor: pointer;
 	display: none;
 	padding: 0;
 	z-index: 10;
 	margin-left: 15px;
}
.header .header-burger .line {
	fill: none;
	stroke: #262626;
	stroke-width: 6;
	-webkit-transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
	transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.header .header-burger .line1 {
  	stroke-dasharray: 60 207;
  	stroke-width: 5;
}
.header .header-burger .line2 {
	stroke-dasharray: 60 60;
	stroke-width: 5;
}
.header .header-burger .line3 {
  	stroke-dasharray: 60 207;
  	stroke-width: 5;
}
.header .header-burger.opened .line1 {
  	stroke-dasharray: 90 207;
  	stroke-dashoffset: -134;
  	stroke-width: 5;
}
.header .header-burger.opened .line2 {
  	stroke-dasharray: 1 60;
  	stroke-dashoffset: -30;
  	stroke-width: 5;
}
.header .header-burger.opened .line3 {
  	stroke-dasharray: 90 207;
  	stroke-dashoffset: -134;
  	stroke-width: 5;
}
.header .header-burger.opened .line {
/*	stroke: var(--grey-4);*/
}
.header .header-burger span {
	display: none;
	position: absolute;
	top: 100%;
	margin-top: -3px;
	font-size: 9px;
	font-weight: 400;
	color: var(--grey-4);
}
.header .header-burger.opened span {
	display: block;
}
@media (max-width: 992px) {
	.header .header-menu {
		display: none;
	}
	.header .header-button {
		margin-left: auto;
	}
	.header .header-burger {
		margin-left: 12px;
		display: -webkit-box!important;
		display: -ms-flexbox!important;
		display: flex!important;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}
@media (max-width: 767px) {
	.header .header-button .btn {
        font-size: 12px;
        padding: 11px;
    }
}
/* ------------------------------------------------------------- *
 * Header
/* ------------------------------------------------------------- */
.intro {
    display: flex;
	align-items: center;
    justify-content: center;
    height: 100vh;
}
.intro .banner {
	margin: 0 auto;
	max-width: 80%;
}
/* ------------------------------------------------------------- *
 * Services
/* ------------------------------------------------------------- */
.services {
	padding: 100px 0;
}
.services .row {
	flex-direction: row;
	align-items: center;
	gap: 30px;
}
.services .banner {
	max-width: 565px;
	width: calc(100% / 2);
}
.services .text {
	width: calc(100% / 2);
}
.services .text {
	display: flex;
	flex-direction: column;
} 
.services .text h2 {
	font-size: 3rem;
	color: var(--white);
	text-transform: uppercase;
	text-shadow: 0 0 1px rgba(0, 0, 0, .6);
}
.services .text p {
	font-size: 20px;
	color: var(--white);
	padding-top: 20px;
	text-shadow: 0 0 1px rgba(0, 0, 0, .6);
}
.services .button {
	margin-top: 30px;
}
@media (max-width: 767px) {
	.services {
		padding: 50px 0;
	}
	.services .row {
		flex-direction: column;
	}
	.services .banner,
	.services .text {
		width: 100%;
	}
	.services .banner {
		order: 1;
	}
	.services .text {
		order: 2;
	}
}
/* ------------------------------------------------------------- *
 * Features
/* ------------------------------------------------------------- */
.features .row {
	justify-content: space-between;
}
.features .block {
	width: calc((100% / 2) - 15px);
	background: var(--green-light);
	border: 2px solid var(--black);
	border-radius: 0 50px 0 50px;
	overflow: hidden;
}
.features .image {}
.features .image img {
	box-sizing: border-box;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
}
.features .text {
	padding: 30px;
}
.features .text h3 {
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 25px;
	color: var(--brand);
}
.features .text p {
	color: var(--brand);
}
.features .text .button {
	text-align: right;
	margin-top: 20px;
}
@media (max-width: 767px) {
	.features .row {
		flex-direction: column;
		gap: 15px;
	}
	.features .block {
		width: 100%;
	}
}
/* ------------------------------------------------------------- *
 * Home About
/* ------------------------------------------------------------- */
.home-about .row {
	flex-direction: column;
	justify-content: center;
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}
.home-about .row h3 {
	font-size: 50px;
	font-weight: 300;
	color: var(--white);
}
.home-about .row p {
	font-size: 18px;
	color: var(--white);
}
.home-about .row .button {
	margin-top: 30px;
}
/* ------------------------------------------------------------- *
 * Footer
/* ------------------------------------------------------------- */
.footer {
	background: var(--white);
	padding: 50px 0;
}
.footer .row {
	justify-content: space-between;
}
.footer .footer-item {
	width: calc((100% / 3) - 15px);
}
.footer .footer-title {
	display: inline-block;
	font-weight: 600;
	color: var(--black);
	margin-bottom: 25px;
}
.footer .footer-menu li a {
	font-weight: 500;
	color: rgba(156,163,175,1);
}
.footer .footer-menu li {
	padding: 8px 0;
}
/* ------------------------------------------------------------- *
 * Breadcrumb
/* ------------------------------------------------------------- */
ul.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}
ul.breadcrumb li {
	font-size: 14px;
	font-weight: 300;
	list-style: none;
	margin: 0;
}
ul.breadcrumb li a {
	color: var(--green);
	font-weight: 300;
	text-decoration: none;
}
ul.breadcrumb li a:hover,
ul.breadcrumb li.active a {
	color: var(--green);
}
ul.breadcrumb li:after {
	content: ">";
    margin: 0 6px;
    color: var(--green);
}
ul.breadcrumb li:last-child:after {
	display: none;
}
@media (max-width: 767px) {
	ul.breadcrumb li {
		margin-bottom: 3px;
	}
}
/* ------------------------------------------------------------- *
 * Page header
/* ------------------------------------------------------------- */
.page-header {
	padding: 0;
	background: hsla(0,0%,100%,.3);
}
.page-header .row {
	justify-content: space-between;
}
.page-header .image {
	display: flex;
    justify-content: center;
	padding: 2.5rem;
	flex: 1;
}
.page-header .image img {
	max-height: 32rem;
	width: auto;
}
.page-header .info {
	background: hsla(0,0%,100%,.3);
	padding: 2.5rem;
	max-width: 40%;
	flex: 1;
}
.page-header .info h1 {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 1.25rem;
	margin-top: 1rem;
}
.page-header .info p {
	font-size: 1rem;
	color: var(--gray);
	line-height: 1.55rem;
}
.page-header .info p:last-child {
	margin-bottom: 0;
}
.backdrop-blur {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
/* ------------------------------------------------------------- *
 * Catalog
/* ------------------------------------------------------------- */
.catalog {
	padding: 1.25rem 0;
}
.catalog .row {
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 15px;
}
.catalog .block {
	display: flex;
	flex-basis: calc((100% / 2) - 15px);
	border: 2px solid var(--black);
	border-radius: 0 50px 0 50px;
	overflow: hidden;
}
.catalog .image {
	background: rgba(72,138,101,.5);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .5rem;
	flex-basis: 50%;
	transition: all .2s;
}
.catalog .image img {
	box-sizing: border-box;
    height: auto;
    max-width: 100%;
    max-height: 9rem;
    width: auto;
    vertical-align: bottom;
}
.catalog .text {
	display: flex;
	flex-direction: column;
	flex-basis: 50%;
	background: var(--green-light);
	padding: 30px;
	transition: all .2s;
	padding: 1rem;
}
.catalog .text h3 {
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 25px;
	color: var(--black);
}
.catalog .text p {
	color: var(--black);
}
.catalog .text p:last-child {
	margin-bottom: 0;
}
.catalog .text .button {
	text-align: right;
	margin-top: 20px;
}
.catalog .block:hover .image {
	background: rgba(255,255,255,.5);
}
.catalog .block:hover .text {
	background: rgba(255,255,255,1);
}

.catalog.category .row {
	justify-content: flex-start;
}
.catalog.category .block {
	flex-basis: calc((100% / 3) - 15px);
}
.catalog.category .text h3,
.catalog.category .text p {
	color: var(--brand);
}
.catalog.category .text h3 {
	margin-bottom: 12px;
}
.catalog.category .text p {
	margin-bottom: 12px;
}
@media (max-width: 992px) {
	.page-header .container {
		padding: 0;
	}
	.page-header .row {
		align-items: center;
	}
	.page-header .image {
		padding: 1.25rem;
	}
	.page-header .info {
		max-width: 352px;
		padding: 1.5rem 2rem;
	}
	.catalog .block,
	.catalog.category .block {
		flex-basis: 100%;
	}
}
@media (max-width: 767px) {
	.page-header .row {
		flex-direction: column-reverse;
	}
	.page-header .image {
		padding: 2.5rem;
	}
	.page-header .info {
		max-width: 100%;
		text-align: center;
	}
	.page-header .breadcrumb {
		justify-content: center;
	}
}
/* ------------------------------------------------------------- *
 * Tabs
/* ------------------------------------------------------------- */
.details {
	padding: 1.25rem 0;
}
.details .row {
	justify-content: flex-end;
}
.details .tabs {
	flex-basis: 40%;
}
.details .tabs ul {
	display: flex;
	flex-direction: row;
}
.details .tabs ul li {
	display: flex;
}
.details .tabs .tab {
	padding: 1.25rem;
	background: rgba(255,255,255,.5);
	color: var(--black);
}
.details .tabs ul li.active .tab {
	background: rgba(255,255,255,1);
}
.details .tabs ul li .tab:hover {
	background: rgba(255,255,255,1);
}
.details .tabs .tab-content {
	padding: 1.25rem;
	background: hsla(0,0%,100%,.6);
	backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.details table tr,
.details table td {
	padding: 4px 0;
	margin: 0;
	font-weight: 300;
}
.details thead tr td {
	padding-bottom: 12px;
}
.details table tr td:first-child {
	padding-right: 1.25rem;
}
.table-pdf {
	margin-top: 20px;
}
.table-pdf a span {
	text-decoration: underline;
	color: var(--brand);
	font-weight: 500;
}
@media (max-width: 992px) {
	.details .tabs {
		flex-basis: 100%;
	}
}
/* ------------------------------------------------------------- *
 * About
/* ------------------------------------------------------------- */
.about {
	padding: 0;
}
.about .container {
	padding: 40px 40px 75px 40px;
	background: rgba(255,255,255,.9);
}
.about .title {
	font-size: 2rem;
	margin-bottom: 60px;
}
.about .row {
	gap: 30px;
	align-items: center;
	justify-content: space-between;
}
.about .banner,
.about .text {
	flex-basis: calc(50% - 15px);
}
.about .text p {
	margin: 0;
	font-size: 20px;
}
@media (max-width: 767px) {
	.about .row {
		flex-direction: column;
	}
	.about .title {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.about .container {
		padding: 40px 15px;
	}
	.about .text p {
		font-size: 16px;
	}
}
/* ------------------------------------------------------------- *
 * Contacts
/* ------------------------------------------------------------- */
.contacts {
	padding: 0;
	padding-bottom: 50px;
}
.contacts .container {
	padding: 40px 40px 75px 40px;
	background: rgba(255,255,255,.9);
}
.contacts .title {
	font-size: 2rem;
	margin-bottom: 60px;
}
.contacts .row {
	gap: 30px;
	align-items: flex-start;
	justify-content: space-between;
}
.contacts .col {
	display: flex;
	gap: 20px;
	flex-basis: calc(50% - 15px);
}
.contacts .text,
.contacts .inner {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex-basis: 50%;
}
.contacts .inner {
	gap: 20px;
}
.contacts .strong {
	font-weight: 500;
}
.contacts .text p {
	margin: 0;
	font-size: 16px;
}
.form-row {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}
.form-row > .form-group {
  flex: 1;
}
form {
	width: 100%;
}
label {
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
}
label span {
	color: red;
}
input, textarea {
  width: 100%;
  background: var(--white);
  padding: 8px;
  border: 1px solid var(--green-light);
  box-sizing: border-box;
}
@media (max-width: 767px) {
	.contacts .row {
		flex-direction: column;
	}
	.contacts .title {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.contacts .container {
		padding: 40px 15px;
	}
	.contacts .text p {
		font-size: 16px;
	}
	.contacts .row {
		flex-direction: column;
	}
	.contacts .col,
	.contacts .text, .contacts .inner {
		flex-basis: 100%;
		width: 100%;
	}
}


