/*
Яркий голубой
#06B7F0

темнее +
# 23a1d1

темнее ++
# 229ac8

темнее ++
# 1f90bb


*/
/* Первый экран */
.top-block-wrapper.type-5 {
	background-color: #272727;
	background-image: url(../img/coding-5.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	/*background: url('../img/coding-5.jpg') no-repeat center/cover;*/
}

/*.top-block-wrapper {
	min-height: 100vh;        
	height: 100vh;         
}*/

/* Современные браузеры понимают dvh */
/*@supports (height: 100dvh) {
	.top-block-wrapper {
    min-height: 100dvh;
    height: 100dvh;
	}
}*/


body {
  background: #354D67;
}


.top-block-wrapper {
	min-height: calc(100vh - 50px);
	height: calc(100vh - 50px);
}
@supports (height: 100dvh) {
	.top-block-wrapper {
		min-height: calc(100dvh - 50px);
		height: calc(100dvh - 50px);
	}
}





.top-block-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    /*text-align: center;*/
    color: #06B7F0;
    overflow: hidden;
    z-index: 2;
}



.top-block-wrapper .content {
	width: 1140px;
	position: relative;
	margin: 0 auto;
}



#particles-js {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
}


span.white {
	color: #fff !important;
}



.top-block .mobile-contacts {
	display: none;
}

.mobile-contacts .contacts-block {
	background-color: rgba(0, 0, 0, .6);
	text-align: center;
	position: relative;
	z-index: 2;
	padding: 12px;
	margin-bottom: 36px;
}

.shine::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2rem;
	height: 100%;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.8) 100%);
	transform: translateX(-4rem) skewX(-45deg);
	animation: shine 3.5s 2s infinite;
}
.top-block-wrapper .btn {
	display: inline-block;
	padding: 12px 48px;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	background-color: #229ac8;
	color: #000;
	cursor: pointer;
	transition: all .3s ease-in-out;
}
.top-block-wrapper .btn {
	box-shadow: 0px 1px 11px 5px rgba(0,0,0,0.75);
	-webkit-box-shadow: 0px 1px 11px 5px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 1px 11px 5px rgba(0,0,0,0.75);
	position: relative;
	z-index: 2;
}

.top-block-wrapper .btn:hover {
	background-color: #000;
	color: #fff;
}
.top-block-wrapper .btn:hover {
	box-shadow: 0px 1px 11px 5px #229ac8;
	-webkit-box-shadow: 0px 1px 11px 5px #229ac8;
	-moz-box-shadow: 0px 1px 11px 5px #229ac8;
}




.shine {
	position: relative;
	overflow: hidden;
}

.home-h1 {}


.top-block-wrapper h1 {
	color: #06B7F0;
	width: fit-content;
	/*text-transform: uppercase;*/
	margin-bottom: 24px;
	padding: 34px;
	background-color: rgba(0, 0, 0, .6);
	font-size: 70px;
	font-weight: bold;
	line-height: 1;
}

.top-block-wrapper .desc {
	font-size: 28px;
	width: fit-content;
	padding: 24px;
	background-color: rgba(0, 0, 0, .8);
	color: #06B7F0;
	margin-bottom: 36px;
}


@media screen and (max-width: 1399.98px) {
	.top-block-wrapper h1 {
		font-size: 70px;
		padding: 24px;
	}
	.top-block-wrapper .desc {
		font-size: 28px;
	}	
	
}

@media screen and (max-width: 1199.98px) {
	.top-block-wrapper h1 {
		font-size: 60px;
	}
	.top-block-wrapper .desc {
		font-size: 26px;
	}	
	.top-block-wrapper .content {padding: 0 40px; width: 100%;}	
}

@media screen and (max-width: 991.98px) {
	.top-block-wrapper h1 {
		font-size: 38px;
	}
	.top-block-wrapper .desc {
		font-size: 24px;
	}	
	
}

