@charset "UTF-8";
/* fonts */
@font-face {
    font-family: 'Bebas Neue';
    src: url("../fonts/BebasNeue/BebasNeueRegular.eot");
    src: url("../fonts/BebasNeue/BebasNeueRegular.eot?#iefix") format("embedded-opentype"), url("../fonts/BebasNeue/BebasNeueRegular.woff2") format("woff2"), url("../fonts/BebasNeue/BebasNeueRegular.woff") format("woff"), url("../fonts/BebasNeue/bebasneuebold.ttf") format("truetype");
    font-weight: normal;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Bebas Neue';
    src: url("../fonts/BebasNeue/BebasNeueBold.eot");
    src: url("../fonts/BebasNeue/BebasNeueBold.eot?#iefix") format("embedded-opentype"), url("../fonts/BebasNeue/BebasNeueBold.woff") format("woff"), url("../fonts/BebasNeue/BebasNeueBold.ttf") format("truetype");
    font-weight: bold;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT/FuturaPT-Medium.eot");
    src: url("../fonts/FuturaPT/FuturaPT-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPT-Medium.woff") format("woff"), url("../fonts/FuturaPT/FuturaPT-Medium.ttf") format("truetype");
    font-weight: normal;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT/FuturaPT-Bold.eot");
    src: url("../fonts/FuturaPT/FuturaPT-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPT-Bold.woff") format("woff"), url("../fonts/FuturaPT/FuturaPT-Bold.ttf") format("truetype");
    font-weight: bold;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT/FuturaPT-Light.eot");
    src: url("../fonts/FuturaPT/FuturaPT-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPT-Light.woff") format("woff"), url("../fonts/FuturaPT/FuturaPT-Light.ttf") format("truetype");
    font-weight: 300;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT/FuturaPT-LightObl.eot");
    src: url("../fonts/FuturaPT/FuturaPT-LightObl.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPT-LightObl.woff") format("woff"), url("../fonts/FuturaPT/FuturaPT-LightObl.ttf") format("truetype");
    font-weight: 300;
    font-display: swap;
    font-style: italic;
}

@font-face {
    font-family: 'Futura PT Book';
    src: url("../fonts/FuturaPT/FuturaPT-Book.eot");
    src: url("../fonts/FuturaPT/FuturaPT-Book.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPT-Book.woff") format("woff"), url("../fonts/FuturaPT/FuturaPT-Book.ttf") format("truetype");
    font-weight: normal;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT Demi';
    src: url("../fonts/FuturaPT/FuturaPT-Demi.eot");
    src: url("../fonts/FuturaPT/FuturaPT-Demi.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPT-Demi.woff") format("woff"), url("../fonts/FuturaPT/FuturaPT-Demi.ttf") format("truetype");
    font-weight: 600;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT/FuturaPT-ExtraBold.eot");
    src: url("../fonts/FuturaPT/FuturaPT-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPT-ExtraBold.woff") format("woff"), url("../fonts/FuturaPT/FuturaPT-ExtraBold.ttf") format("truetype");
    font-weight: 900;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT Cond';
    src: url("../fonts/FuturaPT/FuturaPTCond-Medium.eot");
    src: url("../fonts/FuturaPT/FuturaPTCond-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/FuturaPT/FuturaPTCond-Medium.woff") format("woff"), url("../fonts/FuturaPT/FuturaPTCond-Medium.ttf") format("truetype");
    font-weight: 500;
    font-display: swap;
    font-style: normal;
}

/* variables */
/* css for born2swim - ultra pixelperfect and fixes */
/* main styles */
body {
    font-size: 16px;
    font-style: normal;
    margin: 0;
    line-height: 1.3;
    background: #0E0946;
    font-family: 'Futura PT';
    font-weight: normal;
    color: #FFF;
}

html {
    font-size: 16px;
}

img {
    max-width: 100%;
}

a {
    display: inline-block;
    transition: 0.25s ease-in-out;
}

a:hover, a:focus {
    text-decoration: none;
    transition: 0.25s ease-in-out;
    color: inherit;
}

.clearfix:before, .clearfix:after {
    display: table;
    line-height: 0;
    content: '';
}

.clearfix:after {
    clear: both;
}

.without-padding {
    margin-left: 0;
    margin-right: 0;
}

.without-padding [class*="col"] {
    padding: 0;
}

.row-60 {
    margin-left: -60px;
    margin-right: -60px;
}

.row-60 [class*="col-"] {
    padding-left: 60px;
    padding-right: 60px;
}

.row-30 {
    margin-left: -30px;
    margin-right: -30px;
}

.row-30 [class*="col-"] {
    padding-left: 30px;
    padding-right: 30px;
}

.page-wrapper {
    overflow: hidden;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    min-height: 100vh;
    -ms-flex-direction: column;
    flex-direction: column;
}

.page-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.page-header {
    margin: 0;
    border-bottom: none;
}

@keyframes move-down-fixed-header {
    0% {
        opacity: 0;
        transform: translateY(-47px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.header {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 105;
    background: transparent;
}

.header.fixed {
    position: fixed;
    z-index: 25;
}

.header.fixed:after {
    background: rgba(3, 0, 31, 0.8);
    height: 0;
    content: "";
    width: 100%;
    position: absolute;
    border-radius: 0 0 24px 24px;
    transition: 0.5s linear;
    top: 0;
    left: 0;
    right: 0;
}

.header.scrolled:after {
    height: 100%;
    transition: 0.5s linear;
}

.header .navbar {
    padding: 0 30px;
    position: relative;
    z-index: 6;
}

.header .navbar-toggler {
    width: 35px;
    height: 21px;
    position: relative;
    transition: .5s ease-in-out;
    cursor: pointer;
    border: none;
    outline: none;
    background: none;
}

.header .navbar-toggler span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #DFF950;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.header .navbar-toggler:hover span {
    background: #AAC611;
    transition: .25s ease-in-out;
}

.header .navbar-toggler:focus span {
    background: #DFF950;
    transition: .25s ease-in-out;
}

.header .navbar-toggler span:nth-child(1) {
    top: 0px;
}

.header .navbar-toggler span:nth-child(2), .header .navbar-toggler span:nth-child(3) {
    top: 9px;
    opacity: 0;
}

.header .navbar-toggler span:nth-child(4) {
    top: 12px;
}

.header .navbar-toggler.open span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
}

.header .navbar-toggler.open span:nth-child(2) {
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 1;
}

.header .navbar-toggler.open span:nth-child(3) {
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 1;
    top: 9px;
}

.header .navbar-toggler.open span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
}

.header .header-contacts .btn-sub {
    font-size: 1rem;
    min-width: 160px;
}

.header .header-contacts .navbar-toggler, .header .header-contacts .btn-sub {
    margin-left: 25px;
}

.header .header-menu {
    position: fixed;
    right: 0;
    height: 100vh;
    width: 100%;
    max-width: 540px;
    top: 0;
    z-index: 1;
    background: #0E0946;
    color: #FFF;
    padding: 1.5rem 2rem 2rem 2rem;
}

.header .header-menu .header-nav-top {
    margin-bottom: 4rem;
}

.header .header-menu .header-contacts {
    text-align: right;
}

.header .header-menu .profile-link {
    margin-left: 0;
    font-size: .95rem;
}

.header .header-menu .nav-link {
    color: #FFF;
    cursor: pointer;
    font-family: 'Futura PT Demi';
    font-size: 18px;
}

.header .header-menu .nav-link:hover {
    color: #EB465C;
}

.header .header-menu .parent-item > .nav-link {
    position: relative;
    padding-right: 25px;
}

.header .header-menu .parent-item > .nav-link:after {
    content: "";
    position: absolute;
    right: 5px;
    top: 50%;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transition: 0.25s ease-in-out;
    -ms-transform: translateY(-50%) rotate(-136deg);
    transform: translateY(-50%) rotate(-136deg);
    margin-top: -3px;
}

.header .header-menu .parent-item > .nav-link:hover:after {
    border-color: #EB465C;
}

.header .header-menu .child-item {
    display: none;
    list-style-type: none;
}

.header .header-menu .child-item .nav-link {
    color: #FFF;
    font-family: 'Futura PT Book';
}

.header .header-menu .child-item .nav-link:hover {
    color: #EB465C;
}

.header .header-menu .parent-item.open > .nav-link {
    color: #EB465C;
}

.header .header-menu .parent-item.open > .nav-link:after {
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    transition: 0.25s ease-in-out;
    border-color: #EB465C;
}

.header .header-menu .parent-item.open .child-item {
    display: block;
}

.header .header-menu .main-menu {
    margin-bottom: 4rem;
}

.header .header-menu .social-links {
    list-style-type: none;
    padding: 0;
}

.header .header-menu .social-links li {
    display: inline-block;
}

.header .header-menu .social-links li:not(:last-child) {
    margin-right: 15px;
}

.header.dark {
    background: #03001F;
    border-radius: 0 0 24px 24px;
    overflow: hidden;
}

.header .container-fluid {
    max-width: 1900px;
}

.footer {
    background: #03001F;
}

.footer .footer-main {
    padding-top: 4.5rem;
    padding-bottom: 3rem;
}

.footer .social-links {
    margin: auto;
    padding: 0;
    margin-top: 2rem;
    margin-bottom: 3rem;
}

.footer a {
    color: #FFFFFF;
}

.footer a:hover {
    color: #ADADAD;
}

.footer a:focus {
    color: #C5CDEC;
}

.footer .footer-menu {
    margin: 0;
    padding: 0;
    list-style-type: none;
    margin-bottom: 15px;
    margin-top: 15px;
}

.footer .footer-menu li {
    position: relative;
    margin-bottom: 1rem;
}

.footer .footer-menu li a {
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 1.125rem;
}

.footer .footer-menu li a:hover {
    color: #ADADAD;
}

.footer .footer-menu li a:focus {
    color: #C5CDEC;
}

.footer .phone {
    margin-top: 1rem;
}

.footer .logo {
    margin-bottom: 1rem;
}

.phone, .profile-link {
    color: #fff;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 1.125rem;
    transition: 0.25s ease-in-out;
}

.phone svg, .profile-link svg {
    margin-right: 10px;
}

.phone svg > *, .profile-link svg > * {
    transition: 0.25s ease-in-out;
}

.phone:hover, .profile-link:hover {
    color: #CFCFCF;
    transition: 0.25s ease-in-out;
}

.phone:hover svg > *, .profile-link:hover svg > * {
    stroke: #CFCFCF;
    transition: 0.25s ease-in-out;
}

.phone:focus, .profile-link:focus {
    color: #A4C9FF;
    transition: 0.25s ease-in-out;
}

.phone:focus svg > *, .profile-link:focus svg > * {
    stroke: #A4C9FF;
    transition: 0.25s ease-in-out;
}

.profile-link {
    margin-left: 1.5rem;
    font-size: 1rem;
}

.link {
    transition: 0.25s ease-in-out;
    color: #fff;
}

.link svg {
    margin-right: 5px;
}

.link svg > * {
    transition: 0.25s ease-in-out;
}

.link:hover {
    color: #CFCFCF;
    transition: 0.25s ease-in-out;
}

.link:hover svg > * {
    stroke: #CFCFCF;
    transition: 0.25s ease-in-out;
}

.link:focus {
    color: #A4C9FF;
    transition: 0.25s ease-in-out;
}

.link:focus svg > * {
    stroke: #A4C9FF;
    transition: 0.25s ease-in-out;
}

.social-links {
    margin: auto;
    padding: 0;
    list-style-type: none;
}

.social-links li {
    display: inline-block;
}

.social-links li:not(:last-child) {
    margin-right: 1.4rem;
}

.social-links svg * {
    transition: 0.25s ease-in-out;
}

.social-links a:hover svg * {
    fill: #D8DCEB;
    transition: 0.25s ease-in-out;
}

.social-links a:focus svg * {
    fill: #C5CDEC;
    transition: 0.25s ease-in-out;
}

.bg-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    object-fit: cover;
    object-position: center;
}

