@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@100..900&display=swap');
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	transition: all 0.5s ease; 
	font-family: "Raleway", sans-serif;
}
html{
  scroll-behavior: smooth;
}
main{
	overflow: hidden;
}
a{
	text-decoration: none;
  cursor: pointer;
	color: #eaf3f6;
}
section > h2{
	color: #11242e;
	font-size: 36px;
	margin: 20px 0;
	border-bottom: 4px solid #1d1f571d;
	padding-bottom: 15px;
	width: fit-content;
}
.burger {
	display: none;
  position: relative;
  border: none;
  background: transparent;
  width: 40px;
  height: 26px;
}
.burger::before,
.burger::after {
  content: '';
  left: 0;
  position: absolute;
  display: block;
  width: 100%;
  height: 4px;
  border-radius: 10px;
  background: #fff;
}
.burger::before {
  top: 0;
  box-shadow: 0 11px 0 #fff;
}
.burger::after {
  bottom: 0;
}
.burger::before {
  transition: box-shadow .3s .15s, top .3s .15s, transform .3s;
}
.burger::after {
  transition: bottom .3s .15s, transform .3s;
}
.burger.active::before {
  top: 11px;
  transform: rotate(45deg);
  box-shadow: 0 6px 0 rgba(0,0,0,0);
  transition: box-shadow .15s, top .3s, transform .3s .15s;
}
.burger.active::after {
  bottom: 11px;
  transform: rotate(-45deg);
  transition: bottom .3s, transform .3s .15s;
}
.header {
	position: fixed;
	display: flex;
	justify-content: space-between;
	background-color: #780000;
	overflow: hidden;
	width: 100%;
	z-index: 10;
	height: 70px;
}
.logo__container {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 10px 20px;
}
.logo__img {
	width: 50px;
}
.logo__name {
	font-weight: 700;
	color: #eaf3f6;
}
.nav {
	display: flex;
	margin-right: 1rem;
	height: 100%;
}
.nav__item {
	font-weight: 600;
	padding: 20px;
	text-align: center;
	font-size: 20px;
	border-top: 3px solid transparent;
}
.nav__item:hover{
	background: #dad7d37c;
	border-top: 3px solid #dad7d3;
}
#lang-toggle{
	width: 2rem;
}
.color,
h3 {
	color: #11242e;
	font-weight: 700;
}
.banner {
	display: grid;
	margin-top: 70px;
}
.banner__bg {
	grid-area: 1/1/2/2;
	filter: brightness(33%);
	width: 100%;
}
.banner__container {
	grid-area: 1/1/2/2;
	max-width: 1440px;
	margin: auto;
	z-index: 1;
	color: #dad7d3;
	padding: 15px;
}
h1{
	background-color: #dad7d355;
	width: fit-content;
	padding: 10px 20px;
	border-radius: 15px;
	margin: 20px 0;
}
.banner__text {
	font-size: 24px;
	max-width: 90%;
	line-height: 30px;
}
.services {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background-color: #80808025;
	height: 400px;
	padding-bottom: 30px;
}
.services__container {
	position: absolute;
	top: 20%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	gap: 50px;
}
.services__block {
	display: grid;
	width: 350px;
	height: 300px;
	color: #dad7d3;
	border-radius: 10px;
	transform: translateX(100%);
	opacity: 0;
  transition: opacity 2.5s ease, transform 3.5s ease;
	box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
}
.services__block.visible {
  opacity: 1;
  transform: translateX(0);
}
.services__img{
	grid-area: 1/1/2/2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(33%);
	border-radius: 10px;
}
.services__title {
	position: absolute;
	width: 350px;
	text-align: center;
	grid-area: 1/1/2/2;
	z-index: 1;
	bottom: 0;
	padding: 10px;
}
.services__text {
	grid-area: 1/1/2/2;
	z-index: 1;
	text-align: center;
	margin-top: 70px;
	opacity: 0;
	transition: 0.6s ease-in-out;
	padding: 15px;
	cursor: pointer;
}
.services__text:hover{
	opacity: 1;
}
.services__text-small {
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	margin: 0 auto;
}
.about {
	max-width: 1440px;
	padding: 50px;
	margin: 2rem auto;
}
.about > h2{
	margin: 2rem auto;
}
.about > div{
	display: flex;
	gap: 25px;
	justify-content: space-between;
}
.about__block {
	background-color: #4242420e;
	padding: 20px;
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}
.block__title {
	text-transform: uppercase;
	line-height: 36px;
	margin: 20px 0;
}
.block__text {
	line-height: 24px;
}
.block__img {
	width: 250px;
	position: absolute;
	opacity: 0.05;
	top: 0;
	right: 0;
}
.tasks,
.price  {
	max-width: 1000px;
	margin: 3rem auto;
	padding: 15px;
}
.tasks > h2,
.price > h2 {
	margin: 2rem auto;
}
.tasks__block {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}
.tasks__img {
	width: 300px;
}
.tasks__text {
	width: 50%;
	text-align: center;
	padding: 15px;
}
.price__text,
.price__show {
	text-align: center;
}
.price__show {
	margin: 2rem 0;
	font-weight: 500;
	cursor: pointer;
	color: #bababa;
}
.price__show:hover{
	color: #11242e;
}
.advantages {
	position: relative;
	height: 500px;
	overflow: hidden;
}
.advantages__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	filter: brightness(40%);
}
.advantages__container {
	position: absolute;
	top: 10%;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	max-width: 1000px;
	text-align: center;
	color: white;
	padding: 20px;
	will-change: transform;
	transition: transform 0.2s ease-out;
}
.advantages__container  > h3{
	color: whitesmoke;
	margin: 20px 0;
}
.technologies {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.technologies>h2{
	margin: 4rem 0;
}
.technologies__container {
	position: relative;
}
.stack {
	position: absolute;
	width: 90px;
}
.stack-line{
	width: 100%;
}
.stack-1{
	top: 23%;
	left: 0;
}
.stack-2{
	top: 20%;
	left: 25%;
	width: 100px;
}
.stack-3{
	top: 52%;
	left: 37%;
}
.stack-4{
	top: 30%;
	right: 25%;
	width: 150px;
}
.stack-5{
	top: 80%;
	right: 0%;
}
.contacts {
	background-color: #4242420e;
	margin-top: 5rem;
	text-align: center;
	padding: 3rem 0;
}
footer {
	display: flex;
	justify-content: space-around;
	padding: 10px;
	background-color: #780000;
	color: whitesmoke;
}
.contacts__block{
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 1rem 0;
}
.contacts__title {
	font-weight: 900;
}
.contacts__text{
	line-height: 20px;
}
.page{
	max-width: 1440px;
	margin: 5rem auto;
	padding: 10px;
	min-height: 70vh;
	overflow: hidden;
}
li{
	margin-left: 2rem;
}
.cookie-banner {
	display: block;
	position: fixed;
	left: 20px;
	transition: all 1s ease;
	background-color: #b0b0b0;
	bottom: 30px;
	padding: 30px;
	max-width: 300px;
	border-radius: 5px;
	z-index: 100;
	transform: translate(-200%);
}
.cookie-banner.active{
	transform: translate(0);
}
.cookie-btn {
	margin-top: 20px;
	background-color: #780000;
	color: whitesmoke;
	padding: 5px;
	font-size: 1.2rem;
	border: 0;
	border-radius: 5px;
}
.modal {
	display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.45);
  align-items: center;
  justify-content: center;
}
.modal-content {
  background: #ffffff;
  padding: 30px;
  width: 380px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  position: relative;
}
.close {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 26px;
  cursor: pointer;
  color: #11242e;
}

