@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
a,button,input,textarea{
    -webkit-tap-highlight-color:rgba(255, 255, 255, 0) !important;
    -webkit-focus-ring-color:rgba(255, 255, 255, 0) !important;
    outline:none !important;
}
@supports (-ms-accelerator:true){body{overflow-x:hidden;}}
@supports (-ms-ime-align:auto){body{overflow-x:hidden;}}
:root{
    --black:#000000;
    --gray75:#3B3B3B;
    --gray50:#808080;
    --gray30:#B9B9B9;
    --gray20:#CDCDCD;
    --gray10:#E5E5E5;
    --gray5:#F7F7F7;
    --white:#ffffff;
    --Dark_blue:#2D89CC;
    --Middle_blue:#57B7EC;
    --Light_blue:#7ECCF7;
    --Super-light-blue:#9EDCFF;
    --Gray_blue:#95BDD3;
    --Light_blue_gray:#B0D6EB;
    --smaller:12px;
    --small:14px;
    --text:16px;
    --average:18px;
    --average2:20px;
    --medium:24px;
    --big:32px;
    --biggest:48px;
}    
body{
    font-family:'Roboto', sans-serif;
    color:var(--gray75);
    font-size:var(--text);
    font-weight:300;
    margin:0;
    padding:0;
}
.upper{
    text-transform: uppercase;
}
h2{
    font-weight:400;
    font-size:var(--average2);
    margin:0 0 24px;
    padding:0;
}
h2.index{
   font-size:var(--medium);
   margin-bottom:48px; 
}
h3{
    margin:0 0 32px;
    padding:0;
    font-weight:500;
    font-size:var(--average2);
}
.underline{
    text-decoration:underline;
}
.no-bottom-margin{
    margin-bottom:0;
}
main{
    padding-bottom:50px;
}
/* header */
header{
    box-sizing:border-box;
    height:80px;
    border-bottom:1px solid var(--gray10);
    padding:0 32px;
    position:relative;
    display:grid;
    grid-template-columns:40px 1fr 324px 40px;
    grid-gap:32px;
    z-index:9000;
}
header .logo a{
    display:block;
    width:40px;
    height:52px;
    white-space:nowrap;
    overflow:hidden;
    text-indent:200px;
    background:url(/imgs/svg/logo.svg) center top no-repeat;
    background-size:contain;
}
header  nav{
    display:block;
    box-sizing:border-box;
}
header .mainmenu{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    justify-content:left;
    height:80px;
}
header .mainmenu .first-level{
    display:inline-block;
    height:80px;
    line-height:80px;
    font-weight:500;
    font-size:var(--small);
    text-transform:uppercase;
    position:relative;
    white-space:nowrap;
}
header .mainmenu .first-level.active{
    color:var(--gray75);
}
header .mainmenu .first-level.active:before{
    content:"";
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    display:block;
    width:48px;
    height:2px;
    border-radius: 2px 2px 0px 0px;
    background-color:var(--gray75);
}
header .mainmenu .has-sublevel{
    padding-right:24px;
}
header .mainmenu .has-sublevel:after{
    content:"";
    position:absolute;
    display:block;
    width:20px;
    height:20px;
    background:url(/imgs/svg/menu-arrow.svg) center center no-repeat;
    transform-origin:center;
    right:0;
    top:50%;
    transform:translateY(-50%);
    transition: all 150ms;
}
header .mainmenu .has-sublevel.active:after{
    background-image:url(/imgs/svg/menu-arrow-active.svg);
}
header .mainmenu .has-sublevel:hover:after{
    transform:translateY(-50%) rotate(180deg);
}
header .bttn{
    width:208px;
    font-size:var(--small);
    font-weight:500;
}
header .select-lang{
    display:grid;
    grid-template-columns:208px 1fr;
    grid-gap:32px;
}
header .select-lang-site{
    display:grid;
    grid-template-columns:32px 32px;
    grid-gap:16px;
}
header .select-lang-site a{
    display:block;
    width:32px;
    height:32px;
    border-radius:50%;
    background-color:var(--white);
    position:relative;
}
header .select-lang-site span{
    display:block;
    height:26px;
    width:26px;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    white-space:nowrap;
    overflow:hidden;
    text-indent:200px;
}
header .ukrain{
    background-image:url(/imgs/svg/flag/ua.svg);
}
header .russia{
    background-image:url(/imgs/svg/flag/ru.svg);
}
header .select-lang-site .active{
    border-color:var(--Light_blue)
}
header .profile{
    padding-left:8px;
    position:relative;
}
header .profile:before{
    content:"";
    display:block;
    width:1px;
    background-color:var(--gray10);
    position:absolute;
    height:28px;
    top:50%;
    left:-12px;
    transform:translateY(-50%);
}
header .mobile-menu{
    display:none;
}
header .enter{
    display:block;
    border-radius:50%;
    width:32px;
    height:32px;
    background:url(/imgs/svg/login.svg) center center no-repeat;
    overflow:hidden;
    text-indent:100px;
}
.vertical-center{
    position:relative;
    top:50%;
    transform:translateY(-50%);
}
.submenu{
    display:none;
}
.mainmenu>li{
    margin-right:32px;
}
.mainmenu>li .submenu{
    display:none;
    margin:0;
    padding:24px 0;
    background-color:var(--gray75);
    height:auto;
}
.mainmenu>li:hover .submenu{
    display:block;
    position:absolute;
    top:80px;
    left:0;
    right:0;
}
.submenu ul{
    padding:0;
    margin:0;
    list-style:none;
    display:grid;
    grid-template-columns:repeat(5,min-content);
    grid-template-rows:repeat(3,1fr);
    grid-gap:12px 64px;
    grid-auto-flow:column;
}
.submenu.horizontal ul{
    grid-auto-flow:initial;
    grid-template-rows:auto;
}
.submenu a{
    display:block;
    color:var(--white);
    font-size:var(--small);
    white-space:nowrap;
}
.submenu a:hover{
    color:var(--white);
    text-decoration: underline;
}

