/*
1.global styles
2.game  styles
3.label styles
4.icon styles
5.animation styles
6.keyframes
7.responsive styles
8.svg styles
9.mobile keyboard
10.modal window
*/

/*global styles*/
body {
	
	background-color:#778878;
	font-size: 16px;
	font-family: 'Orbitron', sans-serif;


}

h4 {
	margin: 0px;
}

#main-container {
	width: 100%
}

#mainBody {
	display: flex;
	justify-content: flex-start;
}

#gameSection {
	display: none;
}

#groupGameSection{
	display:none;
}

.header {
	background-color: #041005;
	text-align: right;
	border-bottom: 4px solid #fff;
	max-height: 160px;
	box-shadow: 2px 2px 1px #041005;
}

.buy-coffee{ 
	height:50px;
	position:relative;
	bottom:7px;
}

.buy-coffee span{
	margin:0px;
    font-weight: 900;
	padding:0px;
	font-size:12px;
	font-family: 'Orbitron', sans-serif;
	letter-spacing:normal;
	white-space: pre;
	
}

.buy-coffee span a{
	color:#32CD3C;
}

.buy-coffee span:before{

	content:url('/img/coffee.svg');
}

.start-game-id{
	cursor:pointer;
}

h1 {
	font-weight: 900;
    text-shadow: -0.2em 0.3em 0 rgb(0 0 0 / 20%);
    font-size: 48px !important;
    color: #32CD3C;
    padding: 50px 49px 0px 0px;
    font-family: 'VT323', monospace;
	position: relative;
	bottom:-10;
	cursor:pointer;

}

h1:after {
	content: '_';
	display: inline-block;
	color: #32CD3C;
	margin-left:-6px;
  }


/*console styles*/

#terminal,
#inputContainer,
#letterContainer,
#groupGameContainer,
#groupUserContainer,
#consoleContainer,
#legend {
	color: #32CD3C;
	font-weight: 900;
	overflow: hidden;
	font-size: 104px;
	background-color: #000;
	border: 1px solid #737373;
	padding: 20px;
	letter-spacing: 24px;
	text-align: center;
	min-height: 198px;
	position: relative;
	bottom: 20px;
	margin: 0px auto;
	line-height: 1.9;
	border-radius: 10px;
	width: 32%;

	box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
}

.terminal-container{
	display:flex;
}

#rules-forward, #rules-back{
	margin-top:30px;
	cursor:pointer;
}

#groupGameId{
	margin: 0px auto 20px auto;
    line-height: 1.9;
	position:relative;
    border-radius: 10px;
	width: 53%;
	position:relative;
    height: 54px;
	box-shadow: 10px 10px 5px 0px rgb(0 0 0 / 75%);
  
  
}

#groupGameIdText {
	width: 100%;
	height:100%;
    background-color: #000;
    border: 1px solid #737373;
    color: #32CD3C;
    font-weight: 900;
	box-shadow: 10px 10px 5px 0px rgb(0 0 0 / 75%);
	font-weight: 900;
	font-family: 'Orbitron', sans-serif;
	font-size:22px;
	padding-left:20px;

}

#groupGameSection #groupGameContainer
{
    font-size: 34px;
    width: 50%;
    height: 250px;
    min-height: 0px ;
	bottom: 0px;
	font-size: 16px;
    letter-spacing: 4;
    text-align: left;
	padding-left:20px;
}

#groupGameStandings{
	color:#ffffff;
}

.groupGameLabel{
margin: 20px auto;
width: 50%;
font-weight: 900;
line-height: 1.8;
}

#consoleText {
	height: 300px;
	overflow: hidden;
}


.error {
	color: #cd3276 !important;
}

.victory {
	color: #041005 !important;
}

.results {
	color: #c3cd32 !important;
}

.bonus {
	color: #ffffff !important;
}
.wrong{
	color:#bcbec0 !important;
}
.almost{
	color:#f26522 !important;
}
.right {
	color:#32CD3C !important;
}
.winner {
	color: #32CD3C !important;
	font-size:18px;
}

.discarded-letter{font-size:25px;}

#letterText{
	width: 100%;
    display: flex;
    flex-wrap: wrap;
}

