@font-face {
    font-family: Gilroy-Regular;
    src: url(fonts/Gilroy-Regular.otf);
}
@font-face {
    font-family: Gilroy-Bold;
    src: url(fonts/Gilroy-Bold.otf);
}
@font-face {
    font-family: HKGrotesk-Bold;
    src: url(fonts/HKGrotesk-Bold.ttf);
}
@font-face {
    font-family: HKGrotesk-Medium;
    src: url(fonts/HKGrotesk-Medium.ttf);
}
html, body {
    position: relative;
    height: 100%;
}
body {
    background-color: #e9e7e9;
    background: url("../img/back.jpg") no-repeat center #e9e7e9;
    background-size: 100%;
    font-family: Gilroy-Regular, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.3;
    color: #000;
    margin: 0;
    padding: 0;
}
*:focus {
    outline: none;
}
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
#head, #footer {
    position: fixed;
    width: 100%;
    font-family: HKGrotesk-Medium, sans-serif;
    padding-top: 17px;
    z-index: 2;
}
#head a, #footer a {
    text-decoration: none;
    color: #1428f0;
}
#head .container, #footer .container {
    display: flex;
    align-items: center;
}
#head .container>div, #footer .container>div {
    flex: 1;
}
#footer .container>div:nth-of-type(2) {
    text-align: center;
}
#footer .container>div:last-of-type {
    text-align: right;
}
#head .logo {
    text-align: center;
}
#head .logo img {
    cursor: pointer;
}
#menu-toggle {
    position: relative;
    z-index: 1;
    cursor: pointer;
    display: inline-block;
}
#menu-toggle > div {
    width: 25px;
    height: 3px;
    background-color: #1428f0;
    margin: 3px 0;
}
#menu {
    position: absolute;
    height: 100vh;
    top: 0;
    left: 0;
    background: rgba(255,255,255,0.95);
    display: flex;
    align-items: center;
    transform: translateX(-100%);
    transition: transform 0.5s;
}
#menu.opened {
    transform: translateX(0);
}
#menu ul {
    list-style-type: none;
    padding: 15px 50px 15px 40px;
}
#menu ul li {
    margin: 30px 0;
}
#menu a {
    font-family: HKGrotesk-Medium, sans-serif;
    font-size: 18px;
    text-decoration: none;
    color: #1428f0;
}
#head .phone {
    text-align: right;
}
#footer {
    bottom: 0;
    padding: 0 0 60px 0;
}
#about {
    position: absolute;
    display: none;
    width: 100vw;
    height: 100vh;
    background: rgba(20,40,240,1);
    z-index: 999;
    color: #fff;
}
.about-block {
    height: 100%;
    display: flex;
    align-items: center;
}

