
@import url(https://fonts.googleapis.com/css?family=Montserrat:regular,500,600,700,800&display=swap);
@import url(https://fonts.googleapis.com/css?family=Montserrat+Alternates:regular,500,600,700,800,900&display=swap);
@import url(https://fonts.googleapis.com/css?family=Nunito:regular,500,600,700,900,&display=swap);

* {
	padding: 0px;
	margin: 0px;
	border: 0px;
}
*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.focus :active {
   outline: none;
}
a:focus,
:active {
   outline: none;
}
nav,
footer,
header,
aside {
   display: block;
}
html,
body {
	height: 100%;
	width: 100%;
	font-size: 100%;
	line-height: 1;
	font-size: 14px;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
input,
button,
textarea {
   font-family: inherit;
}
input::-ms-clear {
   display: none;
}
button {
   cursor: pointer;
}
button::-moz-focus-inner {
   padding: 0;
   border: 0;
}
a,
a:visited {
   text-decoration: none;
}
a:hover {
   text-decoration: none;
}
ul li {
   list-style: none;
}
img {
   vertical-align: top;
}
h1,
h2,
h3,
h4,
h5,
h6 {
   font-size: inherit;
   font-weight: 400;
}

/* -------------------------------------------------- */

html,
body {
	height: 100%;
	color: rgba(65, 81, 103, 1);
	font-family: 'Nunito';
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	background-color: rgba(249, 251, 255, 1);
}
body._lock {
   overflow: hidden;
}
.wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
}
.container {
	margin: 0 auto;
	max-width: 1185px;
	padding: 0 15px;
}
.page {
	flex: 1 1 auto;
}
._aib {
   position: relative;
}
._aib img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
._title {
	margin-bottom: 90px;
	text-align: center;
	color: rgba(65, 81, 103, 1);
	font-family: 'Montserrat Alternates';
	font-weight: 900;
	font-size: 44px;
	line-height: 34px;
	position: relative;
}
._title::before {
	content: "";
	position: absolute;
	width: 100px;
	height: 2px;
	bottom: -30px;
	left: 50%;
	transform: translate(-50%, 0);
	border-radius: 50%;
	background: rgba(65, 81, 103, 1);
}
._title::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	bottom: -35px;
	left: 50%;
	margin-left: -5px;
	transform: translate(-50%, 0);
	transform: rotate(45deg);
	border: 2px solid rgba(65, 81, 103, 1);
	background: #f5f5f5;
}
.subtitle {
	color: rgba(65, 81, 103, 1);
	font-family: 'Nunito';
	font-weight: 700;
	font-size: 24px;
	line-height: 120%;
}
.item {
	border-radius: 12px;
	border: 4px solid rgba(65, 81, 103, 1);
	box-shadow: 0px 4px 24px 0px rgba(205, 205, 205, 0.5);
	transition: all 0.6s ease 0s;
}
.item:hover {
	box-shadow: 0px 4px 24px 0px rgba(133, 133, 133, 1);
}
.text {
	line-height: 140%;
	font-weight: 500; 
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.section {
	padding: 100px 0 130px 0;
	position: relative;
}
.gap-row {
	display: grid;
	gap: 30px;
}
.swiper-btn-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 5.4%;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(255, 160, 122, 0.8) url(../img/iconsfont/right-arrow.png) center no-repeat;
	z-index: 5;
	cursor: pointer;
	transition: all 0.3s ease 0s;
}
.swiper-btn-next:hover {
	background: rgba(255, 160, 122, 1) url(../img/iconsfont/right-arrow.png) center no-repeat;
}
.anim-show {
	opacity: 0;
	transition: all 1.2s ease 0s;
}
.anim-show._active {
	opacity: 1;
}
.btn-all {
	display: block;
	max-width: 400px;
	width: 100%;
	text-align: center;
	color: #f5f5f5;
	font-size: 16px;
	letter-spacing: 0.05em;
	font-family: 'Nunito';
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 4px;
	background-color: rgba(65, 81, 103, 1);
	transition: all 0.3s ease 0s;
}
.btn-all:hover {
	box-shadow: 0px 2px 8px 0px rgba(133, 133,133, 1);
	background-color: rgba(65, 81, 103, 1);
}

/* ============ MAIN SECTION ============= */

.header {
	display: none;
}
.main__container {
	display: flex;
	height: 100%;
	position: relative;
}
.main__container:before {
	content: "";
	position: absolute;
	width: 100vw;
	height: 100%;
	right: 25px;
	top: 0;
	transform: translate(100%, 0%); 
	background-color: rgba(65, 81, 103, 1);
}
.main__column--left {
	width: 302px;
	position: relative;
	padding: 72px 0 0 0;
}
.main__title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: rgba(65, 81, 103, 1);
	font-family: 'Nunito';
	font-weight: 900;
	font-size: 54px;
	line-height: 140%;
	text-transform: none;
	position: absolute;
	bottom: 64px;
	z-index: 5;
}
.main__title span {
	opacity: 0;
	position: relative; 
}
.main__title span:nth-child(1),
.main__title span:nth-child(3) {
	padding-left: 15px;
	letter-spacing: 0.05em;
}
.main__title span:nth-child(1),
.main__title span:nth-child(3) {
	transform: translate(-200%, 0%);  
}
.main__title span:nth-child(2) {
	opacity: 0;
	padding: 0px 15px;
	color: rgba(245, 245, 245, 1);
	background: #ffa07a;
/*	letter-spacing: 0.2em;  */
	letter-spacing: 0.18em;
	white-space: nowrap;
}
.main__title._active span:nth-child(1) {
	transition: all 1.2s ease 1.4s;
}
.main__title._active span:nth-child(2) {
	transition: all 1.4s ease 2.2s;
}
.main__title._active span:nth-child(3) {
	transition: all 1.2s ease 1.7s;
}
.main__title._active span {
	opacity: 1;
	transform: translate(0px, 0px);
}
.main__column--center {
	flex: 1 1 auto;
}
.main__image {
/*	padding: 0 0 111% 0;  */
	position: relative;
}
.main__image:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(65, 81, 103, 0.6);
	z-index: 2;
}
.main__image img {
	height: 100%; 
	width: 100%; 
	object-fit: cover;
}
.main__column--right {
	padding: 72px 0 0 56px;
	background: rgba(65, 81, 103, 1);
	z-index: 2;
}
.main__social {
}
.social-main {
	display: flex;
	column-gap: 15px;
	margin-bottom: 120px;
}
.social-main__link {
	display: inline-block;
	font-size: 25px;
	color: #f5f5f5;
	transition: all 0.3s ease 0s;
}
.social-main__link:hover { 
	color: #fff;
	transform: scale(1.01);
}
.main__nav {
}
.main__list .main__item {
	opacity: 0;
	transition: all 0.3s ease 0s; 
}
.main__item {
}
.main__item:not(:last-child) {
	margin-bottom: 30px;
}
.main__list._active .main__item:nth-child(1) {
	transition: all 0.8s ease 0.2s;
}
.main__list._active .main__item:nth-child(2) {
	transition: all 0.8s ease 0.4s;
}
.main__list._active .main__item:nth-child(3){
	transition: all 0.8s ease 0.6s;
}
.main__list._active .main__item:nth-child(4) {
	transition: all 0.8s ease 0.8s;
}
.main__list._active .main__item:nth-child(5) {
	transition: all 0.8s ease 1s;
}
.main__list._active .main__item:nth-child(6) {
	transition: all 0.8s ease 1.2s;
}
.main__list._active .main__item { 
	opacity: 1;
}
.main__link {
	white-space: nowrap;
	color: rgba(245, 245, 245, 1);
	font-family: 'Nunito';
	font-weight: 400;
	font-size: 14px;
	line-height: 150%;
	text-transform: uppercase;
	transform: translate(120px, 0px);
	transition: all 0.3s ease 0s;
	position: relative;
}
.main__item:nth-child(1) .main__link {
	font-weight: 500;
} 
.main__link:after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0px;
	width: 0;
	height: 1px;
	background-color: rgba(255, 160, 122, 1);
	transition: all 0.3s ease 0s;
}
.main__link:hover:after,
.main__link:focus:after {
	width: 100%;
}
.main__link:hover {
	color: #fff;
}