#consoleContainer {
	width: 45%;
	background-color: #000;
	height: 340px;
	font-size: 11px;
	text-align: left;
	letter-spacing: 2px;
	min-height: 0px !important;
	bottom: 73px !important;
}
.console-point-highlight{
	
	background-color: #32CD3C !important;
	color: #000 !important;

}
.point-text{
	font-size:20px;
}

#letterContainer, #usedLetterContainer{
	width: 85%;
	font-size: 90px;
	height: 136px;
	margin-top: 3px;
	bottom: 70px !important;
	min-height: 0px !important;
}

#rules {
	margin: 20px auto;
	font-size: 30px;
	font-weight: 900;
	text-align: center;
}

#resultsDisplay{
justify-content: center;
position:relative;

}



#inputDisplayContainer{
	display: flex;
    /* width: 100px; */
    margin-left: 50px;
    height: 20px;

}
.inputTextContainer {
	
	margin: 0px auto;
	position: relative;
	left: 10px;
}

#inputContainer {
	width: 85%;
	height: 136px;
	min-height: 0px !important;
	bottom: 90px;
}

.inputItem:nth-child(1) {
	flex-basis: 80%;
}


#mainBody label, #skipWordLink {
	width: 200px;
	margin: 0px auto;
	color: #32CD3C;
	display: block;
	letter-spacing: 2px;
	font-size: 12px;
	font-weight: 300;
	background-color: #000
}

#timer{
	bottom: 60px;
	text-align: left;
	margin-right: 30px;
	letter-spacing: 2px;
    font-size: 25px;
    font-weight: 300;
	width:66px;
}

#skipWordLink {
display: inline;
text-decoration:underline ;
cursor:pointer;
margin-left:3px;
font-size: 25px;
}

#letterLabel {
	bottom: 10px;
}


#legend {
	color: #fff;
	background-color: #041005;
	margin-top: 0px;
	width: 90%;
	letter-spacing: 3px;
	font-size: 30px;
	text-shadow: -0.2em 0.3em 0 rgba(0, 0, 0, 0.2);
	position: relative;
}

#legend label {
	width: 200px;
	color: #fff;
	margin: 0px auto;
	display: block;
	letter-spacing: 2px;
	background-color: #041005;
	font-size: 12px;
	font-weight: 300;
}

#legend span {
	display: inline-block;
	color: #32CD3C;
	margin: 0px 3px;
}

.emphasis {
	animation: color-emphasis .5s linear;
	animation-fill-mode: forwards;
}

#console {
	margin: 60px auto;
	width: 50%;
	border: 1px solid #000;
	display: flex;
}

.buttonContainer {
	margin: 0 auto;
	display: flex;
	width: 600px;
	padding: 6px;
}

.buttonContainer button, .startContainer button {
	border-radius: 37px;
	height: 101px;
	width: 262px; 
	font-size: 22px;
	padding: 20px;
	color: #ffffff;
	box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
	background-color: #041005;
	color: #ffffff;
	font-weight: 900;
	font-family: 'Orbitron', sans-serif;
	margin: 7px;
	display: block;
	cursor: pointer;
}

#gameText::placeholder {
	color: #32CD3C;
}


#gameText {
	
	background-color: #000;
	font-weight: 900;
	font-size: 95px;
	border: 0px;
	letter-spacing: 30px;
	width: 60%;
	display: inline-block;
	font-family: 'Orbitron', sans-serif;
	text-align: center;
	border: none;
	color: transparent;
	text-shadow: 0 0 0 #32CD3C;
}

#gameText:focus {
	outline: none;
}


#clickToStart{
	text-decoration: underline;
	font-size:30px;
	cursor:pointer;
}
.game-child {
	width: 50%;
	margin-top: 18px;
}


.high-score-item {
	font-size: 15px;
	letter-spacing: 5px;
}

.group-code-item {
	font-size: 35px;
	letter-spacing: 5px;
}

.scoreContainer {
	float: right;
    margin: 10px;
    display: flex;
    position: relative;
    bottom: 30px;
    width: 100%;
}

#playerScoreCount,
#highScoreCount {
	font-size: 25px;
	font-weight: 300;
	letter-spacing: 3px;
}

#highScoreCount {
	margin-left: 5px;

}