.form-title {
  text-align: center;
  margin-bottom: 20px;
  color: #11242e;
}

input, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  margin-bottom: 15px;
  font-size: 14px;
}
#message {
	resize: none; 
	width: 100%;
}
.send-btn {
  width: 100%;
  padding: 14px;
  background: #780000;
  color: #fff;
  border: none;
  cursor: pointer;
  border-radius: 8px;
  font-size: 15px;
}
.send-btn:hover {
  opacity: 0.9;
}

.success-message {
  background: #780000;
  color: #fff;
  padding: 12px;
  border-radius: 8px;
  text-align: center;
  margin-bottom: 15px;
  font-size: 15px;
}

@media (max-width:1200px) {
	.services{
		height: auto;
		align-items: center;
		padding: 20px;
	}
	.services__container{
		position: static;
		transform: translate(0,0);
		flex-direction: column;
		padding: 5rem 0;
	}
	.about > div{
		flex-direction: column;
	}
}
@media (max-width:900px){
	.header{
		align-items: center;
		padding-right: 20px;
	}
	h2{
		text-align: center;
	}
	.burger {
		display: block;
	}
	.nav{
		position: fixed;
		top: 0;
		right: -4%;
		background-color: #780000;
		flex-direction: column;
		width: 50%;
		padding: 2rem;
		transform: translate(100%);
	}
	.nav.active{
		transform: translate(0%);
	}
	.banner__bg{
		width: 150%;
	}
	h1{
		background: transparent;
		padding: 0;
	}
	.technologies__container{
		padding: 15px;
	}
	.banner__text{
		max-width: 100%;
	}
	.stack-line{
		opacity: 0.5;
	}
	.stack{
		width: 5rem;
	}
	.stack-4,
	.stack-2{
		width: 7rem;
	}
}
@media (max-width:680px){
	.tasks__block{
		flex-direction: column;
	}
	.tasks__text{
		width: 100%;
	}
	.stack-5{
		right: 3%;
	}
}
@media (max-width:580px){
	footer{
		flex-direction: column;
	}
	.technologies__container{
		height: 600px;
		width: 100%;
	}
	.stack-line{
		position: absolute;
		top: 2%;
		left: 50%;
		width: 600px;
		transform: rotate(90deg) translate(25%, 128%);
	}
	.stack-4,
	.stack-2{
		width: 10rem;
	}
	.stack-1{
		top: -5%;
		left: 40%;
	}
	.stack-2{
		left: 46%;
	}
	.stack-3{
		top: 60%;
		left: 66%;
	}
	.stack-4{
		top: 43%;
		right: 53%;
	}
	.stack-5{
		right: 46%;
	}
	.advantages__container{
		top: 0%;
	}
	.banner__bg{
		height: 600px;
		object-fit: cover;
	}
	.nav{
		width: 90%;
		right: -6%;
	}
	.about{
		padding: 5px 10px;
		margin: 10px;
	}
}
