@charset "utf-8";
/* CSS Document */

.breadcrumb{
	display: none;
}

.dash-chairperson h2{
	color: #fd5f24;
	font-size: 1.5em;
	font-weight: 700;
	margin: 0;
	position: relative;
}

.dash-blueheader{
	background: #1078d8;
	border-radius: 12px;
	border-bottom: 6px solid #189df0;
	color: #fff; 
	margin-bottom: 7px;
	padding: 10px 20px;
}

.dash-blueheader h1{
	font-family: 'Simply Olive', sans-serif;
	font-size: 3em;
	line-height: 0.8em;
	margin: 0;
	text-shadow: 2px 2px 0px #0a9cce;
	text-transform: uppercase;
}

.dash-blueheader .header-logo{
	text-align: right;
}

.dash-blueheader .header-logo img{
	max-width: 160px;
}

.dash-blueheader .welcome{
	font-size: 1.2em;
	font-style: italic;
	margin: 10px 0 12px;
}

.dash-flex-row{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	margin: 0 -7px;
}

.flex-col{
	flex-basis: 100%;
	margin: 7px;
}

.dash-flex-row .box{
	background: #fff;
	border-radius: 12px;
	padding: 20px;
}

.activity-starburst{
	align-items: center;
	aspect-ratio: 1 / 1;
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
	display: flex;
	font-size: 1.5em;
	font-weight: 600;
	justify-content: center;
	line-height: 1.1em;
	margin: 10px auto 30px;
	max-width: 240px;
	text-align: center;
	background-image: url("/images/starburst.png");
}

.activity-starburst > div{
	transform: rotate(12deg);
}

.activity-starburst span{
	display: block;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1em;
	margin-bottom: 5px;
}

.countdown .numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-bottom: 15px;
}

.countdown .numbers span {
	color: #fff;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 7em;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.2em 0.2em;
	border-radius: 10px;
	line-height: 1;
}

.countdown .numbers.blue span{
	background-color: #0ec5ea;
}

.countdown .numbers.green span{
	background-color: #7ed957;
}

.countdown .live,
.countdown .complete,
.countdown .close-out{
	display: flex;
	justify-content: center;
}

.countdown .live span,
.countdown .complete span,
.countdown .close-out span{
	align-items: center;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-family: "Roboto Condensed", sans-serif;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	margin: 10px;
	text-align: center;
	text-transform: uppercase;
}

.countdown .live span{
	background: #ff3131;
	font-size: 5em;
	padding: .1em .2em .08em .5em;
}

.countdown .live span i{
	font-size: .8em;
	margin-left: .3em;
}

.countdown .complete span{
	background:#7ed957;
	font-size: 4em;
	padding: .2em .5em .2em .4em;
}

.countdown .complete span i{
	font-size:.8em;
	margin-right: .3em;
}

.countdown .close-out span{
	background: #3197d1;
	font-size: 2.2em;
	padding: .4em 1.2em;
}

.donations-countries{
	font-size:.9em;
	max-height: 370px;
	overflow: auto;
}

.donations-globe{
	margin: 30px 0 20px;
	text-align: center;
}

.donations-globe img{
	width: 80%;
	max-width: 280px;
}

.house,
.medal{
	text-align: center;
}

.house img,
.medal img{
	margin: 15px 0;
	max-width: 300px;
	width: 80%;
	transition: all 0.3s ease;
}

.medal img:hover{
	transform: scale(1.05);
}

.medal img.gray{
	filter: grayscale(100%);
	opacity: 60%;
}

.medal img.gray:hover{
	opacity: 100%;
}

.progress-compare{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px 0;
	position: relative;
}

.progress-compare > div{
	background: #eee;
	border-radius: 10px;
	color: #545454;
	font-size: 1.3em;
	font-weight: 600;
	padding: 8px 20px;
	z-index: 10;
}

.progress-compare div span{
	color: #00bf63;
}

.progress-compare div span.gold{
	color: #FFB000;
}

.progress-compare div span.red{
	color: #bf0039;
}

.progress-compare img.confetti{
	height: 80px;
	position: absolute;
	top: -20px;
	width: 220px;
	z-index: 1
}

