* {
    box-sizing: border-box;
}

.hover-images-box {
    position: relative;
}

.hover-gallery-img {
    display: none !important;
}

.hover-gallery-img.active {
    display: block !important;
}

.hover-gallery {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 1;
    padding: 7px;
}

.hover-gallery-item {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 100%;
}

.hover-gallery-dots {
    position: absolute;
    z-index: 2;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 8px;
    padding: 8px;
    border-radius: 100px;
    background: rgba(0, 0, 0, 0.40);
    backdrop-filter: blur(4px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
}

.hover-gallery-item-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.2);
}

.hover-gallery-item-dot.active {
    width: 12px;
    background-color: #fff;
    border-radius: 100px;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Nunito Sans', sans-serif;
    min-height: 100vh;
    background: #F1F1F1;
}

.top {
    background: #fff;
    border-radius: 0 0 100px 100px;
}

.banner {
    border-radius: 0 0 100px 100px;
    overflow: hidden;
    position: relative;
    height: 640px;
}

.container {
    max-width: 1740px;
    padding: 0 20px;
    margin: 0 auto;
    width: 100%;
}

.banner video {
    object-fit: cover;
    display: block;
}

.banner .container {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.banner .text {
    font-family: "Nunito", sans-serif;
    max-width: 894px;
    width: 100%;
    color: #3F9795;
    font-size: 60px;
    font-style: normal;
    font-weight: 900;
    line-height: 120%;
    padding-top: 135px;
    margin-bottom: 48px;
}

.main-title {
    font-family: "Nunito", sans-serif;
}

.top .subtitle {
    height: 91px;
    color: #419B9A;
    text-align: center;
    font-family: "Nunito Sans", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 43.2px */
    padding: 24px 32px;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.60);
    width: max-content;
}

.cards {
    margin: 100px 0;
}

.cards-title {
    font-size: 40px;
    font-weight: 700;
    color: #000;
    line-height: 40px;
    margin-bottom: 32px;
}

.tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.tab {
    font-family: "Nunito Sans", sans-serif;
    padding: 12px 20px;
    border-radius: 30px;
    background: #FFF;
    color: rgba(0, 0, 0, 1);
    font-size: 16px;
    line-height: 25px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}

.tab.current {
    color: #fff;
    background: #419B9A;
}

.card {
    border-radius: 50px;
    background: #FFF;
    max-width: 410px;
    display: none;
}

