/*
 Theme Name:   Events
 Description:  Child Theme for 2022 Theme
 Author:       Tryon Eggleston, Steve Graboski, & Taylor Lombardi
 Author URI:   
 Template:     mu-2022
 Version:      2.0.0
 Text Domain:  mu-wordpress-theme-directory
*/

/*
	Global
*/

.content .tribe-common {
	--tec-grid-width: 100%;
	width: initial !important;
	.tribe-common-l-container {
		padding: initial !important;
	}
}

/*
	Single Event
*/
.single-tribe_events .content {
	.tribe-events-content h2 {
		font-family: var(--serif);
		font-size: 2.625rem;
		color: var(--header-color);
		font-weight: 400;
	}
}

/*
	Day View
*/

.content .tribe-events {
	.tribe-events-calendar-day {
		display: grid;
		gap: var(--spacing);
		margin-bottom: 4em !important;
	}

	/* Make the time sticky, add some padding after */
	.tribe-events-calendar-day__time-separator,
	.tribe-events-calendar-day__type-separator {
		position: sticky;
		top: 90px;
		z-index: 2;
		background: #fff;
		~ article {
			margin-top: 0 !important;
			margin-bottom: 0 !important;
			padding: 1em 0;
		}
	}
}


/*
	Make the links cover the entire event
*/

.tribe-events .tribe-events-calendar-day__event-title-link {
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
}

.tribe-events-calendar-day__event-details {
	position: initial !important;
}
.tribe-events-calendar-day__event-content {
	position: relative;
}

/* 
	Day View - Not Mobile
*/

@media (min-width: 640px) {
	.content .tribe-events {
		--event-columns: 2;
		.tribe-events-calendar-day {
			display: grid;
			grid-template-columns: repeat(var(--event-columns), 1fr);
			gap: 2em var(--spacing);
			margin-bottom: 4em !important;
		}

		/*
			Clear out some TEC defaults
		*/
		.tribe-events-calendar-day__event-content {
			flex-direction: column !important;
			justify-content: start !important;
		}
		.tribe-events-calendar-day__event,
		.tribe-common-g-row--gutters > .tribe-common-g-col {
			padding: 0 !important;
			margin: 0 !important;
		}

		/*
			Highlight featured events
		*/
		.tribe-events-calendar-day__event--featured {
			outline: 5px solid var(--background-inverted);
			&:after {
				display: none;
			}
		}

		/* make the time separators take up an entire row and format them */
		.tribe-events-calendar-day__time-separator,
		.tribe-events-calendar-day__type-separator {
			grid-column: 1 / span var(--event-columns);
			--tec-font-size-3: 1.75em;
			font-family: var(--serif);
			gap: 1em;
			position: sticky;
			top: 90px;
			z-index: 2;
			background: #fff;

			&:before,
			&:after {
				background-color: var(--tec-color-border-default);
				content: "";
				display: block;
				flex: auto;
				height: 1px;
				margin-left: 0;
			}
		}

		/* Placeholder images */
		.tribe-events-calendar-day__event,
		.tribe-events-calendar-list__event {
			&::before {
				display: none;
			}

			p {
				word-break: break-word;
			}

			/*
				Add some placeholder images when no featured image is set
			*/
			.tribe-events-calendar-day__event-details,
			.tribe-events-calendar-list__event-details {
				&:before {
					background-image: url("src/images/gen-events.svg");
				}

				&.cat_mens-bowling,
				&.cat_womens-bowling {
					background-image: url("src/images/athletics-bowling.svg");
				}

				&.cat_mens-football,
				&.cat_womens-football {
					background-image: url("src/images/athletics-football.svg");
				}

				&.cat_womens-cross-country,
				&.cat_mens-cross-country {
					background-image: url("src/images/athletics-cross-country.svg");
				}

				&.cat_mens-basketball,
				&.cat_womens-basketball {
					background-image: url("src/images/athletics-basketball.svg");
				}

				&.cat_womens-soccer,
				&.cat_mens-soccer {
					background-image: url("src/images/athletics-soccer.svg");
				}

				&.cat_womens-baseball,
				&.cat_mens-baseball {
					background-image: url("src/images/athletics-baseball.svg");
				}

				&.cat_womens-golf,
				&.cat_mens-golf {
					background-image: url("src/images/athletics-golf.svg");
				}

				&.cat_womens-lacrosse,
				&.cat_mens-lacrosse {
					background-image: url("src/images/athletics-lacrosse.svg");
				}

				&.cat_womens-tennis,
				&.cat_mens-tennis {
					background-image: url("src/images/athletics-tennis.svg");
				}

				&.cat_womens-swimming,
				&.cat_mens-swimming {
					background-image: url("src/images/athletics-swimming.svg");
				}

				&.cat_womens-rowing,
				&.cat_mens-rowing {
					background-image: url("src/images/athletics-rowing.svg");
				}

				&.cat_womens-softball,
				&.cat_mens-softball {
					background-image: url("src/images/athletics-softball.svg");
				}

				&.cat_womens-track-field,
				&.cat_mens-track-field {
					background-image: url("src/images/athletics-track-and-field.svg");
				}

				&.cat_womens-field-hockey-athletics,
				&.cat_mens-field-hockey-athletics {
					background-image: url("src/images/athletics-field-hockey.svg");
				}
			}

			/*
				Add a space for the images we just defined
			*/
			&:not(:has(.tribe-events-calendar-day__event-featured-image-wrapper))
				.tribe-events-calendar-day__event-details:before {
				content: "";
				display: block;
				width: calc(100% + (var(--tec-grid-gutter-half) * 2));
				aspect-ratio: 16/9;
				background-color: #002855;
				background-size: contain;
				background-repeat: no-repeat;
				background-position: center;
				margin-left: calc(0px - var(--tec-grid-gutter-half));
			}

			&:not(:has(.tribe-events-calendar-list__event-featured-image-wrapper))
				.tribe-events-calendar-list__event-details:before {
				content: "";
				display: block;
				width: calc(100% + (var(--tec-grid-gutter-half) * 2));
				aspect-ratio: 16/9;
				background-color: #002855;
				background-size: contain;
				background-repeat: no-repeat;
				background-position: center;
				margin-left: calc(0px - var(--tec-grid-gutter-half));
			}


			/*
				Remove the description
			*/
			.tribe-events-calendar-day__event-description {
				display: none !important;
			}
		}
		/*
			take up the full width
		*/
		.tribe-events-calendar-day__event-details {
			width: 100% !important;
		}
		.tribe-events-calendar-day__event-featured-image-wrapper {
			width: 100% !important;
			padding: 0 !important;
		}
	}
	/* List View */
	.content .tribe-events {
		& .tribe-events-calendar-day__event, & .tribe-common-g-row--gutters > .tribe-common-g-col {
			margin: 0 !important;
			width: 100%;
		}
	}
   .content .tribe-events {
		.tribe-events-calendar-list .tribe-events-calendar-list__event {
			.tribe-events-calendar-list__event-details {
				padding-left: var(--tec-grid-gutter-half) !important;
				padding-right: var(--tec-grid-gutter-half) !important;
			} 
		
			&::before {
				display: none;
			}
		}

		.tribe-events-calendar-list__month-separator::before {
			background-color: var(--tec-color-border-default);
			content: "";
			display: block;
			flex: auto;
			height: 1px;
			margin-right: 20px;
		}

		.tribe-events-calendar-list {
			display: grid;
			grid-template-columns: repeat(var(--event-columns), 1fr);
			gap: 2em var(--spacing);
			margin-bottom: 4em !important;
		}

    	.tribe-events-calendar-list__event-details {
			padding-left: var(--tec-grid-gutter-half);
			padding-right: var(--tec-grid-gutter-half);
		}
		.tribe-events-calendar-list__month-separator {
			grid-column: 1 / span var(--event-columns); 
		}
		
		.tribe-events-calendar-list__month-separator time {
			font-size: 1.75rem !important;
		}

		.tribe-events-calendar-list__event-date-tag {
			display: none;
		}

    	&.tribe-common--breakpoint-medium.tribe-events {
			.tribe-events-calendar-list__event {
				margin: 0;
			}
			.tribe-events-calendar-list__event-row {
				margin-top: 0
			}
			.tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
				margin-top: 0
			}
		} 
	}
}
@media (min-width: 960px) {
	.content .tribe-events {
		--event-columns: 3;
    }
}
@media (min-width: 1200px) {
	.content .tribe-events {
		--event-columns: 4;
	}
}

