.slogan .t:after,
header .wrapper .l div:before {
	height: 4px;
	content: "";
	width: 100%
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
p,
pre,
td,
textarea,
th,
ul {
	margin: 0;
	padding: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

abbr,
fieldset,
img {
	border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: 400
}

ul li {
	list-style: none
}

caption,
th {
	text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: 400
}

sup {
	vertical-align: text-top
}

sub {
	vertical-align: text-bottom
}

input,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
	-webkit-appearance: none
}

legend {
	color: #000
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

@font-face {
	font-family: Futura-Reg;
	src: url(../fonts/FuturaNewBook-Reg.eot?#iefix) format('embedded-opentype'), url(../fonts/FuturaNewBook-Reg.otf) format('opentype'), url(../fonts/FuturaNewBook-Reg.woff) format('woff'), url(../fonts/FuturaNewBook-Reg.ttf) format('truetype'), url(../fonts/FuturaNewBook-Reg.svg#FuturaNewBook-Reg) format('svg');
	font-weight: 400;
	font-style: normal
}

@font-face {
	font-family: Futura-Obl;
	src: url(../fonts/FuturaNewBook-Obl.eot?#iefix) format('embedded-opentype'), url(../fonts/FuturaNewBook-Obl.otf) format('opentype'), url(../fonts/FuturaNewBook-Obl.woff) format('woff'), url(../fonts/FuturaNewBook-Obl.ttf) format('truetype'), url(../fonts/FuturaNewBook-Obl.svg#FuturaNewBook-Obl) format('svg');
	font-weight: 400;
	font-style: normal
}

@font-face {
	font-family: Futura-Demi;
	src: url(../fonts/FuturaNewMedium-Reg.eot?#iefix) format('embedded-opentype'), url(../fonts/FuturaNewMedium-Reg.otf) format('opentype'), url(../fonts/FuturaNewMedium-Reg.woff) format('woff'), url(../fonts/FuturaNewMedium-Reg.ttf) format('truetype'), url(../fonts/FuturaNewMedium-Reg.svg#FuturaNewMedium-Reg) format('svg');
	font-weight: 400;
	font-style: normal
}

.i {
	font-family: Futura-Obl
}

.scroll-btn:hover {
	background: #f6dc8f!important
}

input::-webkit-input-placeholder {
	color: #434343
}

input::-moz-placeholder {
	color: #434343
}

input:-moz-placeholder {
	color: #434343
}

input:-ms-input-placeholder {
	color: #434343
}

body,
html {
	font-family: Futura-Reg;
	font-size: 20px
}

.slogan .t,
header .wrapper .l h1 {
	font-size: 2.5rem;
}

.slogan .t{
	color: #434343;
}

.wrapper {
	max-width: 1366px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow: hidden
}

.slogan {
	text-align: center;
	margin: 2.5rem auto;
}

.slogan .t {
	display: inline-block;
	line-height: 2.5rem;
}

.slogan .t:after {
	display: block;
	background: #434343
}

.slogan .t span {
	display: inline-block;
	padding: 0 3rem
}

.slogan .t span:last-child {
	margin-bottom: 1rem
}

header {
	background: #5e5bff;
	color: #fff;
	position: relative;
	overflow: hidden;
}

header .wrapper {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	min-height: calc(100vh - 3rem);
}

header .wrapper .l {
	flex: 100 1 500px;
	align-self: center;
	margin: 0 2rem
}

header .wrapper .l div {
	font-size: 1.5rem
}

header .wrapper .l div:before {
	display: inline-block;
	background: rgba(255, 255, 255, 0.5);
	margin: 1rem 0 0
}

header .wrapper .l div p {
	margin: 1rem 0
}

header .wrapper .r {
	flex: 1 1 700px;
	align-self: center;
	margin: 1.5rem 2rem
}

header .wrapper .r .video {
	box-shadow: 20px 20px 20px #333;
	background: url(../img/php-course-base.png);
	background-size: cover;
	position: relative
}

header .wrapper .r .video .size {
	padding-top: 56.25%;
	height: 0
}

header .wrapper .r .video iframe {
	position: absolute;
	border: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

header .wrapper .scroll {
	margin: 0 auto 80px;
	width: 100%
}

header .wrapper .scroll div {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100%
}

header .wrapper .scroll div a {
	padding-top: 20px;
	color: #fff;
	text-decoration: none
}

header .wrapper .scroll div a span:not(:first-child) {
	position: absolute;
	top: 60px;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
	animation: scrl 2s infinite;
	opacity: 0;
	box-sizing: border-box
}

header .wrapper .scroll div a span:first-child {
	position: relative;
	background: rgba(0, 0, 0, .5);
	padding: 10px 20px;
	border-radius: 5px
}

header .wrapper .scroll div a span:nth-of-type(1) {
	animation-delay: 0s
}

header .wrapper .scroll div a span:nth-of-type(2) {
	top: 76px;
	animation-delay: .15s
}

header .wrapper .scroll div a span:nth-of-type(3) {
	top: 92px;
	animation-delay: .3s
}

.about {
	margin-top: 4rem;
}

.about .wrapper {
	max-width: 1170px;
	padding: 0 20px;
	text-align: center;
}

.about .wrapper .pair {
	display: flex;
	flex: 1 1 512px;
	justify-content: space-around;
	flex-wrap: wrap
}

.about .wrapper .pair .item {
	flex: 0 1 236px;
	margin: 30px 10px
}

.about .wrapper .pair .item span {
	display: block
}

.about .wrapper .pair .item span.gold {
	font-family: Futura-Demi;
	font-size: 40px;
	margin: 10px 0;
	color: #fff;
	text-shadow: 1px 1px 3px #000;
	background: #5e5bff70
}

.about .wrapper .pair .item span.caption {
	font-size: 2rem;
	margin: 10px 0
}

.process {
	margin-top: 4rem
}

.process .wrapper {
	align-items: center;
	flex-direction: row-reverse;
	justify-content: space-around
}

.process .wrapper .img {
	flex: 0 1 50%
}

.process .wrapper .img img {
	display: block;
	width: 100%
}

.process .wrapper .tags {
	text-align: center;
	flex: 0 1 500px;
	align-self: stretch;
	margin: 0 2rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}

.process .wrapper .tags .top div {
	font-size: 1.7rem;
	padding: 0 0 2rem
}

.process .wrapper .tags .top span {
	display: inline-block;
	margin: .5rem;
	font-size: 1.2rem
}

.process .wrapper .tags .top span:before {
	content: '#'
}

.process .wrapper .tags .bottom span {
	display: block;
	text-transform: uppercase;
	font-size: 1.5rem;
	color: #434343;
	background: #5e5bff;
	padding: .5rem 0;
	cursor: pointer
}

.who{
	overflow: hidden;
}

.who .wrapper {
	max-width: 1240px;
	justify-content: space-around
}

.who .wrapper .item {
	flex: 0 1 360px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	border: 2px solid #5e5bff;
	margin: 1rem 1.3rem
}

.programm{
	padding: 2rem 0;
}

.before_programm .t span,
.programm .wrapper .month ul li .ask:hover+.answer {
	display: block
}

.who .wrapper .item img {
	width: 125px;
	height: 125px;
	background: #5e5bff
}

.who .wrapper .item div {
	flex: 1;
	text-align: center;
	padding: 10px
}

.before_programm {
	text-align: right;
	max-width: 1250px
}

.before_programm .t {
	text-align: center
}

.programm .wrapper {
	max-width: 1260px;
	padding: 0 20px;
	display: block;
}

.programm .wrapper .monthList {
	display: flex;
	flex-wrap: wrap;
}

.programm .wrapper .month {
	box-sizing: border-box;
	border: 5px solid #5e5bff;
	padding: 2rem 1.5rem 1.5rem;
	position: relative;
	margin: 2rem;
	flex: 1 1 450px;
}


.programm .wrapper .month>.name {
	text-align:center;position:absolute;line-height:5rem;left:0;background:#fff;font-size:1.25rem;top:-2.5rem;width:60%;left:20%
}

.programm .wrapper .month ul li {
	position: relative;
	padding: 1rem
}

.programm .wrapper .month ul li span.dt {
	position: absolute;
	top: 0;
	left: 0
}

.programm .wrapper .month ul li span.name {
	/* margin-left: 1.1rem */
}

.programm .wrapper .month ul li .ask {
	float: right;
	border: 1px solid #000;
	border-radius: 50%;
	width: 1.2rem;
	height: 1.2rem;
	line-height: 1.2rem;
	text-align: center;
	margin-left: .5rem;
	cursor: pointer;
	position: relative
}

.programm .wrapper .month ul li .answer {
	position: absolute;
	display: none;
	width: 100%;
	padding: .5rem 1rem;
	background: #5e5bff;
	top: 2rem;
	z-index: 5;
	right: 0
}

.after_programm .t span,
.programm .wrapper .month ul li .answer:hover {
	display: block
}

.programm .wrapper .month ul li .answer p {
	margin: .5rem 0
}

.programm .wrapper .month:last-child ul li .answer {
	top: auto;
	bottom: 2rem
}

.after_programm {
	text-align: right;
	max-width: 1250px
}

.after_programm .t,
footer .wrapper,
footer .wrapper .t {
	text-align: center
}

footer {
	background: #5e5bff;
	padding: 2rem 0;
	color: #fff;
}

footer .wrapper {
	max-width: 1170px;
	padding: 0 20px
}

footer .wrapper a{
	color: inherit;
	text-decoration: underline;
}

footer .wrapper a:hover{
	text-decoration: none;
}

footer .wrapper .t {
	flex: 1 1 100%;
	margin: 1rem 0 2rem;
	font-size: 2rem;
}

footer .wrapper .l {
	flex: 0 1 440px;
	font-size: 1.5rem;
	align-self: center
}

footer .wrapper .l p {
	margin: 0 0 1rem
}

footer .wrapper .l p.info {
	font-size: .5rem
}

footer .wrapper .l p sup {
	font-size: 1rem
}

footer .wrapper .l .price-slider {
	margin-bottom: 1rem
}

footer .wrapper .l .price-slider .price-slider-line .ui-slider-handle {
	text-align: center;
	cursor: pointer
}

footer .wrapper .l .price-slider .price-slider-line .ui-slider-handle:after {
	content: "\2192";
	font-size: 1.25rem;
	display: block;
	line-height: 1.8rem
}

footer .wrapper .l .price-slider .price-slider-nums {
	display: flex;
	justify-content: space-between;
	font-size: 1rem;
	margin: .5rem .3rem 0
}

footer .wrapper .l .prices s {
	font-size: 1.2rem;
	margin-right: 3rem;
	position: relative
}

footer .wrapper .l .prices s:after {
	content: attr(data-sale);
	position: absolute;
	top: -.5rem;
	left: 105%;
	font-size: 1rem
}

footer .wrapper .l .prices span {
	position: relative
}

footer .wrapper .l .prices span:after {
	content: attr(data-text);
	display: block;
	width: 15rem;
	position: absolute;
	bottom: -1rem;
	left: -1.3rem;
	font-size: .8rem
}

footer .wrapper .l .timer {
	display: flex;
	opacity: 0;
	transition: opacity 2s;
	-webkit-transition: 2s;
	justify-content: space-between
}

footer .wrapper .l .timer.timer-showed {
	opacity: 1
}

footer .wrapper .l .timer>div {
	margin: 0 .25rem
}

footer .wrapper .l .timer>div span {
	display: block
}

footer .wrapper .l .timer>div span:first-child {
	font-size: 2rem
}

footer .wrapper .l .timer>div span:nth-child(2n) {
	font-size: 1rem
}

footer .wrapper .c {
	font-size: 2rem;
	align-self: center;
	margin: 0 0.5rem
}

footer .wrapper .r {
	flex: 0 1 450px
}

footer .wrapper .r form label {
	display: block;
	margin: 1rem 0
}

footer .wrapper .r form label.agree {
	text-align: left
}

footer .wrapper .r form label.agree input {
	display: none
}

footer .wrapper .r form label.agree input:checked+span {
	background: url(../img/agree.png) center no-repeat
}

footer .wrapper .r form label.agree span.checkbox {
	display: inline-block;
	padding: 3px 13px;
	border: 2px solid #fff;
	border-radius: 50%;
	margin-right: 10px;
	cursor: pointer
}

footer .wrapper .r form label.agree span.txt {
	font-size: .75rem;
	height: inherit
}

/*
footer .wrapper .r form label.agree span.txt a {
	color: inherit;
	text-decoration: underline
}

footer .wrapper .r form label.agree span.txt a:hover {
	text-decoration: none
}
*/

footer .wrapper .r form label input {
	box-sizing: border-box;
	background: #fff;
	outline: 0;
	width: 100%;
	padding: .6em;
	border: 2px solid transparent;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px
}

footer .wrapper .r form label input:focus {
	border: 2px solid #a0b8ff
}

footer .wrapper .r form label input.err {
	border: 2px solid red
}

footer .wrapper .r form label input.btn {
	background: #000;
	color: #fff;
	display: block;
	border: none;
	padding: 10px 0;
	cursor: pointer;
	text-transform: uppercase;
	transition: .5s background
}

footer .wrapper .r form label input.btn:hover {
	background: #434343
}

footer .wrapper .r form label input.btn.load {
	background-image: url(../img/load.gif);
	background-position: 20px center;
	background-repeat: no-repeat;
	background-size: 20px;
	background-color: #434343;
	color: #fff
}

.resume .wrapper .item.item-btn{
	background: #5e5bff;
	text-align: center;
}

.teacher{
	text-align: center;
}

footer .wrapper .b {
	margin-top: 1rem;
	text-align: left;
	font-size: 1.2rem;
	color: #434343
}

footer .wrapper .b p {
	margin: 1rem 0
}

footer .wrapper .payment {
	margin-top: 1rem
}

footer .wrapper .payment img {
	max-width: 100%;
	opacity: .8
}

.resume {
	margin-bottom: 2rem
}

.resume .wrapper {
	max-width: 1250px;
	padding: 0 20px
}

.resume .wrapper .item {
	flex: 0 0 34%;
	border: 2px dotted #434343;
	position: relative;
	padding-bottom: .4rem
}

.resume .wrapper .item.item-btn {
	flex-basis: 200px;
	padding: 1rem;
	align-self: flex-end;
	color: #434343;
	font-size: 1.5rem;
	text-transform: uppercase;
	cursor: pointer;
	border: none
}

.resume .wrapper .item img {
	width: 100%
}

.resume .wrapper .item div.abs {
	color: #434343;
	font-size: 2rem;
	position: absolute;
	top: 1.5rem;
	border-bottom: 5px solid #5e5bff;
	width: 7rem;
	text-align: center
}

.resume .wrapper .item div.abs.abs-l {
	right: -7.05rem
}

.resume .wrapper .item div.abs.abs-r {
	left: -7.1rem
}

.teacher{
	margin-bottom: 2rem;
}

.teacher .t {
	font-size: 3rem;
	display: inline-block;
	color: #434343;
	line-height: 4rem;
	margin: 2rem 1rem
}

.teacher .t:after {
	display: block;
	height: 4px;
	background: #434343;
	width: 100%;
	content: ""
}

.teacher .t span {
	display: inline-block;
	padding: 0 3rem
}

.opinions .wrapper,
.teacher .wrapper {
	max-width: 1280px;
	padding: 0 20px
}

.teacher .wrapper {
	align-items: center;
}

.teacher .t span:last-child {
	margin-bottom: 1rem
}

.teacher .wrapper div {
	flex: 1;
	text-align: left;
	margin: 0 1rem;
}

.teacher .wrapper .teacherImage {
	flex: 0 1 400px;
	text-align: center;
}

.teacher .wrapper div h3 {
	font-size: 2rem;
	margin: .5rem 0 1.5rem
}

.teacher .wrapper div p {
	margin: 1rem 0
}

.opinions .wrapper {
	flex: 1;
	text-align: center;
	justify-content: space-around
}

.opinions .wrapper .row {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin: 4rem 0
}

.opinions .wrapper .row.row-hide {
	display: none
}

.opinions .wrapper .row .item {
	box-sizing: border-box;
	flex: 0 1 45%;
	padding: 4rem 2rem 2rem;
	border: 2px solid #5e5bff;
	position: relative
}

.opinions .wrapper .row .item img {
	height: 8rem;
	position: absolute;
	top: -4rem;
	left: 35%;
	z-index: 5
}

.opinions .wrapper .row .item .title {
	font-size: 1.6rem;
	margin: 1rem 0
}

.opinions .wrapper .row .item .txt {
	text-align: left
}

.opinions .wrapper .row .item .txt p {
	margin: 10px 0
}

.opinions .wrapper .row .item .txt .imp {
	font-weight: 700
}

.opinions .wrapper .btn-all {
	cursor: pointer;
	background: #5e5bff;
	color: #434343;
	font-size: 1.4rem;
	padding: 1rem 2rem;
	margin-bottom: 4rem
}

.opinions .wrapper .btn-all:hover {
	background: #f6dc8f
}

.faq{background:#d2e2ff;padding:1rem 0}.faq .wrapper{max-width:1180px;padding:0 20px;display: block;}.faqItems{display:flex;flex-wrap:wrap;margin:0 -20px}.faqItem{margin:20px;flex:1 1 400px}.faqItem__ask{font-size:1.2rem;margin-bottom:10px}

@media screen and (max-width:1300px) {
	
}

@media screen and (max-width:1040px) {
	footer .wrapper {
		justify-content: space-around
	}
	footer .wrapper .l {
		margin: 2rem
	}
	footer .wrapper .c {
		display: none
	}
}

@media screen and (max-width:980px) {
	.after_programm .t span,
	.before_programm .t span {
		display: inline-block
	}
	.after_programm .t span:first-child,
	.before_programm .t span:first-child {
		padding-right: 0
	}
	.after_programm .t span:last-child,
	.before_programm .t span:last-child {
		padding-left: 0
	}
	.after_programm,
	.before_programm {
		text-align: center
	}
	.programm .wrapper {
		top: 0;
		margin-bottom: 0
	}
	
	.programm .wrapper .month.fl-l,
	.programm .wrapper .month.fl-r {
		float: none
	}
	.resume .wrapper .item {
		flex: 1 1 100%;
		margin: 1rem 0
	}
	.resume .wrapper .item.item-btn {
		flex: 1 1 100%;
		order: 2
	}
	.resume .wrapper .item div.abs {
		position: static;
		width: 100%;
		padding: 1rem 0
	}
	.teacher .wrapper {
		justify-content: space-around
	}
	.teacher .wrapper div {
		flex: 1 1 100%
	}
	.teacher .wrapper div h3 {
		text-align: center;
		margin: 1.5rem 0
	}
	.opinions .wrapper .row {
		margin: 0
	}
	.opinions .wrapper .row .item {
		flex: 1 1 100%;
		margin: 4rem 2rem
	}
	.opinions .wrapper .row .item img {
		left: 40%
	}
}

@media screen and (max-width:920px) {
	.process .wrapper .img {
		flex-basis: 100%
	}
}

@media screen and (max-width:820px) {
	body,
	html {
		font-size: 18px
	}
	
	.programm .wrapper .month{
		padding: 1rem;
	}
	.programm .wrapper .month ul li span.name{
		margin: 0;
	}
	.programm .wrapper .month .name.name-head {
		position: static;
		display: block;
		width: auto;
		margin: 0;
		padding: 0;
		height: 3rem;
		line-height: 3rem;
	}
	.programm .wrapper .month .name.name-head::after {
		content: ""
	}
}

@media screen and (max-width:740px) {
	header .wrapper .r {
		flex-basis: 100%
	}
}

@media screen and (max-width:520px) {
	.t {
		font-size: 2rem!important;
		line-height: 3rem!important
	}
	.t:after {
		height: 2px!important
	}
	.t span {
		padding: 0 1rem!important
	}
	.programm .wrapper .month{
		margin: 1rem 0;
	}
	footer .wrapper .l .prices s {
		display: inline-block;
		margin-right: 0
	}
	footer .wrapper .l .prices span {
		display: block
	}
	footer .wrapper .l .prices span:after {
		position: static!important;
		text-align: center;
		display: block;
		width: 100%
	}
}

@media screen and (max-width:480px) {
	.programm .wrapper .month {
		height: auto
	}
}

@media screen and (max-width:450px) {
	.slogan .t span {
		padding: 0
	}
}

@media screen and (max-width:370px) {
	header .wrapper .l,
	header .wrapper .r {
		margin: 0 1rem
	}
	header .wrapper .l h1 {
		font-size: 2rem
	}
	header .wrapper .l div {
		font-size: 1.25rem
	}
}

@keyframes scrl {
	0%,
	100% {
		opacity: 0
	}
	50% {
		opacity: 1
	}
}

.teacher .wrapper img {
	align-self: flex-end;
}

.slogan-app .t {
	font-size: 2rem;
	line-height: 3rem;
	margin-bottom: 1rem;
}

.app-start {
	background: #5e5bff;
	display: inline-block;
	padding: 1rem 2rem;
	cursor: pointer;
	text-transform: uppercase;
	font-size: 1.25rem;
}

.dl-tests-application .test-hide {
	display: none;
}

@media screen and (max-width: 780px) {
	.app-before {
		display: none;
	}
}

.phpImage{
	position: absolute;
	max-width: 450px;
}

.phpImage-el{
	bottom: -5px;
	right: -70px;
	z-index: 0;
}

@media screen and (max-width: 1380px) {
	.phpImage{
		display: none;
	}
	
	header .wrapper .scroll{
		margin-top: 1rem;
	}
}

.info{
	background: #5e5bff;
	color: #fff;
	padding: 1rem 0;
	font-size: 0.8rem;
	text-align: center;
}

.info .wrapper{
	display: block;
}

.info a{
	color: inherit;
}

.comments_browse{
	max-width: 900px;
	margin: 0 auto;
}

.mt-1{
	margin-top: 10px;
}

.mt-2{
	margin-top: 20px;
}

.mt-3{
	margin-top: 30px;
}

.mt-4{
	margin-top: 40px;
}

.mt-5{
	margin-top: 50px;
}

.mt-6{
	margin-top: 60px;
}

.video .youtube-play{position:absolute;width:68px;height:48px;left:calc(50% - 54px);top:calc(50% - 30px);padding:16px 20px;border-radius:20px;transition:opacity 0.3s,background .3s}
.video:hover .youtube-play{background:#fff;opacity:.9}
.text-1dot2:nth-child(n+1){margin-top: 10px;}

.ny{margin-bottom: 30px;}
.ny a{font-size: 0.8em; margin-top: 10px;display: block;}
.footerReviewsText{text-align:center}

.call-small-addon{font-size:0.8em}
.programmItem__title:first-letter{ text-transform: uppercase; }
.vkc { --vkc-accent: #5e5bff !important; margin: 2rem auto 4rem !important; }
.agree { display: flex !important; align-items: center; gap: 8px; }
.agree .checkbox { flex: 0 0 auto; }
.agree .txt { flex: 1; }
form:has(#agree:not(:checked)) .btn { opacity: .5; cursor: not-allowed; }