/* ============ ABOUT ============= */

.about {
}
.about-me {
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 30px;
	align-items: center;
}
.about-me__title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	height: 0%;
	font-weight: 700;
	border-radius: 12px;
	text-shadow: 1px 1px 2px rgba(65, 81, 103, 0.6);
	transition: all 0.6s ease 0s;
}
.about-me__title span:nth-child(1) {
	font-size: 44px;
}
.about-me__title span:nth-child(2) {
	font-size: 28px;
}
.about-me__title:hover {
	height: 100%;
	color: #f5f5f5;
	box-shadow: 0px 4px 24px 0px rgba(133, 133, 133, 1);
	background-color: rgba(65, 81, 103, 1);
}
.about-me__text {
	padding: 20px;
}
.about__row {
	grid-template-columns:repeat(3, 1fr);
}
.item-about {
	display: flex;
	flex-direction: column;
	align-items: center; 
	padding: 40px 30px;
	text-align: center;
}
.item-about:not(:last-child) {
/*	margin-bottom: 25px; */
}
.item-about__img {
	display: flex;
	justify-content: center;
	align-items: center; 
	width: 75px;
	height: 75px;
	margin-bottom: 40px;
	border-radius: 12px;
	background-color: rgba(65, 81, 103, 0.6);
	transform: rotate(45deg);
	transition: all 0.6s ease 0s;
}
.item-about:hover .item-about__img {
	background-color: rgba(65, 81, 103, 1);
	transform: rotate(0deg);
}
.item-about__icon {
	color: #fff;
	font-size: 47px;
	transform: rotate(-45deg);
	transition: all 0.6s ease 0s;
}
.item-about:hover .item-about__icon {
	color: #f5f5f5;
	transform: rotate(0deg);
}

