#welcome {
	position: relative;
	padding: 100px 0 0 0;
}

#welcome::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* background-color: rgba(0, 0, 0, 0.7); */
	z-index: 0;
}

.section-welcome-col {
	max-height: 550px;
}

.hero-content {
	line-height: 1;
}

.section-welcome-container {
	font-size: 18px;
}

.section-welcome-quote {
}
.section-welcome-quote .quote-sign{
	display: inline-block; 
	transform: translate(0, 3px);
}

.section-welcome-title {
	font-size: 3em;
	margin-bottom: 15px;
	line-height: 1.2;
}

.section-welcome-subtitle {
	font-size: 1.5em;
	margin-bottom: 30px;
	line-height: 1.2;
	font-weight: 400;
}

.section-welcome-intro {
	font-size: 1em;
	line-height: 1.2;
	font-weight: 400;
}

.section-welcome-image-wrapper img {
	display: block;
	transform: translate(-5%);
}

.hero-content {
	position: relative;
	z-index: 1;
}

[class*="welcome-dec-"] {
	position: absolute;
	top: 0;
	display: block;
	/* max-width: 33vw; */
}
.welcome-dec-left {
	left: 0;
}
.welcome-dec-right {
	right: 0;
}
@media screen and (min-width: 992px) {
	[class*="welcome-dec-"] {
		display: none;
	}
}

.search-widget-outer {
	max-width: 500px;
}
.search-widget-outer .search-widget {
	background: rgba(255, 255, 255, .9);
	overflow: hidden;
	/* border: 1px solid rgba(255, 255, 255, 1);
	padding: 1px; */
}
.search-widget-outer .search-widget input {
	background: rgba(255, 255, 255, 0);
	border: none!important;
	outline: none!important;
	box-shadow: none!important;
}
.search-widget-outer .search-widget input:focus {
	background: rgba(255, 255, 255, 1);
}
.search-widget .btn-primary {
	border-radius: 0 6px 6px 0;
	height: 45px;
	padding: 0 20px;
}
.form-card-wrapper {}

.section-welcome-content-image-wrapper {
	/* position: absolute;
	bottom: 0;
	left: 0; */
	/* margin-top: -30vh; */
}
.search-settings-icon {
	cursor: pointer;
	width: 20px;
}

.welcome-buttons-wrapper {
	max-width: 500px;
}
.welcome-buttons-wrapper button {
	height: 50px;
	width: 100%;
	border-radius: 10px;
}
.welcome-buttons-wrapper button >span{
	border-radius: 25px;
	height: 15px;
}

.shortcuts-widget-outer {}
.shortcuts-widget-plate-outer {}
.shortcuts-widget-plate {
	margin-bottom: 20px;
}

.glowing-frame {
  width: 25vw; /*  Подстройте под нужный размер */
  height: 25vw; /*  Подстройте под нужный размер */
  border-radius: 15px; /* Скругление углов */
  /* background-color: rgba(255,255,255,.05); */ /*  Тёмный фон */
  background-color: rgba(255,255,255,.05);
/* box-shadow:
    0 0 0 2px #7b5915, 
    0 0 0 3px #ffefcf,
    0 0 0 4px #b78011; */
  display: flex;
  justify-content: center; /* Центрирование контента по горизонтали */
  align-items: center;    /* Центрирование контента по вертикали */
  position: relative; /*  Для псевдоэлементов (если потребуется) */
  overflow: hidden; /* Обрезаем все, что выходит за границы */
  backdrop-filter: blur(5px);
  padding: 5vw;
  box-shadow: 0 0 0 1px rgba(255,255,255,.5);
  box-shadow: 0 0 0 1px #7b5915, 0 0 0 2px #ffefcf, 0 0 0 3px #b78011;
}
.glowing-frame:hover { 
	box-shadow: 0 0 0 3px rgba(255,255,255,.9);
	background-color: rgba(255,255,255,.1);
}

