@keyframes animatePrism {
    0% {
        transform: translateY(0);
        opacity: 1
    }

    50% {
        transform: translateY(-3rem) scale(.96) scaleY(1.04) rotate(1deg) skew(-1deg);
        opacity: .2
    }

    to {
        transform: translateY(0) scale(1) scaleY(1) rotate(0deg);
        opacity: 1
    }
}

@keyframes animateBackground {
    0% {
        background-size: 140%;
        background-position: 0 0;
    }

    50% {
        background-size: 160%;
        background-position: -5rem -1rem;
    }

    to {
        background-size: 140%;
        background-position: 0 0;
    }
}

@keyframes floatBackground {
    0%,to {
        background-position: left 100%bottom 1.875rem
    }

    50% {
        background-position: left 100%bottom 3.125rem
    }
}

@keyframes floatBackgroundLeft {
    0%,to {
        background-position: left 1.875rem bottom 1.875rem
    }

    50% {
        background-position: left 1.875rem bottom 3.125rem
    }
}

:root {
    --accent: #00B52F;
    --gray: #f7f7f771;
    --color: #373A38;
    --bs-gutter-x: 1.875rem;
    --font: "Geologica", sans-serif;
}

.page-item.active .page-link {
    color: #fff !important;
    opacity: 1;
    font-weight: bold;
}

.section {
    overflow: hidden;
}

.row {
    --bs-gutter-x: 1.875rem;
}

html {
    min-height: 100%;
    font-size: 1vw;
}

body,html {
    overflow-x: hidden;
}

body.no-scroll {
    overflow: hidden;
}

body {
    font-family: var(--font);
    font-size: 1rem;
    color: #fff;
    background: #000;
}

body.padding-top {
    padding-top: 9rem;
    background: #fff;
    color: #000;
}

body.padding-top .header {
    padding-top: 4rem
}

@media (min-width: 1920px) {
    html {
        font-size: 16px;
    }
}

a {
    color: #3dd8b4;
    transition: all .3s ease;
}

a:hover {
    color: #fff;
}

blockquote {
    padding-left: 2rem;
    position: relative;
    margin: 2rem 0;
    opacity: .5;
}

blockquote:before {
    content: '"';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 3rem;
    line-height: 1;
    font-family: cursive;
}

.container {
    width: 75rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.row {
    display: flex;
    flex-wrap: wrap
}

.col-lg-2 {
    width: 16.666666666666664%
}

.col-lg-3 {
    width: 25%
}

.col-lg-4 {
    width: 33.33333333333333%
}

.col-lg-5 {
    width: 41.666666666666664%
}

.col-lg-6 {
    width: 50%
}

.col-lg-7 {
    width: 58.33333333333333%
}

.col-lg-8 {
    width: 66.66666666666666%
}

.col-lg-9 {
    width: 75%
}

.col-lg-10 {
    width: 83.33333333333333%
}

.col-lg-11 {
    width: 91.66666666666666%
}

.col-lg-12 {
    width: 100%
}

.offset-lg-1 {
    margin-left: 8.333333333333332%
}

img {
    max-width: 100%
}

.form-group {
    margin-bottom: 1.25rem
}

input[type=email],
input[type=tel],
input[type=text],
textarea {
    border: .0625rem solid var(--gray);
    height: 3.75rem;
    width: 100%;
    color: #fff;
    background-color: transparent
}

input[type=email],
input[type=tel],
input[type=text] {
    padding: .3125rem 1.25rem
}

.btn,textarea {
    padding: .625rem 1.25rem
}

textarea {
    height: auto
}

ul {
    padding-left: 1.25rem
}

.btn {
    border: .0625rem solid #000;
    color: #000;
    text-align: center;
    display: inline-flex;
    text-decoration: none;
    transition: all .3s ease;
    background-color: transparent;
    justify-content: center;
}

.btn--solid {
    background-color: #fff;
    color: #000;
    border-color: #fff
}

.btn:hover {
    background-color: #000;
    color: #fff
}

.is-invalid {
    border-color: red!important;
    color: red!important
}

.badge,.badge.sticky {
    position: absolute;
    top: 0;
    left: 0
}

.badge {
    writing-mode: sideways-lr;
    text-orientation: mixed;
    padding: .625rem;
    font-size: 1.5rem;
    white-space: nowrap;
    font-weight: 500;
    transition: top .3s ease
    text-transform: uppercase;
}

.badge.sticky {
    z-index: 100
}

.badge.sticky.end {
    position: absolute;
    bottom: 0;
    top: auto
}

.head {
    background-color: #000;
    color: #fff;
    padding: 8rem 0 2rem
}

.head h1 {
    font-size: 3.75rem;
    font-weight: 700;
    text-align: right;
    margin-bottom: 2rem
}

.head__text {
    font-size: 1.5rem;
    line-height: 1.1;
    font-weight: 100
}

.head__date {
    text-align: right;
    margin: 1rem 0;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding: 1.25rem 0;
    transition: all .3s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.header.sticky {
    background-color: rgba(0,0,0,.85);
    padding-top: 1.25rem!important;
}

.header.sticky .header__logo img {
    width: 9rem;
}

.media .item:hover .item__btn a:hover,body.padding-top .header.sticky {
    background-color: #fff
}

.header__controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 1.25rem;
    position: relative;
    z-index: 1000;
}

.header__controls a img {
    width: 1.5rem;
}

.header__burger {
    display: none;
    position: relative;
    z-index: 1000;
}

.header__burger span {
    display: block;
    width: 2rem;
    height: .2rem;
    background-color: #fff;
    margin-bottom: .5rem;
    transition: all .3s ease;
}

.header__burger span:last-child {
    margin-bottom: 0;
}

.header__burger.active span:first-child {
    transform: rotate(45deg) translate(0.4rem, .2rem);
}

.header__burger.active span:last-child {
    transform: rotate(-45deg) translate(.3rem, 0);
}

.header__logo {
    position: relative;
    z-index: 1000;
}

.header__logo img {
    width: 13rem;
    transition: all .3s ease;
}

.header__nav ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    gap: 0 2rem;
}