/* ============ PORTFOLIO ============= */

.portfolio {
}
.portfolio:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	background-color: rgba(65, 81, 103, 1);
	transform: translate(-69.5%, 0); 
}
.portfolio__container {
	max-width: 1300px;
	position: relative;
}
.portfolio__slider {
	overflow: hidden; 
	position: relative;
}
.portfolio__slider:before {
	content: "";
	position: absolute;
	width: 100vw;
	height: 100%;
	right: 7.5%;
	top: 0;
	transform: translate(100%, 0%); 
	background-color: rgba(237, 240, 245, 0.5);
	z-index: 2;
}
.swiper_wrapper {
	display: flex;
	width: 100%;
	height: 100%;
}
.swiper_slide {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}
.swiper-slide__item {
	display: flex;
	border: 4px solid rgba(65, 81, 103, 0.6);
	border-radius: 12px;
	background: rgba(255, 255, 255, 1);
	overflow: hidden;
	transition: all 0.3s ease 0s;
}
.swiper-slide__item:hover {
	box-shadow: 0px 4px 24px 0px rgba(133, 133, 133, 1);
}
.swiper-slide__item:not(:last-child) {
	margin-bottom: 30px;
}
.swiper-slide__img {
	min-width: 240px;
	padding: 0 0 45% 0;
}
.swiper-slide__img img {
/*	width: 240px;
	height: 240px; */
}
.swiper-slide__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1 1 auto;
	padding: 0 40px;
}
.swiper-slide__title {
	margin-bottom: 14px;
	font-family: 'Montserrat Alternates';
	font-weight: 800;
	font-size: 24px;
}
.swiper-slide__link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120px;
	padding: 12px 24px;
	color: #f5f5f5;
	font-family: 'Nunito';
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05em;
	border-radius: 4px;
	background-color: rgba(255, 160, 122, 0.8);
	transition: all 0.3s ease 0s;
}
.swiper-slide__link:hover {
	background-color: rgba(255, 160, 122, 1);
}
.portfolio__all {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	position: absolute;
	bottom: -130px;
	right: 0px;
	padding: 0 15px;
}
.portfolio__all a {
	padding: 18px 40px;
/*	box-shadow: 0px 2px 12px 0px rgba(205, 205, 205, 0.5);  */
}

/* ============ PORTFOLIO - PAGE ============== */