@media screen and (max-width: 767.98px) {
	.top-block-wrapper h1 {
		font-size: 38px;
	}
	
	.top-block-wrapper .desc {
		font-size: 22px;
	}	
	.top-block-wrapper .desc {margin-bottom: 24px;}	
}

@media screen and (max-width: 575.98px) {
	.top-block-wrapper h1 {
		font-size: 26px;
		line-height: 1.2;
	}
	.top-block-wrapper .desc {

		font-size: 18px;
        line-height: 1.3;
	}
	.top-block-wrapper .content {padding: 0 10px; }	
}










/**********************************************/



/* Стрелка вниз */
.scroll-down {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	cursor: pointer;
	z-index: 3;
}
.scroll-down span {
	display: block;
	width: 30px;
	height: 30px;
	border-bottom: 3px solid #229ac8;
	border-right: 3px solid #229ac8;
	transform: rotate(45deg);
	margin: 0 auto;
	animation: arrowBounce 1.5s infinite;
}
@keyframes arrowBounce {
	0% { transform: rotate(45deg) translate(0, 0); }
	50% { transform: rotate(45deg) translate(0, 10px); }
	100% { transform: rotate(45deg) translate(0, 0); }
}

/* Блок выбора услуги */
.services-block {
	text-align: center;
	/* padding: 80px 20px;*/
	background: #fff;
}

.services-block {
	min-height: 100vh;
	scroll-margin-top: 50px;
}
@supports (height: 100dvh) {
	.services-block {
		min-height: 100vh;
	}
}

/*  .services-block h2 {
	font-size: 32px;
	margin-bottom: 40px;
}*/

.title-desc-block {max-width: 1200px;}


.title-desc {margin-bottom: 48px; font-size: 26px; font-weight: 600; color: #5A5560; line-height: 1.2;justify-content: center;display: flex;}



.service-desc {
 font-size: 18px;
}


.services {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	/*gap: 30px;*/
}

/* Карточки */
.service-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;     
	background: white;
	padding: 40px;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	
box-shadow: 0 5px 60px rgba(0,0,0,.05),0 -5px 60px rgba(0,0,0,.05);	
	/*flex: 1 1 300px;
	max-width: 300px;*/
	transition: transform .3s;
	opacity: 1;
	transform: translateY(0);
}
.service-card:hover {
	transform: translateY(-5px);
}
.service-card h3 {
	margin-bottom: 20px;
}
.service-card .btn {
	
	color: #fff;
	border: none;
	padding: 12px 48px;
	cursor: pointer;
	transition: all .3s;
	text-transform: uppercase;
	max-width: 300px;

    background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%);
  text-decoration: none;
  border-radius: 10px;
  font-weight: bold;
  font-size: 16px;
  display: inline-block;
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);	
	
}
.service-card .btn:hover {
	
	color: #f3f3f3;
}


/* Блок под карточками */
.service-card-end {
	display: flex;
	flex-direction: column;
	justify-content: space-between;     
	background: white;
	padding: 40px;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	
	box-shadow: 0 5px 60px rgba(0,0,0,.05),0 -5px 60px rgba(0,0,0,.05);
	/*flex: 1 1 600px;
	max-width: 600px;*/
	font-size: 20px;
	width: 100%;
	/*background: #f3f5f9;*/
	transition: transform .3s;
	opacity: 1;
	transform: translateY(0);
}
.service-card-end:hover {
	transform: translateY(-5px);
}
.service-card-end h3 {
	margin-bottom: 20px;
}


.service-card-end .btn {

	padding: 12px 48px;

	text-transform: uppercase;
	background-color: #103154;
	color: #fff;
	cursor: pointer;
	transition: all .3s ease-in-out;
	max-width: 400px;
	
    background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%);

  text-decoration: none;
  border-radius: 10px;
  font-weight: bold;
  font-size: 16px;
  display: inline-block;
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);	
	
}


.service-card-end .btn:hover {
	
	color: #f3f3f3;
}