#about h2 {
    opacity: 0.1;
    color: #fff;
    margin: 20px 0;
}
#about .big-text {
    font-family: Gilroy-Bold, sans-serif;
    font-size: 36px;
    line-height: 1.1;
}
#about .small-text {
    max-width: 530px;
    margin-left: auto;
}
#about-close {
    position: absolute;
    right: 15px;
    top: 15px;
    cursor: pointer;
    font-size: 18px;
}
#logowhite {
    position: absolute;
    top: 17px;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
}
#maincontent {
    height: 100%;
}
.swiper-container {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
h2 {
    font-family: HKGrotesk-Bold, sans-serif;
    font-size: 48px;
    line-height: 1;
    color: #1428f0;
    margin: 0 0 30px 0;
}

.description .name {
    font-family: Gilroy-Bold, sans-serif;
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 15px;
}
.description .text {
    max-width: 400px;
}
.descr-close {
    position: absolute;
    right: 15px;
    top: 15px;
    color: #1428f0;
    cursor: pointer;
    font-size: 18px;
}
.mobiletext .text {
    font-family: Gilroy-Bold, sans-serif;
    font-size: 16px;
    padding-left: 40px;
    max-width: 200px;
    background: url("../img/marker_shape_sm.png") no-repeat left 4px;
    margin-bottom: 24px;
}
.mobiletext .more {
    font-size: 12px;
    color: #1428f0;
    margin-left: 40px;
    text-decoration: underline;
}
.swiper-container-vertical>.swiper-pagination-bullets {
    background: url("../img/bull_back.png") no-repeat center;
}
span.swiper-pagination-bullet {
    position: relative;
    width: 6px;
    height: 6px;
    background: transparent;
    border: 1px solid #fff;
    opacity: 1;
}
.swiper-container-vertical .swiper-pagination-bullet {
    position: relative;
    width: 9px;
    height: 9px;
    background: transparent;
    border: 2px solid #fff;
    opacity: 1;
}
.swiper-container-vertical>.swiper-pagination-bullets span.swiper-pagination-bullet {
    margin: 40px auto;
}
.swiper-container-vertical>.swiper-pagination-bullets span.swiper-pagination-bullet:first-of-type {
    margin-top: 110px;
}
.swiper-container-vertical>.swiper-pagination-bullets span.swiper-pagination-bullet-active:first-of-type {
    margin-top: 109px;
}
.swiper-container-vertical>.swiper-pagination-bullets span.swiper-pagination-bullet:last-of-type {
    margin-bottom: 110px;
}
.swiper-container-vertical>.swiper-pagination-bullets span.swiper-pagination-bullet-active:last-of-type {
    margin-bottom: 109px;
}
span.swiper-pagination-bullet-active {
    width: 8px;
    height: 8px;
    border: 1px solid #1428f0;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
    margin: -1px 4px;
}
.swiper-container-vertical>.swiper-pagination-bullets span.swiper-pagination-bullet-active {
    width: 11px;
    height: 11px;
    border: 2px solid #1428f0;
    margin: -1px 0;
}
.bulletname {
    position: absolute;
    right: 20px;
    top: 50%;
    /*transform: translateY(-50%);*/
    text-transform: uppercase;
    color: #ffffff;
    font-family: HKGrotesk-Bold, sans-serif;
    font-size: 14px;
    display: none;
    opacity: 0;
    transition: opacity 1s, transform 1s;
    transition-delay: 0s;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);

}
.swiper-container-vertical .swiper-pagination-bullet-active .bulletname, .swiper-container-vertical .swiper-pagination-bullet:hover .bulletname {
    display: block;
    right: 21px;
    opacity: 1;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    animation: bullet 0.3s;
}
@keyframes bullet {
    from {opacity: 0;transform: translateY(10px);}
    to {opacity: 1;transform: translateY(-50%);}
}
.animation {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.swiper-slide-active.up .animation img {
    -webkit-animation: jumpup 1667ms ease 0s ;
    animation: jumpup 1667ms ease 0s ;
}
.swiper-slide-active.down .animation img {
    -webkit-animation: jumpdown 1667ms ease 0s ;
    animation: jumpdown 1667ms ease 0s ;
}
@-webkit-keyframes jumpup {
    0%{
        transform: translateY(0);
    }
    30%{
        transform: translateY(-0);
    }
    60%{
        transform: translateY(50px);
    }
    80%{
        transform: translateY(0);
    }
    100%{
        transform: translateY(0);
    }
}

@keyframes jumpup {
    0%{
        transform: translateY(0);
    }
    30%{
        transform: translateY(-0);
    }
    60%{
        transform: translateY(50px);
    }
    80%{
        transform: translateY(0);
    }
    100%{
        transform: translateY(0);
    }
}
@-webkit-keyframes jumpdown {
    0%{
        transform: translateY(0);
    }
    30%{
        transform: translateY(-0);
    }
    60%{
        transform: translateY(-50px);
    }
    80%{
        transform: translateY(0);
    }
    100%{
        transform: translateY(0);
    }
}

@keyframes jumpdown {
    0%{
        transform: translateY(0);
    }
    30%{
        transform: translateY(-0);
    }
    60%{
        transform: translateY(-50px);
    }
    80%{
        transform: translateY(0);
    }
    100%{
        transform: translateY(0);
    }
}
.mobheroes {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}
.swiper-slide[data-swiper-slide-index="0"] .mobheroes {
    left: 20px;
    top: calc(50% + 120px);
}
.swiper-slide[data-swiper-slide-index="1"] .mobheroes {
    top: calc(50% + 290px);
}
.swiper-slide[data-swiper-slide-index="2"] .mobheroes {
    left: 100px;
    top: calc(50% + 100px);
}
.swiper-slide[data-swiper-slide-index="3"] .mobheroes {
    top: calc(50% + 250px);
}
.swiper-slide[data-swiper-slide-index="4"] .mobheroes {
    top: calc(50% + 150px);
}
.swiper-slide[data-swiper-slide-index="5"] .mobheroes {
    left: 50px;
    top: calc(50% + 160px);
}

.cool-link {
    display: inline-block;
    color: #1428f0;
    text-decoration: none;
}

.cool-link::after {
    content: '';
    display: block;
    width: 0;
    height: 2px;
    background: #1428f0;
    transition: width .3s;
}

.cool-link:hover::after {
    width: 100%;
    //transition: width .3s;
}

video#video, video#videoback {
    position: fixed;
    top: 50%;
    right: 0;
    width: 100%;
    transform: translateY(-50%);
    opacity: 0;
}
video#video {
    /*top: 0;*/
}

