/*HEADER*/

.header {
	height: 100px;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 999;
	background: var(--black);
	background: linear-gradient(180deg,rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0) 100%);
}
.header__inner {
	display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  padding: 15px 0;
}
.header__logo {
	width: 200px;
  height: auto;
}
.header__logo img {
	
}
.header__menu {
	display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-sm);
}
.header__menu-link {
	text-decoration: none;
  text-transform: uppercase;
  color: var(--white);
  font-size: var(--fs-sm);
}
.header__menu-link:hover {
	text-decoration: none;
	color: var(--white);
	opacity: .8;
}
.header__links {
	display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
}
.header__link {
	border-color: rgba(200,200,200,.1);
}
.header__link:hover {
	border-color: rgba(200,200,200,.1);
}

@media screen and (max-width: 1200px) {
	.header__inner {grid-template-columns: 1fr auto;}
	.header__menu {display: none;}
}
@media screen and (max-width: 768px) {
	.header {height: 70px;}
	.header__inner {padding: 10px 0;}
	.header__logo {width: 150px;}
}
@media screen and (max-width: 576px) {
	.header__logo {width: 160px;}
	.header__link:last-child {display: none;}
}

/*END HEADER*/



/*BANNER*/

.banner {
	position: relative;
	background: var(--base);
  height: 100dvh;
  padding-top: 150px;
}
.banner__back {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.banner__back img {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	object-fit: cover;
}
.banner__inner {
	position: relative;
  display: grid;
  gap: var(--gap-med);
  grid-template-columns: auto 450px;
  z-index: 1;
}
.banner__title {
	margin: auto 0 0 0;
  line-height: 120%;
}
.banner__text {
	margin: auto 0;
	width: 100%;
	max-width: 380px;
}
.banner__text p {
	font-size: 17px;
}
.banner__text p span {
	font-weight: var(--fw-bold);
	font-size: 18px;
}
.banner__btn {
	font-size: 110%;
}

@media screen and (max-width: 1500px) {
	.banner__inner {grid-template-columns: auto 400px;}
}
@media screen and (max-width: 1100px) {
	.banner__inner {grid-template-columns: 1fr;}
	.banner__title {order: 1;}
	.banner__text {margin: auto 0 auto auto;}
}
@media screen and (max-width: 576px) {
	.banner {padding-top: 100px;}
	.banner__title {margin: 0 0 auto 0;}
	.banner__title span {display: inline-block;height: 35px;}
	.banner__text {order: 2;margin: auto 0 0 0;}
	.banner__text p {font-size: 16px;}
}

/*END BANNER*/



/*CONTACTS*/

.contacts {
	padding: 100px 0 50px;
}
.contacts__inner {
	display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.contacts__logo {
	width: 100%;
  max-width: 465px;
  margin: 0 0 50px 0;
}
.contacts__mail {
	font-size: 70px;
  display: block;
  position: relative;
  line-height: initial;
  text-decoration: none;
  font-weight: 900;
  text-transform: uppercase;
  margin: 100px 0 50px;
  color: var(--white);
}
.contacts__mail:hover {
	color: var(--white);
	text-decoration: none;
	opacity: .7;
}
.contacts__links {}
.contacts__link {}
.contacts__address {
	margin: 20px 0 0;
	text-align: center;
}
.contacts__map {
	width: 100%;
	height: 350px;
	margin: 30px 0 0 0;
	border-radius: var(--br-big);
	overflow: hidden;
}
@media screen and (max-width: 1400px) {
	.contacts__logo {max-width: 400px;}
}
@media screen and (max-width: 768px) {
	.contacts__mail {font-size: 56px;}
}
@media screen and (max-width: 576px) {
	.contacts {padding: 120px 0 10px;}
	.contacts__mail {font-size: 34px;margin: 50px 0;}
	.contacts__logo {max-width: 260px;text-align: center;margin: 0 0 40px 0;}
	.contacts__map {height: 250px;margin: 20px 0 0 0;}
}

/*END CONTACTS*/


/*ABOUT*/

.about {
	padding: 150px 0 200px;
}
.about__inner {
	position: relative;
  display: grid;
  grid-template-columns: 700px auto;
  gap: 100px var(--gap-med);
}
.about__title-wrap {
	margin: 0;
}
.about__title {
	margin: 0;
}
.about__logo {
	width: 100%;
  max-width: 465px;
  margin: 0 0 50px 0;
}
.about__text {
	position: relative;
	width: 100%;
	max-width: 500px;
	margin: auto auto 0 150px;
	padding: 0;
	font-style: italic;
}
.about__text::before {
	content: '"';
	position: absolute;
	left: -50px;
	top: 5px;
	padding: 0;
	margin: 0;
	font-size: 80px;
	font-weight: 300;
	font-style: italic;
}
.about__director {
	display: grid;
	grid-template-columns: 120px auto;
  align-items: flex-start;
  gap: var(--gap-sm);
  padding: 0;
  height: fit-content;
  margin: auto auto 0 auto;
  width: 100%;
  max-width: 500px;
}
.about__director-image {
	width: 100%;
	aspect-ratio: 1/1;
  padding: 0;
  margin: 0;
  border-radius: var(--br-sm);
}
.about__director-content {}
.about__director-title {
	font-size: 20px;
  font-weight: 600;
  padding: 0;
  margin: -5px 0 5px 0;
}
.about__director-text {
	margin: 0 0 10px 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-title);
}
.about__director-link {}
.about__director-link:hover {
	color: var(--white);
	opacity: .7;
}
.about__director .about__title {
	grid-column: span 2;
}
.about__benefits {
	display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4px;
}
.about__benefit {
	position: relative;
	background: var(--base);
  border-radius: var(--br-sm);
  margin: 0;
  padding: 20px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 240px;
}
.about__benefit:nth-child(1) {
	transition-delay: .2s;
}
.about__benefit:nth-child(2) {
	transition-delay: .6s;
}
.about__benefit:nth-child(3) {
	transition-delay: 1s;
}
.about__benefit::before {
	content: '';
	position: absolute;
	line-height: 20px;
	top: 10px;
	width: 100px;
	height: 100px;
	background-image: url('../icons/banefit-icon-1.png');
	background-size: 100%;
	background-repeat: no-repeat;
	opacity: .15;
}
.about__benefit:nth-child(1)::before {
	background-image: url('../icons/banefit-icon-1.png');
}
.about__benefit:nth-child(2)::before {
	background-image: url('../icons/banefit-icon-2.png');
}
.about__benefit:nth-child(3)::before {
	background-image: url('../icons/banefit-icon-1.png');
}
.about__benefit-title {
	font-size: 18px;
	line-height: 150%;
  margin: 10px 0 30px auto;
  text-align: left;
  z-index: 1;
}
.about__benefit-text {
	margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-title);
  width: 100%;
  max-width: 90%;
  z-index: 1;
}

