:root {
	--h-font: 'Zarubka';
	--p-font:  'Montserrat', sans-serif;

	--black: #0B0909;
	--accent: #BCE0FF;
	--gray-light: #5e5e5e;
	--gray: #343434;
	--gold: #8B741F;

	--t-shadow: 0 4px 4px rgb(29 32 43 / 25%);

	--w-large: min(1160px, 100% - 30px);
	--w-medium: calc(var(--w-large) - 100px);
	--w-small: calc(var(--w-large) - 200px);
}
@font-face {
	font-family: "Zarubka";
	font-style: normal;
	font-weight: 400;
		/* Браузер сначала попробует найти шрифт локально */
	src: local("ZarubkaType"),
		/* Если браузер не поддерживает woff2, загрузит woff */
		url("../fonts/zarubkaType-Regular.ttf") format("woff");
}

* {
	/*scroll-behavior: smooth;*/
	box-sizing: border-box;
}
body {
	color: whitesmoke;
	font-family: var(--p-font);	
	background: url('../images/bg-footer.png') 50% calc(100% - 30px) repeat-x,
							url('../images/bg-stars.jpg');
	background-color: var(--black);
	padding-bottom: 100px;
}

h1, h2, h3, h4, h5 {
	font-family: var(--h-font);
	font-weight: 400;
	line-height: 1;
	margin: 0;
}

h2 {
	font-size: 128px;
	text-align: center;
	text-shadow: var(--t-shadow);
}

h4 {
	color: var(--accent);
	font-size: 32px;
	& span {
		color: #fff;
	}
}

p {
	line-height: 150%;
}
.mt2 {
	margin-top: 20px;
}
.mt3 {
	margin-top: 30px;
}

.hr {
	height: 1px;
	background: url('../images/hr.png') right no-repeat;
}
.vr {
	flex-shrink: 0;
	width: 1px;
	background: linear-gradient(to bottom,  #35353500 0%, #35353535 33%, #353535 66%, #35353500 100%);
}

.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 370px;
	height: 115px;
	color: var(--gold);
	font-size: 18px;	
	font-weight: 800;	
	line-height: 20px;
	text-transform: uppercase;
	text-decoration: none;
	background-image: url(../images/bg-btn.png);
	background-color: transparent;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	border: none;
	&.btn-small {
		padding: 20px;
		width: auto;
		height: auto;
		background-size: cover;
		border-radius: 10px;
		font-size: 16px;
	}
}


.promo {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	min-height: 100vh;
	padding: 80px;
	/*
	background: url('../images/bg-clouds.png') 50% 100% no-repeat,
							url('../images/section_01_bg_low.jpg') 50% 0 no-repeat;
	background-size: 100% min(700px, 70%), cover;
	*/
	background: url('../images/section_00_bg.jpg') 50% 0 no-repeat;
	
	&::before {
		content: '';
		position: absolute;
		bottom: -80px;
		height: 160px;
		left: 0;
		right: 0;
		background: linear-gradient(0deg, rgb(0 0 0 / 0%) 0%, rgb(10 8 8) 50%, rgb(0 0 0 / 0%) 100%);
	}
	& h1 {
		font-size: 38px;
		letter-spacing: 8px;
		color: var(--accent);
		margin: 30px auto 15px;
	}
	& h2 {
		margin: 30px auto 45px;
	}
}


.action-block {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	max-width: 980px;
	line-height: 150%;

	.ab1 {
		flex-basis: 250px;
	}
	.ab2 {
		margin-inline: 60px;
	}
	.ab3 {
		flex-basis: 270px;
	}
}


.scroll-down {
	margin-top: 50px;
	display: inline-block;
	width: 90px;
	height: 90px;
	background: url(../images/down.png) no-repeat;
	background-size: 100%;
}

.program {
	position: relative;
	padding-top: 1px;
	width: var(--w-small);
	margin-inline: auto;
	& h2 {
		margin: 60px auto 30px;
	}
	& article {
		position: relative;
		margin-inline: auto;
		padding: 40px;
		box-sizing: border-box;
		border: 7px solid #222222;
		border-image: url(../images/border.png) 7 repeat repeat;		
		&:not(last-child) {
			margin-bottom: 35px;
		}
		& h3 {
			margin-right: auto;
			color: var(--accent);
			font-size: 40px;

			& span {
				font-size: 32px;
				color: var(--gray-light);
				letter-spacing: 4px;
				margin-right: 10px;
			}
			& i {
				font-style: normal;
				color: #ffffff;
			}
		}

		& ul {
			list-style: none;
			padding: 0;
		}
		& li {
			padding-left: 25px;
			background: url(../images/li.png) 0 3px no-repeat;
			background-size: 16px;
			line-height: 150%;

			&:not(last-child) {
				margin-bottom: 10px;
			}
		}
	}

	.headline {
		display: flex;
		align-items: center;
		& .vird {
			padding-left: 24px;
			background: url(../images/li.png) left top no-repeat;
			background-size: 16px;
		}
	}

	.mod1 {
		margin-top: 30px;
		display: flex;
	}
		.att {
			flex: 1 1 auto;
			padding: 0 20px;
			margin: 0 40px;
			&:first-child {
				margin-left: 0;
			}
			&:last-child {
				margin-right: 0;
			}
			& ul {
				margin: 15px 0 0;
				padding: 0;
				columns: 2;
			}
		}

		& li {
			flex:  1 1 auto;

			&:not(last-child) {

			}
		}

	.mod-img {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		position: absolute;
		right: 30px;
		top: 15px;
		z-index: -1;
	}
	.nine {
		right: 90%;
		height: 90%;
		z-index: 2;
		margin-right: -20px;
	}
	.circle {
		position: relative;
		display: inline-block;
		width: 230px;
		height: 230px;
		& .circle-img {
			position: absolute;
			top: 45px;
			left: 45px;
			width: 140px;
			height: 140px;
		}
		& .circle-bg {
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			animation: spin 60s linear infinite;
		}
	}
}
/* end program */
@keyframes spin { 
	100% {
		-webkit-transform: rotate(360deg);
		transform:rotate(360deg);
	} 
}



