@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-Bold.woff") format("woff"), url("../fonts/Akkurat-Bold.woff2") format("woff2");

    font-weight: 900;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-BoldItalic.woff") format("woff"), url("../fonts/Akkurat-BoldItalic.woff2") format("woff2");

    font-weight: 900;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-Fett.woff") format("woff"), url("../fonts/Akkurat-Fett.woff2") format("woff2");

    font-weight: 600;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-FettKursiv.woff") format("woff"), url("../fonts/Akkurat-FettKursiv.woff2") format("woff2");

    font-weight: 600;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-Leicht.woff") format("woff"), url("../fonts/Akkurat-Leicht.woff2") format("woff2");

    font-weight: 500;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-LeichtKursiv.woff") format("woff"), url("../fonts/Akkurat-LeichtKursiv.woff2") format("woff2");

    font-weight: 500;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-Light.woff") format("woff"), url("../fonts/Akkurat-Light.woff2") format("woff2");

    font-weight: 300;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-LightItalic.woff") format("woff"), url("../fonts/Akkurat-LightItalic.woff2") format("woff2");

    font-weight: 300;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-Reg.woff") format("woff"), url("../fonts/Akkurat-Reg.woff2") format("woff2");

    font-weight: 400;

    font-style: normal;

}



@font-face {

    font-family: "Akkurat";

    font-display: swap;

    src: url("../fonts/Akkurat-RegItalic.woff") format("woff"), url("../fonts/Akkurat-RegItalic.woff2") format("woff2");

    font-weight: 400;

    font-style: normal;

}



/* vimeo */



@font-face {

    font-family: vimeo;

    src: url(font/vimeo.eot)

}



@font-face {

    font-family: vimeo;

    src: url(font/vimeo.woff2) format('woff2'), url(font/vimeo.woff) format('woff');

    font-weight: 400;

    font-style: normal

}



.vimeo_player:focus {

    outline: 0

}



.vimeo_player_wrapper {

    display: block;

    transform: translateZ(0) translate3d(0, 0, 0);

    transform-style: preserve-3d;

    perspective: 1000;

    -webkit-backface-visibility: hidden;

    backface-visibility: hidden;

    box-sizing: border-box

}



.vimeo_player .loading {

    position: absolute;

    top: 10px;

    right: 10px;

    font-size: 12px;

    color: #fff;

    background: rgba(0, 0, 0, .51);

    text-align: center;

    padding: 2px 4px;

    border-radius: 5px;

    font-family: "Droid Sans", sans-serif;

    -webkit-animation: fade .1s infinite alternate;

    animation: fade .1s infinite alternate

}



@-webkit-keyframes fade {

    0% {

        opacity: .5

    }



    100% {

        opacity: 1

    }

}



@keyframes fade {

    0% {

        opacity: .5

    }



    100% {

        opacity: 1

    }

}



.vimeo_player_Fullscreen {

    display: block !important;

    position: fixed !important;

    width: 100% !important;

    height: 100% !important;

    top: 0 !important;

    left: 0 !important;

    margin: 0 !important;

    border: none !important;

    opacity: 1 !important;

    background-color: #000

}



.vimeo_player_wrapper iframe {

    max-width: 4000px !important;

    border: 0 !important

}



.inline_vimeo_player {

    margin-bottom: 20px;

    vertical-align: top;

    position: relative;

    left: 0;

    overflow: hidden;

    border-radius: 4px;

    box-shadow: 0 0 5px rgba(0, 0, 0, .7);

    background: rgba(0, 0, 0, .5)

}



.inline_vimeo_player img {

    border: none !important;

    margin: 0 !important;

    padding: 0 !important;

    transform: none !important

}



.vimeo_player_bar .vimeo_icon {

    font-size: 20px;

    font-family: vimeo;

    cursor: pointer

}



.vimeo_player_bar .vimeo_url.vimeo_icon {

    position: absolute;

    width: auto;

    display: block;

    top: 6px;

    right: 10px;

    cursor: pointer;

    font-size: 40px

}



.vimeo_player_bar,

.vimeo_player_bar .buttonBar {

    left: 0;

    padding: 5px;

    width: 100%;

    box-sizing: border-box

}



.vimeo_player_bar {

    transition: opacity .5s;

    display: block;

    height: 10px;

    background: #333;

    position: fixed;

    bottom: 0;

    text-align: left;

    z-index: 1000;

    font: 14px/16px sans-serif;

    color: #fff;

    opacity: .1

}



.vimeo_player_bar.visible,

.vimeo_player_bar:hover {

    opacity: 1

}