.header__nav ul li {
    white-space: nowrap;
    position: relative;
}

.header__nav ul li i {
    position: absolute;
    top: 0;
    right: -1.5rem;
    bottom: 0;
    display: block;
    z-index: 9999;
    margin: auto;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/chevron.svg) no-repeat center;
    background-size: 100%;
    transition: all .3s ease;
    opacity: .5;
}

.header__nav ul li a {
    text-decoration: none;
    color: #fff;
    opacity: .5;
    font-weight: 100;
    font-size: .875rem;
    letter-spacing: .05rem;
    text-transform: uppercase
}

.header__nav ul li.active a,
.header__nav ul li.active i,
.header__nav ul li a:hover,
.header__nav ul li:hover i,
.media .item__player-play:hover img {
    opacity: 1
}

.header.invert *,.media .item:hover .item__btn a:hover span {
    color: #000
}

.header.invert img,.header.invert svg {
    filter: invert(1)
}

.header__nav ul > li > ul {
    position: absolute;
    display: block;
    opacity: 0;
    width: 14rem;
    background: #000;
    padding: 1rem;
    left: -1rem;
    top: 1.5rem;
    transition: all .3s ease;
    transform: scaleY(0);
    transform-origin: top center;
}

.header__nav ul > li > ul > li > a {
    display: block;
    white-space: normal;
    text-transform: none;
    line-height: 1.4;
}
.header__nav ul > li > ul > li {
    margin-bottom: .5rem;
}
.header__nav ul > li > ul > li:last-child {
    margin-bottom: 0;
}
.header__nav ul > li:hover > ul {
    opacity: 1;
    transform: scaleY(1);
}
.header__nav ul > li:hover i {
    transform: scaleY(-1);
}

.hero {
    position: relative;
    height: 65rem;
    min-height: 37.5rem;
    overflow: hidden;
    background-color: #000;
    color: #fff;
}

.hero__controls {
    position: absolute;
    left: 0;
    right: 0;
    height: 100%;
    margin: auto;
    pointer-events: none;
    width: 75rem
}

.hero__controls .wrap {
    z-index: 10;
    position: absolute;
    top: 13rem;
    left: 0
}

.hero__controls button {
    display: block;
    pointer-events: all;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    background-color: #fff;
    opacity: .5;
    border: 0;
    margin-bottom: 1rem;
    transition: all .3s ease;
    transform: scale(.6);
}

.hero__controls .tns-nav-active,
.hero__controls button:not(.tns-nav-active):hover {
    opacity: 1;
    transform: scale(1);
}