/* footer */
footer{
    margin:0 32px;
    padding:40px 0;
    box-sizing:border-box;
    border-top:1px solid var(--gray10);
    font-size:var(--smaller);
}
footer .container{
    display:grid;
    grid-gap:24px;
    grid-template-columns:46px 394px 1fr;
}
footer .container .logo a{
    display:block;
    width:46px;
    height:60px;
    white-space:nowrap;
    overflow:hidden;
    text-indent:300px;
    background:url(/imgs/svg/logo.svg) center center no-repeat;
    background-size:contain;
}
footer h5{
    margin:0;
    padding:0;
    font-size:var(--small);
    font-weight:500;
    color:var(--gray75);
}
footer .copyright{
    line-height:150%;
}
footer .copyright > div {
    display:grid;
    grid-template-columns:1fr;
    grid-gap:12px;
    color:var(--gray30);
}
footer .infolinks a{
    display:inline-block;
    margin-bottom:8px;
    color:var(--gray50);
    text-decoration:underline;
}
footer .infolinks a:last-child{
    margin-bottom:0;
}
footer .cources{
    position:relative;
    padding-bottom:50px;
}
footer .cources .grid{
    display:flex;
    flex-wrap:wrap;
    justify-content: flex-end;
}
footer .cources .lang{
    width:168px;
    margin:0 0 24px 24px;
    text-align:right;
}
footer .cources .lang:nth-child(3n+1){
    margin-left:0;
}
footer .cources h5{
    margin-bottom:12px;
}
footer .sep{
    display:inline-block;
    width:1px;
    height:12px;
    margin:0 8px;
    background-color:var(--gray10);
    position:relative;
    transform: translateY(2px);
}
footer .social-networks{
    list-style:none;
    margin:0;
    padding:0;
    width:154px;
    display:grid;
    grid-template-columns:24px 24px 24px;
    grid-template-rows:24px;
    grid-gap:16px;
    position:absolute;
    right:0;
    bottom:0;
}
footer .social-networks a{
    display:block;
    width:24px;
    height:24px;
    white-space:nowrap;
    text-indent:200px;
    overflow:hidden;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:contain;
}
footer .social-networks .tiktok{
    background-image:url(/imgs/svg/tiktok.svg);
}
footer .social-networks .telegram{
    background-image:url(/imgs/svg/telegram.svg);
}
footer .social-networks .facebook{
    background-image:url(/imgs/svg/facebook.svg);
}
footer .social-networks .instagram{
    background-image:url(/imgs/svg/instagram.svg);
}
/* breadcrumbs */
.breadcrumbs{
    list-style:none;
    display:block;
    margin:48px 0 32px;
    padding:0;
    font-size:var(--smaller);
}
.breadcrumbs li{
    display:inline-block;
    margin:0 19px;
    position:relative;
}
.breadcrumbs li:after{
    content:"";
    position:absolute;
    top:50%;
    right:-29px;
    transform: translateY(-50%);
    display:block;
    width:14px;
    height:10px;
    background:url(/imgs/svg/breadcrumb-arrow.svg) center center no-repeat;
    background-size:contain;
}
.breadcrumbs li:last-child:after{
    display:none;
}
.breadcrumbs li:first-child{
    margin-left:0;
}
.breadcrumbs li:last-child{
    margin-right:0;
    color:var(--gray75);
}
.breadcrumbs a{
    color:var(--Gray_blue);
    text-decoration:none;
}
/* записаться на бесплатный урок */
.order-free-lesson{
    border-radius:8px;
    border:1px solid var(--gray10);
    padding:32px;
    display:grid;
    grid-gap:38px;
    grid-template-columns:308px 1fr;
}
.order-free-lesson .text-block{
    line-height:160%;
}
.order-free-lesson .text-block p{
    margin-bottom:30px;
}
.order-free-lesson .text-block p:last-child{
    margin-bottom:0;
}
.order-free-lesson h2{
    font-size:var(--average2);
    margin:0 0 40px;
    font-weight:600;
    line-height:170%;
}
.order-free-lesson h3{
    margin-bottom:16px;
    font-size:var(--text);
}
/* кнопки */
.bttn{
    display:block;
    border:0;
    width:100%;
    height:44px;
    line-height:44px;
    border-radius:8px;
    font-size:var(--text);
    text-align:center;
}
.bttn.width308{
    width:308px;
}
.bttn.blue{
    background-color:var(--Light_blue);
    color:var(--white);
}
.bttn.blue:hover{
    background-color:var(--Middle_blue);
}
.bttn.shadow{
    box-shadow:0px 4px 12px rgba(93, 98, 97, 0.16);
}
.bttn.white{
    background-color:var(--white);
    border: 1px solid #BDCED8;
    color:var(--Middle_blue);
}
.bttn.white:hover,
.bttn.transparent:hover{
    border-color:var(--gray30);
    color:var(--Dark_blue);
}
.bttn.transparent{
    font-size:var(--smaller);
    border: 1px solid #dedede;
    height:36px;
    line-height:36px;
}
/* общие стили */
.block{
    display:block;
}
h1{
    margin:0 0 48px;
    padding:0;
    color:var(--gray75);
    font-weight:500;
    font-size:var(--big);
}
p{
    margin:0;
    padding:0;
}
.container{
    width:1040px;
    margin:0 auto;
}
.fullwidth section{
    margin-bottom:48px;
}
.fullwidth{
    overflow:hidden;
}
a{
    color:var(--Middle_blue);
    text-decoration:none;
}
a:hover{
    color:var(--Dark_blue);
}
/* список языков в хедере */
.languages-list{
    padding:24px 0;
    border-bottom:1px solid var(--gray10);
    z-index:200;
}
.languages-list ul{
    display:grid;
    list-style:none;
    grid-gap:16px 42px;
    grid-template-columns:repeat(7,1fr);
    padding:0;
}
.languages-list a{
    display:inline-block;
    height:28px;
    line-height:28px;
    font-size:var(--smaller);
    padding-left:36px;
    position:relative;
}
.languages-list .flag{
    display:block;
    width:24px;
    height:24px;
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    border-radius:50%;
}
.greatbritain{background-image:url(/imgs/svg/flag/uk.svg);}
.german{background-image:url(/imgs/svg/flag/de.svg);}
.france{background-image:url(/imgs/svg/flag/fr.svg);}
.spain{background-image:url(/imgs/svg/flag/es.svg);}
.italy{background-image:url(/imgs/svg/flag/it.svg);}
.czech{background-image:url(/imgs/svg/flag/cz.svg);}
.greece{background-image:url(/imgs/svg/flag/gr.svg);}
.sweden{background-image:url(/imgs/svg/flag/se.svg);}
.finland{background-image:url(/imgs/svg/flag/fi.svg);}
.poland{background-image:url(/imgs/svg/flag/pl.svg);}
.turkey{background-image:url(/imgs/svg/flag/tr.svg);}
.iran{background-image:url(/imgs/svg/flag/ir.svg);}
.japan{background-image:url(/imgs/svg/flag/jp.svg);}
.china{background-image:url(/imgs/svg/flag/cn.svg);}
.math{background-image:url(/imgs/svg/flag/fi.svg);}