@media screen and (max-width: 1600px) {
	.about__inner {grid-template-columns: 600px auto;}
}
@media screen and (max-width: 1400px) {
	.about__inner {gap: 50px var(--gap-med);}
	.about__title-wrap {grid-row: span 2;}
	.about__logo {max-width: 400px;}
	.about__text {margin: auto auto 0 0;}
	.about__director {margin: auto auto 0 0;}
	.about__benefits {grid-column: span 2;margin: 50px 0 0 0;}
}
@media screen and (max-width: 1200px) {
	.about__inner {grid-template-columns: 1fr 1fr;}
	.about__title-wrap {grid-row: unset;}
	.about__director {grid-column: span 2;}
}
@media screen and (max-width: 992px) {
	.about__title-wrap {grid-column: span 2;}
	.about__title-wrap + .about__title {grid-column: span 2;}
	.about__text {grid-column: span 2;margin: 0;padding: 0 0 0 50px;}
	.about__text::before {left: 0;}
}
@media screen and (max-width: 768px) {
	.about__benefits {grid-template-columns: 1fr;margin: 0}
	.about__benefit {transition-delay: 0s!important;}
}
@media screen and (max-width: 576px) {
	.about {padding: 150px 0 50px;}
	.about__inner {gap: 50px;}
	.about__title-wrap {text-align: center;}
	.about__title {text-align: center;font-size: 28px;}
	.about__logo {max-width: 260px;text-align: center;margin: 0;}
	.about__director {grid-template-columns: 90px auto;}
	.about__director .about__title {font-size: 1.2rem;margin: 30px 0 0 0;}
	.about__benefit-text {max-width: 100%;}
}

/*END ABOUT*/



/*PROJECTS*/