.vimeo_player_bar .buttonBar {

    transition: all .5s;

    background: 0 0;

    font: 12px/14px Calibri;

    position: absolute;

    top: -30px;

    height: 40px

}



.vimeo_player_bar:hover .buttonBar {

    background: rgba(0, 0, 0, .4)

}



.vimeo_player_bar span {

    display: inline-block;

    font: 16px/20px Calibri, sans-serif;

    position: relative;

    width: 30px;

    height: 25px;

    vertical-align: middle

}



.vimeo_player_bar span.vimeo_player_time {

    width: 130px

}



.vimeo_player_bar span.mb_OnlyYT,

.vimeo_player_bar span.mb_YTPUrl {

    position: absolute;

    width: auto;

    display: block;

    top: 6px;

    right: 10px;

    cursor: pointer

}



.vimeo_player_bar span.mb_YTPUrl img {

    width: 60px

}



.vimeo_player_bar span.mb_OnlyYT {

    left: 300px;

    right: auto

}



.vimeo_player_bar span.mb_OnlyYT img {

    width: 25px

}



.vimeo_player_bar span.mb_YTPUrl a {

    color: #fff

}



.vimeo_player_bar .vimeo_player_muteUnmute,

.vimeo_player_bar .vimeo_player_pause,

.vimeo_player_bar .vimeo_player_pause img {

    cursor: pointer

}



.vimeo_player_bar .vimeo_player_pogress {

    height: 10px;

    width: 100%;

    background: #222;

    bottom: 0;

    left: 0

}



.vimeo_player_bar .vimeo_player_loaded {

    height: 10px;

    width: 0;

    background: #444;

    left: 0

}



.vimeo_player_bar .vimeo_player_seek_bar {

    height: 10px;

    width: 0;

    background: #2a97cc;

    bottom: 0;

    left: 0;

    box-shadow: rgba(82, 82, 82, .47) 1px 1px 3px

}



.vimeo_player_bar .YTPOverlay {

    backface-visibility: hidden;

    -webkit-backface-visibility: hidden;

    -webkit-transform-style: "flat";

    box-sizing: border-box

}



.vimeo_player_overlay.raster {

    background: url(images/raster.png)

}



.vimeo_player_overlay.raster.retina {

    background: url(images/raster@2x.png)

}



.vimeo_player_overlay.raster-dot {

    background: url(images/raster_dot.png)

}



.vimeo_player_overlay.raster-dot.retina {

    background: url(images/raster_dot@2x.png)

}



.vimeo_player_bar .simpleSlider {

    position: relative;

    width: 100px;

    height: 10px;

    border: 1px solid #fff;

    overflow: hidden;

    box-sizing: border-box;

    margin-right: 10px;

    cursor: pointer !important;

    border-radius: 3px

}



.vimeo_player_bar.compact .simpleSlider {

    width: 40px

}



.vimeo_player_bar .simpleSlider.muted {

    opacity: .3

}



.vimeo_player_bar .level {

    position: absolute;

    left: 0;

    bottom: 0;

    background-color: #fff;

    box-sizing: border-box

}



.vimeo_player_bar .level.horizontal {

    height: 100%;

    width: 0

}



.vimeo_player_bar .level.vertical {

    height: auto;

    width: 100%

}



/* vimeo */

body,

html {

    height: 100%;

    box-sizing: border-box

}



*,

::after,

::before {

    box-sizing: border-box;

    margin: 0;

    padding: 0

}



h1,

h2,

h3,

h4,

h5,

h6 {

    font-size: inherit;

    font-weight: inherit;

    line-height: inherit;

    margin: 0;

    padding: 0

}



a {

    display: inline-block;

    text-decoration: none;

    color: inherit

}



body {

    font-family: Akkurat, sans-serif;

    color: #000;

    font-weight: 400;

    overflow-x: hidden

}



body.overlay {

    height: 100vh;

    overflow: hidden

}



li,

ul {

    list-style: none;

    margin: 0;

    padding: 0

}



.btn-reset {

    cursor: pointer;

    border: none;

    outline: 0;

    background: 0 0

}



.main {

    overflow-x: hidden;

    overflow-y: visible;

    position: relative;

    z-index: 2;

    flex: 1 0 auto

}



.container {

    height: 100%;

    width: 100%;

    padding: 0 30px;

    margin: 0 auto

}



.underline {

    position: relative;

    text-decoration: underline;

}



.paralax-bg {

    background: url(../img/bg-1.jpg);

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    position: fixed;

    right: 0;

    top: 0;

    bottom: 0;

    left: 0;

    height: 100vh;

    width: 100vw

}



.section-title {

    font-size: 100px

}