.portfolio__page {
	padding-bottom: 100px;
}
.portfolio__page--container {
	position: relative;
}
.portfolio__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 25px;
	margin-bottom: 60px;
	position: relative;
	opacity: 0;
	transform: scale(0);
}
.portfolio__list._active  {
	opacity: 1;
	transform: scale(1);
	transition: all 1.5s ease 0s;
}
.portfolio__filter {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	color: #fff;
	cursor: pointer;
	border-radius: 12px;
	background-color: rgba(65, 81, 103, 0.6); 
	transition: all 0.3s ease 0s;
}
.portfolio__filter:hover {
/*	border-bottom: 1px solid rgba(65, 81, 103, 1); */
	background-color: rgba(65, 81, 103, 0.8);
}
.portfolio__filter.active {
	border-radius: 12px;
	background-color: rgba(65, 81, 103, 1);
}
.portfolio__body {
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 50px;
	position: relative;
	opacity: 0;
}
.portfolio__body._active {
	opacity: 1;
	transition: all 1.5s ease 0s;
}
.portfolio__item {
	position: relative;
	overflow: hidden;
	transform: scale(1); 
	transition: all 1.5s ease 0s; 
}
.portfolio__item img {
	opacity: 1;
	transition: all 1s ease 0s;
}
.portfolio__item:hover img {
	transform: scale(1.1);
}
.portfolio__image {
	padding: 0 0 80% 0;
	overflow: hidden;
	position: relative;
/*	transform: scale(0);
	transition: all 1.5s ease 0s; */
}
.portfolio__column._active .portfolio__item {
/*	transform: scale(1);  */
}
.portfolio__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	background: rgba(65, 81, 103, 0.8);
	opacity: 0;
	visibility: hidden;
	z-index: 5;
	transition: all 0.6s ease 0s;
}
.portfolio__item:hover .portfolio__background {
	opacity: 1;
	visibility: visible;
}
.portfolio__label {
	color: #ffa07a;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 28px;
	font-family: 'Montserrat Alternates';
	transition: 0.3s;
	transition: all 0.3s ease 0s;
	position: relative;
/*	 top: -3%; */
}
.portfolio__item:hover .portfolio__label {
/*	top: 0%; */
}
.portfolio__label:before {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translate(-50%, 0);
	height: 2px;
	width: 98%;
	background-color: #ffa07a;
	transition: all 0.3s ease 0s;
}
.portfolio__link {
	margin-top: 20px;
	font-family: 'Nunito';
	font-weight: bold;
	text-transform: uppercase;
	color: whitesmoke;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.05em;
	transition: all 0.3s ease 0s;
/*	 position: relative;
	bottom: -3%; */
}
.portfolio__item:hover .portfolio__link {
/*	bottom: 0%; */
}
.portfolio__link:hover {
	color: #ffa07a; 
}
.portfolio__link:hover + .portfolio__label {
	color: #f5f5f5;
}
.portfolio__link:hover + .portfolio__label:before {
	background-color: #f5f5f5;
}
.hide {
	animation-name: zoom-in;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
}
@keyframes zoom-in {
	0% {
		transform: scale(0.1);
	} 
	100% {
		transform: none;
	}
}
.show__block {
	display: flex;
	justify-content: space-between; 
	align-items: center;
}
.show__button {
/*	margin: 0 auto;  */
	height: 45px;
}
.show__button.hide-show {
/*	background-color: rgba(65, 81, 103, 0.6); */
}
.ago-main,
.go-up {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding-right: 16px;
	font-size: 15px;
	color: rgba(65, 81, 103, 1);
	font-family: 'Nunito';
	font-weight: 500;
	border-radius: 4px;
	background-color: rgba(237, 240, 245, 0.5);
	transition: all 0.3s ease 0s;
}
.ago-main span,
.go-up span {
	width: 40px;
	height: 40px;
	border-radius: 4px 4px 0 0;
	background: rgba(65, 81, 103, 0.6) url(../img/iconsfont/arrow-up.png) center/ 28px no-repeat;
	transform: rotate(-90deg);
	transition: all 0.3s ease 0s;
}
.ago-main:hover,
.go-up:hover {
	background-color: rgba(237, 240, 245, 1);
}
.ago-main:hover span {
	background-color: rgba(65, 81, 103, 1);
}
.go-up {
/*	margin: 0 auto;  */
/* position: fixed;
	right: calc((100% - 1155px) / 2);
	bottom: 30px; 
	float: right;  */
/*	margin-bottom: 40px; */
	padding: 0 0 0 16px;
	color: #ff753e;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.01em;
}
.go-up span {
	border-radius: 0 4px 4px 0;
	background: rgba(255, 160, 122, 0.8) url(../img/iconsfont/arrow-up.png) center/ 28px no-repeat;
	transform: rotate(0deg);
}
.go-up:hover span {
	background-color: rgba(255, 160, 122, 1);
} 

/* ============ SCROLL UP BUTTON ====== */

.scroll-button {
	position: fixed;
	box-sizing: border-box;
	border-radius: 50%;
	width: 75px;
	height: 75px;
	right: 10px;
	bottom: 65px;
	visibility: visible;
	opacity: 0.8;
	cursor: pointer;
	transition: all 0.6s;
	-webkit-transition: all 0.6s;
	-moz-transition: all 0.6s;
	-ms-transition: all 0.6s;
	-o-transition: all 0.6s;
	z-index: 2;
}
/* STYLE BUTTON 1 - filled in */
.scroll-button{
	background: rgba(255, 160, 122, 1) url(../img/iconsfont/arrow-up.png) center/ 45px no-repeat;
}