.hero .item {
    position: relative;
    z-index: 10
}

.hero__animation {
    bottom: 0;
    right: 0;
    z-index: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.hero__animation,.hero__animation img {
    position: absolute
}

.hero__animation img:nth-child(1) {
    right: 20rem;
    bottom: 0;
    width: 31.25rem
}

.hero__animation img:nth-child(2) {
    right: 18rem;
    bottom: 0;
    width: 39.8125rem
}

.hero__animation img:nth-child(3) {
    right: 0;
    bottom: 0;
    width: 37.0625rem;
    height: 40rem;
}

.hero__animation img:nth-child(4) {
    right: 0;
    bottom: 0;
    width: 62rem
}

.hero__animation img:nth-child(5) {
    width: 48.75rem;
    bottom: -20rem
}

.hero .tns-inner,.hero .tns-inner .container,.hero .tns-inner .item,.hero .tns-outer,.hero .tns-outer .hero__slider,.hero .tns-ovh,.hero__slider {
    height: 100%
}

.hero__slider .container {
    padding-left: 5rem
}

.hero .hero__title {
    font-size: 7.5rem;
    margin-bottom: 8rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,.5);
    font-weight: 900
}

.hero .hero__text {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-bottom: 3rem;
    max-width: 38rem;
    text-transform: uppercase;
    font-weight: 100;
    text-shadow: 1px 1px 2px rgba(0,0,0,.5)
}

.hero .hero__link a {
    display: inline-block;
    background-color: rgba(0,0,0,.2);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    text-decoration: none;
    font-weight: 100;
    transition: all .3s ease;
    text-shadow: none;
    padding: 1rem 3rem
}

.hero .hero__link a:hover {
    background-color: #fff;
    border-color: #fff;
    color: #000;
}

.hero .container {
    flex-direction: column;
    padding-bottom: 10rem
}

.media {
    background: #fff;
    padding: 6.25rem 0 10.625rem;
}

.media * {
    color: #000;
}

.media .btn:hover span {
    color: #fff;
}

.media .tns-outer {
    margin-left: calc((100vw - 61rem)/2)
}

.hero .container,.media__title {
    display: flex;
    justify-content: flex-end
}

.media__title {
    font-weight: 500;
    align-items: center;
    gap: 3.125rem;
    font-size: 3.75rem
}

.media__items {
    margin-left: 7.5rem;
    margin-top: 5rem
}

.media .container,.media .item {
    position: relative
}

.media__smalltext,.media__text {
    font-size: 1.5rem;
    text-align: right;
    margin-top: 1.875rem;
    line-height: 100%
}

.media__smalltext {
    margin-top: 1.25rem;
    font-size: 1.125rem
}

.media__footer,.media__slider {
    margin-top: 3.125rem
}

.media .item {
    border-top: .0625rem solid #ddd;
    border-left: .0625rem solid #ddd;
    border-bottom: .0625rem solid #ddd;
    padding: 1.25rem;
    min-height: 28.125rem;
    transition: all .3s ease;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 9rem
}

.media .item__header {
    margin-top: 2rem
}

.media .item__btn {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem
}

.media .item__header-title {
    font-weight: 100
}

.media .item__player {
    position: relative;
    margin-top: 2rem
}

.media .item__player video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-height: 17rem
}

.media .item__player video+div {
    position: absolute;
    bottom: 1.5rem;
    left: 1rem
}

.media .item__player video+div+div {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%
}

.media .item__player-play {
    cursor: pointer;
    transition: all .3s ease;
    display: inline-block;
    margin-right: 1rem
}

.media .item__player-play:hover {
    transform: scale(1.1)
}

.media .item__player-play img {
    width: 3rem;
    height: 3rem;
    opacity: .8;
    transition: opacity .3s ease
}

.media .item__player-duration {
    display: block;
    height: .5rem;
    position: relative;
    background-color: #ddd;
    margin-top: 1.5rem
}

.media .item__player-duration div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(../img/range.png);
    background-size: cover;
    height: 100%;
    width: 0
}

.media .item-1,.media .item-2 {
    background-position: right bottom 1.875rem;
    animation: floatBackground 6s ease-in-out infinite;
    background-size: 18rem
}

.media .item-1 {
    background-position: right 1.4rem bottom 1.4rem
}

.media .item-2 {
    background-size: 16rem
}