.after {
	position: relative;
	padding: 0 20px;
	margin-inline: auto;
	width: var(--w-medium);
	color: #21405A;
	border-radius: 40px;
	background-color: #BCE0FF;
	border: 100px solid #BCE0FF;
	border-image: url(../images/frame.png) 140 repeat repeat;
	z-index: 3;

	& h2 {
		margin: 0;
		max-width: 820px;
		font-size: 110px;    
		text-align: left;
		color: #fff;
		background: url(../images/after-img.png) right top no-repeat;
		background-size: 120px;
		& span {
			color: #4D6E8B;
		}
	}

	& ul {
		list-style: none;
		margin: 0;
		padding: 0;

		display: grid;
		gap: 20px;
		/*grid-template-columns: repeat(3, 1fr);*/
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		grid-template-rows: repeat(2, 1fr);
	}

	&	li {
			padding: 20px;
			padding-right: 40px;
			border: 1px dashed;
			border-radius: 15px;

			position: relative;
			&	span {
				position: absolute;
				right: 20px;
				top: 20px;
				font-family: var(--h-font);
				font-size: 30px;
			}

			&:last-child {
				padding: 0;
				border: none;
				display: inline-flex;
				align-items: center;
				justify-content: center;
			}
	}
	& p {
		margin: 0;
	}	

}

.composition {
	position: relative;
	width: var(--w-large);
	margin-inline: auto;
	margin-top: -500px;
	margin-bottom: -280px;
	padding: 500px 100px 300px;
	color: #262626;
	background-color: #fff;
	background: linear-gradient(#0b0909 0%, #0b0909 99px, #fff 100px,
															#fff calc(100% - 100px), #0b0909 calc(100% - 101px), #0b0909 100%);
	border-radius: 60px;
	overflow: hidden;

	&::before, &::after {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		height: 200px;
		background: url(../images/bg-mount_low.png) 50% 0% no-repeat;
		background-size: cover;
	}
	&::before {
		content: '';
		top: 0;
		transform: rotate(180deg);	
	}
	&::after {
		content: '';
		bottom: 0;
	}


	& h2 {
		margin-top: 80px;
		margin-bottom: 30px;
	}
	& ul {
		list-style: none;
		margin: 0;
		padding: 0;

		display: grid;
		gap: 40px 20px;
		/*grid-template-columns: 5fr 4fr 5fr;*/
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		grid-template-rows: repeat(2, 1fr);
	}
	& li {
		display: inline-flex;
		flex-direction: column;
		align-items: flex-start;
		&:last-child {
			& img {
				max-width: calc(100% - 80px);
				max-height: 150px;
			}
		}
	}
	& h5 {
		margin-top: 25px;
		margin-bottom: 15px;
		font-size: 32px;
	}
	& img {
		border-radius: 10px;
	}
	& p {
		margin: 0;
	}
}


.author {
	position: relative;
	padding: 100px;
	margin-inline: auto;
	margin-bottom: 80px;
	width: var(--w-medium);
	border-radius: 40px;
	/*background: #121212 url('../images/authorBG_low.jpg') no-repeat center / cover;*/
	background-color: #121212;
	z-index: 3;

	&::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		border: 100px solid transparent;
		border-image: url('../images/frame.png') 140 repeat repeat;
		box-sizing: border-box;		
		filter: grayscale(100%) opacity(0.15);
		pointer-events: none;
	}

	& h2 {
		font-size: 128px;
		margin-bottom: 30px;
		& span {
			color: var(--accent);
		}
	}

	& h3 {
		margin-bottom: 20px;
		font-size: 60px;
		line-height: 50px;
		& span {
			font-size: 40px;
		}
	}

	& .box {
		display: flex;
		align-items: center;
		justify-content: space-evenly;
	}
	& .content {

	}

	.portrait {
		margin-top: -25px;
		margin-bottom: 25px;
		width: 400px;
		max-width: 100%;
	}

	ul.achievs {
		list-style: none;
		margin: 0;
		padding: 0;
		line-height: 150%;
		max-width: 290px;
		& li {
			position: relative;
			margin-bottom: 10px;
			padding-left: 37px;
			&::before {
				content: '';
				position: absolute;
				left: 14px;
				top: 4px;
				display: inline-block;
				width: 9px;
				height: 9px;
				background-color: var(--accent);
				border-radius: 50%;
				border: 4px solid #54626F;
				border-right: 4px solid #121212;
			}
		}
	}
}