/* STYLE BUTTON 2 - only outlines */
/* .scroll-button{
  background: none;
  border: solid 2px rgb(210, 104, 211);
  
  color: rgb(249, 104, 211);
} */

/* SHAPE BUTTON 2 - square */
/* .scroll-button{
  border-radius: 0%;
} */

.scroll-button:hover {
   opacity: 1;
}
.scroll-button--hidden {
	opacity: 0;
	visibility: hidden;
}

/* ============ SERVICES ============== */

.services {
/*	background: rgba(237, 240, 245, 1);  */
}
.services__container {
	position: relative;
	z-index: 2;
}
.services__row {
	grid-template: repeat(3, 1fr) / repeat(3, 1fr);
}
.services__item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px;
}
.services__item:nth-child(1) {
	flex-direction: column;
	grid-row: span 3;
}
.services__item:hover:nth-child(1) {
	color: #f5f5f5;
	background-color: rgba(65, 81, 103, 1); 
}
.services__item p {
}
.services__item p span:nth-child(1) {
	display: block;
	float: left;
	width: 12px;
	height: 12px;
	margin: 4px 0 0 3px;
	transform: rotate(45deg);
	border-radius: 4px;
	background: rgba(65, 81, 103, 1);  
	transition: all 0.6s ease 0s;
}
.services__item:hover p span:nth-child(1) {
	background-color: #f5f5f5;
}
.services__item p span:nth-child(2){
	margin-left: 11px;
}
.services__item:nth-child(2) {
	grid-row: span 1;
}
.services__item:nth-child(3) {
	grid-row: span 1;
}
.services__item:nth-child(4) {
	grid-row: span 1;
}
.services__item:nth-child(5) {
}
.services__item:nth-child(6) {
}
.services__item:nth-child(7) {
}
.item-services__img {
	display: flex;
	justify-content: center;
	align-items: center; 
	min-width: 55px;
	min-height: 55px;
	border-radius: 12px;
	background-color: rgba(65, 81, 103, 0.6);
	transform: rotate(45deg);
	transition: all 0.6s ease 0s;
}
.services__item:hover .item-services__img {
	background-color: rgba(65, 81, 103, 1);
	transform: rotate(0deg);
}
.item-services__icon {
	color: #fff;
	font-size: 28px;
	transform: rotate(-45deg);
	transition: all 0.6s ease 0s;
}
.services__item:hover .item-services__icon {
	color: #f5f5f5;
	transform: rotate(0deg);
}

/* ============ CONTACTS ============= */

.contacts:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	background: rgba(65, 81, 103, 1);
	transform: translate(70.5%, 0); 
}
.contacts__container {
	position: relative;
	z-index: 2;
}
.contacts__arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 75px;
	height: 75px;
	border-radius: 50%;
	position: relative;
	position: absolute;
	z-index: 2;
	animation: arrow 2.2s infinite linear;
}
.contacts__arrow img  {
	width: 45px;
	height: 45px;
}
@keyframes arrow {
	0% {top: 0}
	50% {top: 100px; background-color: rgba(255, 160, 122, 1);}
	100% {top: 0}
}
.contacts__row {
	grid-template-columns: 45% auto 88px;
	align-items: center;
	background-color: rgba(249, 251, 255, 1);
}
.contacts__content {
}
.content-contacts {
}
.content-contacts__title {
	margin-bottom: 20px;
	font-size: 28px;
}
.content-contacts__text {
	margin-bottom: 30px;
}
.contacts__email {
}
.contacts__label {
	font-size: 14px;
	font-weight: 600;
}
.contacts__email a {
	color: rgba(65, 81, 103, 1);
	font-family: 'Montserrat';
	font-size: 18px;
	text-transform: uppercase;
	font-weight: 800;
	position: relative;
}
.contacts__email a:after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0px;
	width: 100%;
	height: 2px;
	opacity: 0;
	visibility: hidden;
	background-color: rgba(65, 81, 103, 1);
	transition: all 0.3s ease 0s;
}
.contacts__email a:hover:after,
.contacts__email a:focus:after {
	opacity: 1;
	visibility: visible;
}
.contacts__form {
	width: 100%;
}
.contacts__items {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
}
.contacts__input {
	flex: 1 1 auto;
	height: 40px;
	margin-bottom: 20px;
}
.input {
	width: 100%;
	height: 100%;
	padding-left: 15px;
	outline: none;
	border: 2px solid rgba(65, 81, 103, 0.6);
	border-radius: 4px;
	color: rgba(65, 81, 103, 1);
}
.input:focus {
	border: 2px solid rgba(65, 81, 103, 1);
}
.contacts__mressage {
	margin-bottom: 25px;
}
.contacts__textarea {
	min-height: 140px;
   padding-top: 15px;
	resize: none;
}
.contacts__send {
}
.form__send-result {
	margin-bottom: 25px;
}
.contacts__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 45px;
	color: #f5f5f5;
	font-family: 'Nunito';
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.1em;
	border-radius: 4px;
	background-color: rgba(65, 81, 103, 0.6);
	transition: all 0.3s ease 0s;
}
.contacts__button:hover {
	background-color: rgba(65, 81, 103, 1);
}
.contacts__social {
}
.social-contacts {
	width: 88px;
}
.social-contacts__link {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 7px;
	width: 100%;
	height: 154px;
	color: rgba(65, 81, 103, 1);
	font-size: 34px;
	border-bottom: 2px solid rgba(65, 81, 103, 1);
	background-color: rgba(249, 251, 255, 1);
	transition: all 0.3s ease 0s;
}
.social-contacts__link span {
	font-size: 14px;
}
.social-contacts__link:last-child {
	border-bottom: none;
}
.social-contacts__link:hover {
	color: #f5f5f5;
	background-color: rgba(65, 81, 103, 1);
}