/* Блоки с услугами */
.service-detail {
	/*padding: 100px 20px;*/
	min-height: 100vh;
	/*   background: #fff;
	text-align: center;*/
	scroll-margin-top: 50px; /* учитываем фиксированную шапку */
}
.service-detail:nth-child(even) {
	background: #f0f8ff;
}
.service-detail h2 {
    /*  font-size: 36px;
	margin-bottom: 20px;*/
}


.services-block ul, ol {
	list-style: none;
padding-left: 7px;
  text-align: left;
	
}


.services-block ul li {
  color: #000;
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 9px;
  padding-left: 15px;
  position: relative;
}


.services-block ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 7px;
  height: 7px;
  background: #229ac8;
  border-radius: 50px;
}

/*********************/

.amo-step-header {
  text-align: center;
  background: #fff;
  border-radius: 100px;
  width: fit-content;
  padding: 5px 21px;
  border: 1px solid #229ac8;
  padding: 10px 20px;
  color: #229ac8;

  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 132.485%;
  position: absolute;
  top: -16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /*left: 7px;*/
}

@media screen and (max-width: 575.98px) {
.amo-step-header { left: 0;}	
	
}

/*************************************/

.back-f7 {
	background: #f7f7f7;
}
.back-f7-h2 {
	/*color: #06B7F0;*/
	font-size: 28px;
}
.orange {
	color: #229ac8;
}
.amo-step {
	position: relative;

	background: #fff;
	box-shadow: 0 5px 60px rgba(0,0,0,.05),0 -5px 60px rgba(0,0,0,.05);
	border-radius: 10px;
	max-width: 100%;
	height: 100%;
	

  padding: 45px 30px 25px 30px;
  
  min-height: auto;
  border-radius: 20px;	
	
justify-content: space-between;
  display: flex;
  flex-direction: column;	
	
}


.amo-step svg {
	top: -2px;
  position: relative;
  margin-right: 7px;
}


.amo-step .amo-step-number {
	position: absolute;
	font-size: 96px;
	line-height: 110px;
	text-align: justify;
	color: #229ac8;
	left: -30px;
	top: -30px;
	font-weight: 700;
	display: none;
}

