.page-main {
    overflow: unset;
}
.mainpage section.head {
    position: relative;
    z-index: 1;
    margin-top: -1.129vw;
}
.mainpage section.head div.main-animation {
    width: 72.188vw;
    height: 33.958vw;
    background-size: contain;
    margin: 0 auto 0 auto;
    position: relative;
}
.mainpage section.head div.main-animation div#main-animation-bg,
.mainpage section.head div.main-animation div#main-animation-woman {
    position: absolute;
    z-index: 1;
}
.mainpage section.head .title {
    margin: 0;
    font-family: "title", serif;
    font-size: 3.725vw;
    line-height: 4.118vw;
    font-weight: bold;
    text-align: center;
    margin-top: 0.843vw;
    color: #143A88;
}
.mainpage section.head div.description {
    font-family: "main_sans", sans-serif;
    font-size: 1.078vw;
    line-height: 1.373vw;
    text-align: center;
    width: 60.255vw;
    margin: 0.98vw auto 0 auto;
}
.mainpage section.last-materials {
    margin-top: 3.843vw;
}
.mainpage section.last-materials div.title {
    font-family: "main_sans", sans-serif;
    font-weight: bold;
    font-size: 3.039vw;
    line-height: 3.824vw;
    text-align: center;
    margin-bottom: 0.98vw;
}
.mainpage section.last-materials div.row {
    display: flex;
    justify-content: space-around;
    height: 17.647vw;
    align-items: center;
    position: relative;
    z-index: 2;
    width: 79.412vw;
    margin: 0 auto;
}
.mainpage section.last-materials div.scroll-animation {
    background: center center url(../img/mainpage-materials-line.png) no-repeat;
    background-size: contain;
    position: relative;
    z-index: 1;
}
.mainpage section.last-materials div.scroll-animation>div.animation {
    display: block;
    background: #fff;
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    width: auto;
}
.mainpage section.last-materials div.col {
    width: 33%;
    flex: 1 1 auto;
    font-family: "main_sans", sans-serif;
    font-size: 1.078vw;
    line-height: 1.373vw;
    text-align: center;
    box-sizing: border-box;
    padding: 0 5vw;
}
.mainpage section.last-materials div.col>a {
    color: #000;
    text-decoration: none;
}
.mainpage section.last-materials div.col>a:hover {
    color: #0089f2;
    text-decoration: none;
}
.mainpage section.common {
    margin: 0 0.98vw 0 0.98vw;
    z-index: 1;
    position: relative;
}
.mainpage section.common a {
    color: #000;
    text-decoration: none;
}
.mainpage section.common a:hover {
    color: rgba(0, 137, 242);
    text-decoration: none;
}
.mainpage section.common .title {
    font-size: 4.118vw;
    line-height: 1.2;
    font-family: "title", serif;
    font-weight: bold;
    margin: 0;
}
.mainpage section.common div.row {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}
.mainpage section.common div.col {
    flex: 0 0 auto;
    width: 18.627vw;
    font-family: "main_sans", sans-serif;
    font-size: 1.078vw;
    padding-top: 2.941vw;
}
.mainpage section.history div.col:first-child {
    padding-top: 1.341vw;
}
.mainpage section.common div.col>a {
    display: block;
    margin-bottom: 2.451vw;
}

.mainpage section.common div.col a.category-link {
    color: #0089F2;
}
.mainpage section.common div.col a.category-link svg {
    vertical-align: -0.15vw;
    margin-left: 0.2vw;
    transition: .3s;
    width: 1.3vw;
    height: 0.9vw;
}
.mainpage section.common div.col a.category-link:hover svg {
    margin-left: 0.5vw;
}