@-webkit-keyframes marquee {

    0% {

        transform: translateX(-50px)

    }



    100% {

        transform: translateX(-20%)

    }

}



@keyframes marquee {

    0% {

        transform: translateX(-50px)

    }



    100% {

        transform: translateX(-20%)

    }

}



.call {

    position: relative;

    height: 44px;

    padding: 6px 0;

    background: #ff1661;

    border-bottom: 2px solid #000;

    overflow: hidden;

    transition: all ease .2s;

    width: 100%;

    line-height: 0;

    z-index: 2

}



.call:hover {

    background: #000;

    color: #fff

}



.call:hover .call__icon {

    background: #fff;

    color: #000

}



.call__wrapper {

    left: 0;

    transform: translateX(36px);
    padding-top: 4px;
    display: flex;

    align-items: center

}



.call__wrapper--popup {

    left: 0;

    transform: translateX(-50px);

    display: flex;

    align-items: center

}



.call__item {

    white-space: nowrap;

    display: flex;

    align-items: center

}



.call__item:not(:last-child) {

    margin-right: 31px

}



.call__icon {

    width: 22px;

    height: 22px;

    background: #000;

    font-size: 22px;

    line-height: 30px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-right: 20px;

    border-radius: 50%;

    color: #ff1661;

    transition: all ease .2s

}



.call__text {

    font-size: 24px;

    line-height: 27px;

    transition: all ease .2s

}



.welcome {

    padding-top: 40px;

    font-size: 100px;

    line-height: 100%;

    padding-bottom: 308px

}



.welcome__title {

    line-height: 100%

}



.welcome__title span {

    display: block;

}



.welcome__link {

    position: relative;

    transform: translateY(-50px);

    font-size: 50px;

    line-height: 50px;

    margin-bottom: 270px

}



.welcome__link span>span {

    position: relative;

    z-index: 2;

}







.welcome__link>span::before {

    content: '';

    display: block;

    position: absolute;

    bottom: 8px;

    left: 0;

    right: 0;

    width: 100%;

    height: 0;

    background: #ff1661;

    transition: all ease .2s;

}



.welcome__link span:hover::before {

    height: 83%;

}



.welcome-menu__title {

    font-size: 50px;

    line-height: 50px

}



.welcome-menu__nav {

    font-size: 100px

}



.welcome-menu__list {

    line-height: 90px

}



.welcome-menu__list:first-child {

    margin-bottom: 30px

}



.welcome-menu__list:nth-child(2) {

    margin-bottom: 90px

}



.welcome-menu__list:nth-child(2) .welcome-menu__list {

    line-height: 70px

}



.welcome-menu__elem {

    position: relative;

    margin-bottom: 5px

}



.welcome-menu__img {

    position: absolute;

    right: 50%;

    transform: translate(50%, -100%);

    transition: all .3s;

    opacity: 0;

    bottom: 0;

    z-index: -1

}



.welcome-menu__img.active {

    transform: translate(50%, 0);

    opacity: 1;

    z-index: 1

}



.welcome-menu__img.active .welcome-menu__link--width-img {

    display: block

}



.welcome-menu img {

    display: block;

    max-width: 948px;

    width: 100%;

    height: auto

}



.welcome-menu__link {

    position: relative

}



.welcome-menu__link::before {

    content: '';

    position: absolute;

    bottom: 0;

    left: 0;

    right: 0;

    display: block;

    width: 100%;

    height: 0;

    background: #ff1661;

    transition: all ease .2s;

}



.welcome-menu__link--width-img {

    display: none;

    position: absolute;

    bottom: 0;

    left: -50%

}



.welcome-menu__link .underline {

    text-decoration: none;

    position: relative;

}



.welcome-menu__link .underline::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    bottom: 13px;

    right: 0;

    width: 100%;

    height: 5px;

    background: #000;

}



.welcome-menu__link--width-img span {

    background: #ff1661

}



.welcome-menu__link--width-img sup {

    background: #ff1661

}



.welcome-menu__link sup {

    padding: 0 10px;

    border-radius: 50%

}





.welcome-menu__link:hover::before {

    height: 100%;

}



.welcome-menu__link:hover .underline::before {

    display: none;

}



.underline:hover {

    text-decoration: none;

}



.welcome-menu__link:hover span {

    text-decoration: none;

}



.welcome-menu__link:hover .sup-arrow::before {

    height: 100%;

}



.sup-arrow {

    width: 53px;

    height: 53px;

    border-radius: 50%;

    position: absolute;

    top: 9px;

    right: -64px;

    transition: all .2s;

    overflow: hidden;

}



