
html { height: 100%; width: 100%; }
body { width: 100%; height: 100%; padding: 0; margin: 0; background: #fff; font: 85% 'Open Sans', Arial, sans-serif; color: #111; }

span, div { box-sizing: border-box }	
	
a { color: #0a6605; outline: none }	
a:hover { color: #232321 }
	
img, form, p, ul, ol, li, table, tr, td, div { padding: 0; margin: 0; border: 0; }
	
p { padding-bottom: 1.7em; line-height: 32px }
	
ul { padding: 0 0 2em 0; clear: left }	
ul > li { list-style: none; list-style-type: none; padding: 0 0 1em 30px; position: relative }
ul > li:before { content: ''; width: 4px; height: 4px; position: absolute; top: .7em; left: 0; background: #000; }
ul ul > li:before { content: ''; width: 2px; height: 2px; position: absolute; top: 1em; left: 0; background: #a1a1a1; border-radius: 50% }
ul ol > li { list-style: auto; }	

ol { padding: 0 0 2em 20px; clear: left  }	
ol > li { padding: 0 0 1em 10px; }	

ol ul, ul ul, ul ol, ol ol { padding: 1em 0 0 0; } 
	
table { font-size: 100%; }
	
h1 { font-size: 48px; font-weight: normal; margin: 0; padding: 0 0 1.2em 0; color: #232321; line-height: 68px; position: relative; z-index: 1 }	
h2 { font-size: 30px; font-weight: normal; margin: 0; padding: .7em 0 1em 0; color: #232321; line-height: 1.25; }	
h3 { font-size: 24px; font-weight: bold; margin: 0; padding: .7em 0 1em 0; color: #232321; line-height: normal; }	
h4 { font-size: 20px; font-weight: bold; margin: 0; padding: 1em 0 1.2em 0; color: #232321; line-height: normal; }	
h5 { font-size: 18px; font-weight: bold; margin: 0; padding: .7em 0 1em 0; color: #232321; line-height: normal; }	
h6 { font-size: 130%; font-weight: bold; margin: 0; padding: .5em 0 .5em 0; color: #232321; line-height: normal; }

h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { padding-top: 0; }
	
input, select, textarea { font-family: inherit; padding: 0 0 .1em 4px; font-size: 100%; outline: none; box-sizing: border-box; }

button { -webkit-appearance: none;}
button:focus { outline: none !important; border: none !important }	
::-moz-focus-outer, ::-moz-focus-inner {
    border: 0;
}	
	
a img { border: none; }
	
.img-lft { float: left; margin: 0 20px 20px 0; }	
.img-rgh { float: right; margin: 0 0 20px 20px; }
	
cite { font-style: italic; }
	
.table { border-collapse: collapse; margin: .5em 0 1.7em 0 }	
.table th { color: #111; padding: .8em 16px; text-align: left; font-size: 100%; font-weight: normal; border-top: 1px solid #222; border-bottom: 1px solid #222;  }	
.table td { padding: .8em 16px; vertical-align: top; background: #fff; font-weight: 300; font-size: 16px }	
.table tr:nth-child(2n) td { background: #F7F7F7 }
.table p { padding: 0 }
	
blockquote { margin: 0 0 1.7em 0; padding: 0 0 0 30px; font-size: 24px; position: relative; font-weight: 300; border-left: 1px solid #FDD50B; }

	
.clear { clear: both }	

article, aside, details, figcaption, figure, footer, header, menu, nav, section { display: block; }

/*=========================*/
.container { font-size: 16px; min-height: 100% }
.container div, .container a, .container span { transition: all .3s ease 0s; }	

.container .main-slide { height: 100vh; position: relative; background-color: #fff; overflow: hidden; transition: none /*background: url(img/mainbg.jpg) no-repeat 50% 0*/ }

.main-slide .shadow { width: 100%; height: 100%; background: #000; top: 0; left: 0; position: absolute; z-index: 2; opacity: 0; display: none }

.menu-top { position: fixed; z-index: 101; top: 65px; right: 3.5vw; cursor: pointer; width: 80px; height: 80px; overflow: hidden; background: #232321; border-radius: 50%; padding-top: 29px }
.menu-top span { width: 28px; height: 2px; background: #fff; margin: 0 auto 8px auto; transition: all .5s ease 0s; display: block;  }
.menu-top span:last-of-type { margin-bottom: 0; }
.menu-top:hover { transform: scale(1.1); }

.menu-top.active span { position: absolute; top: 50%; left: 25px; }
.menu-top.active span:nth-child(1n) { transform: rotate(45deg); }
.menu-top.active span:nth-child(2n) { transform: rotate(-45deg); }
.menu-top.active span:last-of-type { display: none }

.container .circle { position: absolute; border-radius: 50%; border: 1px solid #fff; overflow: hidden; opacity: 1; transition-property: transform }
.circle.incenter { width: 500px; height: 500px; top: 50% !important; left: 50% !important; margin-left: -250px; margin-top: -250px; transform: scale(2) }
.circle.ankered { margin-left: -400px; margin-top: -400px; width: 800px; height: 800px }
.circle.moved { margin-left: -250px; margin-top: -250px; width: 500px; height: 500px;  }
.circle div { width: 1920px; height: 1080px; background: url(img/mainbg.jpg) no-repeat 0 0; position: relative; transition: none }
.circle.incenter div { transform: scale(.5); top: -260px !important; left: -710px !important; transition: none }

.logo-icon { position: absolute; z-index: 1; width: 169px; top: 19vh; left: 50%; margin-left: -84px }
.logo-icon img { width: 169px }

.play-button { width: 127px; height: 127px; background: #232321; border-radius: 50%; position: absolute; bottom: 22vh; left: 50%; margin-left: -64px; cursor: pointer; }
.play-ico { width: 38px; height: 42px; background: url(img/play.png) no-repeat 0 0; position: absolute; top: 50%; left: 50%; margin-top: -21px; margin-left: -16px; opacity: 1; }

@keyframes animate-circle {
    from {
        transform: scale(1.01);
        opacity: 1;
    }
    to {
        transform: scale(1.5);
        opacity: 0;
    }
}

@keyframes animate-circle2 {
    from {
        transform: scale(1.5);
        opacity: .3;
    }
    to {
        transform: scale(1.48);
        opacity: .5;
    }
}

@keyframes animate-text {
    from {
        transform: translateX(100%);        
    }
    to {
        transform: translateX(-100%);
    }
}


.play-anim { position: absolute; width: 100%; height: 100%; border: 1px solid #232321; border-radius: 50%; animation: animate-circle 1.5s infinite ease-in-out; }
.play-anim-2 { animation-delay: .7s }

.play-button:hover .play-anim { animation: animate-circle2 1.5s infinite ease-in-out; }
.play-button:hover .play-anim-2 { display: none }
.play-button:hover .play-ico { opacity: 0; }

.text-anim-div { position: relative; top: 50%; margin-top: -13px; overflow: hidden; height: 50px; opacity: 0 }
.play-button:hover .text-anim-div { opacity: 1 }
.text-anim { color: #fff; font-size: 18px; font-weight: bold; text-align: center; animation: animate-text 5s infinite linear; position: absolute; top: 0; left: 0; width: 100%; transform: translateX(100%); }
.text-anim-2 { animation-delay: 2.5s }

@keyframes elasticus {
	0% {    
		transform-origin: -50% 0%;    
		transform: scale(1, 0);
	}
	50% {
		transform-origin: -50% 0%;    
		transform: scale(1, 1);
	}
	50.1% {    
		transform-origin: -50% 100%;    
		transform: scale(1, 1);
	}
	100% {
		transform-origin: -50% 100%;
		transform: scale(1, 0);
	}
}

.scroll-div { position: absolute; left: 3.5vw; bottom: 7vh; padding-left: 40px; padding-bottom: 53px; }
.scroll-div > span { font-size: 14px; width: 100px; display: block; cursor: default }
.scroll-line { position: absolute; width: 16px; height: 81px; background: url(img/arrow.png) no-repeat 0 0; bottom: 2px; left: 0; overflow: hidden }
.scroll-line span { position: absolute; width: 2px; height: 100%; top: 0; left: 50%; background: #232321; margin-left: -1px; animation: elasticus 2s cubic-bezier(1, 0, 0, 1) infinite; }

.impaired { position: absolute; bottom: 7vh; right: 3.5vw; text-align: right; cursor: pointer } 
.impaired span { display: block; width: 150px; margin-bottom: 25px; position: relative; z-index: 1; color: #232321; font-size: 14px }
.impaired svg { display: inline-block; position: relative; z-index: 1 }

.impaired-circle { position: absolute; top: 50%; left: 50%; width: 100px; height: 100px; margin-left: -20px; margin-top: -20px; background: transparent; border-radius: 50% }
.impaired:hover span { color: #fff }
.impaired:hover svg path { fill: #fff }
.impaired:hover .impaired-circle { transform: scale(3); background: #232321 }

.container .content { position: relative; padding-top: 64px; padding-bottom: 100px; font-size: 18px; z-index: 10; background: #fff; transition: none }
.content-padd { max-width: 1024px; margin: 0 auto }

.text-option { display: flex; align-items: center; padding-top: 20px }
.text-option .link { font-weight: bold; margin-right: 40px; text-decoration: none; border-bottom: 1px solid #232321; padding-bottom: 3px }
.text-option .link:hover { border-color: transparent }
.text-option .button { min-width: 255px; background: #FEE900; padding: 0 20px; height: 70px; font-weight: bold; border-radius: 48px; display: flex; justify-content: center; align-items: center; text-decoration: none; transition: all .6s ease 0s !important }
.text-option .button:hover { background: #FDD50B; }

.text-option.bc { justify-content: center }

.logo-icon-inner { position: absolute; left: 3.5vw; top: -68px; }
.logo-icon-inner img { width: 225px }

.scrolled-image { height: 760px; overflow: hidden }
.scrolled-image div { height: 1080px; background: url(img/mainbg.jpg) no-repeat 0 0; position: relative; transform:scale(1.2); transition: none; margin-top: 20% }

.black-content { background: #232321; }
.black-content * { color: #fff }
.black-content .content-padd { padding: 60px 0 100px 0 }

.main-news { } 
.main-news h2 { font-size: 48px; padding-bottom: 60px }
.main-news-list { display: flex; justify-content: space-between }
.main-news-item { width: 28% }
.main-news-data { font-weight: 300; padding-bottom: 9px; opacity: .8 }
.main-news-title { font-size: 24px; padding-bottom: 30px }
.main-news-title a { text-decoration: none; color: #fff }
.main-news-detail { font-weight: bold }
.main-news-detail a { text-decoration: none; color: #fff; border-bottom: 1px solid #fff; padding-bottom: 2px }

.main-partners { padding: 60px 0 100px 0 }
.main-partners h2 { font-size: 48px; padding-bottom: 110px }
.partners-list { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap }

.footer { padding: 30px 0 120px 0; position: relative; overflow: hidden }
.footer.abs { position: absolute; width: 100%; bottom: 0; left: 0; min-height: 250px }
.footer-title { font-size: 60px; text-transform: uppercase; font-weight: 600; text-align: center; max-width: 1100px; margin: 0 auto 90px auto }
.footer-title span { font-weight: 300; display: block; text-transform: none; padding-top: 15px }
.footer-title span:after { content: ''; width: 160px; height: 1px; background: #000; display: block; margin: 90px auto 0 auto;  }

.footer-menu { text-align: center }
.footer-menu a { display: inline-block; text-decoration: none; margin: 0 15px; border-bottom: 1px solid transparent }
.footer-menu a:hover { border-bottom-color: #222 }

.footer-copyright { padding-top: 50px; text-align: center; position: relative; font-size: 14px }

.footer .scroll-div { bottom: 6vh; cursor: pointer }
.footer .scroll-div span { cursor: pointer }
.footer .scroll-line { transform: rotate(-180deg); }

.container .top-menu-block { position: fixed; width: 100%; height: 100%; background: url(img/mainbg.jpg) no-repeat 50% 0; overflow: hidden; text-align: center; top: -100%; left: 0; transition-duration: 1s; z-index: 100; box-shadow: 0 0 1px #222; transform: scale(.9) }
.top-menu-block.active { top: 0; left: 0; transform: scale(1) }
.top-menu-block:before { content: ''; position: absolute; width: 500px; height: 500px; top: 50% !important; left: 50% !important; margin-left: -250px; margin-top: -250px; transform: scale(2); background: #fff; border-radius: 50% }
.top-menu-list { position: relative; z-index: 1; margin-bottom: 6vh }
.top-menu-item { font-size: 24px; padding-bottom: 1.6vh }
.top-menu-list a { text-decoration: none; border-bottom: 1px solid transparent }
.top-menu-list a:hover { border-color: #222 }
.menu-logo { position: relative; z-index: 1; display: block; margin: 6vh 0 6vh 0 }
.menu-logo img { width: 86px }

.top-menu-play { position: relative; z-index: 1;  }
.top-menu-play svg { margin-right: 20px;  }
.top-menu-play svg path { transition: all .3s ease 0s }
.top-menu-play:hover path { fill: #222 }
.top-menu-play a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: 24px; font-weight: 600 }

.container .inner-content { padding: 55px 0 0 0 }

.news-list { display: flex; justify-content: space-between; flex-wrap: wrap }
.news-item { width: 28%; position: relative; margin-bottom: 60px; position: relative; top: 0 }
.news-item * { position: relative; z-index: 1 }
/* .news-item:before { content: ''; width: 360px; height: 360px; position: absolute; background: #FDD50B; top: -55px; left: -55px; border-radius: 50%; transition: all .3s ease 0s; transform: scale(0); }
.news-item:hover { top: -30px }
.news-item:hover:before { transform: scale(1); } */
.news-item:hover a { border-color: transparent; }
.news-data { font-weight: 300; padding-bottom: 9px; opacity: .8 }
.news-title { font-size: 24px; padding-bottom: 30px }
.news-title a { text-decoration: none; }
.news-detail { font-weight: bold }
.news-detail a { text-decoration: none; border-bottom: 1px solid #222; padding-bottom: 2px }

.error-bg { height: 314px; background: url(img/e404.jpg) no-repeat 50% 0; position: absolute; width: 100%; bottom: 0; left: 0;  }
.error-text { line-height: 35px; text-align: center; padding-bottom: 1.7em }

.top-date { padding-bottom: 90px; display: flex }
.top-date a { text-decoration: none; font-weight: 600; margin-right: 24px; border-bottom: 1px solid #222 }
.top-date span { font-weight: 300 }

.big-gallery { margin-top: 65px; margin-bottom: 95px }
#biggallery { }
#biggallery .owl-nav { z-index: 10; position: relative; max-width: 1024px; margin: 0 auto; z-index: 200  }
#biggallery .owl-nav .owl-prev { position: absolute; bottom: 230px; left: -35px; width: 64px; height: 64px; background: url(img/back.png) no-repeat 0 0; font-size: 0; transition: all .3s ease 0s }
#biggallery .owl-nav .owl-next { position: absolute; bottom: 230px; right: -35px; width: 64px; height: 64px; background: url(img/next.png) no-repeat 100% 0; font-size: 0; transition: all .3s ease 0s }

#biggallery .owl-nav .owl-prev:hover, #biggallery .owl-nav .owl-next:hover { transform: scale(1.2) } 

.big-gallery-counter { text-align: center; font-weight: 600; padding-top: 40px }

.alink { font-size: 16px }
.alink a { font-weight: bold; text-decoration: none; border-bottom: 1px solid #222 }

.doc-link { position: relative; display: flex; text-decoration: none; font-weight: 600; display: flex; align-items: center; margin-bottom: 1.7em }
.doc-link .doc-type { width: 64px; height: 64px; color: #fff; display: flex; justify-content: center; align-items: center; background: #0a6605; border-radius: 50%; margin-right: 24px }
.doc-link:hover .doc-type { transform: scale(1.2) }
.doc-name { position: relative }
.doc-name i { font-style: normal; position: absolute; top: 35px; left: 0; font-weight: 300; font-size: 14px }

.schedule { margin-top: 2em; margin-bottom: 50px }
.schedule-top { display: flex; justify-content: space-between }
.schedule-top-item { width: 144px; height: 144px; border-radius: 50%; font-weight: 300; font-size: 14px; display: flex; justify-content: center; align-items: center; position: relative }
.schedule-top-item a { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
.schedule-top-item div { text-align: center }
.schedule-top-item.active { background: #FDD50B }
.schedule-top-item span { display: block; font-weight: 600; font-size: 18px }

.schedule-list {}
.schedule-list p { font-weight: 600 }

.schedule-list-item { display: flex; padding-bottom: 2em }
.schedule-list-time { font-weight: bold; padding-left: 32px; position: relative; width: 26% }
.schedule-list-time:before { content: ''; width: 16px; height: 16px; background: #232321; position: absolute; top: .3em; left: 0; border-radius: 50% }
.schedule-list-name span { display: block; font-weight: 300; padding-top: .65em }

.gallery { font-size: 0; }
.gallery-item { width: 27%; margin-right: 9.5%; margin-bottom: 55px; display: inline-block; vertical-align: top }
.gallery-item:nth-child(3n) { margin-right: 0; }
.gallery-image { height: 208px; background-size: cover; margin-bottom: 16px; position: relative }
.gallery-image a { position: absolute; width: 100%; height: 100%; top: 0; left: 0 }
.gallery-text { font-size: 24px  }
.gallery-text span { font-size: 16px; font-weight: 300; display: block; margin-bottom: 7px }
.gallery-text a { text-decoration: none }

.info-list-item { margin-bottom: 75px; display: flex }
.info-list-image { width: 280px; height: 144px; background-size: contain; background-position: 50% 50%; flex: none; margin-right: 75px; position: relative; background-repeat: no-repeat }
.info-list-image a { position: absolute; width: 100%; height: 100%; top: 0; left: 0 }
.info-list-name { font-weight: 600; padding-bottom: 40px }
.info-list-name a { text-decoration: none }
.info-list-text { padding-bottom: 1em }

.partner-info { display: flex }
.partner-logo { flex: none; margin-right: 75px }


.flex-form { max-width: 670px; margin: 0 auto }
.flex-form input, .flex-form textarea { transition: all .3s ease 0s; }
.flex-form h2 { font-size: 30px; text-align: center }
.flex-form-row { display: flex; justify-content: space-between; padding-bottom: 40px  }
.flex-form-input { position: relative }
.flex-form-input input, .flex-form-input textarea { width: 100%; border: none; background: #fff; height: 48px; padding: 0 15px; border: 1px solid #BDBDBD }
.flex-form-input input:hover, .flex-form-input textarea:hover { box-shadow: 0 0 2px #232321 }
.flex-form-input input:focus, .flex-form-input textarea:focus { border-color: #232321 }
.flex-form-input textarea { height: 110px; padding: 15px; max-width: 100% }

.flex-form .grow-3 { width: 31% }
.flex-form .grow-2 { width: 47% }
.flex-form .grow-1 { width: 100% }

.flex-form-submit { border: none; background: #FEE900; padding: 0 40px; height: 70px; font-weight: bold; border-radius: 48px; display: flex; justify-content: center; align-items: center; text-decoration: none; transition: all .6s ease 0s !important; cursor: pointer }
.flex-form-submit:hover { background: #FDD50B; }

.flex-form-input label.error { position: absolute; bottom: -25px; right: 0; font-size: 11px; color: red }
.flex-form-input input.error { border-color: red }
.flex-form-input input.error:hover { box-shadow: 0 0 2px red }

.contats-block { display: flex; margin-bottom: 80px }
.contats-block .map { flex: none; width: 456px; margin-left: 6vw }
.contats-text { padding-bottom: 1.7em; font-weight: 300; }
.contats-text span { display: block; font-weight: 600; padding-bottom: 10px }
.contats-text a { text-decoration: none; border-bottom: 1px solid #222 }


.menu {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    list-style: none;
    margin: 80px 0 0;
    padding: 0 32px;
    padding-bottom: 0 !important;
}
.menu li {
    padding: 0;
    margin: 0 21px;
}
.menu li::before {
    display: none;
}
.menu a {
    text-decoration: none;
}
.small-logo {
    display: none;
}

.ufest {
    margin: 0; 
    padding: 0 0 50px 0;
    font-size: 24px;
    text-align: center;
}
.ufest img {
    margin: 25px 0 0 0 !important; 
;
}


.owl-dots {
    margin: 10px 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
}
.owl-dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: none !important;
    margin: 0 10px;
}
.owl-dot.active {
    background: #0a6605;
}