.card.show {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card-img-box {
    position: relative;
    border-radius: 50px;
    overflow: hidden;
}

.card-img-box img {
    width: 100%;
    display: block;
    position: relative;
    z-index: 2;
    transition: .2s;
    aspect-ratio: 1.0567 / 1;
}

.card-img-box video {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    object-fit: cover;
    width: 100%;
    height: 100%;
}


.item .item-imgbox {
    position: relative;
    border-radius: 50px;
    overflow: hidden;
}

.item .item-imgbox img {
    width: 100%;
    display: block;
    position: relative;
    z-index: 2;
    transition: .2s;
}

.item .item-imgbox video {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.item-imgbox svg {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 4;
    width: 40px;
    height: 35px;
}


.card-content {
    padding: 24px 32px 32px;
}

.card-title {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 24px;
    line-height: 33px;
    margin-bottom: 16px;
    color: #000;
}

.card-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.card .row {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 24px;
}

.card .row svg {
    display: block;
}

.card .row span {
    font-family: 'Nunito Sans', sans-serif;
    color: #000;
    font-size: 16px;
    line-height: 19px;
}

.card-img-box svg {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 4;
    width: 40px;
    height: 35px;
}

.card-with-video:hover img {
    opacity: 0;
}

.cards {
    overflow: hidden;
}

.cards .slider-navigation {
    display: flex;
    gap: 10px;
    margin-left: auto;
}

.cards .slider-navigation button {
    border-radius: 50%;
    background: #fff;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    cursor: pointer;
}

.swiper-button-disabled {
    opacity: 0.5;
}

.promo-card {
    border-radius: 50px;
    background: radial-gradient(56.41% 53.42% at 13.54% 60.95%, rgba(64, 255, 235, 0.20) 0%, rgba(63, 255, 230, 0.20) 100%), linear-gradient(203deg, #FFFFD2 5.19%, #13BEBB 81.92%);
    overflow: hidden;
    padding-left: 37px;
    padding-right: 48px;
    align-items: center;
    max-width: 410px;
    width: 100%;
    aspect-ratio: 1.056701031 / 1;
}

.promo-card-text {
    font-size: 30px;
    line-height: 35px;
    color: #fff;
}

.card-with-gallery img {
    z-index: 0 !important;
}

.events-box {
    padding: 80px;
    border-radius: 100px;
    background: #FFF;
    box-shadow: 0 0 40px 0 rgba(65, 155, 154, 0.10);
    max-width: 1712px;
    margin: 110px auto ;
}

.events-box .title {
    font-size: 60px;
    color: #000;
    font-weight: 700;
    line-height: 120%;
}

.events-box-items {
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.events-box .item {
    max-width: 285px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.events-box .item span {
    font-size: 24px;
    font-family: "Nunito Sans", sans-serif;
    font-weight: 400;
    line-height: 140%;
    text-align: center;
}

.gallery {
    margin: 110px 0;
}

.gallery .title {
    font-size: 60px;
    color: #000;
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 64px;
}

.gallery-columns {
    display: flex;
    gap: 16px;
}

.gallery-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gallery-col  img {
    display: block;
    border-radius: 48px;
}

.grid-cards {
    margin: 110px 0;
}

.grid-cards .title {
    font-size: 60px;
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 48px;
    color: #000;
}

.grid-card {
    padding: 80px;
    border-radius: 100px;
    background: #FFF;
    box-shadow: 0 0 40px 0 rgba(65, 155, 154, 0.10);
    display: flex;
    align-items: start;
    gap: 48px;
    margin-bottom: 100px;
}

.grid-card .content {
    max-width: 592px;
    flex-grow: 1;
}

.grid-card .grid-images {
    flex-grow: 1;
    max-width: 1072px;
}

.grid-card .subtitle {
    margin-bottom: 24px;
    font-size: 40px;
    color: #000;
    line-height: 120%;
    font-family: "Nunito", sans-serif;
    font-weight: 700;
}

.grid-card p {
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    color: #000;
    font-weight: 400;
    line-height: 160%;
    margin-bottom: 24px;
}

.grid-card .tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.grid-card .tag {
    padding: 12px 20px;
    border-radius: 30px;
    background: #F5F5F5;
    font-size: 16px;
    color: #000;
    font-weight: 500;
    font-family: "Nunito Sans", sans-serif;
}

.grid-card button {
    padding: 12px 24px;
    border-radius: 30px;
    background:  linear-gradient(226deg, #60E8A5 4.78%, #13BEBB 46.93%, #419B9A 89.09%);
    color: #fff;
    font-weight: 700;
    line-height: 24px;
    font-size: 20px;
    font-family: "Nunito", sans-serif;
    border: none;
}

.grid-images {
    display: flex;
    gap: 16px;
    max-width: 912px;
}

.grid-images img {
    display: block;
    border-radius: 48px;
}

.grid-images .rows {
    max-width: 672px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.grid-images .row {
    display: flex;
    gap: 16px;
}

.grid-cards .container {
    max-width: 1752px;
}

.grid-card-one {
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.cards-new video {
    height: 100%;
}

.cards-new .promo-card {
    aspect-ratio: 1 / 1;
}

.services {
    margin: 110px 0;
}

.services .title {
    color: #000;
    font-family: "Nunito", sans-serif;
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 72px */
    margin-bottom: 24px;
}

.services .subtitle {
    margin-bottom: 48px;
    font-family: "Nunito", sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 48px */
}

.services .inner {
    display: flex;
    gap: 16px;
}

.services-col {
    max-width: 560px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services .services-box {
    position: relative;
    padding: 32px;
    border-radius: 48px;
    background:  #FFF;
    box-shadow: 0 0 40px 0 rgba(65, 155, 154, 0.10);
}

.services .box-title {
    color:  #000;
    font-family: "Nunito Sans", sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 33.6px */
    margin-bottom: 25px;
    padding-right: 55px;
}

.services .box-row {
    margin-top: 24px;
    display: flex;
    gap: 12px;
    height: 24px;
}

.services .box-row img {
    display: block;
}

.services .box-row span {
    font-family: "Nunito Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 120%;
    color: #000;
}

.services-rows {
    max-width: 1124px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services-rows .services-box {
    height: 204px;
}

.services-row {
    display: flex;
    gap: 16px;
}

.services-box.small {
    max-width: 416px;
    flex-grow: 1;
}

.services-box.big {
    flex-grow: 1;
    max-width: 704px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.services-box.big .box-title {
    margin-bottom: 0;
    grid-column-start: span 2;
}

.fotozony {
    margin: 110px 0;
}

.fotozony .title {
    color: #000;
    font-family: "Nunito", sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 48px */
    margin-bottom: 48px;
}

.foto-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.foto-box {
    padding: 48px 32px 57px;
    max-width: 848px;
    border-radius: 48px;
    background: linear-gradient(0deg, #FFF 0%, #FFF 100%);
    box-shadow: 0 0 40px 0 rgba(65, 155, 154, 0.10);
}

.foto-box .swiper-slide {
    border-radius: 48px;
    overflow: hidden;
}

.foto-box-title {
    color:  #000;
    font-family: "Nunito Sans", sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 33.6px */
    margin-bottom: 16px;
}

.foto-box-text {
    color: #646464;
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 21.6px */
    margin-bottom: 32px;
    min-height: 48px;
}

.foto-box__slider {
    overflow: hidden;
    margin-bottom: 16px;
}

.foto-box-pagination {
    padding: 8px;
    display: inline-flex;
    gap: 6px;
    border-radius: 100px;
    background: rgba(0, 0, 0, 0.40);
    backdrop-filter: blur(4px);
    width: max-content !important;
    margin: 0 auto;
}

.foto-box-pagination span {
    margin: 0 !important;
    opacity: 0.5 !important;
    border-radius: 100px;
    background:  #FFF;
    width: 6px;
    height: 6px;
    display: block;
}

.pagination-wrapper {
    display: flex;
    justify-content: center;
}

.cards-cols .swiper-wrapper {
    display: flex;
    gap: 16px;
}

.promo-text {
    padding: 32px;
    border-radius: 100px;
    background: #419B9A;
    display: flex;
    gap: 32px;
    align-items: center;
    max-width: 848px;
    margin: 48px auto;
}

.promo-text-title {
    color: #FFF;
    text-align: center;
    font-family: "Nunito Sans", sans-serif;
    font-size: 35px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 43.2px */
}

.promo-text-text {
    max-width: 554px;
    color: #FFF;
    font-family: "Nunito Sans", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 24px */
}

.foto-box__item {
    position: relative;
}

.foto-box__item img {
    position: relative;
    z-index: 1;
    width: 100%;
    display: block;
}

.foto-box__item span {
    padding: 6px 12px;
    color: #000;
    font-family: "Nunito Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.80);
    position: absolute;
    z-index: 2;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
}

.services-teambuild .services-rows .services-box {
    height: 200px !important;
}

.services-col .services-box {
    height: 100%;
}

.big-cards {
    margin: 110px 0;
}

.big-cards .title {
    margin-bottom: 24px;
    color:  #000;
    font-family: "Nunito", sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 48px */
}

.big-cards .big-text {
    max-width: 1136px;
    margin-bottom: 48px;
    color: #646464;
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 21.6px */
}

.cards {
    display: flex;
    gap: 16px;
}

.cards .item {
    position: relative;
    border-radius: 48px;
    overflow: hidden;
}

.cards .item img {
    display:  block;
    position: relative;
    z-index: 1;
}

.card-with-video img {
    z-index: 3 !important;
}

.cards .item span {
    position: absolute;
    padding: 6px 16px;
    color: #000;
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 133.333% */
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.80);
    bottom: 16px;
    left: 16px;
    z-index: 3;
    right: 16px;
}

.cards .item.card-with-video:hover span {
    display: none;
}

.tabs-section {
    margin: 110px 0;
}

.tabs-section .title {
    margin-bottom: 48px;
    color: #000;
    font-family: "Nunito", sans-serif;
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 72px */
}

.tabs-section .inner {
    display: flex;
    align-items: start;
    gap: 16px;
}

.tabs-section .column {
    max-width: 416px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tabs-section .box {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 24px;
    padding: 32px;
    border-radius: 48px;
    background:#FFF;
    box-shadow: 0 0 40px 0 rgba(65, 155, 154, 0.10);
}

.tabs-section .box-title {
    color: #000;
    font-family: "Nunito Sans", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%; /* 28.8px */
}

.tabs-section .tab {
    color: #000;
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    padding: 0 !important;
    line-height: 120%; /* 21.6px */
}

.tabs-section .tab.active  {
    color: #419B9A;
}

.tabs-section .content {
    max-width: 1280px;
    flex-grow: 1;
}

.tabs-section .promo-text {
    margin: 48px 0 0;
}

.tab-content__tags {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.tab-content__tags .tag {
    color: #141414;
    font-family: "Nunito Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 150% */
    padding: 12px 20px;
    border-radius: 30px;
    background: #FFF;
}

.tabs-section .tab-content__columns {
    border-radius: 46px;
    background: #FFF;
    display: flex;
    gap: 8px;
    padding: 32px;
}

.tabs-section .tab-content_col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tabs-section .tab-content_col img {
    position: relative;
    z-index: 1;
    width: 100%;
    display: block;
}

.tabs-section .tab-content_col a {
    display: block;
    border-radius: 48px;
    overflow: hidden;
    position: relative;
}

.tabs-section .tab-content_col button {
    padding: 0;
    border: none;
    background: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.tabs-section .tab-content {
    height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: .5s;
}

.tabs-section .tab-content.active {
    height: initial;
    opacity: 1;
    visibility: visible;
    transform: translateX(0px);
}

.services-box {
    position: relative;
}

.services-box-btn {
    position: absolute;
    top: 32px;
    right: 32px;
    z-index: 2;
    width: 40px;
    height: 40px;
}

.services-box-btn img {
    width: 100%;
}

.fotozony .swiper-pagination-bullet-active {
    width: 12px;
    background: #fff;
    opacity: 1 !important;
}

.fotozony .foto-box {
    position: relative;
}

.fotozony .foto-box-link {
    position: absolute;
    top: 77px;
    right: 32px;
    z-index: 2;
    width: 40px;
    height: 40px;
}

.fotozony .foto-box-link img {
    width: 100%;
}

.grid-card-one .tag {
    background-color: #fff;
}



.item-video-link {
    position: absolute;
    z-index: 4;
    top: 24px;
    width: 40px;
    height: 40px;
    right: 24px;
}

.item-video-link img {
    width: 100%;
}

.big-cards .item {
    max-width: 560px;
    width: 100%;
}

.card-with-video video {
    transition: .2s;
    opacity: 0;
}

.card-with-video:hover video {
    opacity: 1;
}

.feature-content .grid-items {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 260px 244px 210px;
    gap: 8px;
}

.feature-content .grid-items a {
    display: block;
    border-radius: 48px;
    overflow: hidden;
    position: relative;
}

.feature-content .grid-items a button {
    padding: 0;
    border: none;
    background: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.feature-content .grid-items a button img {
    position: relative;
    z-index: 1;
    width: 100%;
    display: block;
}

.feature-content .grid-items .f-item:nth-child(1) {
    grid-column-start: span 3;
    grid-row-start: span 2;
}

.feature-content .grid-items {
    border-radius: 46px;
    background: #FFF;
    padding: 32px;
}



.feature-content .grid-items .f-item:nth-child(3) {
    grid-row-start: span 2;
}

.feature-content .grid-items a img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}

img.lazy {
  opacity: 0;
  transition: opacity 0.4s;
}

img.lazy.loaded {
  opacity: 1;
}

.gallery img {
    width: 100%;
}

.grid-card  button {
    display: none;
}

@media (max-width: 1600px) {
    .grid-images {
        height: 400px;
    }

    .banner video {
        width: 100%;
        height: 100%;
    }

    .services .box-row span {
        font-size: 18px;
    }

    .services .box-title {
        font-size: 25px;
    }

    .foto-grid {
        grid-template-columns: 49% 49%;
    }

    .fotozony .foto-box-link {
        top: 35px;
    }

    .services .box-title {
        margin-bottom: 0;
    }

    .services .box-row {
        height: 20px;
    }
}

@media (max-width: 1300px) {
    .grid-card-one img {
        height: 300px !important;
    }
    .grid-card p {
        font-size: 16px;
    }
    .grid-card .tag {
        padding: 8px 16px;
        font-size: 12px;
    }
    .banner {
        height: 530px;
        border-radius: 0 0 70px 70px;
    }

    .banner video {
        width: 100%;
        height: 100%;
    }

    .banner .text {
        padding-top: 60px;
        font-size: 52px;
    }

    .banner .subtitle {
        font-size: 26px;
        padding: 12px 24px;
        height: initial;
    }

    .events-box {
        margin: 110px 20px;
    }

    .events-box .item {
        transform: scale(0.9);
    }

    .grid-card {
        padding: 60px;
    }

    .grid-card-one {
        padding: 0 !important;
    }

    .grid-images img {
        height: 140px;
    }

    .grid-images .column img {
        height: 296px;
    }

    .grid-card .content {
        max-width: 912px;
    }

    .grid-cards .container {
        max-width: 1200px;
    }

    .services .box-title {
        font-size: 22px;
        padding-right: initial;
    }

    .services .services-box {
        padding: 25px;
        border-radius: 40px;
    }

    .services-box-btn {
        top: 20px;
        right: 16px;
    }

    .services .box-row span {
        font-size: 16px;
    }


    .cards-new .card:nth-child(odd) {
        margin-left: auto;
    }

    .tabs-section .box {
        padding: 25px;
        border-radius: 30px;
    }

    .foto-box .swiper-slide {
        border-radius: 30px;
    }

    .cards-new .card {
        max-width: 285px;
    }

    .card-content {
        padding: 18px;
    }

    .card-title {
        font-size: 20px;
        line-height: 26px;
    }

    .cards-new .card {
        border-radius: 35px;
    }

    .cards-new .card-img-box {
        border-radius: 35px;
    }
}

.big-icon-video {
    width: 200% !important;
}

.tab-content_col {
    max-width: 298px;
}

.not-available {
    display: none;
}

@media (max-width: 1200px) {
    .loader-wrapper {
        display: none !important;
    }
    .main-page {
        display: none;
    }

    .not-available {
        display: block;
        text-align: center;
    }

    body {
        background: #fff;
    }

    .not-available h1 {
        font-size: 40px;
        font-weight: normal;
        text-align: center;
        color: #3b3b3b;
        font-weight: 600;
        margin-top: 100px;
    }


}

#loader {
    font-size: 35px;
    font-weight: 500;
    color: #333;
    border-right: 2px solid #333;
    white-space: nowrap;
    overflow: hidden;
    width: 0;
    animation: typing 1s steps(10, end) forwards, blink 0.7s step-end infinite alternate;
}
@keyframes typing {
    from { width: 0; }
    to { width: 23ch; } /* длина слова "Загрузка..." */
}

@keyframes blink {
    50% { border-color: transparent; }
}

/* Скрытый контент */
#content {
    display: none;
    opacity: 0;
    transition: opacity 0.8s ease;
}

#content.show {
    display: block;
    opacity: 1;
}

.loader-wrapper {
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}






.hidden {
    display: none !important;
}

.wrapper-no7{
    display: flex;
    justify-content: center;
    height: 100vh;
    align-items: center;
    .animation-wrapper{
        display: flex;
        &.notvisible{
            display: none;
        }
    }
    .cat{
        width: 80%;
        overflow: visible;
    }
    .cat-wrapper{
        width: 300px;
    }
    .eyes{
        circle{
            fill: #fff;
        }
    }
    .frontlegs,
    .backlegs{
        opacity: 1;
    }
    .logoani{
        align-self: flex-end;
        margin-left: -25px;
        font-size: 45px;
    }
    .logo{
        font-size: 55px;
        opacity: 0;
        position: absolute;
        top:-40px;
        &.visible{
            opacity: 1;
            top:40px;
            transition: all 1s;
        }
    }
    .restart{
        display: none;
        font-size: 20px;
        position: absolute;
        top: 50%;
        background-color: white;
        border: $no7color 1px solid;
        box-shadow: none;
        padding: 20px;
        border-radius: 10px;
        &:hover{
            background-color: #ddd;
        }
        &.visible{
            display: block;
        }
    }
    .layout{
        display: block;
        opacity: 1;
        width: 80%;
        position: absolute;
        top: 40px;
        transition: opacity 1s;
        &.notvisible{
            display: none;
            opacity: 0;
        }
        li{
            height: 15px;
            background-color: $no7color;
        }
        ul{
            display:flex;
            margin: 0;
            padding: 0;
        }
        li{
            width: 50px;
            margin-left: 20px;
            list-style: none;
            background-color: $no7color;
        }
        .layout__nav{
            display: flex;
            justify-content: space-between;

        }
        .layout__nav-left,
        .layout__nav-right{
            width: 40%;
        }
        .layout__nav-left{
            li:first-child{
                margin-left: 0;
            }
        }
        .layout__nav-right{
            flex-direction: row-reverse;
        }
        .layout__title{
            width: 80%;
            height: 40px;
            background-color: $no7color;
            margin-top: 150px;
            margin-left: auto;
            margin-right: auto;
        }
        .layout__content{
            display: flex;
            justify-content: center;
            flex-direction: column;
            align-items: center;
            div{
                &:first-child{
                    margin-top: 100px;
                }
                width: 80%;
                height: 20px;
                background-color: $no7color;
                margin-top: 20px;
            }
        }
    }
    @media screen and (max-width: 500px) {
        .layout{
            width: 100%;

            .layout__nav,
            .layout__nav-left,
            .layout__nav-right{
                display: none;
            }
            .layout__title{
                margin-top: 100px;
            }
            .layout__content{
                div{
                    &:first-child{
                        margin-top: 40px;
                    }
                }
            }
        }
    }
    @media screen and (max-width: 768px) {
        .layout{
            width: 100%;

            .layout__title{
                margin-top: 100px;
            }
            .layout__content{
                div{
                    &:first-child{
                        margin-top: 40px;
                    }
                }
            }
            .layout__title{
                margin-top: 70px;
            }
            .layout__nav{
                margin-top: 20px;
            }
            .layout__nav-left,
            .layout__nav-right{
                width: 35%;
            }
        }
        .logo{
            font-size: 45px;
        }

    }
}

.fancybox__container * {
    outline: none !important;
}