

:root {
    
/*    pallette */
    --orange:#FF7F04; /*primary*/
    --orange-dark: #BF5000;
    --yellow:#FFC511; /*borders*/
    --yellow-light:#FFDA61; /*borders*/
    --yellow-dark:#B97A05;
    --black:#303646; /*text*/
    --gray:#9096a6;
    --red:#CA1229; /*alert*/
    --red-dark:#A31515;
    --blue:#5F75C0; /* secondary*/
    --blue-dark:#2F4590;
    
/*    fonts */
    --heading-font: 'Chewy', sans-serif;
    --default-font: 'Lato', sans-serif;
    --button-font: 'Chewy', sans-serif;
    --body-font-size: 18px;
    
}


body {
    color: var(--black);
    font-family: var(--default-font);
    background-color:rgb(50,60,10);
    font-size:12pt;
    margin:auto;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

#APP {
    background: black;
    overflow:hidden;
    justify-content: center;
   
}

/***TYPOGRAPHY***/

p, li {
	font-size: var(--body-font-size);
	margin-top:5px;
	margin-bottom:5px;
}

h1, h2, h3, .heading {
    font-family: var(--heading-font);
    margin:5px auto 10px;
    letter-spacing: .05rem;
    font-weight:normal;
}


/***BUTTONS***/

.button-container {
    display:flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 20px;
    
    > button {
        flex-grow: 1;
    }
    
}

button.primary, 
button.secondary,
button.alert {
	cursor: pointer;
	font-family: var(--button-font);
	text-transform:uppercase;
	text-shadow:1px 1px 3px rgba(0,0,0,.6);
	color:white;
	background-color: var(--orange);
	zbox-shadow:inset -2px -2px 0 2px var(--orange-dark), 0px 5px 0px rgba(0,0,0,0.5);
	&:before {
		position:absolute;
		content:'';
		display:block;
		left:2px;
		top:2px;
		width: calc(100% - 12px);
		height: calc( 100% - 12px);
		box-shadow:inset 2px 2px 1px rgba(255,255,255,.7);
		border-radius: 8px 0px 0px 0px;  
		pointer-events: none;
		cursor:pointer;
	}
	&:active {
		zbox-shadow:inset -2px -2px 0 2px var(--orange-dark), 0px 0px 0px rgba(0,0,0,0.5);
		transform: translate( 0px, 5px );
	}
}
button.secondary {
    background-color:var(--blue);
    zbox-shadow:inset -2px -2px 0 2px var(--blue-dark);
     &:active {
    zbox-shadow:inset 1px 1px 0 2px var(--blue-dark);  
    }
}
button.alert {
    background-color:var(--red);
    zbox-shadow:inset -2px -2px 0 2px var(--red-dark);
     &:active {
    zbox-shadow:inset 1px 1px 0 2px var(--red-dark);  
    }
}

button.button-lg {
	font-size: 26px;
	padding: 15px;
}

button.button-xlg {
	font-size: 32px;
	padding: 20px;
}

/*
	This is for the little progress tracks for options that show
	a row of little dots.
*/
.progress {
	font-size: 24px;
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 5px;
	& .progress-dot {
		cursor: pointer;
	}
}

/*
	This shows a horizontal gauge.
	<div class="horizontal-gauge">
		<div class="gauge-label"> Label </div>
		<div class="gauge-track">
			<div class="gauge-amount" style="width: 20%;"></div>
		</div>
	</div>
*/
.horizontal-gauge {

	display: flex;
	align-items: stretch;
	gap: 10px;
	min-height: 1.2em;
	
	& .gauge-track {
		position: relative;
		flex-grow: 1;
		border: 1px solid black;
		background-color: #222;
		border-radius: 3px;
		overflow: hidden;
		
		& .gauge-amount {
			position: absolute;
			left: 0px;
			top: 0px;
			bottom: 0px;
			background-color: #33FF33;
			border-right: 1px solid black;
			transition: width 0.5s ease;
		}
	}
	
}

.tutorial-notification {
	background-color: white;
	color: black;
	padding: 20px;
	border: 2px solid black;
	border-radius: 20px;
	position: absolute;
	left: 10px;
	right: 10px;
	top: 60px;
	font-size: 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	gap: 10px;
	& p {
		font-size: var( --body-font-size );
	}
	& .nb {
		font-size: var( --small-font-size );
		font-weight: bold;
		color: gray;
	}
	background-image: url("../images/manager-small.png");
	background-repeat: no-repeat;
	background-position: bottom right;
	padding-right: 150px;
	min-height: 130px;
}

.tutorial-highlighted:after {
	position: absolute;
	left: calc( 75% - 50px );
	right: -100px;
	top: -100px;
	content: " ";
	transform: rotate(-135deg);

	animation: tutorial-tap-prompt 0.5s ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	transform-origin: 50% 50%;
	width: 100px;
	height: 100px;
	background-size: cover;
	background-image:
		url("../images/market-view/icon-tutorial.png");
}
@keyframes tutorial-tap-prompt {
	0% {
		transform: rotate( 20deg ) translateY( 0px );
	}
	100% {
		transform: rotate( 20deg ) translateY( 20px );
	}
}

/*
	CREDITS SCENE
*/
.credits.safearea {
	& .credits-panel {
		position: absolute;
		left: 20px;
		right: 20px;
		top: 60px;
		bottom: 60px;
		background-color: white;
		border-radius: 30px;
		padding: 30px;
		display: grid;
		grid-template-rows: 1fr 3em;
	}
	& #credits-contents-container {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	& #credits-button-bar {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
		font-size: 24px;
	}
	& button {
		align-self: stretch;
		min-width: 100px;
	}
	& h1,
	& h2 {
		text-align: center;
	}
	& img.logo {
		width: 225px;
		margin: auto;
		display: block;
		margin-top: 30px;
		margin-bottom: 30px;
		&.nifa {
			width: 450px;
		}
		&.ua {
			width: 300px;
		}
		&.uh {
			width: 250px;
		}
	}
	& dl {
		display: grid;
		align-items: stretch;
		justify-items: stretch;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 1em;
		grid-row-gap: 1em;
		& dt {
			font-weight: bold;
			text-align: right;
			margin: 0px;
			color: #369;
		}
		& dd {
			margin: 0px;
		}
	}
	& .key-roster {
		display: grid;
		grid-template-columns: 1fr 10fr;
		align-items: center;
		width: 100%;
		padding-left: 3em;
		margin: 20px;
		grid-row-gap: 20px;
		grid-column-gap: 20px;
		& > :nth-child(2n+1) {
			text-align: right;
		}
		& b {
			color: #063;
		}
	}
}


.left-arrow {
	background-image: url("../images/ui/arrow-left.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.right-arrow {
	background-image: url("../images/ui/arrow-right.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.warning {
	background-color: #ffc;
	color: #000;
	padding: 10px;
	border: #990;
	border-radius: 10px;
}