/* Community Events */

.content #tribe-events,
.content #tribe-events-pg-template,
.content.tribe-events-pg-template {
	padding: 0;
}

.content .tribe-community-events {
	padding: 2em 0 0 0;
	border: none;
}

.tribe-events-content p {
	font-size: 1rem !important;
}
.content table.tribe-section-content td {
	padding: 0;
}
.content table.tribe-section-content tr:nth-of-type(2n) {
	background: none;
}

.content .tribe-common .tribe-common-l-container,
.content .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container,
.content .tribe-common--breakpoint-medium.tribe-common .tribe-common-l-container {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}


/* Hawk Hub Ad */

.hawkhub {
	--slant-size: 5em;
	padding: 1em 0;
	.innerWrapper {
		background: #002855;
		color: #fff;
		padding: 0.5em max(var(--spacing), var(--slant-size));
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1em;
		position: relative;

		&:before {
			content: "";
			display: block;
			position: absolute;
			width: var(--slant-size);
			left: 0;
			top: 0;
			bottom: 0;
			background: linear-gradient(to bottom right, #fff 0%, #fff 50%, #002855 50%, #002855 100%);
		}
		&:after {
			content: "";
			display: block;
			position: absolute;
			width: var(--slant-size);
			right: 0;
			top: 0;
			bottom: 0;
			background: linear-gradient(to top left, #fff 0%, #fff 50%, #002855 50%, #002855 100%);
		}
	}
	img {
		max-width: 300px;
	}
	p {
		font-size: 1.1em;
		text-wrap: balance;
		flex-shrink: 1;
		width: auto;
		display: block;
		max-width: 30em;
	}
	a {
		color: #57b7e7;
		text-decoration: underline !important;
		font-weight: bold;
		&:after {
			display: block;
			content: "";
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		}
	}
}
@media (max-width: 899px) {
	.wrapper .hawkhub {
		margin: 0 calc(0px - var(--spacing)) !important;
		--slant-size: 2em;
		.innerWrapper {
			padding-top: 2em;
			padding-bottom: 2em;
			display: flex;
			flex-direction: column;
			
		}
		p{
			text-align: center;
		}
	}
}