.list-check{
    list-style:none;
    display:grid;
    grid-template-columns:1fr;
    grid-gap:12px;
    margin:0;
    padding:0;
}
.list-check li{
    padding-left:36px;
    position:relative;
}
.list-check li:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    display:block;
    width:24px;
    height:24px;
    background:url(/imgs/svg/ul-li-arrow.svg) center center no-repeat;
}
.blue-block{
    background-color:var(--Light_blue);
    color:var(--white);
    padding:48px 0;
    margin-bottom:48px;
}
.blue-block .container{
    display:grid;
    grid-template-columns:1fr 308px;
    grid-gap:92px;
}
.blue-block .button{
    align-self: center;
}
.blue-block .bttn{
    border:0;
}
section,
.section{
    margin-bottom:48px;
}
.main-page .section,
.main-page section{
    margin-bottom:64px;
}
/* adaptive styles */
@media screen and (max-width:1200px){
    body{
        padding-top:80px;
    }
    header{
        grid-template-columns: 1fr 324px 40px 32px;
        position:fixed;
        top:0;
        left:0;right:0;
        background-color:#fff;
        grid-gap:20px;
    }
    .container,
    .languages-list ul{
        padding-left:32px;
        padding-right:32px;
        width:auto;
    }
    header nav{
        position:absolute;
        top:80px;
        height:100vh;
        width:100%;
        background-color:var(--gray5);
        padding:0 24px;
        display:none;
    }
    header nav.active{
        display:block;
    }
    header .mainmenu{
        display:grid;
        grid-template-columns:1fr;
        grid-gap:0;
    }
    header .mainmenu > li{
        padding:16px 0 20px;
        border-bottom:1px solid var(--gray10);
        margin-right:0px;
    }
    header .mainmenu .first-level{
        height:auto;
        line-height:120%;
    }
    header .mainmenu .first-level.active {
        color:var(--Middle_blue);
    }
    header .mainmenu .first-level.active:before,
    header .mainmenu .has-sublevel.active:after,
    header .mainmenu .has-sublevel:after{
        display:none;
    }
    header .mobile-menu{
        display:block;
        position:relative;

    }
   .hamburger span{
        height:2px;
        background-color:var(--Middle_blue);
        position:absolute;
        left:0;
        right:0;
        top:50%;
        transform:translateY(-50%);
        overflow: hidden;
        text-indent:100px;
    }
    .hamburger.active span{
        display:none;
    }
    .hamburger{
        border:0;
        display:block;
        position:relative;
        width:28px;
        height:28px;
        background-color:transparent;
        cursor:pointer;
    }
    .hamburger:before,
    .hamburger:after{
        content:"";
        display:block;
        height:2px;
        background-color:var(--Middle_blue);
        position:absolute;
        left:0;
        right:0;
        transform-origin:center;
    }
    .hamburger.active:before{
        top:50%;
        transform:translateY(-50%) rotate(45deg);
    }
    .hamburger:before{
        top:3px;
    }
    .hamburger.active:after{
        bottom:initial;
        top:50%;
        transform:translateY(-50%) rotate(-45deg);
    }
    .hamburger:after{
        bottom:3px;
    }
    .submenu .container{
        padding:0;
        margin:0;
        width:100%;
    }
    .submenu a,
    .submenu a:hover{
        color:var(--gray50);
    }
    .mainmenu>li .submenu{
        display:block;
        background-color:transparent;
        height:auto;
        padding: 20px 0 0;
    }
    .mainmenu>li:hover .submenu{
        display:block;
        position:initial;
        top:initial;
        left:initial;
        right:initial;
    }
}
@media screen and (max-width:960px){
    header{
        padding-left:24px;
        padding-right:24px;
    }
    .container{
        width:100%;
        /* min-width:768px; */
        padding-left:24px;
        padding-right:24px;
        box-sizing:border-box;
    }
    footer{
        padding-left:0;
        padding-right:0;
        margin-left:24px;
        margin-right:24px;
    }
    footer .container{
        padding:0;
        margin:0 auto;
        min-width:auto;
    }
    .languages-list ul{
        grid-template-columns:repeat(5,1fr);
        grid-gap:16px 48px;
    }
    footer .logo{
        grid-area:logo;
        height:60px;
    }
    footer .copyright{
        grid-area:copyright;
    }
    footer .cources{
        grid-area:cources;
        justify-self: end;
    }
    footer .container{
        display:inline-grid;
        grid-template-columns:272px 1fr;
        grid-template-areas: "logo cources"
                             "copyright cources";
    }
    footer .cources .grid{
        min-width:360px;
    }
    .breadcrumbs li{
        display:none;
    }
    .breadcrumbs li:nth-last-child(2){
        display:block;
        padding:0 0 0 28px;
        margin:0;
    }
    .breadcrumbs li:after{
        right:initial;
        left:0;
        transform-origin:center;
        transform: translateY(-50%) rotate(180deg);
    }
}
@media screen and (max-width:880px){
    footer .cources .lang{
        margin:0 0 20px 20px;
    }
    footer .cources .lang:nth-child(3n+1){
        margin-left:20px;
    }
    .languages-list ul{
        grid-template-columns:repeat(5,1fr);
        grid-gap:16px;
    }
}
@media screen and (max-width:800px){
    main{
        padding-bottom:40px;
    }
    h1{
        font-size:var(--medium);
        margin-bottom:32px;
    }
    h2{
        margin-bottom:20px;
        font-size:var(--average);
    }
    footer h5{
        font-size:var(--smaller);
    }
    h3,h2.index{
        font-size:var(--average);
    }
    h2.index{
        margin-bottom:40px;
    }
    .order-free-lesson{
        grid-template-columns:1fr 1fr;
        padding:20px;
    }
    footer .cources .grid{
        min-width:auto;
    }
    .blue-block{
        padding: 40px 0;
        margin-bottom: 40px;
    }
    .blue-block .container{
        grid-template-columns:1fr;
        grid-gap:32px;
    }
    .blue-block .bttn{
        max-width:308px;
    }
    .double-block-grid{
        grid-gap:32px;
    }
    .container, .languages-list ul{
        padding-left:24px;
        padding-right:24px;
    }
    section, .section{
        margin-bottom:40px;
    }
    .order-free-lesson{
        grid-gap:32px;
    }
}
@media screen and (max-width:600px){
    body{
        font-size:var(--small);
    }
    h1{
        font-size:var(--medium);
        margin-bottom:32px;
    }
    header .profile:before{
        display:none;
    }
    footer,
    .container{
        min-width:320px;
    }
    footer{
        padding-left:0;
        padding-right:0;
        margin:0 16px;
        padding:16px 0;
    }
    footer .cources .grid{
        min-width:initial;
        display:grid;
        grid-template-columns:1fr;
        grid-gap:20px;
    }
    footer .container{
        grid-template-columns:1fr 1fr;
        grid-gap:12px;
    }
    footer .cources .lang,
    footer .cources .lang:nth-child(3n+1){
        margin:0;
        padding:0;
    }
    header{
        grid-template-columns: 1fr 32px 32px;
        grid-gap:24px;
        padding:0 16px;
    }
    header .select-lang{
        display:none;
        padding:0 16px;
        position:absolute;
        height:64px;
        top:80px;
        left:0;
        right:0;
        background-color:var(--white);
    }
    header .select-lang.active{
        display:grid;
    }
    header .select-lang-site{
        justify-self:end;
    }
    header nav{
        top:144px;
        padding: 0 16px;
    }
    .submenu ul{
        grid-template-columns: repeat(3,min-content);
        grid-template-rows: repeat(5,1fr);
        grid-gap:12px 20px;
    }
    .submenu ul.nav-1{
        grid-template-columns:repeat(3,1fr);
    }
    .submenu ul.nav-2{
        grid-template-columns:90px 1fr;
    }
    .submenu ul.nav-3{
        grid-template-columns:1fr 1fr;
    }
    .container, .languages-list ul{
        padding-left:16px;
        padding-right:16px;
    }
    .bttn.width308,
    .bttn{
        width:100%;
    }
    .order-free-lesson{
        grid-template-columns:1fr;
        grid-gap:20px;
        padding:16px 16px 80px;
        position:relative;
    }
    .order-free-lesson h2{
        margin:0;
    }
    .order-free-lesson .bttn{
        position:absolute;
        bottom:16px;
        left:16px;
        right:16px;
        width:initial;
    }
    .blue-block{
        padding:32px 16px;
        margin-bottom:40px;
    }
    .blue-block .container{
        grid-template-columns:1fr;
        grid-gap:24px;
        padding:0;
    }
    .breadcrumbs{
        margin: 32px 0;
    }
    .container .container{
        padding:0;
    }
    .languages-list .lang-name{display:none;}
    .languages-list ul{
        grid-template-columns:repeat(5,1fr);
    }
    section, .section{
        margin-bottom:32px;
    }
    .fullwidth section{
        margin-bottom:40px;
    }
    .course-preview h3{
        margin-bottom:24px;
    }
}