.sup-arrow::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0;

    width: 100%;

    height: 0;

    background: #ff1661;

    transition: all ease .2s;

}



.sup-arrow img {

    position: absolute;

    top: 3px;

    left: 12px;

    display: block;

    max-width: 33px;

    height: auto;

}



.festivaltrailer {

    position: relative;

    z-index: 2;

    height: 100vh;

    min-height: 652px;

    width: 100%;

    background: url(../img/bg-2.jpg);

    background-repeat: no-repeat;

    background-position: center;

    background-size: cover

}



#festivaltrailer-video {

    position: absolute;

    top: 0;

    right: 0;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 100%;

}



.festivaltrailer__wrapper {

    font-size: 100px;

    height: 100vh;

    min-height: 652px;

    display: flex;

    flex-direction: column;

    justify-content: space-between

}



.festivaltrailer__rotate {

    display: none

}



.us {

    color: #fff;

    height: 100vh;

    min-height: 864px;

    background: url(../img/bg-3.jpg);

    background-repeat: no-repeat;

    background-position: center;

    background-size: cover

}



.us__text {

    font-size: 50px;

    max-width: 917px;

    width: 100%

}



.us__text .hearts {

    cursor: pointer;

    position: relative

}



.us__text .hearts::before {

    content: url(../img/icon/heart.svg);

    position: absolute;

    top: -16px;

    left: -5px

}



.worldwide {

    background: #ff1661;

    color: #fff

}



.worldwide__container {

    position: relative;

    top: -150px

}



.worldwide__list {

    font-size: 100px

}



.worldwide__list--first {

    margin-bottom: 293px

}



.worldwide__link {

    position: relative;

    transition: all .2s

}







.worldwide__link span {

    position: relative;

    z-index: 2;

}



.worldwide__link::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 8px;

    width: 100%;

    height: 0%;

    background: #fff;

    transition: all .2s;

    z-index: 1;

}



.outher-hover::before {

    background: #ff1661 !important;

}



.outher-hover span {

    position: relative;

    z-index: 3;

}



.worldwide__elem:hover .worldwide__link {

    color: #ff1661;

    text-decoration: none

}



.worldwide__elem:hover .outher-hover::before {

    color: #fff;

    text-decoration: none

}



.worldwide__elem:hover .outher-hover {

    color: #fff;

}



.worldwide__elem:hover .worldwide__link::before {

    height: 100%;

}



.worldwide__content {

    max-width: 917px;

    width: 100%;

    margin-bottom: 91px

}



.worldwide__title {

    font-size: 100px

}



.worldwide__text {

    font-size: 50px

}



.worldwide__planet {

    position: relative;

    max-width: 687px;

    width: 100%;

    margin: 0 auto 78px

}



.worldwide__planet img {

    display: block;

    margin: 0 auto;

    max-width: 687px;

    width: 100%

}



.worldwide__planet .worldwide__location {

    bottom: 180px;

    left: -100px;

    font-size: 24px;

    position: absolute;

    color: #000

}



.worldwide__planet .worldwide__location span {

    text-decoration: underline;

}



.snap {

    padding-top: 10px;

    background: #737270;

    color: #ff1661;

    padding-bottom: 350px

}



.snap__title {

    white-space: nowrap

}



.snap__header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 53px

}



.snap__close {

    padding: 14px;

    border-radius: 50%;

    background: #ff1661;

    transition: all .2s

}



.snap__gallery {

    overflow: hidden;

    position: relative;

    padding-left: 169px

}



.snap__gallery img {

    display: block;

    max-width: 1080px;

    width: 100%;

    height: auto

}



.snap__photo-1 {

    cursor: pointer

}



.snap__photo-2 {

    position: absolute;

    right: 0;

    bottom: 15%;

    transform: translate(50%, -100%);

    transition: all .3s;

    opacity: 0

}



.snap__photo-2.active {

    transform: translate(0, 0);

    opacity: 1

}



.snap__photo-2.active .welcome-menu__link--width-img {

    display: block

}



.close-text {

    display: none;

    color: #737270;

    font-size: 50px

}



.jury {

    height: 100vh;

    min-height: 1300px;

    padding-bottom: 80px;

    background: #040504;

    color: #fff;

    font-size: 100px;

    background-image: url(../img/bg-4.jpg);

    background-repeat: no-repeat;

    background-size: contain;

    background-position: center center

}



.jury .container {

    height: 100%

}



.jury__wrapper {

    height: 100%;

    display: flex;

    flex-direction: column;

    justify-content: space-between

}



.jury__title {

    margin-bottom: 10px

}