/* Дополнительные стили для создания более выраженного блеска */
.glowing-frame::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	filter: blur(25px);
	background: rgb(153 31 1 / 33%);
}
.glowing-frame::after {
	content: '';
	position: absolute;
	top: -100%;
	left: -100%;
	width: 500%;
	height: 500%;
	background: linear-gradient(to right, transparent, rgb(217 94 22 / 0%), transparent); 
}
.glowing-frame:hover::after {
	animation: shine 3s linear infinite; /* Добавляем анимацию блика */
	background: linear-gradient(to right, transparent, rgb(217 94 22 / 50%), transparent); 
}
.glowing-frame .img-wrapper {
	box-shadow: 5px 5px 10px 0 rgba(0,0,0,.75);
	border-radius: 5px;
	z-index: 2;
}
.glowing-frame img {
	position: relative;	
	border-radius: 5px;
	overflow: hidden;
	max-width: 100%;
	max-height: 100%;
}
.glowing-frame .icon-courts {
	
}
.glowing-frame .icon-games {
	border-radius: 50%;
}
.glowing-frame .icon-games img{
	border-radius: 50%;
}
.glowing-frame:hover .img-wrapper {
	animation: shine-shadow 3s linear infinite; /* Добавляем анимацию блика */
}

@keyframes shine {
  0% {
    transform: rotate(-45deg) translate(-50%, -50%);
  }
  75% {
    transform: rotate(-60deg) translate(100%, 0%);
  }
  100% {
    transform: rotate(-45deg) translate(100%, 0%);
  }
}
@keyframes shine-shadow {
  0% {
    box-shadow: 5px 5px 10px 0 rgba(0,0,0,.5);
  }
  50% {
    box-shadow: 15px 15px 30px 0 rgba(0,0,0,.75);
  }
}

.glowing-frame img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* Чтобы изображение помещалось целиком */
}

.shortcuts-widget-plate-text {
    color: #ffb97c;
    text-align: center;
    font-size: 24px; /* Размер текста, можно настроить */
    font-family: sans-serif; /* Шрифт */
}
.shortcuts-widget-plate-outer {
	cursor: pointer;
}
.shortcuts-widget-plate-outer:hover .shortcuts-widget-plate-text {
    color: white;
}
.left-side .form-card-outer {
	width: 100px;
}
.left-side-navigation-item-wrapper {
	position: relative;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	border: 2px solid rgba(255,255,255,.25);
}
.left-side-navigation-item-wrapper.current::before,
.left-side-navigation-item-wrapper:hover::before {
	content: "";
	position: absolute;
	top: -2px; /* Толщина "рамки" */
	left: -2px; /* Толщина "рамки" */
	right: -2px; /* Толщина "рамки" */
	bottom: -2px; /* Толщина "рамки" */
	background: linear-gradient(to top, #b02301, #ed8407); /* Замените цветами вашего градиента */
	border-radius: 50%;
	z-index: -1;
}
.left-side-navigation-icon-wrapper {
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 50%;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	text-align: center;
	cursor: pointer;
}
.left-side-navigation-icon {	
}
.left-side-navigation-icon img {
	width: 70%;
	height: 70%;
	object-fit: contain;
	transition: all .3s ease;
}
.left-side-navigation-item-wrapper.current .left-side-navigation-icon img,
.left-side-navigation-item-wrapper:hover .left-side-navigation-icon img {
	width: 75%;
	height: 75%;
}




.left-side-navigation-cell {
    width: 50px;
    height: 50px;
}

.left-side-navigation-item-wrapper {
  position: relative; /* Важно для позиционирования псевдоэлемента */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.left-side-navigation-item-wrapper.current::before,
.left-side-navigation-item-wrapper:hover::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(to top, #b02301, #ed8407);
  border-radius: 50%;
  z-index: -1;
}

.left-side-navigation-icon-wrapper {
  width: 100%;
  height: 100%;
  position: relative; /* Важно для позиционирования блика */
  border-radius: 50%;
  background: #000;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  cursor: pointer;
  overflow: hidden; /* Обрезает блик, чтобы он не выходил за рамки */
}

.left-side-navigation-icon {
  /* Стили для иконки, если необходимо */
}

/* Стили для блика */
.current .glare {
  position: absolute;
  top: -3px; /* Выводим за пределы элемента, чтобы начать анимацию */
  left: -3px;
  width: calc(100% + 6px);  /* Делаем больше, чтобы покрыть всю окружность */
  height: calc(100% + 6px);
  /* transform: translate(1px, 1px); */
  background: linear-gradient(to right, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0.1) 100%);
  border-radius: 50%;
  animation: rotateGlare 5s linear infinite; /* Запускаем анимацию */
  z-index: 1;
}

/* Анимация вращения */
@keyframes rotateGlare {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


@media screen and (max-width: 991px) {
	section#welcome {
		background: url('../images/welcome-mob-bg.png') center 100% no-repeat;
		padding-bottom: 250px;
	}
	.section-welcome-container {
		text-align: center;
		font-size: 15px;		
		padding-top: 25px;
	}
	[class*="welcome-dec-"] {
		top: 6vh;
	}
	.welcome-dec-left {
		left: -1vw;
	}
	.welcome-dec-right {
		top: 4vh;
		right: -2.5vw;
	}
}

@media screen and (max-width: 768px) {
	.section-welcome-container {
		font-size: 14px;
	}
	#welcome .inner {
		padding-left: 15px;
		padding-right: 15px;
	}
	.search-widget-outer {
		padding-left: 30px;
		padding-right: 30px;
	}
	.section-welcome-image-wrapper {
		position: absolute;
        width: 100%;
        height: 100%;
        top: 75%;
        left: 0;
	}
	.section-welcome-image-wrapper:after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 150%;
		background: rgba(0,0,0,0.65);
	}
	.shortcuts-widget-plate {
		margin-bottom: 15px;
	}
}