.media .item-3,.media .item-4 {
    background-position: left 1.875rem bottom 1.875rem;
    animation: floatBackgroundLeft 6s ease-in-out infinite
}

.media .item-5 {
    background-position: right 1.4rem bottom 1.4rem
}

.media .item:hover {
    background-color: #000;
    border-color: #000
}

.media .item:hover *,.media .item:hover .item__btn a span {
    color: #fff
}

.media .item:hover .item__btn a {
    background-color: transparent;
    border: 1px solid #fff
}

.media .item__title {
    font-size: 2.25rem;
    font-weight: 100
}

.media .item__text {
    margin-top: 1.25rem;
    font-size: 1.125rem;
    line-height: 120%;
    font-weight: 100
}

.media .item__img {
    position: absolute;
    bottom: 1.875rem;
    left: 1.25rem
}

.media__footer {
    padding-left: 7.5rem
}

.media__footer-link:hover {
    color: #3dd8b4;
}

.dev__link a,.media__footer-link,.structure__link a {
    text-decoration: none;
    color: #000;
    font-size: 1.5rem;
    font-weight: 100
}

.media__footer-text {
    text-align: right;
    padding-left: calc(30% + 6.25rem);
    margin-top: 3.125rem;
    font-size: 1.5rem;
    line-height: 100%;
    font-weight: 200
}

.media__items .item {
    padding-bottom: 20rem;
    height: 100%
}

.structure {
    padding: 3.125rem 0;
    z-index: 2
}

.structure,.structure .container {
    position: relative
}

.structure__items,
.structure .item {
    position: relative;
}

.structure__items .item__link,
.structure .item__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.structure__text {
    padding-left: 7.5rem;
    font-size: 1.5rem;
    line-height: 120%;
    font-weight: 100;
    padding-right: 7.5rem
}

.structure__items {
    padding-left: 7.5rem;
    margin-top: 3.125rem
}

.structure__items .item .wrap {
    height: 100%;
    padding: 1.875rem;
    position: relative;
    color: #fff;
    border: .0625rem solid var(--gray);
    background-size: cover;
    animation: animateBackground 6s ease-in-out infinite;
    transition: opacity .5s ease;
    opacity: .75;
}

.structure__items .item:hover .wrap {
    opacity: 1;
}

.structure__items .item__play {
    position: absolute;
    width: 2.5rem;
    height: 2.5rem;
    bottom: 1.875rem;
    right: 1.875rem;
    background: url(../img/play.png)no-repeat center
}

.structure__items .item__title {
    font-size: 2.75rem;
    line-height: 100%;
    margin-top: 1.25rem;
    font-weight: 500
}

.structure__items .item__text {
    margin: 2.5rem 0 0 5.625rem;
    font-size: 1.125rem;
    line-height: 140%;
    font-weight: 100;
    width: 60%
}

.structure__items .item__img img {
    max-width: 5rem
}

.page-structure {
    background-color: #000
}

.page-structure .structure__items {
    margin-left: 0;
    padding-left: 0;
    padding-top: 5rem;
    margin-top: 0
}

.structure__link {
    margin-top: 1.875rem
}

.dev__link a,.structure__link a {
    color: #fff
}

.dev {
    padding: 6.25rem 0 4.6875rem;
    z-index: 3
}

.dev,.dev .container,.news {
    position: relative
}

.dev .item .wrap {
    border: .0625rem solid var(--gray);
    padding: 3.125rem 1.875rem 3.125rem 6.25rem;
    color: #fff
}

.dev .item__title {
    font-size: 3.75rem;
    line-height: 100%;
    font-weight: 500
}

.dev .item__num {
    font-size: 3.125rem;
    color: #fff;
    padding-left: 6.25rem
}

.dev .item__text {
    font-size: 1.125rem;
    line-height: 120%;
    font-weight: 100
}

.dev .item__img,.dev .item__text,.feedback button {
    margin-top: 1.875rem
}

.dev .item__img img {
    max-width: 10rem;
    max-height: 10rem;
    animation: animatePrism 6s ease-in-out infinite;
}

.news {
    padding: 6.25rem 0;
    z-index: 6
}

.dev__link {
    margin-top: 2.5rem;
    padding-left: 19rem
}

.dev__link a {
    transition: all .5s ease;
}

.dev__link a:hover {
    color: #3dd8b4;
}