.jury__text {

    max-width: 917px;

    width: 100%;

    font-size: 50px

}



.jury__link {

    position: relative;

    transition: all .2s;

}



.jury__link span {

    position: relative;

    z-index: 2;

}



.jury__link::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 8px;

    width: 100%;

    height: 0%;

    background: #fff;

    transition: all .2s;

    z-index: 1;

}



.jury__link:hover.underline::after {

    display: none;

}



.jury__link:hover {

    color: #000;

}



.jury__link:hover::before {

    height: 100%;

}



.photos {

    background: #707070

}



.photos img {

    display: block;

    max-width: 1920px;

    width: 100%;

    height: auto;

    margin: 0 auto

}



.photos img:not(:last-child) {

    margin-bottom: 1px

}



.meet {

    position: relative;

    padding-bottom: 580px;

    background: #fff;

    color: #ff1661

}



.meet__volunt {

    display: none;

    background: url(../img/volunt-1.jpg);

    background-repeat: no-repeat;

    position: fixed;

    top: 0;

    left: 0;

    height: 100vh;

    width: 100%;

    height: 100%

}



.meet__volunt.active {

    display: block

}



.meet__text {

    font-size: 50px;

    max-width: 917px;

    width: 100%;

    margin-bottom: 144px

}



.meet__list {

    position: relative;

    z-index: 2;

    font-size: 50px

}



.meet__elem {

    position: relative

}



.meet__elem--volunt {

    margin-top: 50px

}



.meet__elem.active .meet__link {

    background: #ff1661;

    color: #fff;

    text-decoration: none;
    

}



.meet__elem:last-child {

    margin-top: 50px

}



.meet__link {

    position: relative;

    transition: all .2s;
    font-size: 44px;

}



.meet__link span {

    position: relative;

    z-index: 2;

}



.meet__link::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 8px;

    width: 100%;

    height: 0%;

    background: #ff1661;

    transition: all .2s;

    z-index: 1;

}



.meet__link:hover::before {

    height: 100%;

}



.meet__link:hover {

    color: #fff;

}



.meet__elem-block {

    position: absolute;

    right: -15px;

    bottom: -225px;

    transform: translate(50%, -100%);

    transition: all .3s;

    opacity: 0;

    z-index: -1;
    font-size: 40px;

}



.meet__elem-block.active {

    transform: translate(0, 0);

    opacity: 1;

    z-index: 2

}



.meet__elem-img img {

    display: block;

    max-width: 634px;

    width: 100%;

    height: auto

}



.meet__elem-label {

    transform: translate(-50px, -150px)

}



.meet-slider {

    display: none

}



.meet-slider__item {

    max-width: 385px;

    width: 100%

}



.meet-slider__img {

    margin-bottom: 10px

}



.meet-slider__img img {

    display: block;

    max-width: 634px;

    width: 100%

}



.meet-slider__name {

    display: inline-block;

    font-size: 25px;

    margin-bottom: 10px;

    background: #ff1661;

    color: #fff

}



.meet-slider__work {

    color: #ff1661;

    font-size: 25px

}



.annual {

    background: #b3b1af;

    height: 100vh;

    min-height: 1080px;

    color: #000;

    font-size: 100px;

    position: relative

}



.annual .container {

    height: 100%

}



.annual__wrapper {

    height: 100%;

    display: flex;

    flex-direction: column;

    justify-content: space-between

}



.annual__photos {

    display: flex;

    position: absolute;

    z-index: 1;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%)

}



.annual__top {

    position: relative;

    z-index: 2

}



.annual__text {

    font-size: 50px;

    max-width: 917px;

    width: 100%

}



.annual__bottom {

    position: relative;

    z-index: 2

}



.annual__date {

    position: relative

}



.annual__date.active .annual__date-list {

    display: block

}



.annual__date-list {

    display: none;

    position: absolute;

    bottom: 90px;

    z-index: 2

}



.annual__date-link {

    position: relative;

    transition: all .2s

}



.annual__date-link::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 8px;

    width: 100%;

    height: 0%;

    background: #000;

    transition: all .2s;

    z-index: 1;

}



.annual__date-link:hover {

    color: #fff;

}



.annual__date-link:hover::before {

    height: 100%;

}



span {

    position: relative;

    z-index: 2;

}



.annual__photos .annual__photo img {

    display: block;

    max-width: 795px;

    width: 100%;

    height: auto

}



.annual__photos .annual__photo:nth-child(1n) {

    transform: rotate(1deg)

}



.annual__photos .annual__photo:lnth-child(2n) {

    transform: rotate(-2deg)

}