#playerScoreCount {
	margin-right: 35px;
}


/*icons styles*/
.lds-facebook {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}

.lds-facebook div {
	display: inline-block;
	position: absolute;
	left: 8px;
	width: 16px;
	background: #32CD3C;
	animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}

.lds-facebook div:nth-child(1) {
	left: 8px;
	animation-delay: -0.24s;
}

.lds-facebook div:nth-child(2) {
	left: 32px;
	animation-delay: -0.12s;
}

.lds-facebook div:nth-child(3) {
	left: 56px;
	animation-delay: 0;
}

.has-cursor {
	margin-left: 3px;
	display: inline-block;
	width: 17px;
	height: 61%;
	position: relative;
	top: 15px;
	background-color: #32CD3C;
	animation: blink 1s infinite;
}

.trophy-wrapper {
	display: flex;
	position: relative;
	margin: 0px 21px;
	justify-content: center;
	align-items: center;
}

.trophy-mask {
	margin: none;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 100;
}

.trophy-container {
	position: absolute;
	top: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.trophy-main {
	height: 18px;
	width: 17px;
	background: #32CD3C;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.trophy-stem1 {
	position: absolute;
	top: 19px;
	border-bottom: 10px solid #32CD3C;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	height: 0;
	width: 10px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}

.trophy-base {
	position: fixed;
	width: 18px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	background: black;
	height: 2px;
	top: 38px;
}

.trophy-arms {
	width: 25px;
	height: 8px;
	position: absolute;
	background: transparent;
	z-index: -1;
	border: #32CD3C 2px solid;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 100px;
	border-bottom-right-radius: 100px;
}



/*animation styles*/

.drop-frame{

	animation: ease-down .5s linear;
	animation-fill-mode: forwards;


}

.scatter-console-0 {
	animation: scatter-console-0 2s linear;
	animation-fill-mode: forwards;
}

.scatter-console-winner {
	animation: scatter-console-winner 2s linear;
	animation-fill-mode: forwards;
}

.scatter-console-1 {
	animation: scatter-console-1 .5s linear;
	animation-fill-mode: forwards;
}

.scatter-console-2 {
	animation: scatter-console-1 2s linear;
	animation-fill-mode: forwards;
}

.scatter-console-3 {
	animation: scatter-console-1 1s linear;
	animation-fill-mode: forwards;
}

.extendConsole {
	animation: extend-console .5s linear;
	animation-fill-mode: forwards;
}

.easeUpLegend {
	animation: ease-up 3s linear;
	animation-fill-mode: forwards;
}

.gameOver {
	font-family: 'Courier New', Courier, monospace;
	animation: ease-down .5s linear;
	animation-fill-mode: forwards;
	position: relative;
}


.easeInLeft {
	animation: ease-left .5s linear;
	animation-fill-mode: forwards;
}

.easeInRight {
	animation: ease-right .5s linear;
	animation-fill-mode: forwards;
}

.easeOutLeft {
	animation: ease-out-left .5s linear;
	animation-fill-mode: forwards;
}

.easeOutRight {
	animation: ease-out-right .5s linear;
	animation-fill-mode: forwards;
}

/*keyframes*/
@keyframes lds-facebook {
	0% {
		top: 8px;
		height: 64px;
	}
	50%,
	100% {
		top: 24px;
		height: 32px;
	}
}

@keyframes lds-dual-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes color-emphasis {
	0% {
		color: #32CD3C;
	}
	100% {
		color: #041005;
	}
}

@keyframes blink {
	0% {
		color: 0;
	}
	49% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
}


@keyframes  display-key {
	0% {
		box-shadow: 0px 3px 3px rgb(0 0 0 / 70%);
	}
	75% {
		box-shadow: 17px 3px 8px rgb(0 0 0 / 70%);

	}
	100% {
		box-shadow: 0px 3px 3px rgb(0 0 0 / 70%);
	}
}

@keyframes extend-console {
	0% {
		height: 276px;
	}
	100% {
		height: 360px;
	}
}

@keyframes flatten-console {
	0% {
		height: 360px;
	}
	100% {
		height: 276px;
	}
}

@keyframes ease-left {
	0% {
		right: 700px;
	}
	100% {
		right: 0px;
	}
}

@keyframes ease-right {
	0% {
		left: 700px;
	}
	100% {
		left: 0px;
	}
}

@keyframes ease-out-left {
	0% {
		right: 0px;
	}
	100% {
		right: 1000px;
	}
}

@keyframes ease-up {
	0% {
		bottom: -1000px;
	}
	100% {
		bottom: 20px;
	}
}

@keyframes ease-down {
	0% {
		top: -300px;
	}
	100% {
		top: 0px;
	}
}

@keyframes ease-up-mobile {
	0% {
		bottom: -1000px;
	}
	100% {
		bottom: 100px;
	}
}

@keyframes ease-up-title {
	0% {
		bottom: -10px;
	}
	100% {
		bottom: 38px;
	}
}

@keyframes flatten-emoji {
	0% {
		top: 0px;
		transform: scaley(1);
	}

	50% {
		top: 0px;
		transform: scaley(1);
	}
	75% {
		
		transform: scalex(1);
	}
	100% {
		top: -40px;
		transform: scale(.2);

	}
}

@keyframes drop-emoji {
	0% {
		top: 0px;
	
	}
	100% {
		top: 40px;
	}
}

@keyframes ease-out-right {
	0% {
		left: 0px;
	}
	100% {
		left: 1000px;
	}
}

@keyframes scatter-console-1 {
	0% {
		opacity: 1;
		transform: translate(0, 0px) rotateZ(0deg);
	}
	75% {
		opacity: 1;
		transform: translate(20px, 600px) rotateZ(30deg);
	}
	100% {
		opacity: 0;
		transform: translate(30px, 800px) rotateZ(45deg);
	}
}

@keyframes scatter-console-0 {
	0% {
		opacity: 1;
		transform: translate(0, 0px) rotateZ(0deg);
	}
	75% {
		opacity: 1;
		transform: translate(20px, 600px) rotateZ(30deg);
	}
	100% {
		opacity: 0;
		letter-spacing:100px;
		transform: translate(30px, 800px) rotateZ(45deg);
	}
}

@keyframes scatter-console-winner {
	0% {
		font-size:18px;
	}
	100% {
		font-size:1000px;
	}
}


/*responsive classes */
@media(min-width:961px){
	#lf-keyboard{
		display:none;
	}
}