.btn-main {
    font-family: 'Futura PT Demi';
    display: inline-block;
    min-width: 190px;
    padding: .9rem 1.9rem;
    font-style: normal;
    font-weight: 600;
    font-size: 1.125rem;
    color: #3E0693;
    text-align: center;
    border: none;
    background: #DFF950;
    border-radius: 4px;
    transition: 0.25s ease-in-out;
    outline: none;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-main:hover {
    background: #AAC611;
    color: #3E0693;
    transition: 0.25s ease-in-out;
}

.btn-main:focus {
    background: #7F9217;
    color: #5619B2;
    transition: 0.25s ease-in-out;
    outline: none;
}

.btn-main:focus-within {
    background: #DFF950;
    color: #3E0693;
    transition: 0.25s ease-in-out;
}

.btn-sub {
    display: inline-block;
    min-width: 190px;
    padding: 0.3rem .5rem;
    font-style: bold;
    font-size: 1.125rem;
    color: #fff;
    text-align: center;
    background: #EB465C;
    border-radius: 4px;
    transition: 0.25s ease-in-out;
    outline: none;
    border: none;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-sub:hover {
    background: #BC3849;
    color: #fff;
    transition: 0.25s ease-in-out;
}

.btn-sub:focus {
    background: #981729;
    color: #fff;
    transition: 0.25s ease-in-out;
    outline: none;
}

.btn-sub svg {
    margin-right: 8px;
    vertical-align: middle;
}

.btn-sub:focus-within {
    background: #EB465C;
    color: #fff;
    transition: 0.25s ease-in-out;
}

.btn-transparent {
    background: transparent;
    border: 1px solid transparent;
    color: #DFF950;
}

.btn-transparent svg {
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    top: -1px;
    stroke: #DFF950;
}

.btn-transparent svg * {
    transition: 0.25s ease-in-out;
}

.btn-transparent:hover {
    background: transparent;
    transition: 0.25s ease-in-out;
    color: #AAC611;
}

.btn-transparent:hover svg > * {
    stroke: #AAC611;
    transition: 0.25s ease-in-out;
}

.btn-transparent:focus {
    background: transparent;
    transition: 0.25s ease-in-out;
    color: #7F9217;
}

.btn-transparent:focus svg > * {
    stroke: #7F9217;
    transition: 0.25s ease-in-out;
}

.btn-transparent:focus-within {
    background: transparent;
    color: #DFF950;
    transition: 0.25s ease-in-out;
}

.btn-transparent:focus-within svg > * {
    stroke: #DFF950;
    transition: 0.25s ease-in-out;
}

.btn-transparent-sub {
    background: transparent;
    font-family: 'Futura PT';
    color: #3E0693;
}

.btn-transparent-sub svg {
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

.btn-transparent-sub svg * {
    transition: 0.25s ease-in-out;
}

.btn-transparent-sub:hover {
    background: transparent;
    transition: 0.25s ease-in-out;
    color: #7215FF;
}

.btn-transparent-sub:hover svg > * {
    stroke: #7215FF;
    transition: 0.25s ease-in-out;
}

.btn-transparent-sub:focus {
    background: transparent;
    transition: 0.25s ease-in-out;
    color: #9E5FFD;
}

.btn-transparent-sub:focus svg > * {
    stroke: #9E5FFD;
    transition: 0.25s ease-in-out;
}

.btn-transparent-sub:focus-within {
    background: transparent;
    color: #3E0693;
    transition: 0.25s ease-in-out;
}

.btn-transparent-sub:focus-within svg > * {
    stroke: #3E0693;
    transition: 0.25s ease-in-out;
}

h1 {
    font-family: 'Bebas Neue';
    font-size: 7.875rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #FFF;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 1rem;
}

h1 svg {
    letter-spacing: 0.01px;
    margin-top: -1.8rem;
}

h1 span {
    color: #fff;
    display: block;
    line-height: 1;
    -webkit-text-stroke: 2px #fff;
    -webkit-text-fill-color: transparent;
}

.section {
    padding-top: 4rem;
    padding-bottom: 3rem;
    position: relative;
}

.section h2 {
    font-family: 'Bebas Neue';
    font-size: 4.5rem;
    text-transform: uppercase;
    color: #FFF;
    letter-spacing: 2px;
    margin-bottom: 2rem;
    font-weight: bold;
}

.section h2 small {
    font-size: inherit;
    font-family: 'Futura PT';
    font-weight: bold;
	vertical-align:text-top;
}

.section h3 {
    font-size: 2rem;
}

.section h4 {
    font-size: 1.875rem;
}

.sub-color {
    color: #EB465C;
}

.spacer.mb-9 {
    margin-bottom: 9rem;
}

.spacer.mb-10 {
    margin-bottom: 10rem;
}

#up-btn {
    width: 60px;
    height: 60px;
    background: #EB465C;
    border-radius: 8px;
    position: fixed;
    bottom: 55px;
    right: 15px;
    display: none;
    transition: 0.25s ease-in-out;
    color: #fff;
    text-align: center;
    font-size: 14px;
    padding: 0.5rem;
    text-transform: uppercase;
    z-index: 100;
    cursor: pointer;
}

#up-btn:hover {
    background: #BC3849;
    transition: 0.25s ease-in-out;
}

#up-btn:focus {
    background: #981729;
    transition: 0.25s ease-in-out;
}

.anchors-dots {
    position: fixed;
    right: -15px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    z-index: 100;
}

.anchors-dots ul {
    list-style: none;
    padding-left: 0;
}

.anchors-dots a {
    color: #ddd;
    padding: 2px 5px;
    min-height: 35px;
    position: relative;
    width: 60px;
}

.anchors-dots a:after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 40px;
    height: 2px;
    background-color: #FFF;
    content: "";
    border-radius: 24px;
    transition: 0.25s ease-in-out;
}

.anchors-dots a.active {
    color: #536dfe;
}

.anchors-dots a.active:after {
    background: #EB465C;
    width: 60px;
    height: 4px;
    transition: 0.25s ease-in-out;
}

.form-group {
    position: relative;
}

.form-group input, .form-group textarea, .form-group select {
    background: #FFFFFF;
    border: 1px solid #E9ECF7;
    border-radius: 4px;
    height: auto;
    padding: 1rem 1.4rem .5rem;
    padding: 18px 16px 8px 20px;
    outline: none;
    resize: none;
    border-radius: 0;
    color: #0E0946;
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 18px;
    transition: 0.25s ease-in-out;
    font-family: 'Futura PT Demi';
}

.form-group input:hover, .form-group textarea:hover, .form-group select:hover {
    border: 1px solid #7215FF;
    background: #FFFFFF;
    transition: 0.25s ease-in-out;
}

.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
    background: #E9ECF7;
    transition: 0.25s ease-in-out;
}

.form-group input:focus + label, .form-group textarea:focus + label, .form-group select:focus + label {
    top: 8px;
    -ms-transform: translateY(0);
    transform: translateY(0);
    transition: 0.25s ease-in-out;
}

.form-group input:not([value=""]) + label, .form-group textarea:not([value=""]) + label, .form-group select:not([value=""]) + label {
    top: 8px;
    -ms-transform: translateY(0);
    transform: translateY(0);
    transition: 0.25s ease-in-out;
}

.form-group input:not([value=""]):not(:focus):invalid, .form-group textarea:not([value=""]):not(:focus):invalid, .form-group select:not([value=""]):not(:focus):invalid {
    background: #E9ECF7;
    transition: 0.25s ease-in-out;
}

.form-group label {
    color: #0E0946;
    font-size: 10px;
    position: absolute;
    transition: 0.25s ease-in-out;
    left: 18px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: 'Futura PT Book';
    top: 8px;
    /*
    top: 50%;

    -ms-transform: translateY(-50%);
    : translateY(-50%);
    */
}

.form-group input:-ms-input-placeholder, .form-group textarea:-ms-input-placeholder {
    color: #0E0946;
}

.form-group input::placeholder, .form-group textarea::placeholder {
    color: #0E0946;
}

.form-group .form-control:focus {
    border-color: #0E0946;
    box-shadow: none;
}

.promo {
    overflow: hidden;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
    color: #fff;
    margin-bottom: 3.5rem;
}

.promo .container {
    z-index: 1;
    position: relative;
}

.promo-main {
    min-height: 790px;
}

.promo:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 200px;
    z-index: 0;
    background: linear-gradient(360deg, #0E0946 0%, rgba(14, 9, 70, 0) 100%);
}

.promo .container {
    position: relative;
    z-index: 2;
    color: #FFF;
}

.promo .scroll-down {
    position: absolute;
    bottom: 15px;
    left: 50%;
    z-index: 3;
    padding: 1rem;
    animation: fade_move_down 2s ease-in-out infinite;
}

.promo .scroll-down:hover svg > * {
    stroke: #AAC611;
    transition: 0.25s ease-in-out;
}

.promo .scroll-down:focus svg > * {
    stroke: #7F9217;
    fill: #7F9217;
    transition: 0.25s ease-in-out;
}

.promo .descr {
    margin-bottom: 2.3rem;
    font-size: 1.5rem;
    font-family: 'Futura PT Demi';
}

.promo .btn-main:not(:last-child) {
    margin-right: 1rem;
}

/*animated scroll arrow animation*/

@keyframes fade_move_down {
    0% {
        transform: translate(0, -10px);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translate(0, 10px);
        opacity: 0;
    }
}

.mobile-only {
    display: none;
}

.programms-item {
    display: block;
    position: relative;
    margin-bottom: 40px;
    cursor: pointer;
}

.programms-item:after {
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 4px solid transparent;
    transition: 0.25s ease-in-out;
    right: 0;
    bottom: 0;
    display: block;
    position: absolute;
    z-index: 0;
}

.programms-item img {
    max-width: 100%;
    min-height: 260px;
    width: 100%;
    object-fit: cover;
    max-height: 340px;
}

.programms-item .img-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
    -ms-transform: none;
    transform: none;
    transition: 0.25s ease-in-out;
    z-index: 1;
    overflow: hidden;
    max-height: 280px;
}

.programms-item .img-wrap:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: linear-gradient(360deg, rgba(3, 0, 31, 0.6) 0%, rgba(14, 9, 70, 0) 100%);
}