.footer {

    padding-top: 30px;

    padding-bottom: 5px;

    position: relative;

    z-index: 3;

    background: #ff1661;

    color: #000

}



.footer .container {

    position: relative

}



.footer__item:not(:last-child) {

    margin-bottom: 60px

}



.footer__label {

    font-size: 24px

}



.footer__list {

    font-size: 50px

}





.footer__link {

    position: relative;

    transition: all .2s

}



.footer__link span {

    position: relative;

    z-index: 2;

}



.footer__link::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0px;

    width: 100%;

    height: 0%;

    background: #fff;

    transition: all .2s;

    z-index: 1;

}



.footer__link:hover::before {

    height: 100%;

}



.footer__logo {

    position: absolute;

    right: 0;

    bottom: 0

}



.footer__arrow {

    width: 61px;

    height: 61px;

    padding: 1px 5px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #fff;

    border-radius: 50%;

    transition: all .2s

}



.footer__arrow:hover {

    width: auto;

    border-radius: 50px

}



.footer__arrow:hover span {

    display: block

}



.footer__arrow svg {

    transform: rotate(-90deg);

    width: 30px;

    height: 30px;

    fill: #ff1661;

    transition: all .2s

}



.footer__arrow span {

    padding-left: 5px;

    display: none;

    font-size: 50px;

    color: #ff1661;

    transition: all .2s

}



.footer__arrow.active {

    background: #ff1661

}



.footer__arrow.active .footer__arrow-icon {

    display: none

}



.footer__arrow.active .footer__close-icon {

    display: block;

    fill: #fff

}



.footer__arrow.active span {

    color: #fff

}



.footer__close-icon {

    display: none

}



.popup {

    position: fixed;

    z-index: 10;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    overflow-x: hidden;

    display: none

}



.popup .call {

    max-width: 100%;

    width: 100%;

    overflow: hidden

}



.popup .container {

    padding: 0 20px

}



.popup.active {

    display: block

}



.popup__wrapper {

    height: 100%;

    width: 100%

}



.popup__inner {

    padding-bottom: 20px

}



.welcome-popup {

    position: fixed;

    top: 100vh;

    display: block;

    background: #fff;

    min-height: 100vh;

    color: #000;

    transition: all ease .3s;

}



.welcome-popup.active {

    top: 0;

}



.welcome-popup .popup-close {

    top: 50px;

    z-index: 5;

}



.welcome-popup__title {

    font-size: 100px

}



.welcome-popup__title span {

    display: block

}



.welcome-popup__find {

    font-size: 50px;

    transform: translateY(-25px);

    transition: all .2s

}



.welcome-popup__find:hover {

    background: #FF1661;

    color: #fff

}



.welcome-popup__list {

    font-size: 100px

}



.welcome-popup__link {

    transition: all .2s

}



.welcome-popup__link span {

    position: relative;

    z-index: 2;

}



.welcome-popup__link::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 8px;

    width: 100%;

    height: 0%;

    background: #FF1661;

    transition: all .2s;

    z-index: 1;

}



.welcome-popup__link:hover::before {

    height: 100%;

}



.welcome-popup__link:hover {

    text-decoration: none

}



.welcome-popup__item:not(:last-child) {

    margin-bottom: 50px

}



.welcome-popup__label {

    font-size: 24px

}



.welcome-popup__small-list {

    font-size: 50px

}



.welcome-popup__small-link {

    transition: all .2s;

    position: relative;

}



.welcome-popup__small-link span {

    position: relative;

    z-index: 2;

}



.welcome-popup__small-link::before {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    right: 0;

    bottom: 8px;

    width: 100%;

    height: 0%;

    background: #000;

    transition: all .2s;

    z-index: 1;

}



.welcome-popup__small-link:hover {

    color: #fff;

}



.welcome-popup__small-link:hover::before {

    height: 100%;

}



.active>.popup__logo {

    display: block;

}



.active>.popup-close {

    display: block;

}



.popup__logo {

    display: none;

    position: fixed;

    right: 0;

    bottom: 20px

}



.popup.active .popup__logo {

    display: block;

}



.popup__logo img {

    display: block;

    max-width: 250px;

    width: 100%;

    height: auto

}



.popup-title {

    font-size: 100px

}



.lovers-popup {

    color: #fff

}



.lovers-popup__logo {

    max-width: 574px;

    width: 100%

}



.lovers-popup__label {

    background: #ff1661;

    font-size: 50px

}



.lovers-popup__postition {

    background: #ff1661;

    font-size: 24px

}



.lovers-popup__img {

    max-width: 917px;

    width: 100%;

    margin: 138px auto 0

}