.finish {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-inline: auto;
	width: var(--w-medium);

	& h2 {
		font-size: 128px;
		text-align: right;
		margin-right: 40px;
		& span {
			color: var(--accent);
		}
	}

	div {
		width: min-content;
	}

	p {
			line-height: 150%;
			font-size: 20px;
			margin: 0;
			margin-bottom: 30px;
		& a {
			text-decoration: none;
			color: var(--accent);
			font-weight: 700;
		}
	}
}

footer {
	display: flex;
	align-items: center;
	margin-inline: auto;
	margin-top: 120px;
	width: var(--w-medium);
}
.avatar {
	display: flex;
	align-items: center;
	margin-right: auto;
	& img {
		margin-right: 20px;
		width: 68px;
		height: 68px;
		border-radius: 50%;
		box-shadow: 0 0 2px 0px var(--accent);
	}
	& span {
		font-family: var(--h-font);
		font-weight: 400;
		line-height: 1;
		font-size: 28px;
	}
	& i {
		font-style: normal;
		color: var(--accent);
	}
}

.social {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
	& a {
		color: #fff;
		&:hover {
			color: var(--accent);
		}
	}
	& li {
		margin-left: 15px;
	}
	& .sm-ico {
		width: 48px;
		height: 48px;
	}
}

































.m {
	display: none;
}
.xl {
	text-decoration: none;
}

@media screen and (max-width: 1200px) {
		.xl {
			display: none;
		}
		h2 {
			font-size: 80px;
		}
		.promo {
			text-align: center;
		}
		.action-block {
			flex-direction: column;
			font-size: 20px;
			& .ab1,	& .ab2,	& .ab3 {
        flex-basis: auto;
    	}
    	& .m {
					display: inline;
				}
			& .ab1 {
				text-shadow: 0 0 20px #141517,
										 0 0 2px #141517;
			}
			& .ab2 {
				margin-top: 30px;
			}
			& .ab3 {
				display: none;
			}

		}

	.program {
	  	.mod-img {
	  		position: static;
			}
			.vr {
				height: 1px;
				width: 100%;
				background: linear-gradient(to left, #35353500 0%, #35353535 33%, #353535 66%, #35353500 100%);
			}
			.mod1 {
				flex-wrap: wrap;
				margin-top: 0;
			}
      .att {
        flex: 1 1 auto;
        padding: 20px 0;
        margin: 0;
        & ul {
          columns: 4;
        }
      }
  		& article {
      	& h3 {
          & span {
          	display: block;
          	margin-bottom: 5px;
          }
        }
      }
	    .headline {
	    	flex-wrap: wrap;
	    	& .vird {

	    	}
		  }
	}
	.author {
    & h2 {
    	font-size: 80px;
    }
    & .box {
    	flex-direction: column-reverse;
    }
  }
  
	.finish {
		text-align: center;
  	& h2 {
  		font-size: 80px;
  		text-align: center;
  	}
  }
}

@media screen and (max-width: 900px) {

}

@media screen and (max-width: 600px) {
	.promo,
  .program,
  .after,
  .composition,
  .author,
  .finish {
  	width: 100%;
  	padding: 15px;

  	& h1 {
  		font-size: 24px;
  	}
  	& h2 {
  		font-size: 48px;
  	}
  }

  .btn {
  	width: 225px;
  	height: 70px;
  	font-size: 14px;
  }

  .mod-img {
  	max-width: 100%;
    overflow: hidden;
  }

  .program {
  	& article {
  		padding: 15px;
  	}
    & .att {
        & ul {
        	columns: 2;
        }
      }
    }
   
   .after {
   	padding: 40px;
   	border: none;
   	& h2 {
   		background-size: contain;
   	}
   	& ul {
   		margin-top: 30px;
   	}
   }
   .composition {
	   	margin-top: 30px;
	   	margin-bottom: 30px;
	   	background: #fff;
	   		&::before, &::after {
	   			display: none;
	   		}
	   		& h2 {
	   			margin-top: 30px;
	   		}
   	    & li {
   	    	align-items: center;
   	    	text-align: center;
   	    }
   }

   .author {
   	padding-top: 60px;
   	padding-bottom: 30px;
	    &::before {
	    	bottom: 50%;
	    	border: 60px solid transparent;
	    }
	    .portrait {
	    	position: relative;
	    }
	  }

	  footer {
	  	width: auto;
	  	padding: 15px;
	  	flex-direction: column;
	  	
	  	& .avatar {
	  		margin: auto;
	  		margin-bottom: 15px;
	  	}
	  }

}