html, body{ margin: 0; padding: 0; min-height: 100%; }
body{ font: 20px/26px Nunito; font-size: 400; color: #000; }
h2{ margin: 64px 0 20px 0; padding: 0; text-align: center; font-weight: 700; font-size: 60px; line-height: 70px; color: #2d6ab2; }
h2#chPrice{ margin-top: 14px; }
@media screen and (max-width: 1600px){
    body{ font: 18px/24px Nunito; }
    h2{ font-size: 50px; line-height: 60px; }
}
@media screen and (max-width: 1199px){
    body{ font: 16px/22px Nunito; }
    h2{ width: 90%; margin: 40px auto 20px auto; font-size: 32px; line-height: 35px; }
}

header{ padding: 20px 0; background: #2d6ab2; }
header > div{ display: flex; align-items: center; justify-content: space-between; max-width: 1200px; height: 120px; margin: 0 auto; }
header ul{ display: flex; align-items: center; margin: 0; padding: 0 40px; list-style: none; }
header li{ margin: 0; padding: 0 12px; }
header li a{ font-weight: 500; font-size: 16px; line-height: 24px; color: #fff; text-decoration: none; }
header li a:hover{ text-decoration: underline; }
header > div > a:last-child{ padding: 27px 56px; border-radius: 20px; background: #fff; font-weight: 600; font-size: 16px; color: #2d6ab2; text-decoration: none; }
@media screen and (max-width: 1600px){
    header > div{ max-width: 1100px; height: 100px; }
    header img{ height: 60px; }
    header li{ margin: 0; padding: 0 8px; }
    header > div > a:last-child{ padding: 20px 40px; border-radius: 20px; background: #fff; font-weight: 600; font-size: 16px; color: #2d6ab2; text-decoration: none; }
}
@media screen and (max-width: 1199px){
    header{ padding: 20px 0 40px 0; }
    header > div{ width: 90%; flex-direction: column; max-width: auto; height: auto; }
    header ul{ margin: 0 0 25px 0; padding: 0; }
    header li{ margin: 0; padding: 10px 12px; }
    header li a{ font-size: 22px; line-height: 22px; }
    header > div > a:last-child{ padding: 20px 40px; border-radius: 15px; }
}
@media screen and (max-width: 700px){
    header ul{ flex-direction: column; }
    header li{ padding: 10px 0px; }
}

.topInfo{ margin-top: 64px; display: flex; justify-content: space-between; font-size: 30px; line-height: 34px; color: #2d6ab2; }
.topInfoLeft{ flex: auto; background: url(/data/vipcoach.pro/images/topleft.png) no-repeat 100% 0; background-size: auto 100%; }
.topInfoRight{ flex: auto; background: url(/data/vipcoach.pro/images/topright.png) no-repeat 0 0; background-size: auto 100%; }
.topInfoData{ flex: none; width: 810px; margin: 0 32px; }
h1{ margin: 0; font-size: 60px; line-height: 70px; text-align: center; }
h1 span{ color: #ff9f19; }
.topInfo p { margin: 18px 0; }
.topInfo a { display: block; max-width: 520px; margin: 0 auto; padding: 27px 0; border-radius: 20px; background: #ff9f19; text-align: center; text-decoration: none; font-weight: 700; font-size: 30px; line-height: 22px; color: #fff; }
@media screen and (max-width: 1600px){
    .topInfo{ font-size: 22px; line-height: 28px; }
    .topInfoData{ width: 610px; margin: 0 22px; }
    h1{ font-size: 40px; line-height: 50px; }
    .topInfo a { padding: 20px 0; border-radius: 18px; font-size: 22px; }
}
@media screen and (max-width: 1199px){
    .topInfo{ width: 90%; flex-direction: column; margin: 40px auto 0 auto; font-size: 20px; line-height: 22px; }
    .topInfoLeft{ height: 200px; background: url(/data/vipcoach.pro/images/topleft.png) no-repeat center 0; background-size: auto 100%; }
    .topInfoRight{ height: 200px; background: url(/data/vipcoach.pro/images/topright.png) no-repeat center 0; background-size: auto 100%; }
    .topInfoData{ flex: none; width: 100%; margin: 40px 0; }
    h1{ margin: 0; font-size: 30px; line-height: 30px; }
    .topInfo p { margin: 20px 0; }
    .topInfo a { width: 100%; max-width: auto; padding: 20px 0; border-radius: 15px; box-sizing: border-box; font-size: 20px; line-height: 24px; }
}

.topParts{ width: 1200px; margin: 179px auto 0 auto; padding: 0 50px; border-top: 1px solid transparent; border-radius: 50px; background: #e7e8ff; }
.topParts ul{ display: flex; list-style: none; margin: -115px -15px 100px -15px; padding: 0; }
.topParts ul li{ width: 33%; margin: 0 15px; padding: 35px 30px; border-radius: 30px; background: #2d6ab2; text-align: center; color: #fff; }
.topParts h2{ width: auto; margin: 0; padding: 0 0 40px 0; font-size: 40px; line-height: 50px; color: #fff; }
.topParts a{ text-decoration: none; font-size: 30px; line-height: 34px; color: #fff; }
.topParts > div{ display: flex; align-items: center; padding-bottom: 25px; }
.topParts > div > p{ flex: none; width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700; font-size: 60px; line-height: 90px; }
.checkok{ display: block; position: relative; width: 163px; height: 80px; margin: 50px auto 0 auto; padding: 0 80px 0 0; border-radius: 40px; background: #2d6ab2; }
.checkok:after{ content: ""; display: block; position: absolute; right: 5px; top: 5px; bottom: 5px; width: 93px; border-radius: 40px; background: #fff; box-shadow: -4px 0px 4px rgba(0, 0, 0, 0.25); }
.checkok img{ vertical-align: middle; }
.topParts > div > div{ flex: auto; display: flex; justify-content: space-between; flex-wrap: wrap; margin-left: 25px; }
.topParts > div > div p{ width: 48%; margin: 0; padding: 20px 0 45px 0; border-top: 3px solid #000; font-size: 30px; line-height: 35px; }
@media screen and (max-width: 1600px){
    .topParts{ width: 1100px; margin: 169px auto 0 auto; padding: 0 35px; border-radius: 35px; }
    .topParts ul{ margin: -105px -15px 70px -15px; }
    .topParts ul li{ padding: 35px 50px; }
    .topParts h2{ padding: 0 0 30px 0; font-size: 30px; line-height: 40px; }
    .topParts a{ font-size: 25px; line-height: 28px; }
    .topParts > div > p{ font-size: 40px; line-height: 60px; }
    .checkok{ display: block; position: relative; width: 143px; height: 70px; }
    .checkok img{ height: 35px; }
    .topParts > div > div p{ font-size: 25px; line-height: 35px; }
}
@media screen and (max-width: 1199px){
    .topParts{ width: 90%; margin: 40px auto 0 auto; padding: 20px; box-sizing: border-box; border-radius: 20px; }
    .topParts ul{ flex-direction: column; margin: 0; }
    .topParts ul li{ width: auto; margin: 10px 0; padding: 15px; border-radius: 20px; }
    .topParts ul li:first-child{ margin-top: 0; }
    .topParts ul li:last-child{ margin-bottom: 0; }
    .topParts h2{ padding: 0 0 15px 0; font-size: 22px; line-height: 20px; color: #fff; }
    .topParts a{ font-size: 20px; line-height: 20px; }
    .topParts > div{ flex-direction: column; padding: 0; }
    .topParts > div > p{ flex: auto; width: 100%; margin-top: 25px; font-size: 38px; line-height: 34px; }
    .checkok{ display: block; position: relative; width: 122px; height: 60px; margin: 25px auto 0 auto; padding: 0 60px 0 0; border-radius: 30px; }
    .checkok img{ height: 25px; margin-top: 15px; }
    .checkok:after{ width: 73px; border-radius: 30px; }
    .topParts > div > div{ margin: 25px 0 -20px 0; }
    .topParts > div > div p{ width: 100%; padding: 10px 0 25px 0; font-size: 20px; line-height: 22px; }
}

.abilities{ width: 1200px; margin: 0 auto; border-radius: 30px; background: #e7e8ff; }
.abilitiesTop{ display: flex; margin-bottom: -22px; z-index: 1; }
.abilitiesTop a{ width: 25%; padding: 9px 0 22px 0; border-radius: 30px 30px 0 0; text-align: center; text-decoration: none; font-weight: 700; font-size: 40px; line-height: 50px; color: #2d6ab2; -webkit-tap-highlight-color: transparent; }
.abilitiesTop a.active{ background: #2d6ab2; color: #fff; }
.abilitiesBody{ display: none; align-items: center; background: #2d6ab2; border-radius: 25px 25px 30px 30px; line-height: 28px; color: #ffffff; }
.abilitiesBody.active{ display: flex; }
.abilitiesBody > div{ width: 25%; padding: 22px 24px 22px 26px; }
.abilitiesBody > p{ width: 75%; margin: 0; padding: 22px 26px; padding-left: 0; }
.abilitiesBody > p img{ width: 100%; border-radius: 30px; }
@media screen and (max-width: 1600px){
    .abilities{ width: 1100px; }
    .abilitiesTop a{ font-size: 30px; line-height: 40px; }
}
@media screen and (max-width: 1199px){
    .abilities{ width: 90%; border-radius: 20px; }
    .abilitiesTop{ margin-bottom: -20px; }
    .abilitiesTop a{ padding: 15px 0 30px 0; border-radius: 15px 15px 0 0; font-size: 15px; line-height: 16px; }
    .abilitiesTop a:first-child{ width: 20%; }
    .abilitiesTop a:last-child{ width: 30%; }
    .abilitiesBody{ flex-direction: column; align-items: flex-start; border-radius: 15px 15px 20px 20px; line-height: 20px; }
    .abilitiesBody > div{ width: auto; padding: 20px; }
    .abilitiesBody > div p:first-child{ margin-top: 0; }
    .abilitiesBody > div p:last-child{ margin-bottom: 0; }
    .abilitiesBody > p{ width: auto; padding: 0; line-height: 1px; }
    .abilitiesBody > p img{ border-radius: 0 0 20px 20px; }
}

.solutions{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 1200px; margin: -24px auto 0 auto; padding: 0; list-style: none; }
.solutions li{ width: 48.9%; margin: 24px 0 0 0; padding: 28px 32px; box-sizing: border-box; border-radius: 30px; background: #e7e8ff; }
.solutions li > p:first-child{ display: flex; align-items: flex-start; justify-content: space-between; margin-top: 0; }
.solutions li > p:first-child img{ margin-left: 85px; }
.solutions li > p:last-child{ margin-bottom: 0; }
.solutions strong{ font-weight: 700; line-height: 24px; color: #032068; }
@media screen and (max-width: 1600px){
    .solutions{ width: 1100px; }
    .solutions img{ zoom: 0.85; }
    .solutions strong{ line-height: 22px; }
}
@media screen and (max-width: 1199px){
    .solutions{ flex-direction: column; width: 90%; margin: -20px auto 0 auto; }
    .solutions li{ width: auto; margin: 20px 0 0 0; padding: 20px; box-sizing: border-box; border-radius: 20px; }
    .solutions li > p:first-child img{ margin-left: 20px; zoom: 0.8; }
    .solutions strong{ line-height: 18px; color: #032068; }
}

.edu{ display: flex; align-items: center; width: 1200px; margin: 0 auto; border-radius: 30px; background: #2d6ab2; font-weight: 500; line-height: 22px; color: #fff; }
.edu > img{ width: 68%; border-radius: 30px 0 0 30px; background: #e7e8ff; }
.edu > div{ padding: 26px; }
.edu h3{ margin: 0 0 65px 0; padding: 0; text-align: center; font-weight: 700; font-size: 30px; line-height: 35px; }
.edu > div > p:last-child{ margin: 85px 0 0 0; text-align: center; }
.edu > div > p:last-child a{ border-radius: 20px; padding: 16px 40px; background: #FF9F19; text-decoration: none; text-align: center; font-weight: 700; color: #fff; }
@media screen and (max-width: 1600px){
    .edu{ width: 1100px; line-height: 20px; }
    .edu h3{ font-size: 25px; line-height: 30px; }
}
@media screen and (max-width: 1199px){
    .edu{ flex-direction: column; width: 90%; border-radius: 20px; line-height: 18px; }
    .edu > img{ width: 100%; border-radius: 20px 20px 0 0; }
    .edu > div{ padding: 20px; }
    .edu h3{ margin: 0 0 20px 0; font-size: 25px; line-height: 30px; }
    .edu > div > p:last-child{ margin: 40px 0 20px 0; }
}

.services{ width: 1376px; margin: 0 auto; background: url(/data/vipcoach.pro/images/snake.svg) no-repeat 0 100px; background-size: 100% auto; }
.services ul{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 1200px; margin: 0 auto; padding: 0; list-style: none; }
.services li{ width: 210px; height: 376px; margin: 0; padding: 0; text-align: center; font-weight: 500; line-height: 24px; }
.services img{ width: 100%; }
.services p{ margin: 16px 0 0 0; }
@media screen and (max-width: 1600px){
    .services{ width: 1180px;  }
    .services ul{ width: 1100px; }
    .services li{ width: 190px; height: 326px; line-height: 20px; }
    .services img{ width: 94%; margin-top: 10px; }
}
@media screen and (max-width: 1199px){
    .services{ width: 100%; background: none; }
    .services ul{ width: 90%; }
    .services li{ width: 21%; height: auto; font-size: 12px; line-height: 14px; }
    .services p{ margin: 5px 0 14px 0; }
}

.priceTitle{ font-weight: 700; line-height: 40px; text-align: center; }
.price{ width: 1200px; margin: 0 auto; border-radius: 30px; background: #e7e8ff; }
.price table{ width: 100%; }
.price th{ padding: 0 22px; background: #2d6ab2; text-align: left; font-weight: 700; font-size: 30px; line-height: 56px; color: #fff; }
.price table td{ position: relative; padding: 15px 30px 15px 15px; vertical-align: top; text-align: center; font-size: 16px; line-height: 20px; }
.price table tr:last-child td{ padding-bottom: 40px; }
.price table td:first-child{ text-align: left; font-weight: 700; font-size: 20px; line-height: 20px; }
.price table tr.start td:not(:first-child):before{ content: ""; position: absolute; left: 0; top: 15px; right: 15px; bottom: 0; z-index: 0; border-radius: 30px 30px 0px 0px; background: #fff; }
.price table tr:not(.start):not(.odd) td:not(:first-child):before{ content: ""; position: absolute; left: 0; top: 0; right: 15px; bottom: 0; z-index: 0; background: #fff; }
.price table tr:not(.start):not(.odd):last-child td:before{ bottom: 16px; border-radius: 0px 0px 30px 30px; }
.price table tr.odd td:first-child{ background: #d0d4f0; }
.price table tr.start td{ padding-top: 48px; }
.price table td *{ position: relative; }
.price table tr.start strong{ display: block; font-weight: 700; font-size: 40px; line-height: 40px; }
.price table tr.start span{ display: block; margin-top: 15px; font-weight: 700; font-size: 20px; line-height: 20px; color: #2d6ab2; }
.price table tr.start span.black{ color: #000; }
.price table tr.start s{ display: block; margin-top: 10px; font-weight: 500; font-size: 20px; line-height: 20px; }
.price table td img{ display: block; margin: 0 auto; }
.price table td span{ display: block; padding-top: 9px; }
@media screen and (max-width: 1600px){
    .price{ width: 1100px; }
    .price th{ font-size: 25px; line-height: 46px; }
    .price table td:first-child{ font-size: 18px; line-height: 18px; }
    .price table tr.start strong{ font-size: 30px; line-height: 30px; }
    .price table tr.start span{ font-size: 18px; line-height: 18px; }
    .price table tr.start s{ font-size: 18px; line-height: 18px; }
    .price table td img{ zoom: 0.9; }
}
@media screen and (max-width: 1199px){
    .priceTitle{ width: 90%; margin: 0 auto 20px auto; line-height: 24px; }
    .price{ width: 100%; overflow-y:auto; border-radius: 0px; }
    .price table{ width: auto; }
    .price th{ padding: 0 12px; font-size: 22px; line-height: 40px; }
    .price table td{ position: relative; padding: 10px 24px 10px 12px; font-size: 14px; line-height: 16px; }
    .price table tr:last-child td{ padding-bottom: 30px; }
    .price table td:first-child{ font-size: 16px; line-height: 16px; }
    .price table tr.start td:not(:first-child):before{ top: 12px; right: 12px; border-radius: 20px 20px 0px 0px; }
    .price table tr:not(.start):not(.odd) td:not(:first-child):before{ right: 12px; }
    .price table tr:not(.start):not(.odd):last-child td:before{ bottom: 12px; border-radius: 0px 0px 20px 20px; }
    .price table tr.start td{ padding-top: 35px; }
    .price table tr.start strong{ font-size: 25px; line-height: 25px; }
    .price table tr.start span{ margin-top: 10px; font-size: 16px; line-height: 16px; }
    .price table tr.start s{ margin-top: 8px; font-size: 16px; line-height: 16px; }
    .price table td img{ zoom: 0.6; }
    .price table td span{ display: block; padding-top: 7px; }
}

footer{ border-top: 1px solid #e2e5eb; margin: 64px 0 0 0; padding: 30px 0; text-align: center; font-weight: 500; font-size: 16px; line-height: 24px; color: #939ea4; }
footer p{ margin: 0; }
footer p:nth-child(2){ margin: 8px 0 12px 0; }
footer a{ color: #2d6ab2; }
@media screen and (max-width: 1199px){
    footer{ margin: 40px 0 0 0; padding: 20px 0; line-height: 18px; }
}

.wrap-popup-scroll{ display: none; position: fixed; overflow-y: auto; height: 100%; z-index: 9999; top: 0; left: 0; width: 100%; }
.wrap-popup{ width: 100%; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; padding: 20px; width: 100%; min-height: 100%; box-sizing: border-box; }
.popupFrameOverlay{ position: fixed; top: 0; left: 0; bottom: 0; right: 0; background-color: #013352; opacity: 0.6; z-index: 5; }
.popupFrame{ max-width: 840px; width: 100%; background-color: #ffffff; padding: 10px; position: relative; z-index: 10; }
.popupFrame.register{ max-width: 600px; }
.popupFrame.sign-in{ max-width: 420px; }
.popupFrame.message{ max-width: 500px; }
.popupFrame.lead{ max-width: 500px; }
.popupFrame-body{ padding: 61px 55px; padding-bottom: 51px; border: 5px solid #ff9804; text-align: center; position: relative; }
.popupFrame-body .popupFrame-close{ font-size: 0; position: absolute; top: -5px; right: -5px; width: 30px; height: 30px; background-color: #ff9804; z-index: 10000; display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; cursor: pointer; }
.popupFrame-body .popupFrame-close img { -webkit-box-flex: 0; flex: none; }
.popupFrame-body h2{ width: auto; margin: 0 0 40px 0; text-align: center; font-weight: 700; font-size: 30px; line-height: 36px; letter-spacing: -0.015em; color: #032068; }
.popupFrame-body .formRow{ margin-top: 24px; }
.popupFrame-body input{ width: 100%; padding: 8px 14px; box-sizing: border-box; border: 1px solid rgba(0, 0, 0, 0.5); border-radius: 30px; background: #fff; font-size: 16px; line-height: 24px; letter-spacing: -0.015em; color: rgba(0, 0, 0, 0.8); }
.popupFrame-body .formRow label{ display: block; text-align: left; }
.popupFrame-body .formRow label input{ width: auto; }
.popupFrame-body .formRow a{  text-decoration: none; color: #2d6ab2; }
.formButton{ margin-top: 25px; }
.formButton button{ padding: 9px 35px; background: #2D6AB2; border: 0; border-radius: 6px; font-weight: 500; font-size: 16px; line-height: 22px; letter-spacing: -0.015em; color: #fff;  cursor: pointer; }
.formButton a{ margin-left: 20px; font-weight: 600; font-size: 16px; color: #2d6ab2; text-decoration: none; }

@media screen and (max-width: 1199px){
    .wrap-popup{ padding: 0; }
    .popupFrame{ max-width: 100% !important; padding: 0; }
    .popupFrame-body{ border-width: 2px; }
    .popupFrame-body .popupFrame-close{ width: 20px; height: 20px; top: -2px; right: -2px; }
    .popupFrame-body .popupFrame-close img{ max-width: 10px; }
}
