@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&display=swap');

body {
	padding: 20px 80px;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	background: #222;
}
main {
	min-height: 620px;
	max-height: 620px;
	overflow: hidden;
	overflow-x: auto;
}
h2 {
	display: inline-flex;
	flex: 2;
	justify-content: flex-end;
	color: #999;
	font-weight: 600;
	letter-spacing: -0.025rem;
}
	h2 span {
		color: #EEE;
	}
table {
  width: 100%;
}
th,
td {
	position: relative;
  padding: 12px 0;
  font-size: 0.9rem;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  cursor: default;
}
th {
	color: #AAA;
	border-bottom: 2px solid #555;
	transition: color 250ms ease-in-out, border-bottom-color 250ms ease-in-out;
}
td {
	padding: 12px 8px;
	color: #888;
	border-right: 1px dotted #555;
}
	td:last-child {
		border-right: none;
	}
header {
	position: relative;
	display: flex;
	flex-flow: row;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}
tfoot tr {
	border-top: 2px solid #555;
}
	tfoot td {
		color: #AAA;
		font-size: 1.0rem;
		font-weight: 700;
	}

/* Header logo; */
.nb-logo {
	flex: 0 0 144px;
	width: 144px;
	height: 50px;
	margin: 5px 0 5px 10px;
	padding: 0;
	font-size: 21px;
	text-indent: -9999em;
}
	.nb-logo:before,
	.nb-logo:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 144px;
		height: 50px;
		margin: 5px 0 5px 10px;
		background: transparent url("../img/logo-exceed-white-ss.svg") 0 50% no-repeat;
		background-size: 100% auto;
	}
	.nb-logo:before {
		filter: none;
		opacity: 0.70;
	}
	.nb-logo:after {
		filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.7));
		opacity: 0;
		transition: opacity 750ms ease-in-out;
	}

/* Header Actions; */
.actions {
	flex: 0 0 70px;
	padding: 0 0 0 30px;
}
.btn {
	width: 70px;
	min-height: 24px;
	color: #000;
	font-size: 0.76rem;
	font-weight: 600;
	border-radius: 3px;
	border: 0;
	background: #AAA;
	transition: all 450ms ease-in-out;
}
	.btn:after {
		content: 'Start';
	}
	.btn:hover, 
	.btn:focus {
		background: #038bff;
		transition: all 850ms ease-in-out;
	}
	.btn:active {
		background: #0063b8;
		transition: none;
	}
.btn.btn-stop {
	background: #c4284c;
}
	.btn.btn-stop:after {
		content: 'Stop';
	}
	.btn.btn-stop:hover,
	.btn.btn-stop:focus {
		background: #f60039;
	}
	.btn.btn-stop:active {
		background: #930022;
	}

#savings {
	color: #038bff;
	font-weight: 700;
}


/* Tables; */
.left-align {
	text-align: left;
}
.right-align {
	text-align: right;
}
.tbl-savings th:nth-of-type(n+4):nth-of-type(-n+6):hover {
	color: #EEE;
	border-bottom-color: #BBB;
	background: linear-gradient(45deg,#2870de,#7232ce);
	cursor: pointer;
	transition: background-color 250ms ease-in-out;
	border-radius: 8px 8px 0 0;
}
	.tbl-savings th:nth-of-type(n+4):nth-of-type(-n+6):not(:empty)::after { 
	  content: '';  
	  height: 999px;
	  left: 0;
	  position: absolute;  
	  top: 0px;
	  width: 100%;
	  z-index: -1;
	  border-radius: 8px 8px 0 0;
	  background-color: #333;
	  opacity: 0;
	  transition: opacity 250ms ease-in-out;
	}
	.tbl-savings th:nth-of-type(n+4):nth-of-type(-n+6):not(:empty):hover::after {
		opacity: 1;
		transition: opacity 250ms ease-in-out;
	}
.tbl-rate-plans,
.tbl-summary {
	margin-left: 20px;
}
.tbl-rate-plans {
	width: 780px;
		max-width: 780px;
}
	.tbl-rate-plans td {
		padding: 10px 0;
	}
	.tbl-rate-plans td.curr2 {
		padding: 10px 8px 10px 0;
	}
.tbl-summary {
	margin-top: 20px;
	width: 400px;
		min-width: 400px;
		max-width: 400px;
	border: 2px solid #555;
}
	.tbl-summary td {
		padding: 8px;
		color: #AAA;
	}
	.tbl-summary .summ-col-1 {
		width: 230px;
	}
	.tbl-summary .tot2 {
		color: #2f86ff;
		font-size: 1.15rem;
	}

.counter {
	color: #DDD;
}
.progress-bar-wrapper {
	position: relative;
	display: block;
	width: 120px;
		min-width: 120px;
		max-width: 120px;
}
.progress-label {
	display: block;
	color: #DDD;
	font-weight: 700;	
	z-index: 1;	
}
.progress-bar {
	display: block;
	position: absolute;
	top: -4px;
	height: 22px;
  background: linear-gradient(90deg,#3270ce,#9232ce);
  z-index: -1;
}
.curr:before,
.curr2:before {
	content: '$';
}
.curr:after {
	content: '.00';
}
#savings.curr:after {
	content:'';
}

/* Popup; */
.overlay {
	position: absolute;
	display: none;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #0000;
	opacity: 1;
	z-index: 10;
}
	.overlay.show {
		display: block;
		background: #0005;
		transition: all 450ms linear;
	}
.modal-zoom {
	position: absolute;
	display: none;
	top: 50%;
	left: 50%;
	margin-top: -300px;
	margin-left: -430px;
	width: 860px;
	height: 600px;
	padding: 20px;
	transform: scale(0.1);
	background: #303030;
	border-radius: 9px;
	box-shadow: 5px 5px 20px 2px #000, 
	            inset 0 0 0 1px #FFF1;
	opacity: 0;
	z-index: 11;
}
	.modal-zoom:before {
		content: '';
		position: absolute;
		background: linear-gradient(45deg,#2870de,#7232ce);
		height: 5px;
		top: 0;
		left: 20px;
		width: 100px;
	}
	.modal-zoom-in {
		display: block;
		transition: transform 250ms linear;
	}
#juneRates {
	/* transform-origin: 20% 5% 0px; */
}
.modal-header {
	display: inline-flex;
	flex-flow: row;
	margin: 0 0 20px 0;
	color: #999;
	font-size: 1.7rem;
	font-weight: 600;
}
	.modal-header .emp {
		margin-left: 10px;
		color: #DDD;
	}
	.close-modal {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 22px;
		right: 20px;
		width: 24px;
		height: 24px;
		padding: 0;
		color: #DDD;
		font-size: 24px;
		font-weight: 600;
		background: #A00D;
		border-radius: 5px;
		box-shadow: 0 0 0 1px #300A;
		opacity: 0.6;
		user-select: none;
		transition: opacity 450ms ease-in-out;
		cursor: pointer;
	}
		.close-modal:hover,
		.close-modal:focus {
			opacity: 1.0;
			transition: opacity 450ms ease-in-out;
		}
		.close-modal:active{
			color: #AAA;
			background: #600;
		}