.amo-step .amo-step-header {
	font-weight: 700;
	font-size: 20px;
	line-height: 20px;
	margin-bottom: 5px;
}
.amo-step .amo-step-text {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 12px;
    display: flex;
}
@media (max-width: 575.98px) {
	.amo-step .amo-step-number {
		position: absolute;
		font-size: 50px;
		line-height: 110px;
		text-align: justify;
		color: #229ac8;
		left: -15px;
		top: -50px;
		font-weight: 700;
	}
	
.amo-step .amo-step-header {
	font-weight: 700;
	font-size: 18px;
	line-height: 19px;
	margin-bottom: 5px;
}	
	
}
.amo-prices {
	display: flex;
	flex-direction: column;
}
.web-main-page {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin: 20px 0 0;
}
.web-main-page .amo-type-price.dev {
	width: max-content;
	align-items: flex-start;
}
.amo-type-price.dev {
	width: 230px;
}
.amo-type-price {
	width: 290px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin: 0;
}
.web-main-page .amo-price-tag {
	margin-bottom: 5px;
	font-size: 20px;
	line-height: 23px;
}
.amo-price-tag {
	font-weight: 700;
	font-size: 24px;
	line-height: 28px;
	text-align: center;
	color: #464646;
}
.amo-price-tag span.normal {
	font-weight: 400;
	font-size: 15px;
}
.price-name {
	text-transform: uppercase;
}
.amo-step .web-main-page .prices {
	margin-top: 5px;
	height: 25px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.amo-type-price .prices {
	display: flex;
	padding: 0;
}
.web-main-page .amo-type-price .prices li {
	margin: 0 10px 0 0;
	border-bottom: 1px solid #229ac8;
}
.amo-type-price .prices li.active {
	background: #229ac8;
	color: #fff;
}
.amo-type-price .prices li {
	font-size: 9px;
	line-height: 10px;
	margin: 0 7px;
	border: 1px solid #229ac8;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgb(239, 127, 17);
	padding: 2px 5px;
	border-radius: 10px;
	cursor: pointer;
}
.amo-button-buy {
	margin: 0;
}
.web-main-page .sroky {
	margin-top: 0;
	height: 25px;
	align-items: center;
	background-size: 25px;
	background-position: center left;
	margin-bottom: 5px;
}
.sroky {
	margin-bottom: 0;
	margin-top: 20px;
	text-align: left;
	background-image: url(../image/calendar.svg);
	padding-left: 30px;
	background-repeat: no-repeat;
}
.amo-step .web-main-page .type-link {
	margin-top: 10px;
	margin-right: 0;
	width: 100%;
}
.amo-step .type-link {
	background: #229ac8;
	border-radius: 20px;
	transition: .4s;
	color: #fff;
	padding: 5px 10px;
	border: none;
	font-size: 14px;
	line-height: 15px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	margin: 10px 0 0;
    margin-top: 10px;
    margin-right: 0px;
}
.amo-button-buy button, .amo-button-buy a {
	box-shadow: 0 3px 10px rgba(0,0,0,.2);
}
.amo-step .type-link:hover {
	box-shadow: 0 3px 10px rgba(0,0,0,.2);
	transform: translateY(-3px);
}
.vidi-zayavka .amo-button-buy button:hover, .amo-button-buy a:hover {
	color: #fff !important;
}
.amo-button-buy button:hover, .amo-button-buy a:hover {
	box-shadow: none;
	color: #fff;
	background: #229ac8;
}

.web-main-page .oplata-time {
	margin-top: 0;
	height: 25px;
	align-items: center;
	background-size: 25px;
	background-position: center left;
	margin-bottom: 5px;
}

.oplata-time {
	margin-bottom: 0;
	margin-top: 5px;
	text-align: left;
	padding-left: 30px;
	background-repeat: no-repeat;
	background-image: url(../image/invoices.svg);
	/* background-size: contain;*/
}






/****** Анимация появления *************************/
.hidden {
	opacity: 0;
	transform: translateY(40px);
}
.visible {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}




/****полоса на кнопках*********************************/
@keyframes trambling-animation {
    0%, 50%, 100% {
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
	}
    10%, 30% {
		transform: rotate(-1deg);
		-webkit-transform: rotate(-1deg);
		-moz-transform: rotate(-1deg);
		-o-transform: rotate(-1deg);
		-ms-transform: rotate(-1deg);
	}
    20%, 40% {
		transform: rotate(1deg);
		-webkit-transform: rotate(1deg);
		-moz-transform: rotate(1deg);
		-o-transform: rotate(1deg);
		-ms-transform: rotate(1deg);
	}
}


@keyframes spin {
    0%,60%{
		top: 0;
	}
    30% {
		top: 5px;
	}
    100% {
		top: 0;
	}
}
@keyframes type{
    from { width: 0; }
}
@-webkit-keyframes type{
    from { width: 0; }
}
@keyframes shine {0% {transform: translateX(-4rem) skewX(-45deg); }  50% {transform: translateX(30rem) skewX(-45deg); }  100% {transform: translateX(30rem) skewX(-45deg); } }
@keyframes arrowDown {0% {bottom: 30px;opacity: 1;}100% {bottom: 0px; opacity: 0;}
}
@keyframes animate {
	0%{
		transform: translateY(0) rotate(0deg);
		opacity: 1;
		border-radius: 0;
	}
	100%{
		transform: translateY(-1500px) rotate(720deg);
		opacity: 0;
		border-radius: 50%;
	}
}


@keyframes dot-color {
	from {
		background-color: var(--main-green);
	}
	50% {
		background-color: #fff;
	}
	to {
		background-color: var(--main-green);
	}
}

