* {margin: 0; padding: 0; box-sizing: border-box; border: 0;}
.footer * { max-height: 1000000px;}
body, button, input, textarea, select {font-family: "fonts", "Arial Narrow", "Arial", sans-serif; color: #000; background: #fff; font-size: 18px; line-height: 1.5em;}
button, input, textarea, select {box-sizing: border-box;}
body {padding-bottom: 0 !important; width: 100%;}


a {transition: all 0.3s linear; color: #1f51fe; outline: none;}
a:hover {color: #66cc66; text-decoration: none;}

@font-face {
    font-family: 'fonts';
    src: url('/fonts/RobotoCondensed-Light.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'fonts-reg';
    src: url('/fonts/RobotoCondensed-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'fonts-bold';
    src: url('/fonts/RobotoCondensed-Bold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
::selection {
    color: #fff;
    background: #000;
}
.clear {clear: both;}

h1, h2, h3, h4, h5, h6,
.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {line-height: normal; font-weight: normal; font-family: 'fonts-reg';}
h1 {font-size: 3rem; color: #1f51fe; padding-bottom: 0.6em;}
h2 {color: #1f51fe; font-size: 2rem; padding: 0.6em 0;}
h3 {color: #1f51fe; font-size: 1.5rem; padding: 0.6em 0;}
h4 {color: #fff; font-size: 1.5rem; padding: 5px 10px; background: #66cc66;}


.titlepage h1 {font-size: 4rem; position: relative;}
.titlepage h1:before {width: 18px; height: 18px; background: #37f713; position: absolute; top: 0.5rem; left: -2rem; display: block; content: "";}

blockquote {
   font-style: italic;
   margin: 20px 0 20px 45px;
   border-left: 3px solid #ccc; color: #666;
   padding-left: 30px;
   line-height: 1.4em;
   position: relative;
}

blockquote p {
   margin: 0;
}

blockquote:before {font-family: fonts-bold;
   content: "\2033";
   position: absolute;
   left: -45px;
   top: 10px;
   color: #ccc;
   font-size: 3rem;
}


hr{ height: 1px; width: 100%; color: #cbcfd7; border: none; border-top: 1px solid #cbcfd7; overflow: hidden; clear: both; margin: 2rem 0;}

.content p {padding: 0.6em 0;}
.content .copy {position: relative; color: #a4a4a4; font-style: italic; display: block; margin-top: -0.7em;}
.content .copy:before {content: "\00A9"; padding-right: 0.5em;}

.blue, .blue a:link, .blue a:visited {color: #1f51fe;}
.green, .green a:link, .green a:visited {color: #66cc66;}
.black, .black a:link, .black a:visited {color: #000;}
.gray, .gray a:link, .gray a:visited {color: #a4a4a4;}

.bluebg, .bluebg a:link, .bluebg a:visited {color: #fff; background: #1f51fe; text-decoration: none; font-family: 'fonts-reg'; display: inline-block; padding: 0 5px;}
.greenbg, .greenbg a:link, .greenbg a:visited {background: #37f713; text-decoration: none; font-family: 'fonts-reg'; display: inline-block; padding: 0 5px;}
.blackbg, .blackbg a:link, .blackbg a:visited {color: #fff; background: #000; text-decoration: none; display: inline-block; padding: 0 5px;}

.blockborder {border: 1px solid #1f51fe; padding: 1.5em 2em; position: relative; margin: 2rem 9px;}
.blockborder:after {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: -9px;
  width: 18px;
  height: 18px;
  background: #37f713;
  display: block;
  content: '';
}
.blockborder:before {
  position: absolute;
  top: 0;
  left: 0;
  margin: -9px;
  width: 18px;
  height: 18px;
  background: #37f713;
  display: block;
  content: '';
}


.width {width: 85%; margin: 0 auto; position: relative;}

.content {padding: 0 0 3rem 0; min-height: 250px;} 
.home .header {position: absolute; top: 0; width: 100%; z-index: 1100; background: none;}
.home .header:after {display: none;}

.header {position: relative; background: url("/im/header_bg.png") 50% 0 no-repeat #151515; padding-bottom: 35px;}

.header .logo {width: 420px; height: 95px; margin: 35px 0; display: inline-block; position: relative; text-decoration: none;}
.header .logo img {width: 100%; height: auto; max-width: 100%;}
.header .logo big {font-family: 'fonts-bold'; display: block; font-size: 24px;}
.header .logo small {display: block; font-size: 16px; text-transform: uppercase;}
.header .demolink {display: inline-block; padding: 0 25px; border: 1px solid #37f713; color: #37f713; text-decoration: none; line-height: 50px; position: absolute; top: -20px; right: 0;}
.header .demolink:after {position: absolute; right: -50px; top: 0; width: 50px; height: 50px;
  background: url(/media/img/homepage/plus_green.svg) 50% 50% no-repeat;
  margin-left: 1em;
  display: inline-block; content:'';
}
.header .demolink:hover {border: 1px solid #fff; color: #fff;}
.header .demolink:hover:after {filter: brightness(1000%);}

.header .text {color: #fff; padding-top: 2.3rem;}
.header .text big {font-size: 2.8rem; display: block; text-transform: uppercase;}
.header .text small {color: #1f51fe; font-size: 1.7rem; padding-top: 1em; display: none;}
.home .header .text small {display: block;}
.header .text .green {text-align: right; letter-spacing: 4px; display: inline-block; height: 47px; font-weight: bold; white-space: nowrap; position: absolute; top: -2.5rem; left: 0;}


@media screen and (max-width: 1599px) {
.header .text .green:before {background: url("/media/img/homepage/plus_green47.svg") 50% 50% no-repeat;
  content: "";
  display: block;
  width: 47px;
  height: 47px; margin-left: -45px; margin-top: -14px;
  float: left; position: relative; left: -25px;}
}
@media screen and (min-width: 1600px) {
.home .header .text .green {position: absolute; top: 13rem; left: -6rem; transform: rotate(-90deg);}
.home .header .text .green:after {background: url("/media/img/homepage/plus_green47.svg") 50% 50% no-repeat;
  content: "";
  display: block;
  width: 47px;
  height: 47px; margin-left: 25px; margin-top: -14px;
  float: right;}
.header .text .green:before {background: url("/media/img/homepage/plus_green47.svg") 50% 50% no-repeat;
  content: "";
  display: block;
  width: 47px;
  height: 47px; margin-left: -45px; margin-top: -14px;
  float: left; position: relative; left: -25px;}
.home .header .text .green:before {display: none;}
}



.mid {position: relative;}
.clear {clear: both; height:0px;}
.centercolumn {float: left; width: 73%;}
.rightcolumn {float: right; width: 23%; position: relative; padding: 0 0 3rem 2rem; border-left: 1px dashed #b4b4b4;}

@media screen and (max-width: 1023px) {
.centercolumn {float: none; width: 100%;}
.rightcolumn {float: none; width: 100%;}
.rightcolumn .title::after {margin: 0px 0 3em 0;}
}



/* Menu --------------------------------------*/
#menu-checkbox {display: none;}
.tm {z-index: 1100; width: calc(100% - 630px); position: absolute; top: 22px; left: 530px;}
.home .tm {z-index: 1005;}
.tm nav { display: inline-block;}
.tm li {list-style: none;}
.tm a {text-decoration: none; color: #fff;}

.tm .ul1 {position: relative; display: block; text-align: left;}
.tm .li1 {transition: all 0.3s linear; display: inline-block; text-align: left; position: relative;}
.tm .li1 > a {transition: none; font-size: 1.5rem; display: block; position: relative; padding: 0 20px; line-height: 2em;}
.tm .li1:hover, .tm .li1:focus {color: #37f713;}
.tm .li1 a:before {transition: all 0.3s linear; margin: 7px;
  width: 5px;
  height: 5px;
  border: 1px solid #37f713;
  display: inline-block;
  content: '';
}
.tm .li1:hover > a {background: #1f51fe; /*color: #37f713;*/}
.tm .li1:hover > a:before {background: #37f713;}

.tm .ul2 {min-width: 450px; overflow: hidden; transition: all 0.3s linear; display: none; background: #1f51fe; position: absolute; top: 48px; left: 0; right: 0; text-align: left; z-index: 1000;}
.tm .li1:hover .ul2 {display: block;}
.tm .li2 > a {overflow: hidden; padding: 12px 30px 12px 41px; display: block; line-height: normal; position: relative;}
.tm .li2 a:before {transition: all 0.3s linear;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 10px; /*margin-top: -11px;*/
  left: 5px;
  display: block;
  content: '\2192';
}

.tm .li2 > a:hover {padding: 12px 20px 12px 51px; color: #fff; background: rgba(0,0,0,0.2);}
.tm .li2 > a:hover:before {left: 12px;}
/*
.tm .li1:nth-child(5) .ul2 { min-width: 250px;}
*/


@media screen and (max-width: 1400px) {
.tm {width: calc(100% - 400px); font-size: 1.2rem; position: fixed;}
#main-menu .li1 {display: block;}

#main-menu {transition: all 0.3s linear; width: 75%; position: fixed; top: 125px; right: 0; z-index: 1111; padding: 30px; background: #1f51fe; transform: translateX(100vw);}
#main-menu .li1 {display: block;}
.tm .li1 {padding-bottom: 1em; page-break-inside: avoid; }
.tm .li1:before {background: none;}
.tm .li1 > a {transition: all 0.3s linear; padding: 0 1rem 0 0; display: inline-block; font-size: 1.1em;}
.tm .li1:hover > a {background: rgba(0,0,0,0.2);}
/*
.tm .li1 a:before {border: 1px solid #fff;}
.tm .li1:hover > a:before {background: #000; border-color: #000;}
*/

.tm .ul2 {background: none; font-size: 1.2rem; padding-left: 50px;
  position: relative;
  display: block;
  top: 0;
}
.tm .li2 {display: inline-block; position: relative;}

.toggle-button {z-index: 1111;
    position: fixed;
    top: 50px;
    right: 0;
    text-align: center;
    width: 80px; height: 80px;
    display: inline-block;
    cursor: pointer;
    color: #fff;
}
.toggle-button:after {content: attr(data-open); display: block; line-height: 80px; text-align: center; font-size: 1.8rem;}
#menu-checkbox:checked + nav .toggle-button:after {content: attr(data-close); color: #fff; background: #1f51fe;}
#menu-checkbox:checked + nav #main-menu {transform: translateX(0);}
}
@media screen and (max-height: 500px) {
#main-menu {display: grid; grid-template-columns: 1fr 1fr;}
.tm .ul2 {display: none;}
}

@media screen and (max-width: 1023px) and (orientation:portrait) {
/*#main-menu {width: 95vw;}*/
}

.footer {color: #fff; padding: 5rem 0 3rem 0; background: #000;}
.footer .left {width: 65%; float: left; position: relative; display: flex; align-items: flex-start;}
.footer .right {width: 33%; float: right; position: relative;}
.footer .logo {width: 145px; display: inline-block; position: relative;}
.footer .address, .footer .phone {padding: 0 4rem 2rem 0;}
.footer .green:before {width: 15px; height: 15px; position: absolute; top: 5px; left: 0; background: #37f713; display: inline-block; content: "";}
.footer .phone a {color: #fff;}
.footer .phone p {margin-bottom: 1em;}
.footer .phone p:before,
.footer .maplink a:before {width: 15px; height: 15px; margin: 0 0.5em -2px 0; background: #1f51fe; display: inline-block; content: "";}
.footer .maplink {float: right; line-height: 47px;}
.footer .maplink a {color: #afafaf; disply: inline-block;}
.footer .maplink a:hover {color: #1f51fe;}
.footer .ul1 {font-size: 0.9rem; padding-bottom: 2em;}
.footer .ul1 li {list-style: none;}
.footer .li1 {transition: all 0.3s linear; position: relative; display: inline-block;}
.footer .li1 a {color: #fff; display: inline-block; position: relative; padding: 5px 20px 5px 25px; text-transform: uppercase; text-decoration: none; position: relative;}
.footer .li1 a:hover:before { transform: scale(3); background: #37f713;}

.footer .li1 a:before {transition: all 0.3s linear; transform: scale(1); background: #fff;
  width: 4px;
  height: 4px;
  position: absolute;
  top: 50%; margin-top: -2px;
  left: 0px;
  display: block;
  content: "";
}

.footer .ul2 {display: none;}

.footer .bot {padding: 3rem 0 5rem 0;}
.footer .bot .width {display: block;}
.footer .copy {float: left; color: #ccc; display: inline-block; margin-left: 145px;}
.footer .copy:before {content: "\00A9"; padding-right: 0.5em;}

.footer .ray {text-align: right; font-size: 0.85em; float: right;}
.footer .ray a {color: #bdbdbd; opacity: 0.6; letter-spacing: 1px; border-bottom: 1px dashed #888; text-decoration: none;}
.footer .ray a:hover {color: #fff; opacity: 1; border-bottom: none;}

@media screen and (max-width: 1024px) {
.footer .left,
.footer .right {width: 100%;}
}

.content .videolink a {margin-left: -1rem; color: #fff; text-transform: uppercase; font-family: fonts; font-size: 0.9rem; letter-spacing: 2px; background: #cba174; padding: 1rem 3.5rem 1rem 3.2rem; border-radius: 1.1rem; text-decoration: none; display: inline-block; position: relative;}
.content .videolink a:hover {background: #006e78;}
.content .videolink a:before {
  background: url(/im/arrow_play.png) 50% 50% no-repeat;
  background-size: cover;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%; margin-top: -7px;
  left: 1.2rem;
  display: block; content: "";
  }
.content .videolink a:after {
  background: url(/im/arrow_white.svg) 50% 50% no-repeat;
  background-size: cover;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%; margin-top: -5px;
  right: 1.5em;
  display: block; content: "";
  }
/*.content p {line-height: 1.5em;}*/
.content img {max-width: 100%; height: auto !important;}

.content table {margin: 1.5em 0; max-width: 100%;}
.content table, table th, table td {border-spacing: 1px; border-collapse: separate; border: none;} 
.content table td {padding: 0.7em 0.7em 0.4em 0.7em; position: relative;}
.content table td:after {border-top: 1px dotted #66cc66; content: ""; width: 100%; height: 1px; position: absolute; bottom: 0; left: 0;}
.content table th {position: relative; color: #fff; background: #66cc66; padding: 0.8em 1em 0.6em 1em; font-weight: 400; font-size: 0.9em;}
.content table.noborder, .content table.noborder td, .content table.noborder th, .content table.noborder td:after {border: none;}
.content td p, .content th p {padding: 0;  line-height: normal;}
.content td p img {margin: 0;}
.content table ul {padding-bottom: 0.5em;}


.path {font-size: 0.9rem; padding: 13px 0 2rem 0; margin-left: -0.5em;}
.path, .path a {color: #a4a4a4; text-decoration: none;}
.path a, .path span {padding: 0 0.5em; display: inline-block; vertical-align: top;}
.path a:hover {color: #1f51fe;}

.content ul, .content ol {padding: 0.5rem 0 1rem 0;}
.content ul li {list-style-type: none; margin: 0 0 1em 0; padding-left: 30px; position: relative;}
.content ul li:before {width: 15px; height: 15px; background: url("/im/arrow_right.svg") no-repeat 50% 50%; background-size: contain; content: ''; display: block; position: absolute; top: 6px; left: 0;}
.content .ul1 li:before {color: #37f713;}

.content ol {margin-left: 3rem;}
.content ol li {margin: 0 0 0.8em 0;}

.codevideo {
  width: 100%;
  position: relative;
  padding-bottom: 40.8%;
}
/*
.codevideo {width: 100%; position: relative; padding-bottom: 56.25%; /* ratio 16/9 */}
.codevideo iframe {border: none; position: absolute; width: 100%; height: 100%; top: 0; left: 0;}
.codevideo video,
.codevideo img {max-width: 100%; height: auto;}
*/

.list {margin-left: 0px !important; vertical-align: top;}
.list a {margin: 1.5em 3em 1em 0; text-align: left; display: inline-block; vertical-align: top; position: relative; width: 28%; text-decoration: none;}
.list a .pict {transition: all 0.2s linear; outline: 1px solid rgba(255,255,255,1); outline-offset: 3px; display: block; position: absolute; z-index: 2; top: 0; left: 0px; width: 110px; height: 110px; overflow: hidden;}
.list a .pict img {width: 100%; height: 100%;}
.list a .pict .nopic {display: block; width: 100%; height: 100%;}
.list a .text {/*color: #006e78;*/ display: block;}
.list .anons {display: block; color: #000; line-height: 1.5em; font-size: 0.9em;}
.list .name {color: #000; font-size: 1.5rem; position: relative; padding-bottom: 15px; margin-bottom: 10px; display: block; min-height: 110px;}

.list a:hover .name {color: #1f51fe;}
.list a:hover .name:before {height: 100%;}
.list a:hover .name:after {top: 0; margin-top: 0px;}
.list a:hover .pict {outline: 1px solid rgba(255,255,255,0.7); outline-offset: -10px;}


.list.size1 a .text,
.list.size2 a .text {margin: 0 0px 0 125px;}
.list.size1 a .pict .nopic,
.list.size2 a .pict .nopic {background: url(/im/nopic_list.png); background-size: cover;}

.list.size2 {display: grid; gap: 5em; grid-template-columns: 1fr 1fr; grid-template-rows: auto;}
.list.size2 a {width: 100%;}

.listlinks {text-transform: uppercase; padding-bottom: 2.5rem;}
.listlinks a {font-size: 1.3em; color: #000; font-family: 'fonts-reg'; /*letter-spacing: 1px;*/ display: inline-block; padding-right: 10px; position: relative; text-decoration: none; margin: 0 1.5em 1em 0;}
.listlinks a:after {
width: 15px; height: 15px; background: url("/im/arrow_right.svg") no-repeat 50% 50%; background-size: contain; content: ''; 
  margin-left: 0.5rem;
  display: inline-block;
}
.listlinks a:hover {color: #1f51fe;}

@media screen and (max-width: 1279px) {
.list.size2  {display: block;}
.list.size2 a { padding-bottom: 3em;}
.list a {width: 47%;}
.list a:nth-child(2n) {margin-right: 0;}
}

@media screen and (max-width: 1279px) and (orientation:portrait) {
.list a {width: 100%;}
}

.album {margin-top: 2rem;}
.album a {display: inline-block; vertical-align: top; width: 320px; min-height: 180px; position: relative; text-decoration: none; margin: 0 2rem 2rem 0;} 
.album a i {display: block; position: relative; overflow: hidden;}
.album a i .sign {font-size: 0.7em; color: #fff; padding: 0.2em 0.5em; background: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.3), rgba(0,0,0,0.3), rgba(0,0,0,0.3)); /*background: rgba(0,0,0,0.3);*/ position: absolute; bottom: 0; right: 0; display: inline-block;}
.album a i img {width:320px; height: 180px; display: block;}
.album a .name {padding-top: 8px; display: block; font-size: 0.8em; position: relative; line-height: normal;}
.centercolumn .album a {margin: 0 1.5rem 1.5rem 0;}

/*
.album i:before {transition: all 0.3s linear; background: #ff4444; width: 0; height: 1px; z-index: 2; position: absolute; bottom: -1px; left: 0; display: block; content:"";}
.album a i:after {transition: all 0.3s linear; background: url(/im/arr_right.svg) 0 0 no-repeat; background-size: cover; width: 15px; height: 15px; position: absolute; bottom: -8px; left: 0; display: block; content:"";}
.album a:hover i:before {width: 100%;}
.album a:hover i:after {left: 96%;}
*/

.toTop {transition: all 0.3s linear;
width: 60px;
height: 60px; 
background: url("/im/arrow_up_w.svg") no-repeat 50% 50% #1f51fe; margin: 1rem;
outline: 1px solid #fff;
outline-offset: 3px;
position: fixed; z-index: 998;
bottom: 0;
right: 0px;
cursor: pointer;
display: none;
color: #fff;
}
.toTop:hover {background-color: #37f713; outline: 1px solid #37f713;}



 /* Search
-----------------------------------------------------------------------------*/
.footer .search {width: calc(100% - 140px); line-height: 47px; height: 47px; float: left;}
.footer .search input {position: relative; width: calc(100% - 47px); height: 47px; color: #fff; background: none; padding: 0 1em; outline: 0; border: 1px solid #1f51fe; float: left;}
.footer .search input::placeholder {line-height: 47px; color: #afafaf; font-size: 0.8em; text-transform: uppercase;}
.footer .search input:focus {border-color: #37f713; box-shadow: 0 0 40px #37f713;}
.footer .search a {width: 47px; height: 47px; position: relative; display: block; float: left;}
.footer .search a:after {content:""; position: absolute; z-index: 1; top: 0; left: 0; display: block; width: 100%; height: 100%; background: url("/media/img/homepage/plus_blue.svg") 50% 50% no-repeat;}


.content .search {position: relative;}
.content .search input {font-size: 1.5em; line-height: 35px; width: 100%; margin: 0 0 20px 0; border: 1px solid #a4a4a4; padding: 10px; box-sizing: border-box; outline: 0;}
.content .search a {display: block; width: 25px; height: 25px; margin: 15px; position: absolute; top: 0; right: 0; text-decoration: none; background: url("/im/search.svg") 0 0 no-repeat; background-size: cover;}
.content .search input:focus {box-shadow: inset 0 0 10px rgba(0,0,0,0.1);}

.search-num {margin: 0 0 20px 0; font-style: italic; font-size: 0.8rem; color: #a4a4a4;}


.search-result {margin-bottom: 20px;}
.search-result span, .search-result a {display: block; line-height: 1.5rem;}
.search-result .num {float: left; font-size: 0.7em; color: #a4a4a4; margin-top: 3px;}
.search-result .date {float: left; width: 80px; margin: 0 20px 0px 10px; font-size: 0.8em; padding: 3px 10px; box-sizing: border-box;}
.search-result .title {font-family: 'fonts'; font-size: 1.1em;}
.search-result .gray {font-size: 0.8em;}




/*------Animate-Scroll--------*/
@keyframes move-up {
    from {transform:translateY(50px); opacity: 0;}
    to   {transform:translateY(0); opacity: 1;}
}
@keyframes move-down {
    from {transform:translateY(-50px); opacity: 0;}
    to   {transform:translateY(0); opacity: 1;}
}
@keyframes move-right {
    from {transform:translateX(-50px); opacity: 0;}
    to   {transform:translateX(0); opacity: 1;}
}
@keyframes move-left {
    from {transform:translateX(50px); opacity: 0;}
    to   {transform:translateX(0); opacity: 1;}
}
@keyframes opacity {
    from {opacity: 0;}
    to   {opacity: 1;}
}
@keyframes scalew {
    from {width: 0%;}
    to   {width: 100%;}
}
@keyframes air {
    from {transform:translate(-60px, 45px);}
    to   {transform:translate(0);}
}

/* HOME
-----------------------------------------------------------------*/
.home .grid_w {background: url(/im/grid.png) 50% 0 repeat transparent;}
/*
.home h2, .footer h2 {font-family: fonts-bold; font-size: 4rem; font-weight: 600; line-height: 1.1em; margin-bottom: 55px; display: inline-block;
   background: linear-gradient(to right, #9dc4e8 3%, #fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
*/

/* Slider */
.slick-slider {
   position: relative;
   display: block;
   box-sizing: border-box;
}
.slick-list {
   position: relative;
   display: block;
   overflow: hidden;
   margin: 0;
   padding: 0;
}
.slick-list:focus {
   outline: none;
}
.slick-list.dragging {
   cursor: pointer;
}
.slick-slider .slick-track, .slick-slider .slick-list {
   transform: translate3d(0, 0, 0);
}
.slick-track {
   position: relative;
   top: 0;
   left: 0;
   display: block;
}
.slick-track:before, .slick-track:after {
   display: table;
   content: '';
}
.slick-track:after {
   clear: both;
}
.slick-loading .slick-track {
   visibility: hidden;
}
.slick-slide {
   display: none;
   float: left;
   height: 100%;
   min-height: 1px;
}
[dir='rtl'] .slick-slide {
   float: right;
}
.slick-slide img {
   display: block;
}
.slick-slide.slick-loading img {
   display: none;
}
.slick-slide.dragging img {

}
.slick-initialized .slick-slide {
   display: block;
}
.slick-loading .slick-slide {
   visibility: hidden;
}
.slick-vertical .slick-slide {
   display: block;
   height: auto;
   border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
   display: none;
}

/* Dots */
/*
.slider .slick-dots li button {display: none; color: #fff; opacity: 0.3; font-size: 0.8rem; position: relative; top: -10px;  text-align: center; border: none; background: none;}
.slider .slick-dots li button:active,
.slider .slick-dots li button:focus {outline: none;}
.slider .slick-dots li button:-moz-focus-inner { border: 0;}

.slider .slick-dots li:after {transition: all 0.3s ease; transform: scale(1); width: 8px; height: 8px; background: #fff; margin: -4px; position: absolute; top: 50%; left: 50%; content: "";}
.slider .slick-dots li.slick-active:after {background: #37f713; transform: scale(2);}
*/

/*------ main-slider ------*/
.mainslider .codevideo {margin-top: -100px; width: 100%; position: relative; padding-bottom: 56.25%; /* ratio 16/9 */}
.mainslider .codevideo video,
.mainslider .codevideo img {border: none; position: absolute; top: 0; left: 0; width: 100%; max-width: 100%; height: auto; filter: grayscale(100%);}

.mainslider {max-width: 100%; max-height: 970px; overflow: hidden; background: #000; position: relative; line-height: 0;}
.mainslider .upp {position: absolute; top: 0; left: 0; z-index: 1001; width: 100%; height: 100%; background: url("/im/sl_upp.png") no-repeat 50% 0; background-size: cover;}
.mainslider .grid {position: absolute; top: 0; left: 0; z-index: 1002; width: 100%; height: 100%; background: url("/im/grid_w.png") 50% 0 repeat transparent;}
.mainslider .text {line-height: normal; position: absolute; bottom: 10%; left: 7%; width: 70%; z-index: 1004;}
.mainslider .text .green {color: #37f713; font-size: 4rem; font-family: 'fonts-reg';}
.mainslider .text p {background: #000; color :#fff; font-size: 2.7rem; line-height: 3.7rem; display: inline; padding: 0;}
.mainslider .text p:after {height: 1px; display: block; content:'';}

.mainslider .text .link {margin-top: 2rem; display: inline-block; padding: 0 22px; color: #fff; text-decoration: none; line-height: 50px; background: #1f51fe; position: relative;}
.mainslider .text .link:after {position: absolute; right: -50px; top: 0; width: 50px; height: 50px;
  background: url(/media/img/homepage/plus_blue.svg) 50% 50% no-repeat;
  margin-left: 1em;
  display: inline-block; content:'';
}
.mainslider .text .link:hover {background: #66cc66;}
.mainslider .text .link:hover:after {filter: brightness(1000%);}

.mainslider .slide {
   width: 100%; 
   position: relative;
}
.mainslider .frame {
   width: 100%;
   overflow: hidden;
   position: relative; 
   top: 0; 
   left: 0; 
}
.mainslider .frame,
.mainslider .slick-slider,
.mainslider .slick-list,
.mainslider .slide {height: auto;}

.mainslider .slick-dots {height: 60px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;
  width: 45%;
  border-top: 1px dashed rgba(255,255,255,0.5);
   position: absolute; z-index: 1010;
   right: 0; 
   list-style: none;
   text-align: center;
   bottom: 6%;
}
.mainslider .slick-dots li {width: 100%; height: 100%; position: relative; cursor: pointer; display: inline-block;}

.mainslider .slick-dots li:before {transition: all 0.5s ease-out; width: 0%; height: 1px; background: #37f713; /*margin: -1px;*/ position: absolute; top: 0; left: 0; content: "";}
.mainslider .slick-dots li:after {transition: all 0.3s linear; background: #fff; box-shadow: 0px 0px 20px rgba(55,247,19,0.9); outline: 1px solid rgba(255,255,255,0); outline-offset: 0px; position: absolute; top: 0; left: 0; width: 12px; height: 12px; margin: -6px; content: "";}

.mainslider .slick-dots li.slick-active:before {width: 85%;}
.mainslider .slick-dots li.slick-active:after {background: #37f713; outline: 1px solid rgba(255,255,255,1); outline-offset: 4px;}
.mainslider .slick-dots li button {display: none; /*display: block !important; font-size: 3rem; opacity: 0.4; margin: 1rem 0 0 -0.7rem; transition: all 0.3s linear;*/}


.mainslider:after {background: #37f713; position: absolute; top: 33%; right: 0; z-index: 1001; width: 8px; height: 70px; display: block; content: '';}
.mainslider:before {background: #fff; opacity: 0.5; position: absolute; top: 31%; right: 2%; z-index: 1001; width: 3px; height: 180px; display: block; content: '';}

.mainslider .brain {width: 250px; position: absolute; top: 35%; right: 5%; z-index: 1001; border: 1px solid #37f713; padding: 20px; box-shadow: 0 0 20px rgba(55,247,19,0.2);
  display: flex; justify-content: center; align-items: center;}
.mainslider .brain:before {background: #1f51fe; position: absolute; top: 0; left: -12px; width: 4px; height: 45px; display: block; content: '';}
.mainslider .brain:after {background: #fff; opacity: 0.1; position: absolute; top: -10px; left: -90px; width: 15px; height: 400px; display: block; content: '';}

.mainslider .brain .hud {position: absolute; top: 0; left: 10%; width: 80%; height: 93%; border-bottom: 25px solid rgba(255,255,255, 0.15);}
.mainslider .brain .hud:before {background: #37f713; position: absolute; top: 25px; left: 0; width: 30px; height: 8px; line-height: 8px; padding: 0 20px 0 10px; display: inline-block; content: '11010011001'; font-size: 0.5rem; color: #000;}
.mainslider .brain .hud:after {background: #fff; opacity: 0.3; position: absolute; top: 25px; left: 70px; width: 50px; height: 8px; line-height: 8px; padding: 0 20px 0 10px; display: inline-block; content: '01001001'; font-size: 0.5rem; color: #000;}
.mainslider .brain img {margin: 30px 0;}


@media screen and (max-width: 1400px) {
.home .header .text small {display: none;}
.header .text big {font-size: 2rem;}
.header .demolink {top: -170px; right: 40px; padding: 0 15px; line-height: 35px; font-size: 1rem;}
.header .demolink:after {right: -45px; top: -4px; width: 40px; height: 40px;}
.header .text .green:before {width: 35px; height: 35px; margin-top: -12px; left: 0;}

.mainslider .brain {top: 20%; right: 3%; transform: scale(0.5);}
.mainslider .slick-dots {bottom: 3%;}
.mainslider .text .link {margin-top: 1rem; padding: 0 15px; line-height: 35px;}
.mainslider .text .link:after {right: -40px; top: 2px; width: 30px; height: 30px;}
.mainslider .text .green {font-size: 2rem;}
.mainslider .text p { font-size: 1.5rem; line-height: 2rem;}
}

/*---NewsHome----*/
.newsblock {
	margin-top: 15px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-row-gap: 15px;
	grid-column-gap: 15px;
}
.newsblock .news-item {
	background-size: cover;
	position: relative;
	min-height: 250px;
}

.newsblock .news-item:nth-child(1){
	grid-column-start: 1;
	grid-column-end: 3;
	grid-row-start: 1;
	grid-row-end: 3;
	min-height: 500px;
}

.newsblock .news-item:nth-child(3){
	grid-row: 2;
}
.newsblock .news-item .upp.nopic {background: #000;}
.newsblock .news-item .upp {
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0));
}
/*.newsblock .news-item:nth-child(2) .upp, */
.newsblock .news-item:nth-child(5) .upp {background: #66cc6e;}

.newsblock .news-item .date {pointer-events: none; font-size: 1.2rem; color: #fff; position: absolute; top: 0; left: 0; display: inline-block; padding: 5% 6%;}


.newsblock .news-item .title {pointer-events: none; position: absolute; bottom: 0; left: 0; padding: 5% 6%; color: #fff; font-family: 'fonts-reg'; font-size: 1.33rem; line-height: 1.2em;}

.newsblock .news-item:nth-child(1) .title {padding: 4%; font-size: 2rem; border: 1px solid #fff; margin: 18px;}
.newsblock .news-item:nth-child(1) .date {font-size: 1.8rem; padding: 4%; margin-left: 18px;}

.newsblock .news-item .link {transition: 0.3s; opacity: 0; background: #1f51fe; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 0; text-decoration: none;}
.newsblock .news-item .link:hover {opacity: 1;}
.newsblock .news-item .title:after {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 9px;
  width: 18px;
  height: 18px;
  background: #37f713;
  display: block;
  content: '';
}
.newsblock .news-item:nth-child(1) .title:after { margin: -9px;}

.newsblock .news-item {opacity: 0; transform:translateY(50px);}
.active .newsblock .news-item {animation: move-up ease-in-out 0.6s forwards;}
.newsblock .news-item:nth-child(2) {animation-delay: 0.3s;}
.newsblock .news-item:nth-child(3) {animation-delay: 0.6s;}
.newsblock .news-item:nth-child(4) {animation-delay: 0.9s;}
.newsblock .news-item:nth-child(5) {animation-delay: 1.2s;}




.home .newslink {padding: 50px 0; text-align: right; padding-right: 40px;}
.home .newslink a {display: inline-block; padding: 0 22px; color: #fff; text-decoration: none; line-height: 50px; background: #1f51fe; position: relative;}
.home .newslink a:after {position: absolute; right: -50px; top: 0; width: 50px; height: 50px;
  background: url(/media/img/homepage/plus_blue.svg) 50% 50% no-repeat;
  margin-left: 1em;
  display: inline-block; content:'';
}
.home .newslink a:hover {background: #66cc66;}



@media screen and (max-width: 1200px) { 
.newsblock {grid-template-columns: 1fr 1fr;}
.newsblock .news-item:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 1;
    min-height: 500px;
}
}

/*---NewsHome-END---*/


/* NewsList
-----------------------------------------------------------------------------*/
.newsitem {position: relative;}
.newsitem .date {color: #a4a4a4; margin: 1em 0;}
.newsitem .titlepage {margin: 0 0 1.5em 0;}
.newsitem .signnews {color: #a4a4a4; padding: 1em 0; font-style: italic;}
.newsitem .codevideo {margin-bottom: 2rem;}

.newslist {margin: 0 0 2.5rem 0; position: relative; width: 100%; min-height: 150px;}
.newslist .link {padding: 0px 15px 15px 0px; display: block; text-decoration: none; position: relative; box-sizing: border-box; width: 100%;}
.newslist .link .pict {transition: all 0.2s linear; overflow: hidden; background: #a4a4a4; outline: 1px solid rgba(255,255,255,1); outline-offset: 1px; position: absolute; display: inline-block; top: 0; left: 0;}
.newslist .link .pict img {display: block; width: 200px; height: auto;}
.newslist .link .pict:after {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 5px;
  width: 12px;
  height: 12px;
  background: #37f713;
  display: block;
  content: '';
}
.newslist:nth-child(even) .link .pict:after {background: #1f51fe;}
.newslist .link .title {transition: all 0.3s linear; color: #000; display: block; font-size: 1.5rem; font-family: 'fonts-reg';}
.newslist .link .title:before {position: absolute; top: -20px; left: -15px;
width: 31px;
  height: 31px;
  background: url(/media/img/homepage/plus_green.png) 50% 50% no-repeat;
 /* margin: -5px 0 -20px -23px;*/
  display: block;
  content: '';
}
.newslist .link:hover .title {color: #66cc6e;}
.newslist .link:hover .pict {outline: 1px solid rgba(255,255,255,0.7); outline-offset: -10px;}
.newslist .link .date {color: #a4a4a4; font-size: 0.9rem; padding: 0.5em 0; display: block;}
.newslist .anons {font-size: 0.9em; display: block; line-height: 1.3em;}
.newslist .text {margin-left: 220px; padding-left: 20px; min-height: 110px; display: block; position: relative;}

.newslast .date {color: #ababab; margin: 2rem 0 0.5rem -2.1rem; padding-left: 1.9rem; position: relative;}
.newslast .title {margin: 0rem 0 2.5rem 0; display: block; color: #000; line-height: 1.3em; text-decoration: none;}
.newslast .title:hover {color: #1f51fe;}

.newsarchive h4 {position: relative; margin-left: -2.1rem; padding-left: 1.9rem; padding-bottom: 0;}
.newsarchive h4:before {width: 10px; height: 10px; background: #37f713; position: absolute; top: 20%; left: -4px; display: block; content: "";}
.newsarchive .year {margin: 2rem 0 1rem -2.1rem; padding: 0 0 0.3rem 1.9rem; font-size: 1.5rem; position: relative;}
.newsarchive .year:before,
.newslast .date:before {outline: 1px solid #b4b4b4; outline-offset: 3px; width: 10px; height: 10px; background: #1f51fe; position: absolute; top: 20%; left: -4px; display: block; content: "";}
.newsarchive a {transition: all 0.1s linear; display: inline-block; padding: 0.2em 0.9em; line-height: 1.5em; background: none; color: #66cc6e; border: 1px solid #66cc6e; margin: 0px 1em 1em 0; text-decoration: none; font-size: 1.1rem;}
.newsarchive a:hover {color: #fff; background: #1f51fe; border-color: #1f51fe;}
.newslast:nth-child(odd) .date:before {background: #37f713;}

.signnews {color: #ababab; font-style: italic;}


/* Video
-----------------------------------------------------------------------------*/
.popup-video {position: fixed; top: 0; left: 0; z-index: 1500; width: 100%; height: 100%;}
.popup-video.visible {display: block;}
.popup-video.invisible {display: none;}
.popup-video .wrapper {position: fixed; top: 0; left: 0; z-index: 2002; width: 100%; height: 100%; overflow: hidden;}
.popup-video .wrapper .container {animation: height 0.5s 1 forwards; transform: translate(-50%,-50%); height: 0%; width: 100%; background: rgba(0,0,0,0.9); position: absolute; top: 50%; left: 50%; display: block;}
@keyframes height {
  0% {height: 0%;}
  100% {height: 100%;}
}
/*.popup-video .wrapper.active .container {height: 100%;}*/
.popup-video .wrapper .wrapper2 {
    display: block;
    position: absolute;
    margin: 0;
    padding: 0;
    text-align: center;
    top: 50%;
    left: 50%;
    width: 75%;
    height: auto; transform: translate(-50%,-50%);
}
.popup-video.visible .wrapper .codevideo,
.popup-video.visible .close {animation: opacity 0.3s 0.5s 1 forwards; opacity: 0;}
@keyframes opacity {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
.popup-video .close {display: block; width: 70px; height: 70px; background: url(/im/plus.svg) 50% 50% no-repeat #cba174; transform: rotate(45deg); background-size: 26px 26px; margin: 2.5em; position: absolute; top: 0; right: 0; border-radius: 50%; cursor: pointer;}



/* HomeBlocks
-----------------------------------------------------------------------------*/
.demo {color: #fff; height: 400px; background: url(/media/img/homepage/demoblock_bg.jpg) no-repeat #032d4f; background-position: 50% 100%; background-size_: cover; position: relative; transition: all 0.7s linear;}
.demo .text {text-align: center; display: block; width: 100%; color: #fff; text-decoration: none; position: absolute; top: 30%; left: 0;}
.demo .text big {font-size: 3.3rem; padding-top: 5rem; transition: all 0.4s linear;}
.demo .em1 {display: inline-block; width: 2rem; height: calc(100% - 2rem); margin: 1rem; border-top: 1px solid #fff; border-bottom: 1px solid #fff; opacity: 0; transition: all 0.9s linear;}
.demo .em2 {display: inline-block; width: calc(100% - 2rem); height: 2rem; margin: 1rem; border-left: 1px solid #fff; border-right: 1px solid #fff; opacity: 0; transition: all 0.7s linear; position: absolute; top: 0; left: 0;}
.demo.active .em1 {opacity: 0.7; width: calc(100% - 2rem);}
.demo.active .em2 {opacity: 0.7; height: calc(100% - 2rem);}
.demo.active {background-position: 50% 50% !important;}

.demo .link {z-index: 2; margin-top: 2rem; font-size: 1.5rem; display: inline-block; padding-left: 40px; color: #fff; text-decoration: none; line-height: 60px; background: #1f51fe; position: relative;}
.demo .link:after {display: block; float: right; width: 60px; height: 60px; margin: 0 20px 0 30px;
  background: url(/media/img/homepage/plus_white.svg) 50% 50% no-repeat;
  margin-left: 1em;
  display: inline-block; content:'';
}
.demo .link:hover {background: #66cc66;}
.demo .link:hover:after {filter: brightness(1000%);}


@media screen and (max-width: 1800px) {
}
@media screen and (max-width: 1400px) {
/*
.header .logo {max-width: calc(100% - 100px);}
.width { width: 90%;}*/
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
}
@media screen and (max-width: 1024px) {

}


@media screen and (max-width: 767px) {
}