#projects {
	padding-top: 150px;
}
.projects {
	padding: var(--gap-big) 0 0 0;
}
.projects-grid {
	display: grid;
  gap: var(--gap-big);
  grid-auto-flow: dense;
}
.projects-grid__title {}
.projects-grid__item {}
.projects-grid__item-image {
	position: relative;
  border-radius: var(--br-sm);
  overflow: hidden;
  user-select: none!important;
  pointer-events: none!important;
}
.projects-grid__item-image img {
	width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none!important;
  pointer-events: none!important;
}
.projects-grid__item-image video {
	width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none!important;
  pointer-events: none!important;
}
.projects-grid__item-content {}
.projects-grid__item-title {
	font-size: 20px;
  font-weight: var(--fw-bold);
  width: 100%;
  max-width: 400px;
}
.projects-grid__item-text {
	margin: 0;
  width: 100%;
  max-width: 400px;
}
.projects-grid_1 {
	grid-template-columns: 3fr 4fr;
}
.projects-grid_1 .projects-grid__title {
	margin: auto;
}
.projects-grid_1 .projects-grid__item_small {
	grid-column: 1/2;
	display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-med);
  margin: auto 0 0 0;
}
.projects-grid_1 .projects-grid__item_small .projects-grid__item-image {
	aspect-ratio: 1/1;
	grid-column: span 2;
}
.projects-grid_1 .projects-grid__item_big {
	grid-row: 1/3;
  grid-column: 2/3;
}
.projects-grid_1 .projects-grid__item_big .projects-grid__item-image {
	aspect-ratio: 4/3;
}

.projects-grid_2 {
	grid-template-columns: 4fr 2fr;
}
.projects-grid_2 .projects-grid__item_small {
	order: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-med);
  margin: auto 0 0 0;
}
.projects-grid_2 .projects-grid__item_small .projects-grid__item-image {
	order: 1;
  aspect-ratio: 5/4;
}
.projects-grid_2 .projects-grid__item_small .projects-grid__item-image:nth-child(2) {
	display: none;
}
.projects-grid_2 .projects-grid__item_big {
	order: 1;
  display: grid;
  grid-template-columns: auto 300px;
  gap: var(--gap-med);
}
.projects-grid_2 .projects-grid__item_big .projects-grid__item-image {
	aspect-ratio: 4/3;
}
.projects-grid_3 {
	grid-template-columns: 4fr 5fr;
  grid-template-rows: 80px auto;
  align-items: flex-end;
}
.projects-grid_3 .projects-grid__item:nth-child(2) {
	grid-row: span 2;
}
/*.projects-grid_3 .projects-grid__item_big {
	display: grid;
  grid-template-columns: auto 300px;
  gap: var(--gap-big);
  align-items: flex-end;
}*/
.projects-grid_4 .projects-grid__item_big {
	display: grid;
  grid-template-columns: 300px auto;
  gap: var(--gap-big);
  align-items: flex-end;
}
.projects-grid_4 .projects-grid__item_big .projects-grid__item-image {
	aspect-ratio: 2/1;
	order: 1;
	grid-column: 2/3;
}
.projects-grid_5 {
	grid-template-columns: 1fr 1fr 1fr;
}
.projects-grid_5 .projects-grid__item-content {
	margin: auto 0 0 0;
  grid-column: span 2;
  padding: 60px 0 10px;
}
.projects-grid_5 .projects-grid__item_small {
	grid-row: 2/3;
}
.projects-grid_5 .projects-grid__item_small .projects-grid__item-image {
	aspect-ratio: 1/1;
}
.projects-grid_5 .projects-grid__item_big {
	grid-row: span 2;
  grid-column: 3/4;
}
.projects-grid_5 .projects-grid__item_big .projects-grid__item-image {
	aspect-ratio: 3/4;
}
.projects-grid_6 {
	grid-template-columns: 3fr 4fr;
	align-items: flex-end;
}
.projects-grid_6 .projects-grid__item-content {
	order: -1;
  grid-column-start: 2;
}
.projects-grid_6 .projects-grid__item_small {
	grid-column-start: 1;
  display: grid;
  gap: var(--gap-big);
  grid-auto-flow: dense;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  height: 100%;
  grid-row: span 2;
}
.projects-grid_6 .projects-grid__item_small .projects-grid__item-image {
	aspect-ratio: 4/5;
	grid-row-start: 2;
}
.projects-grid_6 .projects-grid__item_small .projects-grid__item-image:nth-child(2) {
	grid-column-start: 2;
	grid-row-start: 2;
}
.projects-grid_6 .projects-grid__item_big {
	grid-row: span 2;
  grid-column-start: 2;
  display: grid;
  gap: var(--gap-big);
  grid-auto-flow: dense;
  grid-template-columns: 1fr 1fr;
}
.projects-grid_6 .projects-grid__item_big .projects-grid__item-image {
	aspect-ratio: 3/5;
}
.projects-grid_6 .projects-grid__item_big .projects-grid__item-image:nth-child(2) {
	height: 60%;
	width: 100%;
  margin: 0 0 auto 0;
}
.projects-grid_6 .projects-grid__item_big .projects-grid__item-image:nth-child(3) {
	display: none;
}
.projects-grid_7 {
	display: none;
}
.projects-grid_7 .projects-grid__item_big {
	display: grid;
	grid-template-columns: 2fr 4fr 4fr;
	gap: var(--gap-big);
}
.projects-grid_7 .projects-grid__item_big .projects-grid__item-image {
	aspect-ratio: 4/5;
}
.projects-grid_7 .projects-grid__item_big .projects-grid__item-image:nth-child(1) {
	grid-column-start: 2;
}
.projects-grid_7 .projects-grid__item_big .projects-grid__item-image:nth-child(2) {
	display: none;
}
.projects-grid_7 .projects-grid__item_big .projects-grid__item-image:nth-child(3) {
	aspect-ratio: 4/5;
}