.mainpage section.physiology {
    margin: 7.765vw 9.804vw 0 17.647vw;
    height: 49.876vw;
}
.mainpage section.physiology div.col.center-col {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 25vw;
    z-index: 1;
    position: relative;
}
.mainpage section.physiology div.col.center-col::before {
    content: "";
    display: block;
    position: absolute;
    width: 7.549vw;
    height: 7.549vw;
    z-index: 0;
    background: center center url(../img/ball-rose.png) no-repeat;
    background-size: contain;
    top: 1.961vw;
    left: -1.373vw;
    animation: tictac 5s linear infinite both;
}
.mainpage section.physiology div.col.center-col a.subtitle {
    font-family: "title", sans-serif;
    font-size: 2.745vw;
    font-weight: bold;
    margin-bottom: 1.961vw;
    margin-top: -1.961vw;
    position: relative;
    z-index: 2;
}
.mainpage section.physiology div.col.center-col a.subtitle::before,
.mainpage section.physiology div.col.center-col a.subtitle::after {
    content: "";
    background: center center url(../img/wave-black.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 3.922vw;
    height: 2.451vw;
    position: relative;
}
.mainpage section.physiology div.col.center-col a.subtitle::before {
    left: -0.98vw;
}
.mainpage section.physiology div.col.center-col a.subtitle::after {
    left: 1.176vw;
}
.mainpage section.physiology div.col.center-col a.description {
    font-family: "quotes", sans-serif;
    font-size: 1.078vw;
    margin-bottom: 0.49vw;
}
.mainpage section.physiology div.col.center-col span.source {
    font-family: "main_sans", sans-serif;
    font-size: 0.784vw;
    color: #6d6d6d;
}
.mainpage section.physiology div.col.center-col span.source>a {
    color: #0089f2;
}
.mainpage section.psychology {
    margin: 0 5.882vw 0 29.412vw;
    height: 40.098vw;
    position: relative;
}
.mainpage section.psychology div.col:nth-child(3) {
    padding-top: 10vw;
}
.mainpage section.psychology::after {
    content: "";
    display: block;
    position: absolute;
    background: right top url(../img/mainpage-psy.png) no-repeat;
    background-size: contain;
    right: -5.392vw;
    top: -10.5vw;
    width: 34vw;
    height: 29vw;
    pointer-events: none;
}
.mainpage section.culture {
    margin: 0 9.804vw 0 17.647vw;
    height: 45.776vw;
}
.mainpage section.culture div.col.center-col {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 24.51vw;
    position: relative;
    z-index: 2;
}
.mainpage section.culture div.col.center-col::before {
    content: "";
    display: block;
    position: absolute;
    width: 11.176vw;
    height: 9.608vw;
    z-index: 0;
    background: center center url(../img/ball-orange.png) no-repeat;
    background-size: contain;
    top: 2.843vw;
    right: 0.49vw;
    animation: tictac 5s linear infinite;
}
.mainpage section.culture div.col.center-col a.subtitle {
    font-family: "title", sans-serif;
    font-size: 9.804vw;
    line-height: 7.843vw;
    font-weight: bold;
    margin-bottom: 1.961vw;
    margin-top: -3.431vw;
    z-index: 2;
    position: relative;
}
.mainpage section.culture div.col.center-col a.subtitle::before,
.mainpage section.culture div.col.center-col a.subtitle::after {
    content: "";
    background: center center url(../img/wave-black.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 3.922vw;
    height: 2.451vw;
    position: absolute;
    top: 2.941vw;
}
.mainpage section.culture div.col.center-col a.subtitle::before {
    left: -0.98vw;
}
.mainpage section.culture div.col.center-col a.subtitle::after {
    right: -1.176vw;
}
.mainpage section.culture div.col.center-col a.description {
    font-family: "quotes", sans-serif;
    font-size: 1.078vw;
    margin-bottom: 0.49vw;
}
.mainpage section.culture div.col.center-col span.source {
    font-family: "main_sans", sans-serif;
    font-size: 0.784vw;
    color: #6d6d6d;
}
.mainpage section.culture div.col.center-col span.source>a {
    color: #0089f2;
}
.mainpage section.technologies {
    margin: 0 5.882vw 0 29.412vw;
    margin: 2vw 11.882vw 0 21.412vw;
    height: 46.098vw;
}
.mainpage section.technologies::after {
    content: "";
    display: block;
    position: absolute;
    background: right top url(../img/mainpage-tech.png) no-repeat;
    background-size: contain;
    right: 11vw;
    top: -11.373vw;
    width: 21vw;
    height: 33vw;
    pointer-events: none;
}
.mainpage section.technologies div.col.center-col {
    position: relative;
}
.mainpage section.technologies div.col.center-col b.ball {
    position: absolute;
    width: 2.451vw;
    height: 3.039vw;
    background: center center url(../img/ball-cyan.png) no-repeat;
    background-size: contain;
    top: -6.176vw;
    right: -18vw;
    animation: v-tictac 5s linear infinite;
}
/*
.mainpage section.technologies div.col.center-col::before,
.mainpage section.technologies div.col.center-col::after {
    content: "";
    background: center center url(../img/wave-black.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 3.922vw;
    height: 2.451vw;
    position: absolute;
    top: 7.549vw;
}
.mainpage section.technologies div.col.center-col::before {
    left: -19.608vw;
}
.mainpage section.technologies div.col.center-col::after {
    right: 2.451vw;
}
*/
.mainpage section.technologies div.col:nth-child(2) {
    padding-top: 10.2vw;
}
.mainpage section.technologies div.col:nth-child(3) {
    padding-top: 10.2vw;
}
.mainpage section.history {
    /* margin: 0 9.804vw 0 17.647vw; */
    margin: 0 2.804vw 0 24.647vw;
    height: 43.059vw;
}
.mainpage section.history div.col.center-col {
    font-size: 1.863vw;
    line-height: 2.549vw;
    font-family: "quotes", serif;
    text-align: center;
    width: 39.216vw;
    margin-right: 7.843vw;
    margin-top: -0.49vw;
    position: relative;
}
.mainpage section.history div.col.center-col::before,
.mainpage section.history div.col.center-col::after {
    content: "";
    background: center center url(../img/wave-black.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 3.922vw;
    height: 2.451vw;
    position: absolute;
    left: 50%;
    margin-left: -1.961vw;
    z-index: 3;
}
.mainpage section.history div.col.center-col::before {
    top: 0;
}
.mainpage section.history div.col.center-col::after {
    bottom: -0.039vw;
}
.mainpage section.history div.col.center-col b.ball {
    position: absolute;
    display: block;
    width: 3.137vw;
    height: 3.039vw;
    background: center center url(../img/ball-green.png) no-repeat;
    background-size: contain;
    left: 50%;
    margin-left: -1.471vw;
    top: 0.392vw;
    z-index: 2;
    animation: tictac 5s linear infinite;
}
.mainpage section.society {
    /* margin: 0 5.882vw 0 29.412vw; */
    margin: 0 18.882vw 0 16.412vw;
    height: 49.098vw;
    position: relative;
}
.mainpage section.society>b.ball {
    position: absolute;
    display: block;
    z-index: 1;
    width: 8.137vw;
    height: 8.431vw;
    background: center center url(../img/ball-yellow-orange.png) no-repeat;
    background-size: contain;
    transform: rotate(-90deg);
    top: -2.451vw;
    right: -0.98vw;
}
.mainpage section.society>b.ball::after {
    content: "";
    background: center center url(../img/wave-black.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 3.922vw;
    height: 2.451vw;
    position: absolute;
    left: 1.961vw;
    top: 1.765vw;
    z-index: 3;
    transform: rotate(90deg);
}
.mainpage div.scroll-animation-2 {
    position: relative;
    /* overflow: hidden; */
}
.mainpage div.scroll-animation-2::before {
    content: "";
    display: block;
    position: absolute;
    top: 14.706vw;
    left: -10.294vw;
    z-index: 0;
    background: center center url(../img/mainpage-scroll-line.png) no-repeat;
    background-size: cover;
    width: 153.627vw;
    height: 278.333vw;
}
.mainpage div.scroll-animation-2>svg {
    display: block;
    position: absolute;
    top: 14.706vw;
    left: -10.294vw;
    z-index: 0;
    width: 153.627vw;
    height: 278.333vw;
}
.mainpage div.scroll-animation-2>b {
    display: block;
    visibility: hidden;
    position: absolute;
    width: 3.333vw;
    height: 2.843vw;
    top: 0;
    left: 0;
    background: center center url(../img/ball-blue.png) no-repeat;
    background-size: cover;
}

.mainpage > section.marathon-banner {
    display: block;
    width: 100vw;
    height: 29.3vw;
    background: center url(../img/marathon/back.jpg) no-repeat;
    background-size: cover;
    position: relative;
    margin: 4.5vw 0 -3vw 0;
}
.mainpage > section.marathon-banner > .frame {
    display: block;
    width: 100%;
    height: 100%;
    background: center url(../img/marathon/waves.svg) no-repeat;
    background-size: cover;    
}
.mainpage > section.marathon-banner > .frame > .wrapper {
    padding: 8.2vw 9.8vw 0 17.6vw;
    color:  #fff;
}
.mainpage > section.marathon-banner > .frame > .wrapper > .buttons {
    margin-bottom: 1.75vw;
}
.mainpage > section.marathon-banner > .frame > .wrapper > .buttons > a {
    display: inline-block;
    background: center no-repeat;
    background-size: contain;
    position: relative;
    padding: 0 1.3vw 0 1.3vw;
}
.mainpage > section.marathon-banner > .frame > .wrapper > .buttons > a + a:after {
    display: block;
    content: "";
    background: #fff;
    width: 1px;
    height: 1.5vw;
    position: absolute;
    left: 0;
    top: -0.3vw;
}
.mainpage > section.marathon-banner > .frame > .wrapper > .buttons > a.fb {
    width:  0.7vw;
    height: 1.4vw;
    background-image: url(../img/marathon/fb.svg);
}
.mainpage > section.marathon-banner > .frame > .wrapper > .buttons > a.vk {
    width:  1.3vw;
    height: 0.8vw;
    vertical-align: 0.3vw;
    background-image: url(../img/marathon/vk.svg);
}
.mainpage > section.marathon-banner > .frame > .wrapper > .buttons > a.tw {
    width:  1.1vw;
    height: 0.9vw;
    vertical-align: 0.25vw;
    background-image: url(../img/marathon/tw.svg);
}
.mainpage > section.marathon-banner > .frame > .wrapper > .title {
    height: 5.8vw;
    background: left url(../img/marathon/title.svg) no-repeat;
    background-size: contain;
    display: block;
    margin-bottom: 2vw;
}
.mainpage > section.marathon-banner > .frame > .wrapper > a.more {
    display: block;
    height: 2.8vw;
    width: 11.9vw;
    background: left url(../img/marathon/more.svg) no-repeat;
    background-size: cover;
    cursor: pointer;
}