.lovers-popup__img img {

    max-width: 917px;

    width: 100%;

    height: auto

}



.about-popup {

    background: #ff1661;

    color: #fff;

    padding-bottom: 400px

}



.about-popup__title {

    font-size: 100px

}



.about-popup__text {

    font-size: 50px

}



.about-popup__text p {

    position: relative

}



.about-popup__text p:not(:last-child) {

    padding-bottom: 30px

}



.about-popup__text p img {

    position: absolute;

    display: block;

    width: 100%;

    height: auto

}



.about-popup__text p img.lines {

    max-width: 640px;

    bottom: 0;

    right: 10px

}



.about-popup__text p img.stars {

    max-width: 233px;

    bottom: 0;

    left: 0

}



.about-popup__text p img.circles {

    max-width: 389px;

    bottom: 0;

    left: 0

}



.popup-close {

    position: absolute;

    top: 20px;

    right: 20px;

    padding: 14px;

    border-radius: 50%;

    background: #fff;

    transition: all .2s;

    z-index: 5;

}



.popup-close svg {

    width: 42px;

    height: 42px;

    fill: #ff1661

}



.popup-close:hover {

    padding: 0 23px;

    border-radius: 45px

}



.popup-close:hover svg {

    transition: all .2s;

    display: none

}



.popup-close:hover .close-text {

    transition: all .2s;

    width: 100%;

    color: #ff1661;

    display: block

}



.awards-popup {

    background: #000;

    color: #fff

}



.awards-popup__title {

    font-size: 100px

}



.awards-popup__text {

    font-size: 50px

}



.awards-popup .popup-close {

    position: absolute;

    top: 20px;

    right: 20px;

    padding: 14px;

    border-radius: 50%;

    background: #fff;

    transition: all .2s

}



.awards-popup .popup-close svg {

    width: 42px;

    height: 42px;

    fill: #000

}



.awards-popup .popup-close:hover {

    padding: 0 23px;

    border-radius: 45px

}



.awards-popup .popup-close:hover svg {

    transition: all .2s;

    display: none

}



.awards-popup .popup-close:hover .close-text {

    transition: all .2s;

    width: 100%;

    color: #000;

    display: block

}



#footer-popup .footer__arrow {

    display: none;

    position: fixed;

    top: auto;

    bottom: 15px;

    left: 15px

}



.relative-lines {

    display: inline-block;

    position: relative;

}



.relative-lines::before {

    content: url(../img/icon/lines.png);

    display: block;

    position: absolute;

    top: -60px;

    left: -194px;

}



.relative-star {

    display: inline-block;

    position: relative;

}



.relative-star::before {

    content: url(../img/icon/stars.png);

    display: block;

    position: absolute;

    top: -32px;

    right: -33px;

}



.relative-circles {

    display: inline-block;

    white-space: nowrap;

    position: relative;

}



.relative-circles::before {

    content: url(../img/icon/circles.png);

    display: block;

    position: absolute;

    top: -5px;

    right: 0;

}



#footer-popup.active .footer__arrow {

    display: flex;

}



@media (min-width:992px) {

    .snap__close:hover {

        padding: 0 23px;

        border-radius: 45px

    }



    .snap__close:hover .icon {

        transition: all .2s;

        display: none

    }



    .snap__close:hover .close-text {

        transition: all .2s;

        width: 100%;

        display: block

    }

}



@media (max-width:1440px) {

    .snap {

        padding-bottom: 120px

    }



    .snap__gallery {

        padding-left: 0

    }

}



@media (max-width:1200px) {

    .jury {

        background-size: cover;

        min-height: 990px

    }

}



@media (max-width:992px) {

    .section-title {

        font-size: 75px

    }



    .welcome__title {

        font-size: 75px

    }



    .us {

        height: auto;

        padding-bottom: 200px

    }



    .worldwide__planet .worldwide__location {

        text-align: center;

        bottom: 0;

        left: 0;

        position: relative;

        font-size: 50px

    }



    .jury__list {

        font-size: 75px

    }



    .meet {

        padding-bottom: 150px

    }



    .meet__text {

        margin-bottom: 50px

    }



    .meet__list {

        display: none

    }



    .meet-slider {

        display: block

    }



    .annual {

        height: auto;

        min-height: auto

    }



    .annual__photos {

        align-items: center;

        justify-content: center;

        position: relative;

        top: 0;

        left: 0;

        transform: translate(0, 0);

        margin-bottom: 100px

    }



    .annual__top {

        margin-bottom: 20px

    }



    .annual__photos .annual__photo {

        width: 350px

    }



    .annual__photos .annual__photo:nth-child(1n) {

        margin-right: 150px

    }



    .welcome-popup__title {

        font-size: 75px

    }



    .welcome-popup__title span {

        display: inline-block

    }



    .popup-title {

        font-size: 75px

    }

}