@media screen and (max-width: 1400px) {
	.projects-grid_6 .projects-grid__item-content {grid-column: span 2;}
}
@media screen and (max-width: 1200px) {
	.projects-grid_1 .projects-grid__title {text-align: center;grid-column: span 2;margin: auto auto 50px auto;}
	.projects-grid_1 .projects-grid__item_small {grid-template-columns: 1fr;}
	.projects-grid_1 .projects-grid__item_small .projects-grid__item-image {max-width: 300px;}
	.projects-grid_1 .projects-grid__item_big {grid-row: unset;}
	.projects-grid_2 .projects-grid__item_big {grid-template-columns: 1fr;}
	.projects-grid_2 .projects-grid__item_small {margin: auto 0 auto auto;}
	.projects-grid_5 .projects-grid__item-content {padding: 0;}
	.projects-grid_6 {grid-template-columns: 4fr 3fr;}
	.projects-grid_6 .projects-grid__item_big {grid-template-columns: 1fr;}
	.projects-grid_6 .projects-grid__item_big .projects-grid__item-image:nth-child(2) {display: none;}
}
@media screen and (max-width: 992px) {
	.projects-grid_4 .projects-grid__item_big {grid-template-columns: 1fr;}
	.projects-grid_4 .projects-grid__item_big .projects-grid__item-image {grid-column: unset;}
	.projects-grid_5 {grid-template-columns: 3fr 4fr;}
	.projects-grid_5 .projects-grid__item-content {margin: 0 0 0 auto;}
	.projects-grid_5 .projects-grid__item_small {grid-row: unset;}
	.projects-grid_5 .projects-grid__item_big {grid-column: 2/3;grid-row: 2/4;margin: auto 0 0 0;}
	.projects-grid_7 .projects-grid__item_big {grid-template-columns: 3fr 4fr;}
	.projects-grid_7 .projects-grid__item_big .projects-grid__item-image:nth-child(1) {grid-column-start: unset;}
}
@media screen and (max-width: 768px) {
	#projects {padding-top: 100px;}
	.projects-grid_1 .projects-grid__item_small {grid-column: span 2;}
	.projects-grid_1 .projects-grid__item_small .projects-grid__item-image {max-width: 500px;}
	.projects-grid_1 .projects-grid__item_big {grid-column: span 2;}
	.projects-grid_2 {grid-template-columns: 1fr;}
	.projects-grid_2 .projects-grid__item_small {order: -1;grid-template-columns: 1fr 1fr;gap: var(--gap-sm);}
	.projects-grid_2 .projects-grid__item_small .projects-grid__item-image:nth-child(2) {display: block;}
	.projects-grid_3 {gap: var(--gap-big) var(--gap-sm);}
	.projects-grid_3 .projects-grid__item_big {grid-template-columns: 1fr;gap: var(--gap-med);}
	.projects-grid_3 .projects-grid__item_big .projects-grid__item-content{order: -1;width: fit-content;margin: 0 0 0 auto;}
	.projects-grid_6 {grid-template-columns: 1fr;}
	.projects-grid_6 .projects-grid__item_small {grid-template-columns: 1fr 1fr;gap: var(--gap-big) var(--gap-sm);}
	.projects-grid_6 .projects-grid__item_small .projects-grid__item-image {grid-column-start: unset;grid-row-start: unset;}
	.projects-grid_6 .projects-grid__item_small .projects-grid__item-image:nth-child(2) {grid-row-start: unset;}
	.projects-grid_6 .projects-grid__item_big {grid-template-columns: 1fr 1fr;gap: var(--gap-big) var(--gap-sm);grid-row: unset;grid-column-start: unset;}
	.projects-grid_6 .projects-grid__item_big .projects-grid__item-image:nth-child(2) {display: block;height: 100%;}
}
@media screen and (max-width: 576px) {
	#projects {padding-top: 50px;}
	.projects-grid__title {font-size: 28px;}
	.projects-grid__item-title {font-size: 20px;margin: 20px 0 0 0;}
	.projects-grid_2 .projects-grid__item_big {order: -2;}
	.projects-grid_2 .projects-grid__item_big .projects-grid__item-image {order: 1;}
	.projects-grid_2 .projects-grid__item_small .projects-grid__item-image {max-width: 500px;}
	.projects-grid_3 {grid-template-columns: 1fr;grid-template-rows: unset;}
	.projects-grid_5 {gap: var(--gap-big) var(--gap-sm);grid-template-columns: 1fr 1fr;}
	.projects-grid_5 .projects-grid__item-content {margin: 0;padding: 0;}
	.projects-grid_5 .projects-grid__item_small {order: 1;}
	.projects-grid_5 .projects-grid__item_big {grid-row: unset;grid-column: span 2;}
	.projects-grid_6 .projects-grid__item_big .projects-grid__item-image:nth-child(1) {grid-column: span 2;aspect-ratio: unset;}
	.projects-grid_6 .projects-grid__item_big .projects-grid__item-image:nth-child(3) {display: block;}
	.projects-grid_7 {display: grid;}
	.projects-grid_7 .projects-grid__item_big {gap: var(--gap-big) var(--gap-sm);grid-template-columns: 1fr 1fr;}
	.projects-grid_7 .projects-grid__item_big .projects-grid__item-image:nth-child(2) {display: block;order: 1;}
	.projects-grid_7 .projects-grid__item_big .projects-grid__item-image:nth-child(1) {grid-column: span 2;order: -1;}
}