video.active {
    opacity: 1 !important;
}
canvas#canvas {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid black;
}
#loader {
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    background-color: #e9e7e9;
    z-index: 99999;
    background-size: 100%;
}
#loader div {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #1428f0;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Add animation to "page content" */
.animate-opacity {
    -webkit-animation-name: animateopacity;
    -webkit-animation-duration: 1s;
    animation-name: animateopacity;
    animation-duration: 1s
}

@-webkit-keyframes animateopacity {
    from { opacity:0 }
    to { opacity:1 }
}

@keyframes animateopacity {
    from{ opacity:0 }
    to{ opacity:1 }
}
@media (max-width: 575px) {
    .container {
        box-sizing: border-box;
    }
}
@media (max-width: 500px) {
    .mobiletext .text {
        max-width: 130px;
    }
    .swiper-slide[data-swiper-slide-index="0"] .mobheroes {
        left: -65px;
        top: calc(50% + 180px);
    }
    .swiper-slide[data-swiper-slide-index="1"] .mobheroes {
        left: -120px;
        top: calc(50% + 360px);
    }
    .swiper-slide[data-swiper-slide-index="2"] .mobheroes {
        left: 20px;
        top: calc(50% + 45px);
    }
    .swiper-slide[data-swiper-slide-index="3"] .mobheroes {
        left: -120px;
        top: calc(50% + 305px);
    }
    .swiper-slide[data-swiper-slide-index="4"] .mobheroes {
        left: -110px;
        top: calc(50% + 100px);
    }
    .swiper-slide[data-swiper-slide-index="5"] .mobheroes {
        left: 0;
        top: calc(50% + 120px);
    }
}
@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}
@media (max-width: 767px) {
    .mobilehidden {
        display: none;
    }
    #head .container {
        align-items: flex-start;
    }
    #head .logo img,  #logowhite img {
        height: 25px;
    }
    #about .container {
        padding-left: 40px;
    }
    #about .big-text {
        margin-bottom: 28px;
    }
    .bulletname {
        display: none;
    }
    .description {
        display: none;
        position: absolute;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        padding: 40px;
        background: rgba(255,255,255,0.95);
        box-sizing: border-box;
    }
    .description > div {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .mobiletext, h2 {
        padding-left: 25px;
    }
    span.rishennya {
        margin-left: 55px;
    }
    span.rishennya.rishen {
        margin-left: 0;
    }
    .swiper-slide .container > .contentblock {
        position: absolute;
    }
    .swiper-slide[data-swiper-slide-index="0"] .container > .contentblock {
        top: 20%;
    }
    .swiper-slide[data-swiper-slide-index="1"] .container > .contentblock  {
        top: 20%;
    }
    .swiper-slide[data-swiper-slide-index="2"] .container > .contentblock  {
        top: 30%;
    }
    .swiper-slide[data-swiper-slide-index="3"] .container > .contentblock  {
        top: 20%;
    }
    .swiper-slide[data-swiper-slide-index="4"] .container > .contentblock  {
        top: 35%;
    }
    .swiper-slide[data-swiper-slide-index="5"] .container > .contentblock  {
        top: 50%;
    }
}
@media (min-width: 768px) {
    body {
        font-size: 18px;
    }
    .container {
        max-width: 720px;
    }
    .desktophidden {
        display: none !important;
    }
    #head, #footer {
        padding: 40px 0;
    }
    #logowhite {
        top: 40px;
    }
    #about .container {
        max-width: 1000px;
        position: relative;
    }
    #about-close {
        top: 0;
    }
    h2 {
        font-size: 80px;
        line-height: 1;
        margin: 0 0 40px 0;
    }
    h2.smaller {
        font-size: 55px;
    }
    .mobiletext {
        display: none;
    }
    .description .name {
        background: url(../img/marker_shape.png) no-repeat left center;
        font-family: Gilroy-Bold, sans-serif;
        font-size: 25px;
        line-height: 1.2;
        padding-left: 60px;
        margin-bottom: 30px;
    }
    #about .big-text {
        max-width: 550px;
        font-family: Gilroy-Bold, sans-serif;
        font-size: 48px;
        margin-left: 95px;
    }
    .swiper-slide .container {
        position: relative;
    }
    .animation {
        transform: translateY(-50%) scale(0.6);
        transform-origin: right;
    }
    .swiper-slide[data-swiper-slide-index="0"] .animation {
        right: -120px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="1"] .animation {
        right: 10px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="2"] .animation {
        right: -60px;
        top: calc(50% + 40px);
        z-index: -1;
    }
    .swiper-slide[data-swiper-slide-index="3"] .animation {
        right: 40px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="4"] .animation {
        right: -30px;
        top: calc(50% + 80px);
    }
    .swiper-slide[data-swiper-slide-index="5"] .animation {
        right: -100px;
        top: calc(50% + 70px);
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .swiper-slide[data-swiper-slide-index="0"] .description .text,
    .swiper-slide[data-swiper-slide-index="3"] .description .text {
        max-width: 300px;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
    h2 {
        font-size: 110px;
        margin: 0 0 30px 0;
    }
    h2.smaller {
        font-size: 75px;
    }
    .description {
        padding-left: 50px;
    }
    .description .name {
        font-size: 28px;
        padding-left: 65px;
        margin-bottom: 30px;
    }
    span.ment {
        display: inline-block;
        margin-left: 120px;
    }
    span.rishennya {
        display: inline-block;
        margin-left: 125px;
    }
    .animation {
        transform: translateY(-50%) scale(0.7);
        transform-origin: right;
    }
    .swiper-slide[data-swiper-slide-index="0"] .animation {
        right: -140px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="1"] .animation {
        right: 50px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="2"] .animation {
        right: -50px;
        top: calc(50% + 40px);
        z-index: -1;
    }
    .swiper-slide[data-swiper-slide-index="3"] .animation {
        right: 60px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="4"] .animation {
        right: 0;
        top: calc(50% + 80px);
    }
    .swiper-slide[data-swiper-slide-index="5"] .animation {
        right: -60px;
        top: calc(50% + 70px);
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
    h2 {
        font-size: 120px;
        margin: 0 0 30px 0;
    }
    h2.smaller {
        font-size: 95px;
    }
    .description {
        padding-left: 100px;
    }
    .description .name {
        font-size: 30px;
        padding-left: 95px;
        margin-bottom: 30px;
    }
    span.ment {
        margin-left: 180px;
    }
    span.rishennya {
        margin-left: 195px;
    }
    .animation {
        transform: translateY(-50%) scale(0.7);
        transform-origin: right;
    }
    .swiper-slide[data-swiper-slide-index="0"] .animation {
        right: -80px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="1"] .animation {
        right: 50px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="2"] .animation {
        right: 0;
        top: calc(50% + 40px);
        z-index: -1;
    }
    .swiper-slide[data-swiper-slide-index="3"] .animation {
        right: 120px;
        top: calc(50% + 30px);
    }
    .swiper-slide[data-swiper-slide-index="4"] .animation {
        right: 50px;
        top: calc(50% + 80px);
    }
    .swiper-slide[data-swiper-slide-index="5"] .animation {
        right: 0;
        top: calc(50% + 70px);
    }
}
@media (min-width: 1650px) {
    .container {
        max-width: 1366px;
    }
    #head, #footer {
        padding: 60px 0;
    }
    #logowhite {
        top: 60px;
    }
    h2 {
        font-size: 172px;
        margin: 0 0 75px 0;
    }
    h2.smaller {
        font-size: 115px;
    }
    .description .name {
        margin-bottom: 50px;
    }
    .animation {
        transform: translateY(-50%);
    }
    .swiper-slide[data-swiper-slide-index="0"] .animation {
        right: -140px;
        top: calc(50% + 100px);
    }
    .swiper-slide:nth-of-type[data-swiper-slide-index="1"] .animation {
        right: -40px;
        top: calc(50% + 50px);
    }
    .swiper-slide[data-swiper-slide-index="2"] .animation {
        right: 0;
        top: calc(50% + 50px);
        z-index: -1;
    }
    .swiper-slide[data-swiper-slide-index="3"] .animation {
        right: 80px;
    }
    .swiper-slide[data-swiper-slide-index="4"] .animation {
        right: -53px;
        top: calc(50% + 100px);
    }
    .swiper-slide[data-swiper-slide-index="5"] .animation {
        right: -100px;
        top: calc(50% + 80px);
    }
    .abouth2en {
        font-size: 160px;
    }
}