/* ============ FOOTER ============= */

.footer {
	padding: 20px 0;
	background: rgba(237, 240, 245, 1);
	position: relative;
}
.footer__rights {
	margin: 0 auto;
	text-align: center;
	color: rgba(65, 81, 103, 1);
	font-family: 'Nunito';
	font-weight: 600;
	font-size: 14px;
	line-height: 22px;
}
.footer-portfolio--bg {
	background-color: rgba(65, 81, 103, 1);
}
.footer-portfolio--bg .footer__rights {
	color: #f5f5f5;
}

/* ======================== 404 ======================== */

.four__zero__four {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    color: rgba(249, 251, 255, 1);
    text-shadow: 10px 5px 0px rgba(65, 81, 103, 1);
    font-family: 'Nunito';
	 font-style: italic;
}
.fzf {
    font-size: 305px;
    font-size: calc(85px + 220 * (100vw / 1920));
}
.four__zero__four h6 {
    font-size: 125px;
    font-size: calc(45px + 80 * (100vw / 1920));
}
.four__zero__four p {
    margin: 40px 0 20px 0;
    font-size: 40px;
    font-size: calc(20px + 20 * (100vw / 1920));
    letter-spacing: 1px;
	text-shadow: 6px 2px 0px rgba(65, 81, 103, 1);
}
.timer {
    margin: 40px auto;
    width: 300px;
    height: 20px;
    background-color: rgba(65, 81, 103, 1);
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
.timer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    z-index: 3;
    animation: mask__left 5s steps(1, end) forwards;
}
.timer::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1000%;
    height: 100%;
    z-index: 3;
    background-color: rgba(65, 81, 103, 1);
    animation: mask__right 5s steps(1, end) forwards;
}
.timer__line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    animation: line 5s linear forwards;
}
.timer__line:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(154, 168, 189, 0.6);
}
.timer__body {
    width: 200px;
    height: 24px;
    text-align: center;
    overflow: hidden;
    z-index: 4;
}
.timer__counter {
    animation: counter 5s steps(4, end) forwards;
}
.timer__counter span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    color: rgba(249, 251, 255, 1);
    text-shadow: none;
    font-style: normal;
    z-index: 5;
}
@keyframes counter {
    0% {
    }
    100% {
        transform: translate(0px, -77px);
    }
}
@keyframes line {
    0% {               
    }
    100% {
        transform: translate(100%);
    }
}
@keyframes mask__left {
    0% {  
        visibility: visible;              
    }
    100% {
        visibility: hidden;
    }
}
@keyframes mask__right {
    0% {  
        visibility: hidden;              
    }
    100% {
        visibility: visible;
    }
}
.timer__text {
    color: rgba(65, 81, 103, 1);
    font-size: 12px;
    text-shadow: none;
    text-align: center;
}

/* ============ ADAPTIVE ============= */