.news .container {
    position: relative
}

.pagination {
    display: flex;
    gap: 0 1.25rem;
    padding-left: 8.125rem;
    list-style: none;
    margin-bottom: 0;
    align-items: center;
}

.pagination a {
    color: #fff;
    font-weight: 100;
    font-size: 1.5rem;
    opacity: .5
}

.masonry .item:hover img,.pagination a.active {
    opacity: 1
}

.team .item {
    margin-bottom: 1rem;
    padding: 0 1rem;
}

.team .item__img {
    opacity: .8;
    transition: opacity .3s ease;
}

.team .item:hover .item__img {
    opacity: 1;
}

.team .item__title {
    margin-top: 1.5rem;
}

.team .item__social {
    margin-top: 1rem;
}

.team .item__social a {
    display: flex;
    color: #fff;
    text-decoration: none;
    align-items: center;
    gap: 0 .5rem;
    margin-bottom: .5rem;
}

.team .item__social a img {
    width: 2rem;
    filter: invert(1);
}

.team .item__title a {
    font-size: 2rem;
    color: #fff;
    text-decoration: none;
    transition: all .3s ease;
}

.team .item__title a:hover {
    color: #3dd8b4;
}

.news .masonry {
    margin-left: 6.25rem
}

.news .masonry .item {
    width: 50%;
    padding: 1.25rem;
    margin-bottom: 3.125rem
}

.news .masonry .item .caption {
    padding-left: 5rem
}

.news .masonry .item__img {
    width: 100%;
    margin-bottom: 1.25rem
}

.news .masonry .item__img img {
    height: auto;
    display: block;
    opacity: .4;
    transition: opacity .3s ease
}

.news .masonry .item__date {
    font-size: 1.125rem;
    margin-bottom: .625rem;
    color: var(--gray);
    font-weight: 100;
    margin-top: 2.5rem
}

.news .masonry .item__text,
.news .masonry .item__title {
    font-size: 2.25rem;
    font-weight: 100;
    margin-bottom: 2.5rem;
    line-height: 120%
}

.news .masonry .item__title a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

.news .masonry .item__title a:hover {
    color: #3dd8b4;
}

.news .masonry .item__text {
    font-size: 1.125rem;
    line-height: 140%
}

.news .masonry .item__more a,.news__link a {
    color: #fff;
    font-weight: 100;
    font-size: 1.5rem
}

.news .masonry .item__more a:hover {
    color: #3dd8b4;
}

.news .masonry .item:hover img {
    opacity: 1;
}

.news__link {
    margin-top: 2.5rem;
    padding-left: 8.125rem
}

.news__link a,.pagination a {
    text-decoration: none
}

.news__link a:hover {
    color: #3dd8b4;
}

.gallery .masonry .item {
    width: 33.333%;
    padding: 1rem;
    margin-bottom: 1rem
}

.gallery .masonry .item__img {
    width: 100%;
    margin-bottom: 1.25rem
}

.gallery .masonry .item__text {
    color: #fff;
}

.partners {
    padding: 12.5rem 0 6.25rem;
    z-index: 9
}

.footer__nav a,.partners,.partners .container {
    position: relative
}

.partners .container {
    overflow: hidden;
}

.partners .row {
    align-items: flex-end
}

.partners__items {
    padding-left: 9.375rem
}

.partners__items .item {
    margin-bottom: 12.5rem;
    padding: 0 2rem;
}

.feedback,.footer {
    padding-left: calc((100vw - 75rem)/2);
    position: relative;
    z-index: 10;
    overflow: hidden
}

.feedback .wrap,.footer .wrap {
    border: .0625rem solid var(--gray);
    border-right: 0;
    padding: 3.125rem;
    padding-right: calc((100vw - 75rem)/2)
}

.footer__nav {
    display: flex;
    gap: 0 1.25rem;
    margin-bottom: 5rem
}

.footer__nav a {
    text-decoration: none;
    color: #9c9c9c;
    display: block;
    white-space: nowrap;
    font-size: .8rem;
}

.footer__nav a:hover {
    color: #fff
}

.footer__nav a:after {
    content: "/";
    margin-left: .625rem
}

.footer__nav a:hover:after {
    color: #9c9c9c
}

.footer__nav a:last-child:after {
    display: none
}