@media screen and (max-width: 575px) {
	.section-welcome-container {
		font-size: 12px;
	}
	.section-welcome-quote {
		font-size: 1.5em;
	}
	.shortcuts-widget-plate-text {
		font-size: 18px;
	}
}

@media screen and (max-width: 420px) {
	.section-welcome-container {
		font-size: 10px;
	}
	
	.shortcuts-widget-plate-text {
		font-size: 16px;
	}
}

#welcome {
	/* margin-bottom: -50px; */
}
#playgrounds {
	/* min-height: 150vh; */
	position: relative;
}

#playgrounds .left-side{
	
}
section .right-side{
	min-height: 150vh;
	position: relative;
}

.form-card-shortcut-cell {
	cursor: pointer;
	padding: 5px 10px;
	border-radius: 8px;
	background: linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0));
	color: #fff;
	line-height: 1;
	font-weight: 300;
	font-size: .75em;
	box-shadow: 0 0 0 1px #fff;
}
.form-card-shortcut-cell.active {	
	/* background: linear-gradient(0deg, #004f56, #004f56); */
	background: linear-gradient(0deg, #cc5003, #c34202);
	background: linear-gradient(0deg, #ac1d00, #ef8807);
	box-shadow: 0 0 0 1px #ac1d00;
}
.form-card-shortcut-cell:hover {	
	background: linear-gradient(0deg, #ac1d00, #ef8807);
	box-shadow: 0 0 0 1px #ac1d00;
}
/* .form-card-shortcut-cell.active:hover {	
	background: linear-gradient(0deg, #00464d, #00707b);
} */

.playground-filters,
.playground-filters *{
	font-size: 16px;
	font-weight: 300;
}
.playground-filters .input,
.playground-filters label {
	font-size: .9em;
}
.playground-filters .form-group {
	margin-bottom: 20px!important;
}


.welcome-mob-bg {
	position: relative;
	left: 50%;
	transform: translate(-50%)!important;
}

footer {
	min-height: 300px;
	background: url('../images/footer-bg.png') center 0 no-repeat;
}

.has-fixable-scrolling {
	min-height: 2500px;
	position: relative;
	padding: 25px;
}
.fixable-scrolling-wrapper {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	
	/* box-shadow: inset 0 0 0 3px red; */
}

.fixable-scrolling-holder {
	position: relative;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	padding-top: 100px;
}
.fixable-scrolling-holder.is-fixed {
	padding-top: 350px;
	position: fixed;
}
.fixable-scrolling-holder.is-absolute {
	bottom: -450px;
	top: auto;
	position: absolute;
}
.letters-wrapper {
	padding: 15px 25px;
}
.letter-wrapper {
	padding: 0 5px;
	line-height: 1;
}
.letter {
	font-size: 7.5em;
	font-weight: 800;
	opacity: 0;
	text-shadow: 0 0 15px #e15808;
}
.letter:nth-child(1) {
	transform: scale(10) translate(-50%);
	/* opacity: 0; */
}
.letter:nth-child(2) {
	transform: scale(10) translate(-25%);
	/* opacity: 0; */
}
.letter:nth-child(3) {
	transform: scale(10) translate(0%);
	/* opacity: 0; */
}
.letter:nth-child(4) {
	transform: scale(10) translate(25%);
	/* opacity: 0; */
}
.letter:nth-child(5) {
	transform: scale(10) translate(50%);
	/* opacity: 0; */
}

.capture-wrapper {
	line-height: 1;
	font-size: 1.4em;
	font-weight: 600;
	/* display: flex; */
}
.prepared-wrapper {
	position: relative;
	padding: 0;
	
}
.prepared-wrapper > span {
	/* display: inline-block; */
}
.letter-main {
	position: relative;
	top: 0;
}
.letter-layer {
	position: absolute;
	width: 100%;
	height: 100%;
	/* top: 0; */
	left: 0;
}

.has-layer-text-wrapper {
	position: relative;
	/* overflow: hidden; */
}
.has-layer-text-wrapper .main-text {
	opacity: 0;
	position: relative;
	/* overflow: hidden; */
	
	/* width: 0;
	overflow: hidden; */
}
.has-layer-text-wrapper .layer-text {
	position: absolute;
	width: 0;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
}
.has-layer-text-wrapper .main-text .prepared-wrapper{
	color: #fff;
}
.has-layer-text-wrapper .layer-text .prepared-wrapper{
	color: #e15808;
}

.mode-wrapper[data-mode="list"] .mode-list-wrapper {
	display: block;
}
.mode-wrapper[data-mode="list"] .mode-map-wrapper {
	display: none;
}
.mode-wrapper[data-mode="map"] .mode-list-wrapper {
	display: none;
}
.mode-wrapper[data-mode="map"] .mode-map-wrapper {
	display: block;
}
.mode-map-outer {
	width: 100%;
	height: 900px;
}
.mode-map-wrapper {
	width: 100%;
	height: 500px;
	/* border: 1px solid rgba(255, 255, 255, .2); */
    border-radius: 10px;
	overflow: hidden;
}
.mode-map-wrapper iframe{
	border-radius: 10px;
	overflow: hidden;
}

.glowing-frame:hover .img-wrapper {
	animation: shine-shadow 3s linear infinite; /* Добавляем анимацию блика */
}

@keyframes scrolldown {
  0% {
    transform: translate(0%, -5%);
  }
  95% {
    transform: translate(0%, 7.5%);
  }
  100% {
    transform: translate(0%, 7.5%);
  }
}

.scrolldown-outer {
	position: relative;
	z-index: 2
}
.scrolldown-wrapper {
	border: 2px solid rgba(255,255,255,.5);
	border-radius: 50%;
	cursor: pointer;
	width: 45px;
	height: 45px;
}
.scrolldown-wrapper:hover  {
	border-color: #006873; 
}
.scrolldown-wrapper img {
	width: 35px;
	animation: scrolldown .5s alternate-reverse infinite;
}


.in_digits-circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  text-align: center;
  position: relative;
  overflow: hidden;
  /* box-shadow: inset 0 0 0 3px #fff; */
}

.in_digits-circle .progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: conic-gradient(#c74903, #c74903 var(--progress), white var(--progress), white);
}

.in_digits-circle .img-wrapper {
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	left: 5px;
	top: 5px;
	border-radius: 50%;
	position: relative;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.in_digits-circle img {
  max-width: 70%;
  max-height: 70%;
  position: relative;
}
.in_digits-circle .progress {
  transition: background 0.5s ease-in-out; /* Добавляем анимацию */
}