﻿.accordianComponent .content h5,
.accordion-item__content h5 {
	font-family: "Public Sans", sans-serif;
	font-size: 1.25rem;
	font-weight: 300;
	padding-bottom: 10px;
}

.courseModule .accordianComponent .content h5 {
	padding-bottom: 0;
}

.accordion-item__container > .accordion-item__content {
	padding-top: 2rem;
}

.accordianComponent .department-message {
	padding-bottom: 30px;
}

#introduction-paragraph > h5 {
	padding-bottom: 0;
}


/* Course Components  */
.courseResults .courseDetailsComponent {
	z-index: 5;
}

.courseDetailsComponent.showCourse,
.courseDetailsComponent .showGrades {
	display: block !important;
}

.courseDetailsComponent.hideCourse,
.courseDetailsComponent .hideGrades {
	display: none !important;
}

/* Course Grid Structure */
.courseDetailsComponent .courseInfo.use-grid {
	display: grid;
	grid-template-columns: 1fr 4rem;
	column-gap: 1ch;
	padding-bottom: 0.4rem;
}

.courseInfo.use-grid .courseTitle {
	font-family: "Public Sans", sans-serif;
	font-size: 1rem;
	font-weight: bold;
	grid-column: 1 / 2;
}

.courseInfo.use-grid .entryGrades,
.courseInfo.use-grid .open-sub-req-popup {
	grid-column: 1 / 3;
}

.courseInfo.use-grid .courseCode,
.courseInfo.use-grid .open-sub-req-popup {
	justify-self: end;
}

.courseDetailsComponent .courseInfo .entryGrades {
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.125rem;
	color: #757575;
	padding: 0;
}

.entryGrades.subjectReq {
	margin-top: 0.6rem;
}

/* List Variant */
.list .courseDetailsComponent .duration,
.list .courseDetailsComponent .abbreviation,
.list .courseDetailsComponent .courseCode {
	grid-column: 1 / 3;
	font-weight: 400;
	color: #757575;
	padding: 0;
}

.list .courseDetailsComponent .courseCode {
	position: absolute;
	top: 1em;
	right: 1em;
}


/* search Results Component */
#clearingSearchResults .courseDetailsComponent .duration {
	padding-bottom: 4px;
}

#clearingSearchResults .courseResultsLayout1 {
	display: flex;
	flex-direction: column;
}

	#clearingSearchResults .courseResultsLayout1 .courseDetailsComponent {
		margin-bottom: 20px;
		padding: 2px 10px 20px;
		background-color: #f7f7f7;
		border-color: transparent;
		border-top: 2px solid #eee;
		cursor: pointer;
	}

		#clearingSearchResults .courseResultsLayout1 .courseDetailsComponent:hover {
			box-shadow: 0px 2px 5px 1px rgba(35, 50, 59, 0.5);
		}

		#clearingSearchResults .courseResultsLayout1 .courseDetailsComponent .courseInfo,
		#clearingSearchResults .courseResultsLayout1 .courseDetailsComponent .faculty {
			background-color: #f7f7f7;
		}

		#clearingSearchResults .courseResultsLayout1 .courseDetailsComponent .courseInfo {
			text-align: left;
		}

.courseResultsLayout2 {
	margin: 0;
}


/* location Picker & Custom Radio Buttons */
#student-location-picker {
	display: inline-block;
}

.radio-title {
	font-size: 22px;
}

.student-location-container {
	position: relative;
	display: block;
	margin-bottom: 12px;
	padding-left: 35px;
	font-size: 22px;
	cursor: pointer;
	user-select: none;
}

	/* Hide native radio input */
	.student-location-container input {
		position: absolute;
		width: 0;
		height: 0;
		opacity: 0;
		cursor: pointer;
	}

	.student-location-container .checkmark {
		position: absolute;
		top: 0;
		left: 0;
		width: 25px;
		height: 25px;
		background-color: #ccc;
		border-radius: 50%;
	}

	.student-location-container:hover input ~ .checkmark {
		background-color: #888;
	}

	.student-location-container input:checked ~ .checkmark {
		background-color: #0073CF;
	}

	/* Radio button dot indicator */
	.student-location-container .checkmark::after {
		content: "";
		position: absolute;
		top: 9px;
		left: 9px;
		display: none;
		width: 8px;
		height: 8px;
		background: #fff;
		border-radius: 50%;
	}

	.student-location-container input:checked ~ .checkmark::after {
		display: block;
	}


/* cards modules */
#sideCardContactBox {
	height: 120px;
}

.cardsBox,
.card--1 {
	height: inherit;
}


/* media queries */
@media only screen and (min-width: 768px) {
	#student-location-picker {
		margin-top: 5px;
	}

	#clearingSearchResults .courseResultsLayout1 {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

@media only screen and (min-width: 1280px) {
	#sideCardContactBox {
		display: flex;
		width: 380px;
		height: 120px !important;
		z-index: 99;
	}

	.stickyCard {
		position: fixed;
		top: 1rem;
		width: 380px;
		height: 180px;
		box-shadow: 0px 2px 5px 1px rgba(35, 50, 59, 0.5);
	}

	.hotline-cta-mobile {
		display: none;
	}
}

@media only screen and (max-width: 1279px) {
	.sideCol {
		display: none;
	}
}