@media (max-width: 1185px) {
	._title {
		margin-bottom: calc(70px + 20 * ((100vw - 320px) / 865));
		font-size: calc(34px + 10 * ((100vw - 320px) / 865));
	}
	.section {
		padding-top: calc(60px + 40 * ((100vw - 320px) / 865));
		padding-bottom: calc(80px + 50 * ((100vw - 320px) / 865));
	}
	.gap-row  {
		gap: calc(20px + 10 * ((100vw - 320px) / 865));
	}
	.main__title {
		font-size: 46px;  
	/*	font-size: calc(34px + 20 * ((100vw - 320px) / 865));  */
	}
	.main__column--right {
		padding: 72px 0 0 52px;
	/*	padding-left: calc(0px + 56 * ((100vw - 320px) / 865));  */
	}
	.about-me {
		margin-bottom: calc(20px + 10 * ((100vw - 320px) / 865));
	}
	.item-about {
		padding-top: calc(25px + 15 * ((100vw - 320px) / 865));
		padding-bottom: calc(20px + 20 * ((100vw - 320px) / 865));
		padding-right: calc(20px + 10 * ((100vw - 320px) / 865));
		padding-left: calc(20px + 10 * ((100vw - 320px) / 865));
	}
	.about-me__title span:nth-child(1) {
		font-size: calc(34px + 10 * ((100vw - 320px) / 865));
	}
	.about-me__title span:nth-child(2) {
		font-size: calc(20px + 8 * ((100vw - 320px) / 865));
	}
	.item-about__img {
		margin-bottom: calc(20px + 20 * ((100vw - 320px) / 865));
	}
	.swiper-btn-next,
	.portfolio__slider:before {
		display: none;
	}
	.swiper-slide__content {
		padding-right: calc(20px + 20 * ((100vw - 320px) / 865));
		padding-left: calc(20px + 20 * ((100vw - 320px) / 865));
	}
	.swiper-slide__title {
		font-size: calc(20px + 4 * ((100vw - 320px) / 865));
	}
	.portfolio__all {
		bottom: calc(-80px - 50 * ((100vw - 320px) / 865));  
	}
	.portfolio__all a {
		padding-right: calc(20px + 20 * ((100vw - 320px) / 865));
		padding-left: calc(20px + 20 * ((100vw - 320px) / 865));
	}
	.portfolio__page {
		padding-bottom: calc(50px + 50 * ((100vw - 320px) / 865));
	}
	.btn-all {
		font-size: calc(14px + 2 * ((100vw - 320px) / 865));
	}
	.swiper-slide__img {
	/*	min-width: 200px; */
	}
	.portfolio__list {
		margin-bottom: calc(40px + 20 * ((100vw - 320px) / 865));
	}
	.portfolio__label {
		font-size: calc(24px + 4 * ((100vw - 320px) / 865));
	}
	.portfolio__link {
		font-size: calc(14px + 2 * ((100vw - 320px) / 865));
	}
	.content-contacts__title {
		margin-bottom: calc(10px + 10 * ((100vw - 320px) / 865));
	}
	.content-contacts__text {
		margin-bottom: calc(20px + 10 * ((100vw - 320px) / 865));
	}
	.contacts__label {
		font-size: calc(12px + 2 * ((100vw - 320px) / 865));
	}
	.contacts__email a {
		font-size: calc(16px + 2 * ((100vw - 320px) / 865));
	}
	.scroll-button {
		display: none;
	}
}

