@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700;800&display=swap');

body
{
padding: 0;
color: #000;
font-weight: 400;
font-size: 20px;
line-height: 1.35;
min-width: 320px;
font-family: 'Open Sans', sans-serif;
margin: 0;
}

.nowrap
{
white-space: nowrap;
}

.container
{
margin: 0 auto;
padding: 0px 15px;
max-width: 1110px;
}

.cont_flex
{
display: flex;
justify-content: space-between;
align-items: center;
}

.part
{
width: 48%;
}

.top
{
position: fixed;
top: 0;
left: 0;
width: 100%;
background: #F9EFF9;
padding: 15px 0;
z-index: 1;
}

.top_inst a
{
color: #000;
text-decoration: none;
display: flex;
align-items: center;
}

.top_inst img
{
width: 30px;
margin-right: 15px;
}

.top_button
{
display: inline-block;
color: #fff;
text-decoration: none;
font-weight: 700;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
padding: 11px 19px;
border-radius: 5px;
text-align: center;
background: #B46CB2;
box-shadow: inset 0 -24px 0 #8d408c;
}

.top_button:hover
{
opacity: 0.9;
}

header
{
padding: 40px 0;
margin-top: 80px;
}

h1
{
font-size: 40px;
font-weight: 700;
text-align: center;
margin: 27px 0 47px;
}

.big_h1
{
display: block;
font-weight: 800;
text-transform: uppercase;
color: #8D408C;
font-size: 1.75em;
}

.button
{
display: block;
color: #fff;
text-decoration: none;
font-weight: 700;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
padding: 23px 30px;
border-radius: 5px;
text-align: center;
background: #B46CB2;
box-shadow: inset 0 -38px 0 #8d408c;
font-size: 30px;
line-height: 1.17;
margin-bottom: 41px;
}

.button:hover
{
opacity: 0.9;
}

.video
{
align-self: stretch;
overflow: hidden;
position: relative;
cursor: pointer;
display: flex;
align-items: center;
}

.video video
{
position: absolute;
width: 100%;
}

.hide_h1
{
display: none;
}

@media (max-width: 1110px)
{
h1
{
margin-bottom: 4vw;
font-size: 3.6vw;	
}
.button
{
font-size: 2.5vw;
box-shadow: inset 0 -4vw 0 #8d408c;	
}
.video video
{
position: relative;
max-width: 450px;
}
body
{
font-size: 16px;
}
header
{
margin-top: 73px;
}
.top_button
{
box-shadow: inset 0 -21px 0 #8d408c;
}
}

@media (max-width: 876px)
{
.top .part
{
width: auto;
}
.top_inst
{
margin-right: 60px;
}
}

@media (max-width: 767px)
{
.cont_flex
{
flex-direction: column;
}
.part
{
width: 100%;
}
.hide_h1
{
display: block;
}
.show_h1
{
display: none;
}
.video
{
flex-direction: column;
}
.top
{
font-size: 14px;
}
.top_button
{
top: 50%;
position: absolute;
right: 15px;
margin-top: -20px;
box-shadow: inset 0 -19px 0 #8d408c;
}
.top_inst img
{
width: 18px;
margin-right: 6px;
}
.top .cont_flex
{
align-items: flex-start;	
}
.top_inst 
{
margin-top: 7px;	
}
h1
{
margin-top: 10px;
font-size: 28px;
margin-bottom: 25px;
}
.video
{
margin-bottom: 35px;	
}
header .button
{
max-width: 300px;
margin: 0 auto 20px;	
}
.button
{
font-size: 18px;
box-shadow: inset 0 -33px 0 #8d408c;
}
header
{
padding-bottom: 30px;
}
}

@media (max-width: 680px)
{
h1
{
margin-top: 0px;
font-size: 22px;
}
.video
{
margin-bottom: 30px;	
}	
}

@media (max-width: 380px)
{
.button
{
padding: 18px 20px;
font-size: 17px;
box-shadow: inset 0 -26px 0 #8d408c;
}
.top_button
{
padding: 9px 12px;
margin-top: -27px;
width: 100px;
box-shadow: inset 0 -26px 0 #8d408c;
}
}

.block1
{
padding: 71px 0 55px;
background: #EAC5E9;
}

.cont_flex1
{
display: flex;
justify-content: space-evenly;
flex-wrap: wrap;
}

.part1
{
width: 40%;
}

.white_block
{
background: #fff;
border-radius: 5px;
box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.15);
padding: 25px 30px;
box-sizing: border-box;
min-height: 132px;
position: relative;
margin-bottom: 45px;
margin-left: 50px;
font-size: 20px;
padding-left: 80px;
display: flex;
align-items: center;
}

.number
{
width: 65px;
height: 65px;
border-radius: 50%;
display: flex;
font-size: 30px;
font-weight: 800;
justify-content: center;
align-items: center;
color: #fff;
background: #8D408C;
position: relative;	
margin-left: 15px;
margin-top: -20px;
}

.number_img img
{
width: 100px;
display: block;
}

.number_img
{
position: absolute;
right: auto;
left: -50px;
top: 3px;
}