/*END PROJECTS*/

.btn.anim,
.btn.anim_show {
  transition: color .3s ease, border-color .3s ease, background .3s ease, border-color .3s ease, opacity 1.2s, transform 1.2s;
}
.anim,
.anim.anim_fadein {
  display: block;
  opacity: 0!important;
  transform: translate(0,0);
}
.anim.anim_bottom {
  transform: translate(0,50px);
}
.anim.anim_top {
  transform: translate(0,-50px);
}
.anim.anim_left {
  transform: translate(-50px,0);
}
.anim.anim_right {
  transform: translate(50px,0);
}
.anim.anim_svg {
  opacity: 1!important;
  stroke-dashoffset: 850;
}
.anim_show {
  opacity: 1;
  transition: opacity 1.2s ease, transform 1.2s ease, color .5s ease, border-color .5s ease;
  transform: translate(0,0);
}
.anim_show.anim_svg {
  stroke-dashoffset: 0;
}
.anim.anim_image_top {
	opacity: 1!important;
}
.anim_image_top::before {
	content: '';
  width: 100%;
  height: 100%;
  transform: translateY(0);
  display: block;
  background: var(--black);
  opacity: 1;
  position: absolute;
  bottom: 0;
  z-index: 1;
  transition: 1.0s ease-in-out;
}
.anim_image_top.anim_show::before {
	transform: translateY(30px);
	height: 0%;
}
.anim_image_left::before {
	content: '';
  width: 100%;
  height: 100%;
  transform: translateX(0);
  display: block;
  background: var(--black);
  opacity: 1;
  position: absolute;
  right: 0;
  z-index: 1;
  transition: 1.0s ease-in-out;
}
.anim_image_left.anim_show::before {
	transform: translateX(30px);
	width: 0%;
}

/*ANIMATION*/



/*END ANIMATION*/