@media(max-width: 1024px) {
	.header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 80px;
		padding: 0 15px;
		position: relative;
		z-index: 50;
		background-color: rgba(249, 251, 255, 1);
	}
	.header__burger {
		display: block;
		position: relative;
		width: 40px;
		height: 31px;
		margin-top: 4px;
		cursor: pointer;
	}
	.header__burger span {
		position: absolute;
		top: 10px;
		width: 100%;
		height: 4px;
		background-color: rgba(65, 81, 103, 1);
		transition: all 0.3s ease 0s;
	}
	.header__burger span:nth-child(1) {
		top: -1px;
	}
	.header__burger span:nth-child(3) {
		top: auto;
		bottom: 6px;
	}
	.header__burger._active span:nth-child(1) {
		transform: rotate(-225deg);
		top: 8px;
	}
	.header__burger._active span:nth-child(2) {
		transform: scale(0);
	}
	.header__burger._active span:nth-child(3) {
		transform: rotate(225deg);
		bottom: 18.5px;
	}
	.main__column--right {
		position: fixed;
		top: 0;
		left: -100%;
		width: 50%;
		height: 100%;
		background-color: rgba(65, 81, 103, 1);
		padding: 150px 30px 30px 30px;
		transition: left 0.3s ease 0s;
		overflow: auto;
		z-index: 20;
	}
	.main__column--right._active {
		left: 0;
	}
	/*
	.main__column--right::before {
		content: "";
		position: fixed;
		top: 0;
		left: -100%;
		width: 100%;
		height: 80px;
		background-color: rgba(249, 251, 255, 1);
		z-index: 2;
		transition: left 0.6s ease 0s;
	}
	.main__column--right._active::before {
		left: 0;
	}
	*/
	.main__column--right {
		display: block;
	}
	.social-main {
		margin-bottom: 70px;
	}
	.main__container {
		flex-direction: column;
	}
	.main__container:before {
		display: none;
	}
	.main__column--left {
		padding: 0;
	}
	.main__column--center {
		position: relative;
	}
	.main__image {
		position: relative;
	}
	/*
	.main__image:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(65, 81, 103, 0.6);
		z-index: 2;
	}
	*/
	.main__image img {
		height: 588px;
	}
	.main__title {
		letter-spacing: 0.1em;
		text-align: center;
		color: #f5f5f5;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%); 
		font-size: calc(34px + 22 * ((100vw - 320px) / 704));
	}
	.main__title span:nth-child(2) {
		padding: 0 5px 0 15px;
	}
	.main__title._active span:nth-child(1) {
		transition: all 1.2s ease 0.4s;
	}
	.main__title._active span:nth-child(2) {
		transition: all 1.4s ease 1.2s;
	}
	.main__title._active span:nth-child(3) {
		transition: all 1.2s ease 0.7s;
	}
}

@media(max-width: 991px) {
	.about-me,
	.about__row {
		grid-template-columns: repeat(1, 1fr);
	}
	.about-me__title {
		padding: 20px;
	}
	.about-me__text {
		text-align: center;
	}
	.portfolio,
	.contacts {
		background: rgba(237, 240, 245, 1);
	}
	.portfolio__slider {
		margin-bottom: calc(40px + 20 * ((100vw - 320px) / 640));
	}
	.swiper-slide__item:not(:last-child) {
		margin-bottom: 25px;
	}
	.swiper-slide__item {
		flex-direction: column;
	}
	.swiper-slide__content {
		align-items: center;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.portfolio__all {
		justify-content: center;
		position: relative;
		bottom: 0;
		padding: 0;
	}
	.portfolio__body {
		grid-template-columns: repeat(2, 1fr);
	}
	.portfolio:before,
	.contacts:before {
		display: none;
	}
	.show__button {
		display: block;
	}
	.services__row {
		grid-template: repeat(3, 1fr) / repeat(2, 1fr);
	}
	.services__item:nth-child(1) {
		grid-column: span 2;
	}
	.contacts__row {
		grid-template-columns: repeat(1, 1fr);
		background-color: transparent;
	}
	.contacts__arrow {
		display: none;
	}
	.contacts__button {
		margin-bottom: 10px;
	}
	.social-contacts {
		display: flex;
		column-gap: 20px;
		width: 100%;
	}
	.social-contacts__link {
		height: 88px;
		font-size: 34px;
	/*	border-bottom: none; */
		border: 4px solid rgba(65, 81, 103, 1);
		border-radius: 12px;
	/*	background-color: transparent;  */
	}
	.social-contacts__link:last-child {
	/*	border-right: none;*/
		border-bottom: 4px solid rgba(65, 81, 103, 1);
	}
	.footer {
		background-color: rgba(65, 81, 103, 1);
	}
	.footer__rights {
		color: #f5f5f5;
	}
}

@media(max-width: 630px) {
	.main__column--right {
		width: 100%;
		background-color: rgba(65, 81, 103, 0.98);
	}
	.main__logo img {
		width: 164px;
		width: 184px;
	}
	.swiper-slide__item:not(:last-child) {
		margin-bottom: 20px;
	}
	.swiper-slide__content {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.portfolio__list {
		gap: 20px;
	}
	.portfolio__filter {
		flex: 1 1 auto;
	}
	.portfolio__body {
		grid-template-columns: repeat(1, 1fr);
	}
	.services__item {
		flex-direction: column;
		grid-column: span 2;
		text-align: center;
	}
	.services__item:nth-child(1) {
		text-align: left;
	}
	.contacts__input {
		flex: 1 1 100%;
	}
	.social-contacts__link {
		font-size: 30px;
	}
}