
.instructions {
    color: #ccc;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 16px;
    margin-top: 40px;
    margin-bottom: -10px;
}
.magic-text {
    background: linear-gradient(to right, #6b8cce  20%, #0c3483 40%, #0c3483 60%, #6b8cce  80%);
    background-size: 200% auto;
    
    color: #000;
    background-clip: text;
    text-fill-color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    
    animation: shine 2s linear infinite;
}

.center {
    margin: 0 auto;
    text-align: center;
}
.ball-container {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0 auto;
    position: relative;
}
.ball-container:after {
    content: '';
    display: block;
    position: absolute;
    left: calc(50% - 130px);
    width: 100%;
    max-width: 260px;
    height: 10px;
    background: transparent;
    border-radius: 50%;
    box-shadow: 0 60px 20px rgba(0,0,0,0.2);
    z-index: -1;
    animation: shadow 2s ease infinite;
    opacity: 1;
    transition: ease-in all 0.2s;
}
.ball-container.no-shadow:after {
    opacity: 0;
    transition: ease-in all 0.2s;
}
.magic-ball {
    height: 300px;
    width: 300px;
    margin: 40px auto 40px;
    background: #0c3483;
    /*background: linear-gradient(135deg, #cde29f 0%, #1b9483 100%);
    background-image: linear-gradient(to top, #505285 0%, #585e92 12%, #65689f 25%, #7474b0 37%, #7e7ebb 50%, #8389c7 62%, #9795d4 75%, #a2a1dc 87%, #b5aee4 100%);
    background-image: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    background-image: linear-gradient(to top, #09203f 0%, #537895 100%);*/
    background-image: linear-gradient(to top, #0c3483 0%, #a2b6df 100%, #6b8cce 100%, #a2b6df 100%);
    text-align: center;
    color: #fff;
    position: relative;
    border: none;
    border-radius: 50%;
    box-shadow: inset 0 0 50px rgba(255,255,255,0.5), inset 0px -35px 3px rgba(255,255,255,0.05);
    animation: floating 2s infinite;
}
.eight {
    font-size: 64px;
    color: black;
    position: relative;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%);
    background: white;
    border-radius: 50%;
    height: 130px;
    width: 130px;
    margin: 0 auto;
    opacity: 1;
    transition: ease-in all 0.2s;
}
span.eight-contents {
    padding: 30px;
    display: block;
}
.triangle {
    -webkit-transform: translate(-50%,-50%) rotate(5deg);
    transform: translate(-50%,-50%) rotate(5deg);
    width: 135px;
    height: 135px;
    /* border-left: 75px solid transparent; */
    /* border-right: 75px solid transparent; */
    /* border-top: 130px solid rgba(60,10,120,0.0); */
    opacity: 0;
    transition: ease-in all 0.2s;
    position: relative;
    top: 50%;
    left: 50%;

    background-image: radial-gradient(circle 248px at center, #9fe2e0 20%, #1b9483 35%, #1b9483 100%);
    /*animation: hue 10s infinite;*/
}
.response {
    opacity: 0;
    color: white;
    text-shadow: 0px 1px 5px rgba(22, 118, 104, .5);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
    position: relative;
    -webkit-transform: translate(-50%,-50%) rotate(5deg);
    transform: translate(-50%,-50%) rotate(5deg);
    transition: ease-in all 0.2s;
    width: 90px;
    height: 100px;
    left: 50%;
    text-align: center;
    top: -50px;
}
.magic-ball:hover {
    cursor: move;
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}
.magic-ball:active {
    cursor: move;
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}
.triangle.active {
    /* border-top: 130px solid rgba(60,10,120,0.9); */
    -webkit-transform: translate(-50%,-50%) rotate(0deg);
    transform: translate(-50%,-50%) rotate(0deg);
    opacity: 1;
    transition: ease-in all 0.2s;
}
.response.active {
    opacity: 1;
    transition: ease-in all 0.2s;
    -webkit-transform: translate(-50%,-50%) rotate(0deg);
    transform: translate(-50%,-50%) rotate(0deg);
}

.eye {
    box-shadow: 0 0px 30px 0px rgba(159, 226, 224, .3);
    width: 130px;
    height: 130px;
    margin: 0 auto;
    top: 50%;
    position: relative;
    transform: translateY(calc(-50% - 130px));
    border: 2px solid rgba(24, 133, 118, .2);
    border-radius: 50%;
    overflow: hidden;
}
.eye.glow {
    animation: glow 2s ease infinite;
}
.rim {
    box-shadow: 0 0 0px 0 rgba(27, 148, 131, 1);
    width: 300px;
    height: 300px;
    margin: 0 auto;
    border-radius: 50%;
    
}
.rim.pulse {
    animation: pulse .5s 2;
}


/* Animations */
@keyframes shine {
    to {
      background-position: 200% center;
    }
}
@-webkit-keyframes shine {
    to {
      background-position: 200% center;
    }
}

@keyframes floating {
    from {transform: translate(0, 0px);}
    60% {transform: translate(0, 12px);}
    to {transform: translate(0, -0px);}    
}
@-webkit-keyframes floating {
    from {-webkit-transform: translate(0, 0px);}
    60% {-webkit-transform: translate(0, 12px);}
    to {-webkit-transform: translate(0, -0px);}    
}

@keyframes shadow {
    from {transform: scaleX(.9);}
    60% {transform: scaleX(1);}
    to {transform: scaleX(.9);}    
}
@-webkit-keyframes shadow {
    from {transform: scaleX(.9);}
    60% {transform: scaleX(1);}
    to {transform: scaleX(.9);}    
}

@keyframes pulse {
    0% {  
    }
    70% {
      box-shadow: 0 0 0 100px rgba(27, 148, 131, 0);
    }
    100% {
      box-shadow: 0 0 0 0 rgba(27, 148, 131, 0);
    }
}
@-webkit-keyframes pulse {
    0% {
    }
    70% {
      box-shadow: 0 0 0 100px rgba(27, 148, 131, 0);
    }
    100% {
      box-shadow: 0 0 0 0 rgbargba(27, 148, 131, 0);
    }
}

@keyframes glow {
    50% {
        box-shadow: 0 0px 40px 3px rgba(159, 226, 224, 1);
    }
    100% {
        box-shadow: 0 0px 30px 0px rgba(159, 226, 224, .3);
    }
}
@-webkit-keyframes glow {
    50% {
        box-shadow: 0 0px 40px 3px rgba(159, 226, 224, 1);
    }
    100% {
        box-shadow: 0 0px 30px 0px rgba(159, 226, 224, .3);
    }
}


/* Media Queries */
@media screen and (max-width: 600px) {
    .ball-container {
        transform: scale(.75);
    }
    .magic-ball {
        margin-top: 0;
    }
}

.popup {
   position: fixed;
   inset: 0;
   display: flex;
   justify-content: center;
   align-items: center;
   opacity: 0;
   visibility: hidden;
   transition: .3s;
   z-index: 999;
}

.popup.active {
   opacity: 1;
   visibility: visible;
}

.popup__overlay {
   position: absolute;
   inset: 0;
   background: rgba(0,0,0,.65);
}

.popup__content {
   position: relative;
   width: 90%;
   max-width: 44rem;
   background: #FFFFFF;
   border-radius: 2rem;
   padding: 2rem;
   z-index: 2;
}
@media (max-width: 750px) {
	.popup__content { padding: 1.3rem; border-radius: 1.3rem; }
}



.popup article {
	display: flex;
	align-items: center; 
	gap: 2rem;
	
	padding-bottom: 2rem; 
	border-bottom: solid 1px #D8E4E6;
}
.popup__text article p { 
	max-height: 5rem; overflow-y: scroll; scrollbar-color: var(--cherniy) #D8E4E6; scrollbar-width: thin; 
	font-size: clamp(14px,1.04vw,20px); 
	padding-right: 0.5rem;
	mask-image: linear-gradient(to bottom, black 0%, black 80%, transparent 100%);
}


@media (max-width: 750px) {
	.popup article { flex-direction: column; gap: 1rem; padding-bottom: 1rem; }
}


.media { width: 180px; min-width: 180px; position: relative; aspect-ratio: 1/1; border-radius: 50%; overflow: hidden; }
.media img { width: 100%; display: block; border: solid 1px #D8E4E6; border-radius: 50%; }

.media video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    pointer-events: none;
	z-index: 1;
}
.controls { position: absolute; z-index: 3; inset: 0; background: rgba(0,0,0,0.15); transition: opacity 300ms; opacity: 1; cursor: pointer; }
.controls::before { content: ''; display: block; position: absolute; z-index: 3; inset: 0; background: url('images/play.svg') center center / cover no-repeat; transition: transform 300ms; }
.controls:hover::before { transform: scale(1.15); }

.media.playing .controls { opacity: 0; }
@media (min-width: 1000px) {
	.media.playing .controls::before { background-image: url('images/pause.svg'); }
	.media.playing:hover .controls { opacity: 1; }
}

.fio { font-size: clamp(14px,0.83vw,16px); color: #80989E;  }

.popup aside { margin-top: 2rem; }
.popup aside p { font-weight: bold; font-size: 1.1rem; }
@media (max-width: 750px) {
	.popup aside { margin-top: 1rem; }	
}

#thankyou .popup__content { max-width: 38rem; }
#thankyou .popup__title { padding-right: 2rem; }
#thankyou p { font-size: clamp(16px,1.04vw,20px); }

.popup__close {
   position: absolute;
   top: 1.5rem;
   right: 1.5rem;
   border: none;
   background: none;
   cursor: pointer;
   min-width: auto; padding:0;
   background: url('images/close.svg') center center / cover no-repeat;
   width: 1rem; 
   height: 1rem;
   transition: transform 300ms;
}


.popup__close:hover { transform: scale(1.15); }





.countdownContainer { height: 100%; width: 100%; position: absolute; z-index: 2; background: black; }


.counter { display: block; position: absolute; z-index: 2; border-radius: 100%; }
.counter > span { position: absolute; height: 90%; width: 90%; margin: 5%; border-radius: 100%; text-align: center; z-index: 2; }
.counter > div {
    width: 50%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 4;
}
.counter div i { position: absolute; top: 0;  display: block; }
.counter div.halfRight i { 
	border-radius: 0 999px 999px 0; 
	border-left-width: 0 !important; 
	/*transform-origin: 0px 50%;*/
	transform-origin: 0 50%;
}
.counter div.halfLeft i {
	border-radius: 999px 0 0 999px;
	border-right-width: 0 !important; 
	left:0;
}

#countdown.counter { width: 180px; height: 180px; top: 50%;  left: 50%; /*margin-left: -90px; margin-top: -90px;*/ transform: translate3d(-50%, -50%, 0); }
#countdown.counter > div { width: 50%; height: 100%; }
#countdown.counter div i { width: 84px; height: 168px;  box-sizing: content-box; border: solid #008C95 6px; }


#countdown.counter > span { display: none; /* color: black; 	line-height: 9rem; font-size: 3rem; 	height: 8.4rem; width: 8.4rem; margin: 0.3rem; */	 }


.counter::before { content: ''; display: block; position: absolute; inset:0; z-index: 3; box-sizing: content-box; border: solid rgba(235, 235, 238, 0.5) 6px; border-radius: 50%; }

.counter div.halfRight { left: 50%; transform-origin: 0 50%; overflow: hidden; }
.counter div.halfRight i { transform: rotate(-180deg); } 
.counter div.halfLeft { display: none; left: 50%; }
.counter div.halfLeft i { transform: rotate(180deg); }

@media (max-width: 750px) {
	.media,
		#countdown.counter 	{ width: 160px; height: 160px; min-width: 160px; }
	#countdown.counter div i { width: 75px; height: 150px; border: solid #008C95 5px; }
}