@media (max-width:767px) {

    .container {

        padding: 0 10px

    }



    .welcome__title span {

        display: inline-block

    }



    .welcome__title {

        font-size: 50px

    }



    .welcome__link {

        font-size: 25px

    }



    .welcome-menu__list {

        font-size: 50px;

        line-height: 100%

    }



    .worldwide__container {

        top: -60px

    }



    .worldwide__list {

        font-size: 50px

    }



    .worldwide__list--first {

        margin-bottom: 150px

    }



    .snap__close {

        padding: 5px

    }



    .snap__close img {

        max-width: 28px;

        width: 100%;

        height: auto

    }



    .snap__close .close-text {

        font-size: 25px

    }



    .popup__inner {

        padding-bottom: 150px

    }



    .welcome-popup__list {

        font-size: 50px;

        line-height: 100%;

        margin-bottom: 20px

    }



    .welcome-menu__link .underline::before {

        bottom: 9px;

        height: 2px;

    }



    .sup-arrow {

        top: -4px;

        right: -50px;

    }

}



@media (max-width:568px) {

    .section-title {

        font-size: 50px

    }



    .welcome-menu__img.active {

        position: fixed;

        transform: translate(0, -50%);

        width: 100%;

        left: 0;

        top: 50%

    }



    .welcome-menu__img.active .welcome-menu__link--width-img {

        display: none

    }



    .welcome-menu__img.active img {

        position: fixed;

        width: 100%;

        top: 0;

        left: 0;

        right: 0;

        z-index: 5

    }



    .sup-arrow {

        position: absolute;

        left: auto;

        right: -41px;

        top: 0

    }



    .festivaltrailer__rotate {

        display: block;

        margin: 0 auto;

        max-width: 122px

    }



    .festivaltrailer__date {

        font-size: 50px

    }



    .us__text {

        font-size: 25px;

        font-weight: 300

    }



    .us__text .hearts::before {

        display: none

    }



    .worldwide__text {

        font-size: 25px

    }



    .worldwide__planet .worldwide__location {

        font-size: 23px

    }



    .jury__text {

        font-size: 25px

    }



    .jury__list {

        font-size: 50px

    }



    .meet__text {

        font-size: 25px

    }



    .annual__text {

        font-size: 25px

    }



    .annual__date {

        font-size: 50px

    }



    .footer__label {

        font-size: 18px

    }



    .footer__list {

        font-size: 25px

    }



    .welcome-popup .popup-close {

        position: fixed;

        top: auto;

        right: auto;

        bottom: 15px;

        left: 50%;

        transform: translateX(-50%)

    }



    .welcome-popup__title {

        font-size: 50px

    }



    .welcome-popup__find {

        transform: translateY(-5px);

        font-size: 25px;

        margin-bottom: 20px

    }



    .popup__logo img {

        max-width: 180px

    }



    .popup__logo {

        right: auto;

        left: 0

    }



    .popup-title {

        font-size: 50px

    }



    .about-popup__text {

        font-size: 25px

    }



    .popup-close {

        position: fixed;

        top: auto;

        right: auto;

        bottom: 15px;

        left: 50%;

        transform: translateX(-50%)

    }



    .awards-popup__text {

        font-size: 25px

    }



    .awards-popup .popup-close {

        position: fixed;

        top: auto;

        right: auto;

        bottom: 15px;

        left: 50%;

        transform: translateX(-50%)

    }



    #footer-popup .footer__arrow {

        position: fixed;

        top: auto;

        right: auto;

        bottom: 15px;

        left: 50%;

        transform: translateX(-50%)

    }

}



@media (max-width:412px) {

    .section-title {

        font-size: 40px

    }



    .welcome {

        padding-bottom: 150px

    }



    .welcome__title {

        font-size: 40px

    }



    .welcome__link {

        margin-bottom: 100px

    }



    .welcome-menu__title {

        font-size: 40px

    }



    .welcome-menu__list {

        font-size: 40px

    }



    .worldwide__list {

        font-size: 30px

    }



    .jury__list {

        font-size: 40px

    }



    .welcome-popup__title {

        font-size: 40px

    }



    .welcome-popup__list {

        font-size: 40px

    }



    .popup__logo {

        display: none

    }



    .popup-title {

        font-size: 40px

    }



    .welcome-menu__link .underline::before {

        bottom: 6px;

    }



    .sup-arrow {

        right: -44px;

        top: -8px;

    }

}