.footer__logo {
    display: flex;
    align-items: center;
    gap: 0 1.25rem;
    font-size: 1.125rem;
    line-height: 110%
}

.footer__partners {
    display: flex;
    align-items: flex-end;
    flex-direction: column
}

.footer__partners a {
    display: block;
    margin-bottom: 3.75rem;
    width: 12rem
}

.footer__partners img {
    max-width: 100%;
}

.footer__partners img:last-child {
    margin-bottom: 0
}

.feedback__title {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 2.5rem
}

.feedback__caption-title {
    font-size: 4.5rem;
    line-height: 100%;
    position: relative;
    font-weight: 400
}

.feedback__caption-title img {
    position: absolute;
    top: -5.625rem;
    right: 6.25rem;
    z-index: -1;
    width: 22rem
}

.feedback__caption-text {
    font-size: 1.125rem;
    line-height: 170%;
    margin-top: 6.25rem;
    font-weight: 100
}

.feedback__caption-link {
    margin-top: 1.875rem
}

.feedback__caption-link a {
    font-size: 1.5rem;
    color: #3dd8b4;
    text-decoration: none
}

.feedback__caption-link a:hover {
    color: #fff;
}

.feedback [type=submit] {
    font-size: 1.125rem;
    font-weight: 100;
    width: 11.25rem;
    max-width: 100%;
    justify-content: center
}

.media__slider .item:nth-child(1) {
    animation-delay: 0s
}

.media__slider .item:nth-child(2) {
    animation-delay: 1s
}

.media__slider .item:nth-child(3) {
    animation-delay: 2s
}

.media__slider .item:nth-child(4) {
    animation-delay: 3s
}

.media__slider .item:nth-child(5) {
    animation-delay: 4s
}

.media__slider .item:nth-child(6) {
    animation-delay: 5s
}