@media (max-width:961px) {
	

	.header h1.easeUpTitle{
		font-size: 19px !important;
   		 min-height: 47px;
	}

	.groupGameLabel{
		width:80%;
		font-size: 12px;
	}

	#groupGameContainer {
		font-size: 14px !important;
		width: 80% !important;
		height: 70px;
		min-height: 0px !important;
		bottom: 0px !important;
		letter-spacing: 14px;
		overflow:hidden;
	}

	#letterContainer{
		display:none;
	}

	#groupGameContainer.idSelected .groupIdSelected{
		display:none;

	}
	
	#consoleLabel {
		display: none !important;
	}

	#resultsDisplay{
		position:relative;
		bottom:6px;
		height:10px  !important;
	}

	.has-cursor {
		height: 61%;
		width: 9px;
	}
	#mainBody {
		flex-direction: column;
	}
	#consoleContainer {
		height: 150px;
		width: 85%;
		margin: 0px auto 10px auto;
	}
	#consoleText {
		height: 175px;
	}
	#inputContainer {
		height: 70px;
		font-size: 50px;
		letter-spacing: 10px;
	}
	#letterContainer {
		font-size: 12px;
		height: 100px;
	}
	#timerLabel {
		display: none !important;
	}
	
	#inputContainer {
		bottom: 76px;
	}
	.game-child {
		width: 90%
	}
	#gameText {
		font-size: 50px;
		letter-spacing: 10px;
	}
	#game {
		width: 100%;
		margin: 0px auto;
	}
	#terminal {
		font-size: 30px;
		min-height: 90px;
		width: 80%;
	}
	#rules {
		font-size: 16px;
		min-height: 40px;
	}
	#legend {
		font-size: 12px;
	}
	.buttonContainer {
		flex-direction: column;
		width: 318px;
	}
	.scoreContainer {
		bottom: 32px;
	}
	#skipWordLink,#timer{
		font-size:15px;
	}
	
	.buttonContainer button {
		font-size: 22px;
		height: 78px;
	}
	.trophy-wrapper {
		display: none;
	}
	#playerScoreCount,
	#highScoreCount {
		font-size: 12px;
	}
	#playerScoreCount {
		margin-right: 8px;
	}
	#highScoreCount:before {
		content: "HI:";
	}

	#inputContainer{
	padding-bottom: 33px;
	}

	.game-emoji{
		height:50px;
	}
	
}

