
BODY {
	overflow-x: hidden; /* Prevent horizontal scroll */
}

/* hide the title and footer on this page */
H1, FOOTER {
	display: none;
}

.glitched-schedule {
}

.fullscreen {
	top: 60px;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: white;
	z-index: 50;
	padding: 0;
	text-align: center;
	font-size: 16px;
}

/* Adjustment for when the adminbar is present */
BODY.admin-bar DIV.fullscreen {
	top:90px;
}

.outer-container {
	margin: 1em auto;
	position: relative;
	height: 100%;
	filter: drop-shadow(0px 4px 7px #00000066);
	width:50%;
	max-width:750px;
}



/* TOP BARS */
.day-selection-bar, .location-selection-bar {
	background-color: white;
	margin: 0;
	position: absolute;
	height: 45px;
	left: 0;
	top: 0;
	right: 0;
	filter: drop-shadow(0px 2px 2px #00000033);
	z-index: 54;
	text-align: center;
	padding: 8px;
}

/* more specific */
.location-selection-bar {
	top: 45px;
	z-index: 53;
}


/* Inside Navigation bars */

.glitched-schedule__nav-day,
.glitched-schedule__nav-location {
	display: flex;
	align-items: center;
}

.glitched-schedule__nav-label {
	flex: 1;
	font-weight: 800;
	line-height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3em;
}

.glitched-schedule__nav-prev,
.glitched-schedule__nav-next {
	background: none;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	font-size: 24px;
}

.glitched-schedule__nav-prev:disabled,
.glitched-schedule__nav-next:disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.glitched-schedule__nav-info {
	background: none;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	padding: 0;
	display: flex;
	align-items: center;
}

.glitched-schedule__nav-info[hidden] {
	display: none;
}

/* Event list */

.glitched-schedule__list {
	display: flex;
	flex-direction: column;
	margin: 0;
	position: absolute;
	height:100%;
	left: 0;
	top: 90px;
	right: 0;
	padding: 24px 24px 20vh; /* ensures we can scroll to the very last item */
	z-index: 50;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch; /* Improves scrolling performance on iOS */
	background: white;
}

.glitched-schedule__location-title {
	display: block;
	font-size: 1.2em;
	font-weight: 800;
	margin: 0 0 0.2em;
}

.glitched-schedule__all-locations-link {
	font-size: 0.75em;
	color: #999;
	text-decoration: none;
}

.glitched-schedule__all-locations-link:hover {
	text-decoration: underline;
}

.glitched-schedule__time-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 0.8em 16px 0;
	font-size: 0.8em;
}

.glitched-schedule__location-label {
	cursor: pointer;
}
.glitched-schedule__location-label:hover {
	text-decoration: underline;
}

.glitched-schedule__list--single-location .glitched-schedule__location-label {
	display: none;
}

/* Card */

.glitched-schedule__card-title {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.5em;
	font-weight: 800;
}

.glitched-schedule__card-title-text {
	text-transform: uppercase;
	text-align:left;
}

.glitched-schedule__card-icons {
	display: flex;
	align-items: center;
	gap: 0.25em;
	flex-shrink: 0;
	white-space: nowrap;
}

.glitched-schedule__card-description {
	text-align:left;
}

.glitched-schedule__card-logos {
	display: flex;
	gap: 0.5em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	align-items: center;
}

.glitched-schedule__card-logo-card {
	box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.24);
	background-color: white;
	border-radius: 8px;
}

.glitched-schedule__card-logo {
	height: 3em;
	width: auto;
	display: block;
}

.glitched-schedule__card {
	cursor: pointer;
	background:#80a4ff;
	border-radius: 16px;
	color: white;
	padding: 8px 16px;
	font-size: 0.8em;
	border: 2px solid white;
}

@keyframes gs-c64-border {
	0%   { border-color: #000000; }
	25%  { border-color: #664400; }
	50%  { border-color: #dd8855; }
	75%  { border-color: #eeee77; }
	100% { border-color: #000000; }
}

.glitched-schedule__card--highlight {
	animation: gs-c64-border 1.4s linear infinite;
}

/* Phase offsets per row so the animation rolls down the list like a raster bar */
.glitched-schedule__item:nth-child(4n+1) .glitched-schedule__card--highlight { animation-delay:    0s; }
.glitched-schedule__item:nth-child(4n+2) .glitched-schedule__card--highlight { animation-delay: -0.35s; }
.glitched-schedule__item:nth-child(4n+3) .glitched-schedule__card--highlight { animation-delay: -0.70s; }
.glitched-schedule__item:nth-child(4n)   .glitched-schedule__card--highlight { animation-delay: -1.05s; }

.glitched-schedule__card-link {
	text-decoration: none;
}

p.glitched-schedule__empty-day {
	padding: 2em 0;
}

.bottom-padding-box {
	height: 200px;
}


.gs-icon {
	height:18px;
	margin:2px;
}

/*!* LOGOS *!*/
/*.glitched-schedule__card-logos {*/
/*	text-align: center;*/
/*}*/
/*.glitched-schedule__card-logo {*/
/*	height: 2em;*/
/*}*/

/* Modal overlay */

.glitched-schedule__modal {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.7);
	z-index: 9999;
	padding: 1rem;
	box-sizing: border-box;
}

.fullscreen .glitched-schedule__modal {
	position: absolute;
}

.glitched-schedule__modal[hidden] {
	display: none;
}

.glitched-schedule__modal-inner {
	position: relative;
	width: 100%;
	max-width: 600px;
	max-height: 90vh;
	overflow-y: auto;
	box-sizing: border-box;
	background-color: white;
	padding: 2em;
}

.glitched-schedule__modal-close {
	position: absolute;
	top: 0;
	right: 0;
	background: none;
	border: none;
	cursor: pointer;
	line-height: 1;
	outline:none;
}

button.glitched-schedule__modal-close img {
	border: none;
	margin: 0.5em;
	height: 1.5em;
}


H2.glitched-schedule__modal-title {
	font-size: 1.5em;
}

/* Modal location and time */

p.glitched-schedule__modal-time {
	margin: 0;
}

p.glitched-schedule__modal-location {
	margin: 0 0 1.5em;
}


/* Link blocks in modal */

.glitched-schedule__modal-link {
	padding: 1em 0;
}

.glitched-schedule__modal-link A {
	color: #80a4ff;
	text-decoration: underline;
}


/* Partner / sponsor blocks in modal */

.glitched-schedule__modal-partner,
.glitched-schedule__modal-sponsor {
	/*display: grid;*/
	/*grid-template-columns: 50% 50%;*/
	/*align-items: center;*/
	/*gap: 0.75em;*/
	margin-top:2em;
}

.glitched-schedule__modal-partner label {

}

.glitched-schedule__modal-partner img,
.glitched-schedule__modal-sponsor img {
	max-height: 10rem;
	/*width: 100%;*/
}

/* MOBILE */
@media only screen and (max-width: 768px) {
	.fullscreen {
		top: 60px;
	}

	/* Adjustment for when the adminbar is present */
	BODY.admin-bar DIV.fullscreen {
		top:108px;
	}


	.outer-container {
		margin: 0;
		padding:0;
		position:relative;
		width:100%;
		height: 100%;
	}

}