.search {
    background: rgba(0, 0, 0, .8);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.search.active {
    opacity: 1;
    pointer-events: all;
}

.search form {
    display: flex;
    align-items: center;
}

.search form input {
    width: 50rem;
    color: #fff;
}

.search form button {
    height: 100%;
    border: none;
    width: 12rem;
}

.search__close {
    position: absolute;
    cursor: pointer;
    top: 2rem;
    font-size: 5rem;
    right: 2rem;
    color: #fff;
    height: 2.5rem;
    line-height: .45;
}

.content ul {
    margin-bottom: 0;
}

.content img {
    margin-bottom: 1rem;
}

.content p:last-child {
    margin-bottom: 0;
}

.search__list {
    display: block;
    width: 62rem;
    margin-top: 1rem;
}

.search__list .item {
    margin-top: 1rem;
}
.search__list .item__title a {
    color: #fff;
    font-size: 1.2rem;
    font-weight:700;
    text-decoration:none;
}
.search__list .item__title a small {
    font-size: .8rem;
    font-weight: 100;
}
.search__list .item__content {
    margin-top:.5rem;
    color: #fff;
    opacity: .5;
}

@media (max-width:600px) {
    html {
        font-size: calc(100vw/38)
    }
    .media .container,
    .dev .container {
        padding-left: 4.5rem;
    }
    .header {
        padding-top: 1rem;
        padding-bottom: 1rem;
        backdrop-filter: none;
    }
    .header__burger {
        display: block;
    }
    .news .masonry .item {
        width: 100%;
    }
    .hero {
        height: 60rem;
    }
    .hero .hero__title {
        margin-bottom: 5rem;
    }
    .hero__controls {
        left: 1rem;
    }
    .header__nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        width: 100%;
        height: 100%;
        background-color: #000;
        z-index: 100;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        opacity: 0;
        pointer-events: none;
        gap: 1rem;
        padding: 0;
        transition: all .3s ease;
        margin: 0;
        z-index: 999;
    }
    .header__nav.active {
        opacity: 1;
        pointer-events: all;
    }
    .header__nav ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        padding: 0;
        margin: 0;
    }
    .header__nav ul {
        width: 100%;
    }
    .header__nav ul li {
        width: 100%;
        text-align: center;
        position: relative;
        padding: 0 3rem;
    }
    .header__nav ul > li > ul {
        left: 0;
        width: 100%;
    }
    .header__nav ul > li:hover > ul {
        top: 3rem;
        width: 100%;
        z-index: 999999;
        height: auto;
        position: static;
    }
    .header__nav ul li a {
        font-size: 2rem;
        display: block;
    }
    .header__nav ul li i {
        top: 0;
        bottom: inherit;
        right: 0;
        width: 3rem;
        height: 3rem;
    }
    .header__close {
        display: block;
        position: absolute;
        top: 1rem;
        right: 1rem;
        font-size: 5rem;
        cursor: pointer;
        z-index: 1000;
        color: #fff;
        height: 3rem;
        width: 3rem;
        line-height: 3rem;
    }
    .header__controls a img {
        width: 2rem;
    }
    .dev .item__title {
        font-size: 2rem;
    }
    .dev .item .wrap {
        padding: 3.125rem 1.875rem 3.125rem 2.25rem;
    }
    .dev .item__num {
        padding-left: 0;
    }
    .media__title {
        font-size: 2rem;
    }
    .header__logo img {
        width: 10rem;
    }
    .media__footer-text {
        padding-left: 0;
    }
    .footer__partners {
        margin-top: 4rem;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }
    .partners__items .item img {
        max-height: 11rem;
        max-width: 17rem;
    }
    .feedback__caption {
        margin-top: 5rem;
    }
    .dev__link {
        padding-left: 2.125rem;
    }
    .structure__text {
        padding-left: 4.5rem;
        padding-right: 0;
    }
    .structure__items {
        padding-left: 4.5rem;
    }
    .structure__items .item__title {
        font-size: 2.5rem;
    }
    .news__link {
        padding-left: 4.5rem;
    }
    .structure__items .item__text {
        margin-left: 0;
        width: 100%;
    }
    .footer__partners img {
        margin-bottom: 0;
    }
    .partners {
        padding: 3.25rem 0 3.25rem;
    }
    .partners__items {
        padding-left: 4.5rem;
    }
    .partners__items .item {
        margin-bottom: 3rem;
    }
    .feedback .wrap, .footer .wrap {
        padding-right: 3.125rem;
    }
    .footer__nav {
        gap: 1.25rem;
        flex-wrap: wrap;
    }
    .footer__nav a {
        font-size: 1.4rem;
    }
    .news .masonry {
        margin-left: 4.5rem;
    }
    .news .masonry .item .caption {
        padding-left: 0;
    }
    .news .masonry .item {
        margin-bottom: 2rem;
        padding: 0;
    }
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .col-1 {
        width: 8.333333333333332%;
    }
    .col-2 {
        width: 16.666666666666664%;
    }
    .col-3 {
        width: 25%;
    }
    .col-4 {
        width: 33.33333333333333%;
    }
    .col-5 {
        width: 41.666666666666664%;
    }
    .col-6 {
        width: 50%;
    }
    .col-7 {
        width: 58.33333333333333%;
    }
    .col-8 {
        width: 66.66666666666666%;
    }
    .col-9 {
        width: 75%;
    }
    .col-10 {
        width: 83.33333333333333%;
    }
    .col-11 {
        width: 91.66666666666666%;
    }
    .col-12 {   
        width: 100%;
    }
    .offset-0 {
        margin-left: 0;
    }
    
    .media .tns-outer {
        margin-left: 8rem;
    }
    .media__footer {
        padding-left: 0;
        margin-top: 2rem;
    }
    .media__footer-link {
        justify-content: flex-end;
        display: flex;
        margin-bottom: 2rem;
    }
}

.hero.animation-1 .hero__animation img:nth-child(1) {
    animation: animatePrism 6s ease-in-out infinite
}

.hero.animation-1 .hero__animation img:nth-child(2) {
    animation: animatePrism 2s ease-in-out infinite;
}

.hero.animation-1 .hero__animation img:nth-child(3) {
    animation: animatePrism 4s ease-in-out infinite
}

.hero.animation-3 .hero__animation img:nth-child(1) {
    animation: animatePrism 3s ease-in-out infinite
}

.hero.animation-3 .hero__animation img:nth-child(2) {
    animation: animatePrism 5s ease-in-out infinite
}

.hero.animation-3 .hero__animation img:nth-child(3) {
    animation: animatePrism 7s ease-in-out infinite
}


@keyframes pulseGlow {
  0%, 100% { filter: drop-shadow(0 0 6px cyan); }
  50% { filter: drop-shadow(0 0 12px cyan); }
}

#beam-line {
  animation: pulseGlow 2s infinite;
}