.progress-compare-multi{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.progress-compare-multi > div:first-child{
    border-right: 2px solid #8f8f8f;
	margin-right: 18px;
    padding-right: 18px;
}

.progress-goals{
	align-items: center;
	display: flex;
	gap: 10px;
    justify-content: center;
}

.progress-goals > div{
	border-radius: 8px;
	color: #545454;
	font-size: 1.05em;
	font-weight: 600;
	padding: 6px 14px;
}

.progress-goals i{
	margin-right:7px;
}

.progress-goals .school{
	background: #AFE4A1;
}

.progress-goals .stretch{
	background: #FFEFB0;
}

.students-progress-wrapper {
	margin: 1.5em auto;
	width: 80%;
}

.stats > div{
	align-items: center;
	background: #F2F2F2;
	border-radius: 999px;
	display: flex;
	font-size: .95em;
	justify-content: space-between;
	margin-bottom: 6px;
	padding: 10px 12px;
	position: relative;
}

.stats > div.stat-header{
	color: #fff;
	display: block;
	font-size: 1.1em;
	font-weight: 600;
	text-align: center;
}

.stats > div span.total{
	color: #00BF63;
	font-size: 1.2em;
	font-weight: 700;
	margin-left: 5px;
}

.stats > div span.minutes{
	color: #8F58FC;
	font-size: 1.2em;
	font-weight: 700;
	margin-left: 5px;
}

.stats.starred > div:not(.stat-header){
	padding-left: 50px;
	transition: all ease .2s;
}

.stats.starred > div:not(.stat-header)::before {
	align-items: center;
	aspect-ratio: 1 / 1;
	background-color: #FEDD58;
	border-radius: 50%;
	color: #fff;
	content: "\2605";
	display: flex;
	font-size: 1.9em;
	font-weight: 600;
	height: 100%;
	justify-content: center;
	left: 0;
	line-height: 30px;
	position: absolute;
	top: 0;
}

.students-progress-wrapper .progress-container {
	background-color: #d9d9d9;
	aspect-ratio: 800 / 167;
	margin-bottom: 5px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.students-progress-wrapper .progress-bar {
	background-color: #7ed957;
	height: 100%;
	transition: width 0.5s ease;
	width: 0%;
}

.students-progress-wrapper .svg-overlay {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.progress-people .svg-overlay{
	background-image: url("/images/student-progress-mask-people.svg");
}

.progress-dollars .svg-overlay{
	background-image: url("/images/student-progress-mask-dollars.svg");
}

.map-legend{
	margin:0;
}

.map-legend .color-block{
	min-height:24px;
}

.map-legend .flex-col{
	font-size:.85em;
	margin:0;
	text-align: center;
}

.map-legend-donations{
	font-size: 1.1em;
	font-weight: 600;
	margin: 5px 0 30px;
	text-align: center;
}

@media screen and (min-width: 992px) {
	.dash-flex-row .box.stacked-top{
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
		padding-bottom: 10px;
	}

	.dash-flex-row .box.stacked-bottom{
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		padding-top: 10px;
	}
}


@media screen and (max-width: 992px) {
	.dash-chairperson h2{
		font-size: 1.3em;
		padding-right: 60px;
	}

	.dash-chairperson h2:after{
		color: #333;
		content: "\f078";
		font-family: 'Font Awesome 6 Free';
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.dash-chairperson .box.expanded h2:after{
		content: "\f077";
	}
	
	.dash-flex-row{
		display: block;
		margin: 0;
	}
	
	.dash-flex-row .box.stacked-top,
	.dash-flex-row .box.stacked-bottom{
		margin:14px 0;
	}

	.flex-col{
		margin: 14px 0;
	}

	.dash-blueheader .header-logo{
		display: none;
	}

	.countdown .numbers span {
		font-size: 5em;
	}

	.countdown .live span{
		font-size: 3.5em;
	}

	.countdown .complete span{
		font-size: 2.8em;
	}

	.house{
		display: none;
	}

	.map-legend{
		display: flex;
		font-size:.95em;
	}

	.map-legend .color-block{
		min-height:20px;
	}

}

@media screen and (max-width: 480px) {

	.progress-compare-multi{
		display: block;
		text-align: center;
	}

	.progress-compare-multi > div,
	.progress-compare-multi > div:first-child{
		margin:5px 0;
		font-size: 0.9em;
	}

	.progress-goals{
		flex-direction: column;
	}

}

/*//// ACCORDION STYLES ////*/

.box-content {
	display: block;
}

@media (max-width: 992px) {
	.box-content {
		display: block;
		overflow: hidden;
		max-height: 0;
		transition: max-height 0.5s ease;
	}

	.box.expanded .box-content {
		max-height: 1500px; /* Large enough to fit content */
	}
}