.programms-item .img-wrap .video {
    position: relative;
    overflow: hidden;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.programms-item .img-wrap .video .video-bg {
    opacity: 1;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.programms-item .item-descr {
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    z-index: 2;
    color: #FFF;
    font-size: 1rem;
    padding: 1rem;
    -ms-transform: none;
    transform: none;
    transition: 0.25s ease-in-out;
}

.programms-item .item-descr .title {
    color: #DFF950;
    font-family: 'Bebas Neue';
    font-size: 3rem;
    font-weight: bold;
    transition: 0.25s ease-in-out;
    margin-bottom: 0;
}

.programms-item .item-descr .term {
    text-align: right;
}

.programms-item:hover:after {
    border: 4px solid #EB465C;
}

.programms-item:hover .img-wrap, .programms-item:hover .item-descr {
    -ms-transform: translate(15px, -15px);
    transform: translate(15px, -15px);
    transition: 0.25s ease-in-out;
}

.programms-item:hover .title {
    color: #EB465C;
    transition: 0.25s ease-in-out;
}

.programms-item:hover .video {
    opacity: 1;
}

.programms-item .level {
    display: inline-block;
    font-family: 'Futura PT Book';
}

.programms-item p {
    font-family: 'Futura PT Book';
    margin-bottom: 0;
}

.programms-item p strong {
    font-family: 'Futura PT Demi';
    margin-left: 5px;
}

.programms .btn-wrap p {
    font-size: 1.5rem;
    font-family: 'Futura PT Book';
    margin-top: 5px;
    margin-bottom: 1.5rem;
}

.steps {
    padding-top: 11.5rem;
    padding-bottom: 11rem;
    background-size: cover;
    counter-reset: section;
    position: relative;
    background-color: #0E0946;
    background-image: url("../images/bg-steps1.png");
    background-repeat: no-repeat;
}

.steps-item {
    background: #3E0693;
    border: 1px solid #7215FF;
    border-radius: 24px;
    padding: 2rem 1.5rem 1.5rem;
    margin-bottom: 30px;
    position: relative;
    min-height: 240px;
    font-family: 'Futura PT Book';
}

.steps-item .title {
    font-size: 1.5rem;
    margin-bottom: 2rem;
    font-family: 'Futura PT Demi';
}

.steps-item .descr {
    padding-right: 55px;
    font-size: 1.125rem;
}

.steps-item:after {
    counter-increment: section;
    content: counter(section);
    position: absolute;
    bottom: 10px;
    right: 5px;
    font-family: 'Bebas Neue';
    font-size: 8.75rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #EB465C;
    line-height: 1;
    -webkit-text-stroke: 2px #EB465C;
    -webkit-text-fill-color: transparent;
    font-weight: 600;
}

.steps .btn-wrap {
    padding-top: 20px;
}

.steps .container {
    position: relative;
    z-index: 2;
}

.system {
    background: #F6F6F6;
    padding-top: 2rem;
    border-radius: 50px 50px 0 0;
    margin-top: -50px;
    padding-top: 5.5rem;
    padding-bottom: 6rem;
    color: #0E0946;
}

.system h2 {
    color: #0E0946;
    font-size: 7.5rem;
    line-height: 1;
    margin-bottom: 1rem;
}

.system h2 .title {
    color: #EB465C;
}

.system h3 {
    color: #EB465C;
    font-family: 'Bebas Neue';
    font-size: 7.5rem;
    text-align: right;
    font-weight: bold;
    margin-top: -1.5rem;
    text-align: right;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.system h3 small {
    font-size: inherit;
    font-family: 'Futura PT';
    font-weight: bold;
    line-height: .5;
    display: inline-block;
    top: -10px;
    position: relative;
    font-size: 1.1em;
}

.system .descr {
    background-color: #FFF;
    border-radius: 24px;
    padding: 1.5rem 2rem 0.1rem;
    max-width: 660px;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: 0;
}

.system .descr ul {
    padding: 0;
    list-style-type: none;
    column-count: 2;
    position: relative;
    page-break-after: always;
    margin-bottom: 0;
}

.system .descr li {
    margin-bottom: 2rem;
    font-size: 1.125rem;
    font-family: 'Futura PT Demi';
    padding-left: 3.7rem;
    position: relative;
    /* for Chrome and Edge */
    break-inside: avoid-column;
    /* for Firefox */
    display: -ms-inline-grid;
    display: inline-grid;
    page-break-inside: avoid;
}

.system .descr li .icon {
    position: absolute;
    left: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.system .btn-wrap {
    max-width: 660px;
    margin-left: auto;
    margin-right: 0;
}

.system .btn-transparent {
    color: #3E0693;
}

.system .btn-transparent:hover {
    border-color: #3E0693;
}

.system .img-wrap {
    height: 100%;
}

.system .img-wrap img {
    border-radius: 24px;
    max-height: 490px;
    height: 100%;
    object-fit: cover;
    object-position: left;
}

.founder {
    background: #F6F6F6;
    padding-bottom: 12rem;
}

.founder h2 {
    color: #0E0946;
}

.founder .founder-wrap {
    position: relative;
}

.founder .founder-wrap .img-wrap {
    margin-top: -20px;
    position: relative;
}

.founder .founder-wrap .img-wrap:before {
    position: absolute;
    content: "";
    top: 45px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #3E0693;
    border-radius: 24px;
    overflow: hidden;
}

.founder .founder-wrap img {
    z-index: 1;
    position: relative;
}

.founder .founder-wrap .position-top {
    position: absolute;
    z-index: 1;
    left: 6.2rem;
    top: 6.2rem;
    color: #EB465C;
    font-size: 1.25rem;
    font-family: 'Futura PT Demi';
}

.founder .founder-wrap .position-bottom-left {
    position: absolute;
    z-index: 1;
    left: 100px;
    bottom: 3.3rem;
    padding-left: 0;
    padding-right: 0;
}

.founder .founder-wrap .descr {
    max-width: 337px;
    font-size: 1.25rem;
    font-family: 'Futura PT Book';
    position: absolute;
    z-index: 1;
    right: 6.5rem;
    bottom: 3.3rem;
}

.founder .founder-wrap .descr p {
    margin-bottom: 3rem;
}

.goals {
    background: #3E0693;
    border-radius: 50px 50px 0 0;
    margin-top: -50px;
    padding-top: 7.5rem;
    padding-bottom: 6rem;
}

.goals-item {
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 10px;
}

.goals h2 {
    font-size: 4.5rem;
}

.goals h3 {
    color: #7215FF;
    font-family: 'Bebas Neue';
    font-size: 6.25rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1;
}

.goals h4 {
    font-family: 'Bebas Neue';
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
    line-height: 1;
}

.goals .descr {
    -ms-flex: 1;
    flex: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 1.25rem;
    font-family: 'Futura PT Book';
    margin-bottom: 30px;
}

.goals .descr ul {
    margin-bottom: 0;
}

.goals .goal {
    color: #EB465C;
    font-family: 'Futura PT Demi';
    position: relative;
    margin-bottom: 60px;
}

.goals .goals-item .goal:before {
    content: "";
    height: 21px;
    width: 28px;
    background-image: url("../images/icon_swim.svg");
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -35px;
    left: 0;
}

.goals .goals-item .goal:after {
    content: "";
    width: 113%;
    height: 14px;
    background-image: url("../images/line.svg");
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -43px;
    left: 0;
}

.goals .goals-item-md .goal {
    margin-bottom: 0rem;
}

.goals .progress-bar-wrap {
    margin-top: 3rem;
    overflow: hidden;
}

.goals .progress-bar-wrap .line {
    margin-bottom: .6rem;
}

.goals .progress-bar-wrap .line svg {
    max-width: 100%;
}

.goals [class*="col"]:nth-child(2) .goal:before {
    background-image: url("../images/icon_swim2.svg");
    width: 75px;
}

.goals [class*="col"]:nth-child(3) .goal:before {
    background-image: url("../images/icon_swim3.svg");
    width: 120px;
}

.goals .btn-wrap {
    margin-top: 2rem;
}

.goals .progress-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    -ms-flex-direction: row;
    flex-direction: row;
    background: none;
}

.goals .progress-bar li {
    display: inline-block;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
    overflow: visible;
    min-width: 0;
    text-align: left;
}

.slider {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.slider .slider-cards {
    position: initial;
    /*important, allows container-fluid to be the relative*/
}

.slider .slick-list {
    overflow: visible;
    /*important, allows overflow slides to be visible*/
}

.slider .slick-next:before, .slider .slick-prev:before {
    color: black;
}

.slider .slick-next, .slider .slick-prev {
    width: 64px;
    height: 64px;
    z-index: 2;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    z-index: 10;
    border: none;
    outline: none;
    font-size: 0;
    transition: 0.25s ease-in-out;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fff;
    background-image: url("../images/arrow.svg");
}

.slider .slick-prev {
    left: 2rem;
}

.slider .slick-prev:hover, .slider .slick-next:hover {
    background-color: #D8DCEB;
    transition: 0.25s ease-in-out;
}

.slider .slick-prev:focus, .slider .slick-next:focus {
    background-color: #C5CDEC;
    transition: 0.25s ease-in-out;
}

.slider .slick-next {
    right: 2rem;
}

.slider .slick-next.slick-disabled:before, .slider .slick-prev.slick-disabled:before {
    display: none;
}

.slider .slick-prev {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.slider .slick-arrow.slick-disabled {
    opacity: 0.3;
}

.slider .slide {
    max-width: 260px;
    background: #FFFFFF;
    border-radius: 24px;
    overflow: hidden;
    margin: 0 15px;
    line-height: 1.35;
}

.slider .slide .descr {
    color: #1B1E39;
    padding: 22px 15px 10px;
}

.slider .slide .img-wrap {
    background: #0E0946;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.slider .slide .img-wrap img {
    width: 100%;
}

.slider .slide .title {
    color: #EB465C;
    font-family: 'Bebas Neue';
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
}

.slider .container-fluid {
    position: relative;
}

.slider .container-fluid:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 120px;
    background: linear-gradient(270deg, #0E0946 0%, rgba(14, 9, 70, 0) 100%);
    right: 0;
    top: 0;
    bottom: 0;
}

.team .slide .descr {
    position: relative;
}

.team .slide .descr:before {
    content: "";
    position: absolute;
    height: 6px;
    background-color: #FFF;
    left: 0;
    right: 0;
    top: -3px;
    width: 100%;
    z-index: 5;
}

.team .slide {
    margin-top: 0.5rem;
    margin: 0 18px;
    border-radius: 20px;
    overflow: hidden;
}

.team .btn-wrap {
    margin-top: 2.5rem;
}

.price-cards {
    background-size: cover;
    padding-top: 7rem;
    padding-bottom: 8rem;
    background-image: none;
    background-position: center;
    border-radius: 50px 50px 0 0;
    position: relative;
}

.price-cards:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .4;
    background-position: center;
    background-size: cover;
    background-image: url("../images/price_new.jpg");
    border-radius: 50px 50px 0 0;
}

.price-cards:after {
    content: '';
    height: 220px;
    bottom: 0;
    width: 100%;
    z-index: 2;
    position: absolute;
    background: linear-gradient(0deg, #0E0946 0%, rgba(14, 9, 70, 0) 100%);
}

.price-cards .container {
    position: relative;
    z-index: 3;
}

.price-cards .price-item {
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-radius: 24px;
    color: #1B1E39;
    padding: 1.7rem 1.5rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
}

.price-cards .price-item h3 {
    color: #3E0693;
    font-family: 'Bebas Neue';
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    line-height: 1;
}

.price-cards .price-item .descr {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex: 1;
    flex: 1;
    padding-left: 1.8rem;
    font-size: 1.125rem;
    font-family: 'Futura PT Book';
}

.price-cards .price-item .price {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    line-height: 1;
    margin-bottom: 1.5rem;
}

.price-cards .price-item .price .current-price {
    color: #EB465C;
    font-family: 'Bebas Neue';
    font-size: 3.5rem;
    font-weight: bold;
    padding-right: 15px;
    display: inline-block;
    white-space: nowrap;
}

.price-cards .price-item .price .current-price small {
    font-size: 3rem;
    font-family: 'Futura PT Demi';
}

.price-cards .price-item .price .action-price {
    color: #1B1E39;
    font-weight: bold;
}

.price-cards .price-item .price .action-price b {
    display: block;
    color: #3E0693;
    font-size: 1.5rem;
    font-family: 'Futura PT Demi';
    font-weight: bold;
}

.price-cards .price-item .btn-main {
    width: 100%;
}

.price-cards [class*="col"] {
    margin-bottom: 30px;
}

.price-course {
    background-image: url(../images/course/bg-price-course.png);
    background-position: center bottom;
    padding-top: 6.5rem;
}

.price-course:before {
    content: none;
}

.price-course:before:after {
    opacity: .7;
}

.price-course .benefits {
    margin-bottom: 1rem;
}

.price-course .benefits p {
    font-size: 1.5rem;
    font-family: 'Futura PT Book';
    margin-bottom: 2.5rem;
}

.price-course .benefits ul {
    padding: 0;
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    page-break-after: always;
    margin-bottom: 0;
}

.price-course .benefits li {
    width: calc(100% / 3);
    margin-bottom: 2rem;
    font-size: 1.125rem;
    font-family: 'Futura PT Demi';
    padding-left: 3.7rem;
    position: relative;
}

.price-course .benefits li .icon {
    position: absolute;
    left: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.maps {
    padding-bottom: 7rem;
    padding-top: 5rem;
}

.maps h2 {
    color: #0E0946;
}

#map {
    height: 480px;
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    z-index: 5;
    position: relative;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

#map > ymaps {
    height: 100%;
}

.maps-slider {
    border-radius: 24px;
    background-color: #FFF;
    color: #0E0946;
    padding: 2rem .5rem;
    margin-left: -19%;
    padding-left: 18%;
    margin-top: -20px;
    font-size: 1.125rem;
    font-family: 'Futura PT Book';
}

.maps-slider .map-item {
    padding: 0 10px;
}

.maps-slider table {
    color: #0E0946;
    font-size: inherit;
    margin-bottom: 1.5rem;
    margin-left: 1rem;
}

.maps-slider table td {
    padding: 2px 6px;
}

.maps-slider table td:first-child {
    text-align: right;
}

.maps-slider b {
    font-family: 'Futura PT Demi';
}

.maps-slider .address {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}

.maps-slider .title {
    color: #3E0693;
    font-family: 'Bebas Neue';
    font-size: 2.5rem;
    font-weight: bold;
}

.maps-slider .info {
    margin-bottom: 2rem;
}

.maps-slider .map-image img {
    border-radius: 16px;
    object-fit: cover;
    min-height: 275px;
}

.maps-slider p {
    margin-bottom: 5px;
}

.maps-slider .slick-slide {
    height: auto;
}

.maps-slider .slick-arrow.slick-disabled {
    opacity: 0.3;
}

.maps-slider .slick-next, .maps-slider .slick-prev {
    width: 64px;
    height: 64px;
    z-index: 2;
    border-radius: 50%;
    position: absolute;
    z-index: 10;
    background-color: #E9ECF7;
    color: #3E0693;
    bottom: 1rem;
    outline: none;
    border: none;
    font-size: 0;
    transition: 0.25s ease-in-out;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("../images/arrow.svg");
}

.maps-slider .slick-next {
    right: 30px;
}

.maps-slider .slick-prev {
    right: calc(64px + 15px + 30px);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.maps-slider .slick-prev:hover, .maps-slider .slick-next:hover {
    background-color: #D8DCEB;
    transition: 0.25s ease-in-out;
}

.maps-slider .slick-prev:focus, .maps-slider .slick-next:focus {
    background-color: #C5CDEC;
    transition: 0.25s ease-in-out;
}

.reviews {
    background: #FFFFFF;
    border-radius: 50px;
    margin-top: -50px;
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
    margin-bottom: -50px;
    z-index: 3;
    position: relative;
}

.reviews .row {
    margin-left: -10px;
    margin-right: -10px;
}

.reviews h2 {
    color: #0E0946;
}

.reviews .slider-reviews {
    position: initial;
    /*important, allows container-fluid to be the relative*/
}

.reviews .slick-list {
    overflow: visible;
    /*important, allows overflow slides to be visible*/
}

.reviews .slide {
    background: #3E0693;
    border-radius: 24px;
    max-width: 460px;
    color: #FFF;
    width: 100%;
    padding: 2.5rem;
    margin: 0 20px;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.reviews .slide .date {
    color: #DFF950;
    font-family: 'Futura PT Demi';
    margin-bottom: 2rem;
}

.reviews .slide .name {
    font-family: 'Bebas Neue';
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.1;
}

.reviews .slide .name-descr {
    font-size: 1.125rem;
    font-family: 'Futura PT Book';
    margin-bottom: 1rem;
}

.reviews .slide .img-wrap {
    background: #3E0693;
}

.reviews .slide .img-wrap img {
    max-height: 140px;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
}

.reviews .slide .reviews-text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex: 1;
    flex: 1;
    font-size: 1.125rem;
    font-family: 'Futura PT Book';
    line-height: 1.4;
    position: relative;
}

.reviews .slide .reviews-text p:last-child {
    margin-bottom: 0;
}

.reviews .slide .reviews-text:before {
    content: "«";
    color: #EB465C;
    display: block;
    font-size: 3rem;
    text-transform: uppercase;
    font-weight: bold;
    font-family: 'Futura PT';
    letter-spacing: 2px;
    line-height: 1;
}

.reviews .slide .reviews-video {
    width: 100%;
    position: relative;
}

.reviews .slide .reviews-video iframe {
    width: 100%;
}

.reviews .slide .reviews-video .video-modal {
    display: block;
}

.reviews .slide .reviews-video .video-modal:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -59%);
    transform: translate(-50%, -59%);
    width: 63px;
    height: 63px;
    width: 74px;
    height: 74px;
    background-size: cover;
    background-image: url("../images/course/icon-play.svg");
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
    transition: 0.25s ease-in-out;
}

.reviews .slide .reviews-video .video-modal:hover:after {
    transition: 0.25s ease-in-out;
    width: 83px;
    height: 83px;
}

.reviews .container-fluid:before, .reviews .container-fluid:after {
    opacity: 0;
    transition: 0.25s ease-in-out;
}

.reviews.left-shadow .container-fluid:before {
    opacity: 1;
    transition: 0.25s ease-in-out;
}

.reviews.right-shadow .container-fluid:after {
    opacity: 1;
    transition: 0.25s ease-in-out;
}

.reviews .slick-next, .reviews .slick-prev {
    background-color: #E9ECF7;
    position: static;
    display: inline-block;
}

.reviews .slick-arrow.slick-disabled {
    opacity: 0.3;
}

.reviews .slick-prev:hover, .reviews .slick-next:hover {
    background-color: #D8DCEB;
    transition: 0.25s ease-in-out;
}

.reviews .slick-prev:focus, .reviews .slick-next:focus {
    background-color: #C5CDEC;
    transition: 0.25s ease-in-out;
}

ul.slick-dots {
    padding-left: 1rem;
    padding-right: 1rem;
}

.slider-dots {
    display: inline-block;
}

.slick-dots {
    margin: 2rem auto;
    text-align: center;
    max-width: 560px;
    display: inline-block;
}

.slick-dots li {
    display: inline-block;
    margin: 0 1rem;
}

.slick-dots li button {
    background: #E9ECF7;
    border-radius: 4px;
    width: 8px;
    height: 8px;
    font-size: 0;
    border: none;
    outline: none;
    padding: 0
}

.slick-dots li.active button, .slick-dots li.slick-active button {
    background: #3E0693;
}

.slider-nav {
    position: relative;
    display: inline-block;
    margin-top: 2.2rem;
}

.video-bg {
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0.5;
    z-index: 0;
    position: absolute;
    width: auto;
    min-width: 100%;
    height: auto;
    min-height: 100%;
    left: 0;
    right: 0;
}

.form {
    overflow: hidden;
    background: linear-gradient(to bottom, #0E0946 0%, rgba(14, 9, 70, 0) 10%, #1B1E39 30%, #1B1E39 70%, #0E0946 90%, rgba(14, 9, 70, 0) 100%);
    background-size: cover;
    padding-bottom: 7.5rem;
    padding-top: 9.5rem;
}

.form:before {
    content: '';
    height: 220px;
    top: 0;
    width: 100%;
    z-index: 2;
    position: absolute;
    background: linear-gradient(180deg, #0E0946 0%, rgba(14, 9, 70, 0) 100%);
}

.form:after {
    content: '';
    height: 220px;
    bottom: 0;
    width: 100%;
    z-index: 2;
    position: absolute;
    background: linear-gradient(0deg, #0E0946 0%, rgba(14, 9, 70, 0) 100%);
}

.form .container {
    z-index: 3;
    position: relative;
}

.form-wrap {
    background: #FFFFFF;
    border-radius: 24px;
    max-width: 360px;
    color: #0E0946;
    font-size: 1.125rem;
    padding: 2rem 2.2rem;
}

.form-wrap h2 {
    color: #3E0693;
    font-size: 4.5rem;
    line-height: 1;
    margin-bottom: 1rem;
}

.form-wrap .note {
    font-family: 'Futura PT Book';
    font-size: 0.9375rem;
    color: #0E0946;
    margin-bottom: 0;
}

.form-wrap .note a {
    color: #3F41BD;
    text-decoration: underline;
}

form {
    margin-top: 1.6rem;
}

form .btn {
    width: 100%;
}

form .btn-wrap {
    margin-top: 1.7rem;
    margin-bottom: 1.5rem;
}

.others {
    padding-bottom: 5rem;
}

.messenger {
    padding: 1rem;
    background: #03001F;
    color: #FFF;
    font-size: 14px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

.messenger a {
    color: #FFF;
    font-family: 'Futura PT Book';
}

.messenger-fixed {
    background: rgba(6, 5, 39, 0.8);
    border-radius: 8px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    padding: 8px;
    z-index: 20;
}

.messenger-fixed-link:hover {
    opacity: .6;
}

.messenger-fixed-link:not(:last-child) {
    margin-right: 4px;
}

.modal .close {
    font-size: 3rem;
    font-weight: 100;
    margin-right: 15px;
    outline: none;
    color: #DADADA;
    transition: 0.25s ease-in-out;
}

.modal .close:hover {
    color: #B7B6B6;
    transition: 0.25s ease-in-out;
}

.modal .close:focus {
    color: #C5CDEC;
    transition: 0.25s ease-in-out;
}

.modal h2 {
    font-family: 'Bebas Neue';
    font-size: 4.5rem;
    text-transform: uppercase;
    margin-bottom: 1rem;
    font-weight: bold;
}

.modal .title {
    font-weight: bold;
    font-size: 2.125rem;
    color: #3E0693;
    font-family: 'Bebas Neue';
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.modal-dialog .form-wrap {
    max-width: 100%;
}

#videoModal.modal.show .modal-dialog {
    top: 50%;
    -ms-transform: translateY(-60%);
    transform: translateY(-60%);
}

#videoModal .modal-dialog {
    max-width: 1000px;
}

#videoModal .modal-content {
    background-color: transparent;
    border: none;
}

.faq {
    font-size: 1.25rem;
    line-height: 1.4;
    font-family: 'Futura PT Book';
}

.faq .accordion > .card:not(:last-of-type) {
    border-bottom: 2px solid #342D85;
}

.faq .card {
    background: transparent;
    border-bottom: 2px solid #342D85;
    padding-bottom: 0.5rem;
}

.faq .card .card-header {
    background: transparent;
    padding: 0;
    margin-bottom: 0;
}

.faq .card .card-header .btn-header-link {
    color: #EB465C;
    display: block;
    text-align: left;
    padding-top: 1rem;
    margin-bottom: 0;
    font-family: 'Bebas Neue';
    font-size: 2.5rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: bold;
    position: relative;
    padding-right: 60px;
    outline: none;
    box-shadow: none;
}

.faq .card .card-header .btn-header-link:after {
    content: "";
    width: 40px;
    height: 40px;
    background-image: url("../images/icon-plus.svg");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 15px;
    top: 50%;
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    opacity: 0.5;
}

.faq .card .card-header .btn-header-link.collapsed {
    color: #fff;
}

.faq .card .card-header .btn-header-link.collapsed:after {
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 1;
}

.programm-course {
    background: #3E0693;
    border-radius: 50px 50px 0 0;
    margin-top: -50px;
    padding-top: 7.5rem;
    padding-bottom: 6rem;
    font-size: 1.25rem;
    line-height: 1.4;
    font-family: 'Futura PT Book';
}

.programm-course h2 {
    font-size: 4.5rem;
}

.programm-course h3 {
    color: #7215FF;
    font-family: 'Bebas Neue';
    font-size: 4rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1;
}

.programm-course h4 {
    color: #DFF950;
    font-family: 'Bebas Neue';
    font-size: 2.5rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 20px;
}

.programm-course .course-item {
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
}

.programm-course .descr a {
    color: #EB465C;
}

.about-course {
    background: #F6F6F6;
    border-radius: 50px 50px 0 0;
    color: #0E0946;
}

.about-course h2 {
    font-size: 4.5rem;
    color: #0E0946;
}

.about-course .about-info {
    font-family: 'Futura PT Book';
    margin-bottom: 2rem;
    font-size: 1.125rem;
}

.about-course .about-info p {
    max-width: 310px;
}

.about-course .title {
    font-size: 1.5rem;
    color: #3E0693;
    font-family: 'Futura PT Demi';
}

.about-course .about-wrap {
    padding: 4rem;
    border-radius: 24px;
    background: #FFF;
    margin-bottom: 6.5rem;
    padding-bottom: 2rem;
}

.about-course .about-wrap .descr {
    font-size: 1.5rem;
    font-family: 'Futura PT Book';
}

.about-course .about-wrap .work-time, .about-course .about-wrap .info, .about-course .about-wrap table {
    line-height: 1;
    color: #3E0693;
    font-size: 1.125rem;
}

.about-course .about-wrap .work-time b, .about-course .about-wrap .info b, .about-course .about-wrap table b {
    font-family: 'Futura PT Demi';
}

.about-course .about-wrap .work-time p, .about-course .about-wrap .info p, .about-course .about-wrap table p {
    margin-bottom: 0.3rem;
}

.about-course .about-wrap .work-time, .about-course .about-wrap table {
    margin-bottom: 1rem;
}

.about-course .about-wrap table td {
    padding: 5px;
}

.about-course .about-wrap table td:first-child {
    text-align: right;
}

.about-course .about-wrap .btn-transparent {
    color: #EB465C;
}

.about-course .about-wrap .btn-transparent svg > * {
    stroke: #EB465C;
}

.about-course .about-wrap .btn-transparent:hover {
    color: #BC3849;
}

.about-course .about-wrap .btn-transparent:hover svg > * {
    stroke: #BC3849;
}

.about-course .about-wrap .btn-transparent:focus {
    color: #981729;
}

.about-course .about-wrap .btn-transparent:focus svg > * {
    stroke: #981729;
}

.about-course .about-wrap .work-time, .about-course .about-wrap .info {
    padding-left: 1.9rem;
    font-family: 'Futura PT Book';
}

.about-course .about-slider {
    margin-top: 2rem;
}

.about-course .about-slider .slide {
    padding: 15px;
}

.about-course .about-slider .slide img {
    border-radius: 8px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.about-course .about-practice {
    margin-bottom: 3rem;
}

.about-course .about-practice .about-practice-slider {
    margin-left: -15px;
    margin-right: -15px;
}

.about-course .about-practice .about-iteam {
    font-family: 'Futura PT Book';
    margin-bottom: 1rem;
    font-size: 1.125rem;
    padding: 15px;
}

.about-course .about-practice .about-iteam P {
    max-width: 350px;
}

.about-course .about-practice img {
    border-radius: 16px;
    width: 100%;
    max-height: 212px;
    min-height: 160px;
    object-fit: cover;
    object-position: center;
}

.about-course .about-practice h3 {
    color: #3E0693;
    font-family: 'Bebas Neue';
    font-size: 2.5rem;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 1rem;
    margin-top: 1.5rem;
    line-height: 1;
}

.about-course .about-practice .slick-next, .about-course .about-practice .slick-prev {
    top: inherit;
    bottom: -50px;
}

.about-course .slick-dots {
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding-left: 3rem;
    padding-left: 3rem;
}

.video-slide {
    position: relative;
}

.video-slide:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -59%);
    transform: translate(-50%, -59%);
    width: 63px;
    height: 63px;
    background-image: url("../images/course/icon-play.svg");
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
    transition: 0.25s ease-in-out;
}

.video-slide:hover:after {
    opacity: 0.6;
    transition: 0.25s ease-in-out;
}

.about-course .slick-next:before, .about-course .slick-prev:before {
    color: black;
}

.about-course .slick-next, .about-course .slick-prev {
    width: 64px;
    height: 64px;
    z-index: 2;
    border-radius: 50%;
    position: absolute;
    top: 42%;
    z-index: 10;
    border: none;
    outline: none;
    font-size: 0;
    transition: 0.25s ease-in-out;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #fff;
    background-image: url("../images/arrow.svg");
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.about-course .slick-prev {
    left: -1rem;
}

.about-course .slick-prev:hover, .about-course .slick-next:hover {
    background-color: #D8DCEB;
    transition: 0.25s ease-in-out;
}

.about-course .slick-prev:focus, .about-course .slick-next:focus {
    background-color: #C5CDEC;
    transition: 0.25s ease-in-out;
}

.about-course .slick-next {
    right: -1rem;
}

.about-course .slick-next.slick-disabled:before, .about-course .slick-prev.slick-disabled:before {
    display: none;
}

.about-course .slick-prev {
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.about-course .slick-arrow.slick-disabled {
    opacity: 0.3;
}

.about-course .slider-dots, .about-course .slick-dots {
    margin-bottom: 0;
}

.about-course .slider-nav {
    margin-top: 1.5rem;
}

.bg-light {
    background: #F6F6F6;
}

.bg-light h2 {
    color: #0E0946;
}

.bg-violet {
    background: #3E0693;
}

.bg-violet h2 {
    color: #FFF;
}

.header-sub-menu {
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex: 1;
    flex: 1;
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 0;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding: 0 1%;
    max-width: 700px;
    margin-right: 0;
    margin-left: auto;
}

.header-sub-menu li {
    display: inline-block;
}

.header-sub-menu a {
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #FFF;
    position: relative;
}

.header-sub-menu a.active:after {
    content: "";
    width: 100%;
    height: 2px;
    background: #DFF950;
    border-radius: 8px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
}

.course-item {
    position: relative;
}

.course-item .title {
    height: 60px;
}

.course-item h4 {
    height: 40px;
    margin-top: .3rem;
    margin-bottom: 2rem;
}

.course-item:after {
    content: "";
    width: 113%;
    height: 30px;
    background-image: url("../images/course/line1.svg");
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    background-position: top left;
    top: 37px;
    left: 0;
}

.course-item:nth-child(3):after {
    background-image: url("../images/course/line2.svg");
}

.course-item:nth-child(4):after {
    background-image: url("../images/course/line3.svg");
}

.course-item:nth-child(5):after {
    background-image: url("../images/course/line4.svg");
}

@media (max-width: 575px) {
    .course-item:nth-child(5):after {
        background-position: 70%;
    }
}

.course-item:nth-child(6):after {
    background-image: url("../images/course/line5.svg");
}

.header-profile-menu {
    padding: 0 .2rem;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.header-profile-menu li {
    padding: 0 2rem;
}

.profile-info {
    color: #03001F;
    background: #F6F6F6;
    border-radius: 0 0 50px 50px;
    padding-top: 8rem;
    padding-bottom: 1.5rem;
    position: relative;
    z-index: 3;
}

.profile-info .user-pic img {
    max-height: 200px;
    object-fit: cover;
    border-radius: 8px;
    min-height: 100px;
}

.profile-info .name {
    font-family: 'Bebas Neue';
    font-size: 2rem;
    text-transform: uppercase;
    color: #3E0693;
    margin-bottom: .8rem;
    font-weight: bold;
    line-height: 1;
}

.profile-info .info {
    color: #0E0946;
    font-size: 1.125rem;
    font-family: 'Futura PT Demi';
}

.profile-info .person-info {
    background-color: #FFF;
    padding: 2.5rem 2rem;
    border-radius: 24px;
    height: 100%;
}

.profile-info .coach-info {
    background-color: #FFF;
    padding: 2.5rem 2rem;
    border-radius: 24px;
    height: 100%;
}

.profile-info .contacts a {
    color: #EB465C;
    font-size: 1rem;
    font-family: 'Futura PT Demi';
}

.profile-info .contacts a svg {
    margin-right: 5px;
}

.profile-info .contacts a:not(:last-child) {
    margin-right: 2rem;
}

.profile-info .coach-info .name {
    color: #0E0946;
    margin-bottom: 2rem;
}

.profile-info .label {
    background: #3E0693;
    min-width: 90px;
    font-family: 'Futura PT Demi';
    border-radius: 4px;
    padding: 5px 10px;
    color: #fff;
    font-size: 0.875rem;
    margin-bottom: 1.3rem;
    display: inline-block;
}

.profile-info .descr-group {
    page-break-inside: avoid;
}

.columns-2 {
    column-count: 2;
    page-break-after: always;
    column-gap: 5px;
}

.profile-statistics {
    margin-top: -50px;
    padding-top: 8.5rem;
    padding-bottom: 8.5rem;
    overflow: hidden;
}

.profile-statistics:before {
    content: '';
    height: 220px;
    top: 0;
    width: 100%;
    z-index: 1;
    position: absolute;
    background: linear-gradient(180deg, #0E0946 0%, rgba(14, 9, 70, 0) 100%);
}

.profile-statistics:after {
    content: '';
    height: 220px;
    bottom: 0;
    width: 100%;
    z-index: 1;
    position: absolute;
    background: linear-gradient(0deg, #0E0946 0%, rgba(14, 9, 70, 0) 100%);
}

.profile-statistics .container {
    z-index: 2;
    position: relative;
}

.profile-statistics .statistics-counters {
    font-size: 1.5rem;
    font-family: 'Futura PT Book';
    text-align: center;
    margin-bottom: 3.5rem;
}

.profile-statistics .statistics-counters p {
    margin-bottom: 0;
}

.profile-statistics .number {
    font-family: 'Bebas Neue';
    font-size: 4.5rem;
    line-height: 1;
    text-transform: uppercase;
    font-weight: bold;
}

.profile-statistics .number small {
    font-weight: bold;
    font-size: 60%;
}

.profile-statistics .infographic {
    text-align: left;
    color: #DFF950;
    position: relative;
    background: linear-gradient(270deg, #7215FF 1.95%, #FFFFFF 100%);
    background: rgba(62, 6, 147, 0.7);
    padding: 2.5rem 3rem;
    border-radius: 24px;
}

.profile-statistics .infographic .number {
    margin-bottom: 2rem;
    font-size: 4rem;
}

.profile-statistics .infographic .descr {
    color: #FFF;
}

.profile-statistics .infographic .line {
    position: relative;
    margin-bottom: 1rem;
}

.profile-statistics .infographic .line svg {
    z-index: 1;
    position: relative;
}

.profile-statistics .infographic .line .complete-line {
    position: relative;
    margin-top: -1.65rem;
    text-align: right;
}

.profile-statistics .infographic .progress-bar-wrap {
    overflow: hidden;
}

.profile-statistics .infographic .progress-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    -ms-flex-direction: row;
    flex-direction: row;
    background: none;
}

.profile-statistics .infographic .progress-bar li {
    display: inline-block;
    -ms-flex: 2;
    flex: 2;
    color: #7215FF;
    position: relative;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
    overflow: visible;
    min-width: 0;
    text-align: center;
}

.profile-statistics .infographic .progress-bar li:first-child {
    text-align: left;
    -ms-flex: 1;
    flex: 1;
}

.profile-statistics .infographic .progress-bar li:last-child {
    text-align: right;
    -ms-flex: 1;
    flex: 1;
}

.profile-statistics .infographic .progress-bar li.is-complete {
    color: #DFF950;
}

.profile-goals {
    padding-top: 5rem;
    padding-bottom: 4rem;
}

.profile-goals-item {
    display: block;
    position: relative;
    margin-bottom: 40px;
    cursor: pointer;
}

.profile-goals-item img {
    max-width: 100%;
    min-height: 300px;
    width: 100%;
    max-height: 360px;
    object-fit: cover;
}

.profile-goals-item .img-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
    -ms-transform: none;
    transform: none;
    transition: 0.25s ease-in-out;
    z-index: 1;
}

.profile-goals-item .img-wrap:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: linear-gradient(360deg, rgba(3, 0, 31, 0.6) 0%, rgba(14, 9, 70, 0) 100%);
    background: rgba(14, 9, 70, 0.5);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.profile-goals-item .label {
    border-radius: 4px;
    color: #FFF;
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
    padding: .5rem 1rem;
    background: transparent;
    border: 1px solid #fff;
}

.profile-goals-item .item-descr {
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    z-index: 2;
    color: #FFF;
    font-size: 1rem;
    padding: 1rem;
    -ms-transform: none;
    transform: none;
    transition: 0.25s ease-in-out;
    overflow: hidden;
}

.profile-goals-item .item-descr .title {
    color: #DFF950;
    font-family: 'Bebas Neue';
    font-size: 3rem;
    font-weight: bold;
    transition: 0.25s ease-in-out;
    margin-bottom: 0;
    line-height: 1.1;
}

.profile-goals-item .item-descr .term {
    text-align: right;
}

.profile-goals-item.is-complete .img-wrap:after {
    filter: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: linear-gradient(360deg, rgba(3, 0, 31, 0.6) 0%, rgba(14, 9, 70, 0) 100%);
}

.profile-goals-item.is-complete .label {
    background: #EB465C;
    border: 1px solid #EB465C;
}

.profile-history {
    background: #FFFFFF;
    border-radius: 50px 50px 0 0;
    padding-bottom: 4.5rem;
    position: relative;
    z-index: 3;
    color: #0E0946;
}

.profile-history h2 {
    color: #0E0946;
}

.profile-history table {
    color: #0E0946;
    width: 100%;
    font-family: 'Futura PT Book';
}

.profile-history table th {
    font-size: 1.125rem;
    font-family: 'Futura PT Demi';
    padding: .5rem 1.5rem;
}

.profile-history table th.comment {
    padding-left: 4rem;
    padding-right: 4rem;
}

.profile-history table td {
    padding: 1rem 1.5rem;
    background: #F6F6F6;
    font-size: 1.125rem;
}

.profile-history table td.distance {
    font-family: 'Bebas Neue';
    font-size: 2.5rem;
    font-weight: bold;
    white-space: nowrap;
}

.profile-history table td.distance small {
    font-weight: bold;
}

.profile-history table td.comment {
    color: #3E0693 !important;
    max-width: 60%;
    width: 59%;
    padding-left: 4rem;
    padding-right: 4rem;
    position: relative;
    line-height: 1.5;
}

.profile-history table td.comment:before {
    content: "«";
    position: absolute;
    left: 1.5rem;
    top: 45%;
    font-size: 3.375rem;
    font-weight: 900;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.profile-history table td.comment:after {
    content: "»";
    position: absolute;
    right: 1.5rem;
    top: 45%;
    font-size: 3.375rem;
    font-weight: 900;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.profile-history table td:first-child {
    border-radius: 8px 0 0 8px;
}

.profile-history table td:last-child {
    border-radius: 0 8px 8px 0;
}

.profile-history table tbody tr:not(:last-child) td {
    border-bottom: 10px solid #fff;
}

.slider .container-fluid .container > .row {
    display: block;
}

.slick-track {
    display: -ms-flexbox !important;
    display: flex !important;
}

.slick-slide {
    height: inherit !important;
}

#up-btn {
    position: absolute;
}

.messenger {
    position: relative;
}

main {
    position: relative;
}

.header .header-menu .header-contacts {
    width: 100%;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

.about-course .about-info {
    font-size: 1.25rem;
}

.about-course .about-practice .about-iteam {
    font-size: 1.25rem;
}

.slider .slider-cards {
    max-height: 550px;
}

.maps-slider {
    max-height: 700px;
}

.reviews .slider-reviews {
    max-height: 550px;
}

.header .header-menu {
    -ms-transform: translateX(110%);
    transform: translateX(110%);
    transition: all 0.3s linear 0s;
}

.header .header-menu.collapse.show {
    -ms-transform: translateX(0);
    transform: translateX(0);
    transition: all 0.3s linear 0s;
}

.auth {
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.auth.auth-modal {
    position: fixed;
    opacity: 0;
    top: 0;
    right: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 120;
    color: #000;
}

.auth.active {
    display: block;
    opacity: 1;
    pointer-events: auto;
}

.auth.active .auth__block {
    -ms-transform: translateX(0);
    transform: translateX(0);
}

.auth.registration.active, .auth.edit.active {
    display: block !important;
}

.auth__close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 1;
}

.auth__close:before {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    top: 10%;
    left: 10%;
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-transform-origin: center;
    transform-origin: center;
    background-color: #888;
    margin: 15px 0 0 -5px;
}

.auth__close:after {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    top: 10%;
    left: 10%;
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -ms-transform-origin: center;
    transform-origin: center;
    background-color: #888;
    margin: 15px 0 0 -5px;
}

.auth__block {
    width: 50%;
    height: 100%;
    right: 0;
    padding: 0;
    margin: auto;
    position: absolute;
    display: block;
    background-color: #fff;
    -ms-transform: translateX(110%);
    transform: translateX(110%);
    transition: transform 0.3s linear 0s;
    overflow: auto;
    border-left: 1px solid #eee;
    box-shadow: -8px 0 9px rgba(0, 0, 0, 0.1);
}

.auth .auth-login-block {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

.auth .password-toggle {
    position: absolute;
    right: 22px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    bottom: 10px;
    margin: auto;
    height: 40px;
    width: 40px;
    cursor: pointer;
    transition: opacity .4s ease;
}

.auth .password-toggle .fa-open-eye svg, .auth .password-toggle .fa-close-eye svg {
    height: 100%;
    width: 40px;
    fill: #4c4c4c;
}

.auth__logo {
    width: 100%;
    position: relative;
    text-align: center;
    margin: 0 0 30px;
}

.auth__logo img {
    max-width: 220px;
    border-radius: 16px;
}

.auth__main {
    width: 100%;
    height: 100%;
    right: 0;
    margin: auto;
    position: relative;
    display: block;
    background-color: #fff;
    transition: all .3s linear 0s;
    box-sizing: border-box;
    overflow: auto;
}

.auth__main .edit-user-info {
    max-width: 960px;
    margin: 0 auto;
}

.auth__left {
    max-width: 380px;
    float: left;
    text-align: center;
}

.auth__left a {
    color: #3F41BD;
}

.auth__left:last-child {
    float: none;
    margin: auto;
}

.auth.registration, .auth.edit {
    display: none;
    z-index: 121;
}

.auth.registration .auth__main, .auth.edit .auth__main {
    padding-top: 70px;
}

.auth .section-title {
    font-family: 'Bebas Neue';
    font-size: 3.25rem;
    text-transform: uppercase;
    color: #3F41BD;
    text-align: center;
    letter-spacing: 2px;
    margin-bottom: 2rem;
    font-weight: bold;
}

.auth .inputs-wrap-label .form__styling-radio {
    position: absolute;
    opacity: 0;
    height: 0;
}

.auth .inputs-wrap-label .form__label-styling-radio {
    height: 60px;
    line-height: 60px;
    border-color: #E9ECF7;
    background-color: #e6e6e6;
    margin-left: 0;
    z-index: 1;
    left: 0;
    top: 0;
}

.auth .inputs-wrap-label .form__styling-radio:checked + .form__label-styling-radio {
    border-color: #000;
    background-color: #FFF;
}

.auth .inputs-wrap-label input:-internal-autofill-selected {
    background: #FFF;
    box-shadow: inset 0 0 0 50px #fff !important;
}

.auth .inputs-wrap-label .style-select {
    height: 60px;
    border-color: #888;
    margin-left: 0 !important;
    position: relative;
}

.auth .inputs-wrap-label .style-select select {
    padding-left: 30px;
    height: 60px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: 'Futura PT Book';
    font-size: 10px;
    color: #0E0946;
    font-weight: normal;
}

.auth .inputs-wrap-label .style-select.noneselect {
    border-color: #e6e6e6;
    border-left: 1px solid #fff;
    float: left;
}

.auth .inputs-wrap-label .style-select.noneselect:after {
    border-top: 9px solid #E9ECF7;
}

.auth .inputs-wrap-label .style-select:not(.noneselect) + .style-select {
    border-left: none;
}

.auth .inputs-wrap-label .title-with-line {
    margin-top: 15px;
    position: relative;
    text-align: center;
    margin-bottom: 30px;
    font-size: 1.5rem;
}

.auth .inputs-wrap-label .title-with-line span {
    position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 0 10px;
    z-index: 1;
    max-width: 90%;
    color: #333;
}

.auth .inputs-wrap-label .title-with-line:before {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    top: 50%;
    border-bottom: 1px solid #e6e6e6;
}

.auth .inputs-wrap-label label.form__label {
    color: #333;
    margin-left: 20px;
    margin-bottom: 5px;
}

.auth .inputs-wrap-label label.form__label + .form__line {
    padding-top: 5px;
}

.auth .inputs-wrap-label .form__dsc {
    margin-left: 20px;
}

.auth .inputs-wrap-label .form__dsc.width-100 {
    width: 100%;
    display: block;
    margin-left: 0;
    margin-top: 5px;
}

.auth .inputs-wrap-label .btn-300 {
    max-width: 300px;
    margin-right: 15px;
}

.auth .inputs-wrap-label .btn-wrap a {
    color: #3F41BD;
    text-decoration: underline;
}

.auth .inputs-wrap-label .form__line {
    padding-top: 30px;
    margin-top: 0;
    display: -ms-flexbox;
    display: flex;
}

.auth .inputs-wrap-label .form__line > div {
    overflow: visible;
}

.auth .gender-line .form__label-styling-radio {
    width: 50%;
}

.auth .gender-line .form__line {
    padding-top: 0;
}

.auth .birth-line .form__line {
    padding-top: 0;
}

.auth .form__label-styling-radio {
    min-width: 50px;
    min-height: 40px;
    position: relative;
    display: inline-block;
    background-color: #eee;
    border: 1px solid #999;
    padding: 0 10px;
    line-height: 37px;
    float: left;
    cursor: pointer;
    margin-left: -1px;
    color: #666;
    text-align: center;
    margin-bottom: 1px;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1190px;
    }

    .founder .founder-wrap .descr .btn-main {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .about-course .slick-dots {
        display: none;
    }

    .about-course .about-practice .about-iteam {
        max-width: 33.3%;
    }
}

@media (min-width: 576px) {
    .modal-dialog {
        margin: 3rem auto;
    }

    .modal-body {
        padding: 0;
    }

    .modal-dialog .form-wrap {
        max-width: 100%;
        padding: 1.8rem 2.2rem;
    }

    .modal-content {
        border-radius: 24px;
    }
}

@media (max-width: 1199.98px) {
    .system h3 {
        font-size: 6.5rem;
        letter-spacing: 1px;
    }

    .system h3 small {
        font-size: inherit;
        padding: 0;
        top: -5px;
    }

    .founder .founder-wrap .descr p {
        margin-bottom: 1rem;
    }

    .goals h3 {
        font-size: 4.6rem;
        letter-spacing: 1px;
    }

    .header-sub-menu {
        padding: 0 2%;
    }

    .phone svg {
        margin-right: 8px;
    }

    .header .header-contacts .navbar-toggler, .header .header-contacts .btn-sub {
        margin-left: 15px;
    }

    .header .navbar {
        padding: 0 15px;
    }

    .profile-info .person-info, .profile-info .coach-info {
        padding: 2rem 1.5rem 1.5rem;
    }

    .profile-goals-item .item-descr .title {
        font-size: 2.5rem;
    }

    .header-top .profile-link {
        margin-left: 1rem;
        font-size: 1rem;
    }

    .founder .founder-wrap .position-top {
        position: relative;
        text-align: center;
        top: -12px;
        left: 0;
    }

    .founder .founder-wrap {
        text-align: center;
    }

    .founder .founder-wrap .descr p {
        text-align: left;
    }

    .founder .founder-wrap .descr {
        position: static;
        color: #3E0693;
        max-width: 100%;
        margin-top: 1rem;
    }

    .founder .founder-wrap .position-bottom-left svg * {
        stroke: #3E0693;
    }

    .founder .founder-wrap .position-bottom-left {
        position: static;
        color: #3E0693;
    }

    .founder .founder-wrap .position-bottom-left:hover {
        background: transparent;
        transition: 0.25s ease-in-out;
        color: #7215FF;
    }

    .founder .founder-wrap .position-bottom-left:hover svg > * {
        stroke: #7215FF;
        transition: 0.25s ease-in-out;
    }

    .founder .founder-wrap .position-bottom-left:focus {
        background: transparent;
        transition: 0.25s ease-in-out;
        color: #9E5FFD;
    }

    .founder .founder-wrap .position-bottom-left:focus svg > * {
        stroke: #9E5FFD;
        transition: 0.25s ease-in-out;
    }

    .founder .founder-wrap .btn-wrap {
        margin-top: 1.5rem;
        margin-bottom: 0.5rem;
    }

    .maps-slider .slick-slide {
        margin-bottom: 3rem;
    }

    .maps-slider {
        margin-left: -22%;
    }

    .maps-slider .map-descr {
        padding-right: 0;
    }
}

@media (max-width: 991px) {
    body, html {
        font-size: 14px;
    }

    h1 {
        font-size: 6.5rem;
    }

    .btn-main {
        padding: .9rem 1rem;
    }

    .section h2, .modal h2 {
        font-size: 4rem;
    }

    .promo-main {
        min-height: 650px;
    }

    .programms-item .item-descr .title {
        font-size: 2.5rem;
    }

    .steps {
        padding-bottom: 6rem;
    }

    .system {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .system h3 {
        font-size: 5.5rem;
        letter-spacing: 0px;
    }

    .system h3 small {
        font-size: inherit;
        padding: 0;
        top: -5px;
    }

    .goals {
        padding-top: 6rem;
    }

    .goals h3 {
        font-size: 4rem;
    }

    .goals h4 {
        font-size: 2rem;
    }

    .reviews .slide {
        max-width: 400px;
        padding: 2rem 1rem;
        margin: 0 15px;
    }

    .programm-course {
        padding-top: 5rem;
    }

    .profile-info .person-info, .profile-info .coach-info {
        padding: 1.5rem;
    }

    .profile-statistics .number, .profile-statistics .infographic .number {
        font-size: 2.625rem;
    }

    .profile-statistics .infographic .line .complete-line {
        margin-top: -1.9rem;
    }

    .about-course .about-practice .about-iteam {
        max-width: 360px;
    }

    .about-course {
        padding-bottom: 4rem;
    }

    .about-course .about-wrap {
        padding: 2.5rem;
    }

    .course-item:after {
        background-position: top center;
        top: 2.2rem;
    }
}

@media (max-width: 767px) {
    h1 {
        font-size: 5.5rem;
    }

    h1 svg {
        margin-top: -1rem;
    }

    .header .navbar {
        padding: 0 15px 5px;
    }

    .about-course .about-wrap {
        padding-left: 15px;
        padding-right: 15px;
    }

    .about-course .title {
        font-size: 20px;
    }

    .system h2 {
        text-align: center;
    }

    .course-item h4 {
        margin-bottom: 1rem;
        min-height: 40px;
        height: auto;
    }

    .slick-dots li button {
        width: 20px;
    }

    .slick-dots li {
        margin: 0 0.5rem;
    }

    .about-course .about-practice .about-iteam {
        max-width: 290px;
    }

    .about-course .about-practice .about-practice-slider .slick-track {
        margin-left: 0;
        margin-right: 0;
    }

    .price-course .benefits ul li {
        width: 50%;
    }

    .promo .btn-wrap {
        text-align: center;
    }

    .promo .btn-main:not(:last-child) {
        margin-bottom: 1rem;
    }

    .maps-slider {
        margin-left: 0;
        padding-left: .5rem;
    }

    .profile-history table td {
        padding: 1rem;
    }

    .profile-statistics .infographic {
        padding: 1.5rem;
    }

    .header-top .phone, .header-top .profile-link {
        display: none;
    }

    .header .header-menu .header-nav-top .navbar-toggler {
        margin-top: 0;
    }

    .header-menu-contacts {
        margin-bottom: 3rem;
    }

    .auth__main, .auth__block {
        width: 100%;
        padding: 30px 0;
        max-width: 800px;
        margin: auto;
        position: relative;
        display: block;
    }

    .auth.registration .section-title, .auth.edit .section-title {
        font-size: 3rem;
    }

    .profile-info .user-pic img {
        margin-bottom: 1rem;
    }
}

@media (max-width: 576px) {
    h1 span {
        -webkit-text-stroke: 1px #fff;
    }

    .promo-main {
        min-height: 500px;
        padding-top: 12.5rem;
    }

    .steps-item {
        min-height: 166px;
        margin-bottom: 15px;
    }

    .steps-item:after {
        bottom: -12px;
    }

    .section h2, .modal h2 {
        font-size: 3rem;
    }

    .promo .btn-main:not(:last-child) {
        margin-bottom: 1rem;
    }

    .promo .btn-wrap {
        text-align: center;
    }

    .header .phone {
        display: none;
    }

    .header .header-contacts .btn-sub {
        min-width: 140px;
        margin-left: auto;
        margin-right: auto;
    }

    .header-top .header-contacts {
        width: calc(100% - 100px);
        text-align: right;
    }

    .header .header-menu .header-contacts {
        text-align: left;
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
    }

    .promo .scroll-down {
        display: none;
    }

    .anchors-dots {
        display: none;
    }

    .system .img-wrap img {
        max-height: 325px;
        width: 100%;
        object-fit: cover;
        border-radius: 16px;
    }

    .founder {
        padding-top: 1.5rem;
        padding-bottom: 6.5rem;
    }

    .founder .founder-wrap .img-wrap:before {
        border-radius: 16px;
    }

    .price-cards {
        background-position: top center;
        border-radius: 16px;
    }

    .maps-slider {
        margin-left: 0;
        padding-left: .5rem;
    }

    .maps-slider .map-image img {
        width: 100%;
        margin-bottom: 1rem;
        max-height: 260px;
        min-height: 145px;
        object-fit: cover;
        border-radius: 16px;
    }

    .reviews .slide {
        max-width: 300px;
    }

    .reviews .slide .date {
        margin-bottom: 1rem;
    }

    .reviews .slide .img-wrap img {
        border-radius: 8px;
    }

    .footer .social-links {
        margin-bottom: 1rem;
        margin-top: 1rem;
    }

    .footer .footer-menu {
        margin-top: 0;
        margin-bottom: 0;
    }

    .form-wrap .note {
        font-size: 14px;
        line-height: 1.2;
    }

    .maps-slider {
        padding-top: 70px;
        border-radius: 8px;
        margin-top: -15px;
    }

    .maps-slider .slick-next, .maps-slider .slick-prev {
        top: 5px;
    }

    .maps-slider .slick-prev {
        left: 15px;
    }

    .maps-slider .slick-next {
        right: 15px;
    }

    .maps-slider .slick-slide {
        margin-bottom: 0;
    }

    .about-course {
        border-radius: 16px 16px 0 0px;
        line-height: 1.3;
        padding-top: 3.5rem;
    }

    .about-course .title {
        margin-bottom: 0.5rem;
    }

    .about-course .about-slider .slide {
        padding: 5px;
    }

    .about-course .about-info {
        margin-bottom: 2rem;
    }

    .about-course .about-wrap {
        border-radius: 16px;
        padding: 2rem 1rem 1.5rem;
    }

    .about-course .about-wrap .work-time, .about-course .about-wrap .info, .about-course .about-wrap table {
        font-size: 16px;
    }

    .about-course .about-wrap .work-time, .about-course .about-wrap .info {
        padding-left: 0;
    }

    .programm-course {
        border-radius: 16px 16px 0 0px;
        padding-top: 3rem;
    }

    .faq .card .card-header .btn-header-link {
        font-size: 24px;
        line-height: 1;
    }

    .faq .card .card-header .btn-header-link:after {
        width: 24px;
        height: 24px;
    }

    .price-course .benefits ul {
        margin-bottom: 1rem;
    }

    .price-course .benefits ul li {
        width: 100% !important;
    }

    .price-cards {
        background-size: auto;
        background-repeat: no-repeat;
    }

    .programm-course {
        padding-bottom: 2rem;
    }

    .programm-course h3 {
        font-size: 3.5rem;
    }

    .programm-course .course-item:last-child {
        margin-bottom: 10px;
    }

    .about-course .about-info, .about-course .about-wrap .descr {
        font-size: 16px;
    }

    .about-course .about-practice img, .about-course .about-slider .slide img {
        min-height: 150px;
    }

    .about-course .slick-next, .about-course .slick-prev {
        top: inherit;
        bottom: -30px;
        width: 40px;
        height: 40px;
        background-size: 20px;
    }

    .about-course .slick-prev {
        left: 15px;
    }

    .about-course .slick-next {
        right: 15px;
    }

    .about-course .about-slider .slick-arrow {
        bottom: -30px;
    }

    .about-course .about-practice .slick-next, .about-course .about-practice .slick-prev {
        bottom: -30px;
    }

    .about-course .about-practice img {
        min-height: 140px;
    }

    .profile-goals-item .item-descr .title {
        font-size: 1.875rem;
    }

    .profile-statistics .infographic {
        padding: 1rem;
    }

    .profile-goals-item {
        margin-bottom: 30px;
    }

    .profile-info .user-pic img {
        max-height: 160px;
    }

    .course-item:after {
        top: 1.8rem;
    }

    .course-item:nth-child(6):after {
        background-position: 40%;
    }

    #map {
        height: 300px;
    }

    .founder .founder-wrap .img-wrap {
        margin-top: -16px;
    }

    .founder .founder-wrap .descr {
        font-size: 16px;
        padding: 0 8px;
        margin-top: 1.4rem;
    }

    .founder .founder-wrap .position-top {
        font-size: 14px;
    }

    .slider .container-fluid:after {
        width: 50px;
    }

    .video-bg {
        max-width: 100%;
        max-height: 100%;
        object-fit: cover;
    }

    .steps {
        background-image: url("../images/bg-steps-mobile.png");
    }

    .header .header-menu .main-menu {
        margin-bottom: 2rem;
    }

    .about-course .about-practice .about-iteam {
        font-size: 16px;
    }

    .programms-item .img-wrap {
        max-height: 192px;
    }

    .programms-item .img-wrap .video {
        opacity: 1;
    }

    .about-course .about-slider .slide img {
        height: 160px;
        width: 160px;
    }

    .reviews {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
        padding-left: 15px;
    }
}

@media (max-width: 460px) {
    body, html {
        font-size: 13px;
        line-height: 1.85;
    }

    .btn-main {
        width: 100%;
        padding: .6rem;
    }

    .header .logo {
        width: 60px;
    }

    .header-contacts {
        width: calc(100% - 60px);
        text-align: right;
    }

    .header .header-contacts .navbar-toggler {
        margin-left: 10px;
        margin-right: 15px;
        width: 25px;
        display: block;
        float: right;
        margin-top: 15px;
    }

    .header .header-contacts .btn-sub {
        min-width: 154px;
        padding: .6rem .2rem;
        font-size: 16px;
        margin-top: 5px;
    }

    .header-top .header-contacts {
        width: calc(100% - 65px);
        text-align: center;
    }

    h1 {
        font-size: 4.25rem;
        margin-bottom: 2rem;
    }

    h1 svg text {
        font-size: 1.8px;
    }

    h1 svg {
        margin-top: 0;
    }

    .promo-main {
        padding-bottom: 0rem;
        margin-bottom: 2.5rem;
    }

    .promo .descr {
        line-height: 1.1;
    }

    .section h2, .modal h2 {
        line-height: 1;
    }

    .programms-item {
        margin-bottom: 15px;
    }

    .programms-item img {
        min-height: 150px;
    }

    .programms-item .item-descr {
        padding: .5rem;
    }

    .programms .btn-wrap p {
        font-size: 16px;
        margin-bottom: 2.5rem;
    }

    .programms-item p {
        line-height: 1;
    }

    .programms-item p strong {
        margin-left: 0;
    }

    .steps {
        padding-bottom: 9rem;
        padding-top: 8rem;
    }

    .steps-item {
        padding: 1.5rem;
        line-height: 1;
        border-radius: 16px;
    }

    .steps-item .title {
        font-size: 18px;
        margin-bottom: .6rem;
    }

    .steps-item .descr {
        line-height: 1.3;
        margin-bottom: 0;
        padding-right: 50px;
    }

    .system h2 {
        text-align: center;
        margin-bottom: 2rem;
    }

    .system .img-wrap img {
        max-height: 205px;
    }

    .system .descr ul {
        column-count: 1;
    }

    .system .descr {
        margin-top: 2rem;
        padding-bottom: 2rem;
        margin-bottom: 2.5rem;
        padding-right: 1rem;
    }

    .system .descr li {
        margin-bottom: 2rem;
        font-size: 16px;
        line-height: 1.4;
    }

    .system .descr li:last-child {
        margin-bottom: 0;
    }

    .system {
        padding-bottom: 3.5rem;
    }

    .system .btn-main + .btn-main {
        margin-top: .7rem;
    }

    .founder .founder-wrap .descr p {
        line-height: 1.3;
    }

    .founder .founder-wrap .btn-wrap {
        margin-top: 2.5rem;
        margin-bottom: 1.5rem;
    }

    .goals {
        border-radius: 16px 16px 0 0px;
        padding-bottom: 4.5rem;
        padding-top: 5.5rem;
    }

    .goals h2 {
        text-align: center;
    }

    .goals h3 {
        font-size: 72px;
    }

    .goals h4 {
        font-size: 2.5rem;
        margin-bottom: 10px;
    }

    .goals .goal {
        margin-bottom: 65px;
        font-size: 16px;
        padding-left: 8px;
        line-height: 1;
    }

    .goals-item {
        padding: 1rem 1rem .5rem;
    }

    .goals .descr {
        margin-bottom: 15px;
    }

    .goals .descr ul {
        line-height: 1.4;
        padding-left: 2.5rem;
        margin-bottom: 0;
    }

    .goals .btn-wrap {
        margin-top: 0.5rem;
    }

    .slider {
        padding-top: 4.5rem;
        padding-bottom: 5rem;
    }

    .slider .slider-cards {
        margin-bottom: 20px;
        padding-bottom: 50px;
    }

    .slider .slick-next, .slider .slick-prev {
        top: inherit;
        bottom: 0;
        width: 40px;
        height: 40px;
        background-size: 20px;
    }

    .slider .slider-cards .slide {
        max-width: 220px;
        border-radius: 20px;
    }

    .price-cards {
        padding-top: 4.5rem;
        padding-bottom: 3rem;
    }

    .price-cards .price-item h3 {
        font-size: 2.5rem;
        margin-bottom: 0.5rem;
    }

    .price-cards .sub-title {
        font-size: 16px;
        margin-bottom: 0.5rem;
    }

    .price-cards .price-item .descr {
        line-height: 1.3;
        margin-bottom: 2.5rem;
    }

    .price-cards .price-item .price {
        margin-bottom: 1rem;
    }

    .price-cards .price-item .price .action-price {
        font-family: 'Futura PT Demi';
    }

    .price-cards .price-item .price .current-price {
        font-size: 40px;
    }

    .price-cards [class*="col"] {
        margin-bottom: 15px;
    }

    .maps {
        padding-bottom: 3.5rem;
    }

    #map {
        margin-top: 0;
        margin-bottom: 0.5rem;
    }

    #map {
        height: 250px;
    }

    .maps-slider .map-item {
        padding: 0 5px;
    }

    .maps-slider {
        padding-top: 60px;
    }

    .maps-slider .slick-next, .maps-slider .slick-prev {
        top: 10px;
        width: 40px;
        height: 40px;
        background-size: 20px;
    }

    .maps-slider .title {
        line-height: 1.1;
    }

    .maps-slider .address {
        line-height: 1.1;
        font-size: 16px;
        margin-bottom: 1rem;
    }

    .maps-slider .map-image img {
        max-height: 160px;
        border-radius: 8px;
    }

    .maps-slider .info {
        margin-bottom: 1rem;
    }

    .reviews {
        padding-top: 3.5rem;
        border-radius: 32px;
        padding-bottom: 2rem;
    }

    .reviews .slide {
        margin: 0 1rem;
    }

    .reviews .slide .name {
        font-size: 24px;
    }

    .reviews .slide {
        max-width: 260px;
        padding: 1.5rem 1rem;
    }

    .slick-dots li button {
        width: 8px;
        height: 8px;
        border-radius: 8px;
        padding: 0;
    }

    .slick-dots li {
        margin: 0 3px;
    }

    .reviews.right-shadow .container-fluid:after, .reviews .container-fluid:before, .reviews .container-fluid:after {
        opacity: 0;
        background: none;
        width: 0;
        height: 0;
    }

    .slider-nav {
        display: block;
        margin-top: 5px;
    }

    .reviews .slide .reviews-text:before {
        font-size: 2.5rem;
    }

    .reviews .slide .reviews-text {
        padding-left: 5px;
        padding-right: 10px;
    }

    .reviews ul.slick-dots {
        margin-top: 3rem;
    }

    .system {
        border-radius: 16px 16px 0 0px;
    }

    .form {
        padding-top: 20rem;
        padding-bottom: 2.5rem;
    }

    .form-wrap {
        border-radius: 16px;
        padding: 1.5rem;
        line-height: 1.5;
        padding-bottom: 2rem;
    }

    .form-wrap form {
        margin-bottom: 0.5rem;
    }

    .form .form-wrap p {
        padding-right: 15px;
    }

    form .btn-wrap {
        margin-bottom: 1rem;
    }

    #up-btn {
        width: 42px;
        height: 42px;
        font-size: 11px;
    }

    #up-btn svg {
        max-height: 16px;
    }

    .footer .footer-main {
        padding-top: 1.5rem;
    }

    .footer .logo img {
        max-height: 85px;
    }

    .footer .footer-menu li a {
        font-size: 14px;
    }

    .footer .footer-menu li {
        margin-bottom: 0.6rem;
    }

    .footer .link {
        display: inline-block;
        font-size: 16px;
    }

    .footer .logo {
        margin-bottom: 0rem;
    }

    .footer .social-info {
        margin-bottom: 3rem;
    }

    .footer .copy {
        font-size: 12px;
        font-family: 'Futura PT Book';
    }

    .social-links svg {
        width: 40px;
        height: 40px;
    }

    .modal {
        font-size: 16px;
    }

    .price-course {
        margin-bottom: 4rem;
    }

    #map {
        border-radius: 16px;
    }

    .maps-slider {
        margin-top: -15px;
    }

    .about-course .about-wrap {
        margin-bottom: 6rem;
    }

    .about-course .about-practice h3 {
        margin-top: 1rem;
    }

    .programm-course {
        padding-bottom: 1rem;
    }

    .profile-info {
        border-radius: 0 0 16px 16px;
    }

    .profile-history table {
        display: block;
    }

    .profile-history table thead {
        display: none;
    }

    .profile-history table tr, .profile-history table td {
        display: block;
        width: 100%;
        text-align: center;
    }

    .profile-history table tr {
        margin-bottom: 1rem;
        border-radius: 8px;
    }

    .profile-history table td.comment {
        max-width: 100%;
        width: 100%;
    }

    .profile-history table tbody tr:not(:last-child) td {
        border-bottom: none;
    }

    .profile-history h2 {
        text-align: center;
    }

    .profile-goals .col-6 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .profile-goals-item .item-descr .title {
        font-size: 2.25rem;
    }

    .profile-goals-item .item-descr .title br {
        display: none;
    }

    .profile-statistics .number, .profile-statistics .infographic .number {
        font-size: 2rem;
    }

    .profile-statistics .statistics-counters .col-4 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 1rem;
    }

    .profile-statistics {
        padding-bottom: 4rem;
        padding-top: 6.5rem;
    }

    .profile-statistics .infographic .line {
        overflow: hidden;
        padding: 1rem 0;
    }

    .profile-goals {
        padding-top: 4rem;
    }

    .profile-history {
        border-radius: 16px 16px 0 0px;
    }

    .profile-statistics .statistics-counters {
        margin-bottom: 2em;
    }

    .header .header-menu .profile-link {
        font-size: 13px;
        font-size: 0;
    }

    .header .header-menu-contacts .profile-link {
        font-size: 13px;
    }

    .profile-link svg {
        margin-right: 5px;
    }

    .about-course {
        padding-top: 3rem;
    }

    .page-course .promo {
        padding-top: 10.5rem;
        margin-bottom: 3.5rem;
    }

    .about-course .about-info p {
        margin-bottom: 0.5rem;
    }

    .about-course h2 {
        margin-bottom: 0.5em;
    }

    .about-course .about-wrap .descr {
        line-height: 1.35;
        padding-right: 16px;
        margin-bottom: 1.5rem;
    }

    .about-course .about-wrap .info .note {
        line-height: 1.35;
        margin-bottom: 2rem;
    }

    .about-course .about-wrap .btn-transparent {
        margin-bottom: 1.5rem;
    }

    .about-course .about-slider .slide img {
        min-height: 120px;
        height: 120px;
        width: 120px;
    }

    .about-course .about-practice img {
        min-height: 145px;
    }

    .about-course .about-practice .about-iteam {
        max-width: 275px;
    }

    .programm-course h2 {
        margin-bottom: 2.5rem;
    }

    .course-item h4 {
        font-size: 40px;
        margin-bottom: 0.5rem;
    }

    .programm-course .course-item {
        margin-bottom: 20px;
    }

    .price-cards .price-item {
        border-radius: 16px;
    }

    .price-course.price-cards .price {
        margin-bottom: 2rem;
        margin-top: 1rem;
    }

    .price-course.price-cards .btn-main {
        font-size: 18px;
    }

    .faq {
        padding-top: 5.5rem;
    }

    .faq h2 {
        padding-left: 15px;
        padding-right: 15px;
        margin-bottom: 3rem;
    }

    .faq .card .card-header .btn-header-link {
        padding-left: 0;
        padding-right: 45px;
        letter-spacing: 0;
    }

    .faq .card .card-body {
        padding: 1rem 0;
        line-height: 1.25;
    }

    .faq .card {
        margin-bottom: 1rem;
    }

    .faq .card .card-header .btn-header-link:after {
        right: 0;
    }

    .mobile-only {
        display: block;
    }

    .reviews {
        padding-left: 0;
    }

    .header .header-menu .social-links li:not(:last-child) {
        margin-right: 5px;
    }

    .price-cards:before {
        border-radius: 32px 32px 0 0;
    }
}

@media (max-width: 360px) {
    h1 {
        font-size: 4rem;
        line-height: 1.1;
    }

    .header .header-menu .nav-link {
        font-size: 14px;
    }

    .header .header-menu {
        padding-left: 15px;
        padding-right: 15px;
    }

    .modal-body {
        padding: 0;
    }
}

.trainer-admin {
    padding-top: 8rem;
    padding-bottom: 1.5rem;
    color: #03001F;
}

.trainer--page {
    background-color: #FFF;
    padding: 2rem;
    border-radius: 24px;
    color: #03001F;
}

.trainer--page .title {
    color: #3E0693;
    font-family: 'Bebas Neue';
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    line-height: 1;
}

.trainer--group {

}

.trainer--group + .trainer--group {
    border-top: 1px solid #ebebeb;
}

.trainer--group-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 18px 0 15px;
    margin-bottom: 0;
    cursor: pointer;
}

.trainer--group-toggler {
    width: 20px;
    height: 20px;
    padding: 4px;
    position: relative;
    margin-left: auto;
}

.trainer--group-toggler:after {
    content: '+';
    position: absolute;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    left: 0;
    top: 0;
}

.trainer--group-header.ui-accordion-header-active .trainer--group-toggler:after {
    content: '-';
}

.trainer--group-childs {
    padding: 5px 0 15px;
    display: none;
}

.trainer--group-child a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #03001F;
    font-family: 'Bebas Neue';
    font-weight: bold;
    padding: 5px 0;
    line-height: 1;
    cursor: pointer;
}

.trainer--group-child:hover a {
    color: #EB465C;
}

.trainer--group-child + .trainer--group-child {
    margin-top: 5px;
}

.trainer--page-training {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: 'Bebas Neue';
    padding: 10px 0;
}

.trainer--page-training + .trainer--page-training {
    border-top: 1px solid #f9f9f9;
}

.trainer--page-training .date {
    color: #afafaf;
    min-width: 100px;
}
.trainer--page-training .name {
    flex: 1 0 auto;
    margin-left: 20px;
    margin-right: 10px;
}

.trainer--page-training .edit {
    flex: 0 0 auto;
    margin-left: auto;
}

.trainer--page-training .edit svg {
    fill: #EB465C;
}

.add-training-button {
    background: #EB465C;
    border-radius: 8px;
    transition: 0.25s ease-in-out;
    color: #fff !important;
    text-align: center;
    font-size: 14px;
    padding: 16px 32px;
    text-transform: uppercase;
    z-index: 100;
    cursor: pointer;
}

.add-training-button:hover {
    background: #BC3849;
    transition: 0.25s ease-in-out;
    color: #fff !important;
}

.add-training-button:focus {
    color: #fff !important;
}

.training-form {
    color: #03001F;
    min-width: 450px;
}

.training-form .section--title {
    color: #3E0693;
    font-family: 'Bebas Neue';
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
}

.training-form .form-group textarea {
    font-weight: 400;
    line-height: 1.2;
    font-family: inherit;
}

.training-form .form-group select {
    padding: 18px 5px 8px;
    width: 100%;
    text-align: center;
}

.training-form .form-group .col-auto {
    -ms-flex: 0 0 auto;
    flex: 1 0 auto;
}

.training-form .buttons .button {
    width: 100%;
}

.video-modal img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    overflow: hidden;
    border-radius: 16px;
}
/*# sourceMappingURL=style.css.map */