@media (max-width: 1142px)
{
.white_block
{
font-size: 19px;
min-height: 126px;
padding-left: 60px;
}
.number_img img
{
width: 80px;
}
.number
{
font-size: 21px;
width: 50px;
height: 50px;	
}
.part1
{
width: 40%;
}
}

@media (max-width: 1060px)
{
.white_block
{
font-size: 18px;
margin-bottom: 30px;
}
.part1
{
width: 45%;
}
.block1
{
padding: 60px 0 38px;
}
}

@media (max-width: 1020px)
{
.white_block
{
font-size: 16px;
padding-left: 50px;
}
}

@media (max-width: 767px)
{
.block1
{
padding: 45px 0 35px;
}
}

@media (max-width: 730px)
{
.part1
{
width: 100%;
max-width: 400px;
}
.white_block
{
min-height: 117px;
margin-bottom: 20px;
}
}

@media (max-width: 380px)
{
.number_img img
{
width: 60px;
}
.number
{
font-size: 17px;
width: 40px;
height: 40px;
}
.number
{
margin-left: 10px;
}
.number_img
{
left: -30px;	
}
.white_block
{
margin-left: 30px;
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
min-height: 104px;
}
.white_block
{
padding-left: 44px;
}
}

.block2
{
background: url(images/fon.jpg) center top / cover no-repeat;
padding: 80px 0 59px;
}

h2
{
font-weight: 700;
margin: 0 0 60px;
text-align: center;
font-size: 40px;
}

.part2
{
width: 48%;
border-radius: 5px;
background: #fff;
box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.15);
box-sizing: border-box;
font-size: 18px;
line-height: 1.39;
display: flex;
align-items: center;
text-align: center;
margin-bottom: 30px;
min-height: 115px;
padding: 20px;
justify-content: center;
}

.block2 .cont_flex
{
flex-wrap: wrap;
margin-bottom: 41px;
align-items: stretch;
}

.block2 .button
{
box-shadow: inset 0 -54px 0 #8d408c;
}

.hide_img
{
display: none;
width: 100%;
}

@media (max-width: 1160px)
{
.part2
{
font-size: 16px;
}
}

@media (max-width: 1110px)
{
h2
{
font-size: 34px;
margin: 0 0 48px;
}
.block2
{
padding: 62px 0 21px;
}
.block2 .cont_flex
{
margin-bottom: 30px;
}
.block2 .part
{
width: 56%;
}
.block2 .button
{
box-shadow: inset 0 -4vw 0 #8d408c;
}
}

@media (max-width: 902px)
{
h2
{
font-size: 25px;
margin-bottom: 45px;
}
.block2 .part
{
width: 61%;
}
}

@media (max-width: 767px)
{
.block2 .part
{
width: 100%;
}
.block2 .cont_flex
{
flex-direction: row;
justify-content: space-evenly;
align-items: center;
}
.part2
{
width: 44%;
}
.block2 .button
{
box-shadow: inset 0 -43px 0 #8d408c;
max-width: 300px;
margin-left: auto;
margin-right: auto;
}
.block2
{
padding: 44px 0 10px;
background: #e3efff;
background: -moz-linear-gradient(top,  #e3efff 0%, #e3efff 50%, #f5e8d8 50%, #f5e8d8 100%);
background: -webkit-linear-gradient(top,  #e3efff 0%,#e3efff 50%,#f5e8d8 50%,#f5e8d8 100%);
background: linear-gradient(to bottom,  #e3efff 0%,#e3efff 50%,#f5e8d8 50%,#f5e8d8 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e3efff', endColorstr='#f5e8d8',GradientType=0 );
}
.block2 .cont_flex
{
margin-bottom: 16px;
}
.hide_img
{
display: block;
}
.block2 .container
{
padding: 0;
}
h2
{
padding-left: 15px;
padding-right: 15px;
}
.button_block
{
padding: 0 15px;
}
}

@media (max-width: 550px)
{
.part2
{
width: 90%;
max-width: 300px;
margin-bottom: 20px;
}
h2
{
margin-bottom: 38px;
font-size: 22px;
}
.block2 .cont_flex
{
margin-bottom: 26px;
flex-direction: column;
}
}

@media (max-width: 380px)
{
.block2 .button
{
box-shadow: inset 0 -36px 0 #8d408c;
}	
}

footer
{
background: #8D408C;
color: #fff;
font-size: 16px;
padding: 80px 0;
}

footer a
{
color: #fff;
text-decoration: none;
display: flex;
align-items: center;
font-size: 18px;
}

footer a img
{
width: 20px;
height: 20px;
margin-right: 10px;
}

.cont_flex2
{
display: flex;
margin-bottom: 50px;
justify-content: space-between;
}

.part3
{
box-sizing: border-box;
margin-bottom: 10px;
}

@media (max-width: 1110px)
{
footer
{
padding: 56px 0;
}
.cont_flex2
{
margin-bottom: 38px;
}
}

@media (max-width: 1100px)
{
footer
{
font-size: 14px;
}
footer a
{
font-size: 16px;
}	
}

@media (max-width: 866px)
{
.part3
{
width: 50%;
}
.cont_flex2
{
flex-wrap: wrap;
}	
}

@media (max-width: 520px)
{
.part3
{
width: 100%;
padding: 0;
}	
}