* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;

	font-family: monospace;
	scroll-behavior: smooth;
}

html::-webkit-scrollbar {
	width: .9vw;
}

html::-webkit-scrollbar-thumb {
	background-color: mediumpurple;
	border-radius: 10px;
}

html::-webkit-scrollbar-thumb:hover {
	background-color: rebeccapurple;
}

html::-webkit-scrollbar-track {
	background-color: #2b1055;
}

.wrap {
	width: 100%;
	min-height: 100vh;

	background: linear-gradient(#2b1055, #7597de);

	overflow-x: hidden;
}

.header {
	width: 100%;

	position: fixed;
	top: 0;
	left: 0;

	padding: 30px 100px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	z-index: 100;
}

.logo {
	font-size: 30px;
	font-weight: 700;
	color: #fff;

	text-decoration: none;
	text-shadow: 3px 3px 0px #000;
}

.menu_block {
	display: flex;
	align-items: center;
	justify-content: center;

	overflow: hidden;

	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
}

.menu_btn {
	width: 50px;
	height: 50px;

	background-color: #fff;
	border-radius: 50%;

	display: block;

	position: relative;

	cursor: pointer;
}

.menu_btn_span,
.menu_btn_span:before,
.menu_btn_span:after {
	width: 20px;
	height: 3px;

	position: absolute;
	top: 50%;
	left: 50%;

	margin-left: -10px;
	margin-top: -1px;

	background-color: #2b1055;
}

.menu_btn_span:before,
.menu_btn_span:after {
	content: "";

	display: block;

	transition: .3s linear;
}

.menu_btn_span:before {
	transform: translateY(-7px);
}

.menu_btn_span:after {
	transform: translateY(5px);
}

.menu_btn_active .menu_btn_span {
	height: 0;
}

.menu_btn_active .menu_btn_span:before {
	transform: rotate(45deg);
}

.menu_btn_active .menu_btn_span:after {
	transform: rotate(-45deg);
}

.nav {
	height: 50px;
	line-height: 50px;

	background-color: #fff;
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;

	padding-right: 40px;
	margin-right: -25px;

	display: flex;
	align-items: center;
	justify-content: center;

	transition: .3s linear;
	transform: scaleX(0) translateX(0%);
	transform-origin: right center;
	opacity: 0;
}

.nav_active {
	transform: scaleX(1) translateX(0%);
	opacity: 1;
}

.nav_item {
	line-height: 40px;

	margin-left: 20px;
	padding: 0px 15px;

	text-decoration: none;
	font-size: 20px;
	color: #2b1055;

	border-radius: 20px;

	transition: .1s linear;
	cursor: pointer;
}

.nav_item_active {
	background-color: #2b1055;
	color: #fff;
}

.nav_item:hover {
	background-color: #2b1055;
	color: #fff;
}

.section {
	width: 100%;
	height: 100vh;

	position: relative;

	padding: 100px;

	display: flex;
	align-items: center;
	justify-content: center;

	overflow: hidden;
}

.section:before {
	content: "";

	width: 100%;
	height: 100px;

	position: absolute;
	bottom: 0;

	background: linear-gradient(to top, #1c0522, transparent);
	z-index: 4;
}

.section_img {
	width: 100%;
	height: 100%;

	position: absolute;
	top: 0;
	left: 0;

	object-fit: cover;
	pointer-events: none;
}

.moon {
	mix-blend-mode: screen;
}

.mountains_front {
	z-index: 3;
}

.text {
	font-size: 100px;
	font-weight: 900;
	color: #fff;

	white-space: nowrap;
	z-index: 2;

	position: absolute;
}

.btn {
	font-size: 25px;
	color: #2b1055;

	text-decoration: none;
	transform: translateY(100px);

	padding: 8px 30px;

	border-radius: 40px;
	background-color: #fff;

	display: inline-block;

	z-index: 2;
	overflow: hidden;
}

.btn:hover {
	background-color: #2b1055;
	color: #fff;

	transition: .1s linear;
}

.works {
	width: 100%;
	height: 100%;

	position: relative;

	padding: 50px 100px;

	background-color: #1c0522;

	display: flex;
	align-items: center;
	flex-direction: column;
}

.title {
	font-size: 45px;
	font-weight: 900;
	color: #fff;

	text-align: center;
	text-shadow: 3px 3px 0px #000;

	margin-bottom: 25px;
}

.works_amount {
	font-size: 25px;
	color: #fff;
}

.works_item {
	width: 1000px;
	height: 500px;

	background-color: rgba(0, 0, 0, 0.8);

	margin: 50px 0px;

	position: relative;
}

.background_color {
	width: 1000px;
	height: 500px;

	position: absolute;
	top: 0;
	left: 0;

	background-color: rgba(0, 0, 0, 0.8);
}

.works_number {
	font-size: 200px;
	font-weight: 900;
	color: #fff;
	text-shadow: 3px 3px 0px #000;

	position: absolute;
	top: -75px;
	right: 0px;
}

.works_item_title {
	position: absolute;
	top: 225px;
	left: 50px;

	font-size: 75px;
	font-weight: 900;
	color: #fff;
	text-shadow: 3px 3px 0px #000;
}

.works_item_descriptions {
	font-size: 20px;
	color: #fff;

	position: absolute;
	top: 300px;
	left: 50px;
}

.works_item_descriptions_castom {
	top: 310px;
}

.works_btn {
	font-size: 25px;
	color: #fff;

	text-decoration: none;

	padding: 8px 30px;

	background: linear-gradient(to right, #e52d27, #b31217);

	position: absolute;
	top: 350px;
	left: 50px;

	transition: 1s linear;
}

.works_btn:hover {
	background: linear-gradient(to right, #F00000, #DC281E);
}

.code_btn {
	background: linear-gradient(to right, #FF512F, #F09819);

	left: 200px;
}

.code_btn:hover {
	background: linear-gradient(to right, #e65c00, #F9D423);
}

.about_descriptions_place {
	padding: 0px 55px;
}

.about_descriptions {
	font-size: 25px;
	color: #fff;
}

.footer {
	width: 100%;
	height: 250px;

	padding: 30px 100px;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	background-color: #111;
	border-top: 1px solid #333;
}

.footer_img {
	margin-bottom: 25px;
}

.footer_links {
	display: flex;

	margin-bottom: 15px;
}

.footer_links_item {
	font-size: 25px;
	color: #fff;

	text-decoration: none;

	margin: 0px 15px;
}

.footer_links_item:hover {
	text-decoration: underline;
}

.footer_description {
	font-size: 20px;
	color: #333;
}

.skills_block {
	width: 1000px;
	height: auto;

	background-color: #fff;

	padding: 25px;
}

.skills_block_title {
	font-size: 45px;
	font-weight: 900;
	color: #2b1055;

	text-align: center;
}

.skills_block_item {
	display: flex;
	align-items: center;
	justify-content: center;
}

.skills_block_item_container {

}

.skills_name {
	font-size: 35px;
	font-weight: 900;
	color: rebeccapurple;

	margin: 15px 25px;
}

.input_place {
	width: 660px;

	display: flex;
	justify-content: space-between;
}

.input {
	width: 325px;
	height: 50px;

	background-color: #111;
	border: 1px solid #333;
	border-radius: 5px;

	outline: none;

	font-size: 25px;
	color: #fff;

	padding: 0px 10px;
}

.textarea {
	width: 660px;
	height: 150px;

	background-color: #111;
	border: 1px solid #333;
	border-radius: 5px;

	resize: none;
	outline: none;

	margin-top: 10px;
	padding: 10px;

	font-size: 25px;
	color: #fff;
}

.send_btn {
	width: 150px;
	line-height: 35px;

	font-size: 25px;
	color: aqua;

	background-color: transparent;
	border: 1px solid aqua;
	border-radius: 5px;

	margin-top: 25px;

	cursor: pointer;
	transition: .1s linear;
}

.send_btn:hover {
	background-color: aqua;
	color: #1c0522;
}

.reveal {
	position: relative;

	transform: translateY(150px);
	transition: .3s linear;

	opacity: 0;
}

.reveal.reveal_active {
	transform: translateY(0px);

	opacity: 1;
}

@media (max-width: 822px) {

	.text {
		font-size: 75px;
	}

	.btn {
		font-size: 15px;

		transform: translateY(75px);
	}

}

@media (max-width: 1000px) {

	.header {
		padding: 30px 50px;
	}

	.text {
		font-size: 75px;
	}

	.btn {
		font-size: 15px;

		transform: translateY(75px);
	}

	.works_item {
		width: 750px;
	}

	.works_img {
		width: 750px;
	}

	.background_color {
		width: 750px;
	}

	.skills_block {
		width: 850px;
	}

}

@media (max-width: 750px) {

	.header {
		padding: 30px 25px;
	}

	.works_item {
		width: 650px;
	}

	.works_img {
		width: 650px;
	}

	.background_color {
		width: 650px;
	}

	.about_descriptions_place {
		padding: 0px 25px;
	}

	.skills_block {
		width: 700px;
	}

	.skills_name {
		margin: 15px 35px;
	}

}

@media (max-width: 750px) {

	.header {
		padding: 30px 15px;
	}

	.logo {
		font-size: 25px;
	}

	.works_item {
		width: 500px;
	}

	.works_img {
		width: 500px;
	}

	.background_color {
		width: 500px;
	}

	.skills_block {
		width: 500px;
	}

	.skills_name {
		margin: 15px 0px;
	}

	.skills_block_item {
		flex-direction: column;
	}

}

@media(max-width: 650px) {

	.input_place {
		width: 500px;
	}

	.input {
		width: 245px;

		margin-top: 15px;
	}

	.textarea {
		width: 500px;
	}

}

@media (max-width: 500px) {

	.header {
		padding: 30px 70px;
	}

	.logo {
		display: none;
	}

	.menu_block {
		position: absolute;

		top: 25px;
		right: 25px;
	}

	.nav_item {
		padding: 0px 0px;
	}

	.works_item {
		width: 400px;
	}

	.works_img {
		width: 400px;
	}

	.background_color {
		width: 400px;
	}

	.works_item_title {
		top: 275px;
		left: 25px;
	}

	.works_item_descriptions {
		top: 350px;
		left: 30px;
	}

	.works_btn {
		top: 400px;
		left: 30px;
	}

	.code_btn {
		left: 180px;
	}

	.works_item_title_castom {
		font-size: 55px;
	}

	.works_item_descriptions_castom {
		top: 400px;
	}

	.works_btn_castom {
		top: 435px;
	}

	.code_btn_castom {
		top: 435px;
	}

	.about_descriptions_place {
		padding: 0px 0px;
	}

	.skills_block {
		width: 400px;
	}

	.skills_name {
		margin: 15px 0px;
	}

	.skills_block_item {
		flex-direction: column;
	}

	.input_place {
		flex-direction: column;
		align-items: center;
	}

	.input {
		width: 400px;

		margin-top: 15px;
	}

	.textarea {
		width: 400px;
	}

	.footer_links_item {
		margin: 0px 8px;
	}

}

@media (max-width: 400px) {

	.header {
		padding: 30px 0px;
	}

	.logo {
		display: none;
	}

	.menu_block {
		position: absolute;

		top: 25px;
		right: 15px;
	}

	.nav_item {
		padding: 0px 0px;
	}

	.works_item {
		width: 300px;
	}

	.works_img {
		width: 300px;
	}

	.background_color {
		width: 300px;
	}

	.works_item_title {
		top: 275px;
		left: 15px;
	}

	.works_item_descriptions {
		top: 350px;
		left: 20px;
	}

	.works_btn {
		top: 400px;
		left: 20px;
	}

	.code_btn {
		left: 165px;
	}

	.works_item_title_castom {
		font-size: 55px;
	}

	.works_item_title_castom_two {
		font-size: 55px;
	}

	.works_item_title_castom_pizza {
		font-size: 50px;
	}

	.works_item_descriptions_castom {
		top: 400px;
	}

	.works_btn_castom {
		top: 435px;
	}

	.code_btn_castom {
		top: 435px;
	}

	.about_descriptions_place {
		padding: 0px 0px;
	}

	.skills_block {
		width: 300px;
	}

	.skills_name {
		margin: 15px 0px;

		text-align: center;
	}

	.skills_block_item {
		flex-direction: column;
	}

	.input {
		width: 325px;

		margin-top: 15px;
	}

	.textarea {
		width: 325px;
	}

	.footer_links_item {
		font-size: 20px;

		margin: 0px 8px;
	}

	.footer_description {
		font-size: 18px;
	}

}

@media (max-width: 320px) {

	.text {
		font-size: 50px;
	}

	.btn {
		transform: translateY(50px);
	}

	.input {
		width: 250px;

		margin-top: 15px;
	}

	.textarea {
		width: 250px;
	}

	.footer_links_item {
		font-size: 15px;

		margin: 0px 5px;
	}

	.footer_description {
		font-size: 10px;
	}

}