.easeUpTitle {
	animation: ease-up-title .5s linear;
	animation-fill-mode: forwards;
	
}

/*svg styles*/
.game-emoji{
	height:100px;
	position:relative;
}

.flatten-emoji {
	animation:  flatten-emoji 1s linear;
	animation-fill-mode: forwards;	
}

.svg-container{
	display:none;
}


/*mobile keyboard
based on https://codepen.io/kulpreets/pen/MKgqqB
*/

  
  .base {
	border-radius: 10px;
	background: #1d281e;
	display: flex;
	width: 100%;
	height: auto;
	flex-direction: column;
	padding: 15px 7px;
	font-size: 20px;
	font-family: 'Orbitron', sans-serif;
	box-shadow: 0px 40px 45px rgba(0, 0, 0, .4);
	position:relative;
	bottom:70px;
  }
  
  div[class*='line'] {
	display: flex;
	justify-content: space-around;
  }
  
  div[class*='line'] + div[class*='line'] {
	margin-top: 15px;
  }


  
  .line1,
  .line3 {
	padding: 0 15px;
  }
  
  .line2 {
	padding: 0 30px;
  }
  
  div[class*='line'] span {
	box-shadow: 0px 3px 3px rgb(0 0 0 / 70%);
    color: #32CD3C;
    padding: 10px;
    margin: 2px;
	background: #2F3336;
    border-radius: 12px;
    width: 25px;
    text-shadow: 0px 0px 40px #32cd3c, 0px 0px 80px #32cd3c;
    text-align: center;
}

div[class*='line'] span:active {
background-color: #97999a;
}



.lf-key-init{visibility:hidden;}
.lf-key-visible{
	animation: display-key .2s linear;
	animation-fill-mode:forwards;
}

.lf-key-correct{
	background-color:#32CD3C !important;
	color:#000 !important;

}

.lf-key-incorrect{
	background-color:#ffffff !important;
	color:#000 !important;
}
.lf-key-close{
	background-color:#f26522  !important;
	color:#000  !important;
}
  
  
  
  div[class*='line'] span:hover {
	/*   box-shadow: 0px 2px 10px #040404;*/
	

	text-shadow: 1px 2px 60px #32CD3C, 0px 0px 60px rgba(0, 188, 212, .9), 0px 0px 60px rgba(0, 188, 212, .9), 10px 10px 60px rgba(0, 188, 212, .9);
	cursor: pointer
  }
  
  div[class*='line'] span:active {
	transform: scale(.9);
  }
  
/*modal window */
.modal-window {
	position: fixed;
	background-color: rgba(255, 255, 255, 0.25);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 999;
	visibility:hidden;
	opacity: 0;
	pointer-events: none;
	transition: all 0.3s;
  }

  .modal-window label {
	font-weight: 900;
	display:block;
	margin: 20 0px 10 0;
  }

  .modal-window a {
	font-weight: 900;
	display:block;
	color:#000;
	margin: 20 0px 50 0;
	text-decoration: underline;
  }

  .modal-window label:nth-child(2) {

	margin-top:25px;

  }
  .modal-window-active {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
  }
  .modal-window > div {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 7%;
    transform: translate(-50%, -50%);
    padding: 2em;
    background: #C5CDC6;
	box-shadow: 10px 10px 5px 0px #041005;

}
  .modal-window header {
	font-weight: bold;
  }
  .modal-window h1 {
	font-size: 150%;
	margin: 0 0 15px;
  }
  
  .modal-close {
	color: #aaa;
	line-height: 50px;
	font-size: 80%;
	position: absolute;
	right: 0;
	text-align: center;
	top: 0;
	width: 70px;
	text-decoration: none;
  }
  .modal-close:hover {
	color: black;
  }
 

  