  .image-banner { margin: 4rem 0; }
.footer { margin-top: 5rem; }
#programs-search-wrap { display: flex;height: 51px;margin-bottom: 2rem;position: relative;z-index: 5; }
#programs-search { font-family: "Avenir-Book";height: inherit;border: 1px solid #cccccc;transition: all 0.3s; }
#programs-search:hover, #programs-search:focus { border-color: #8b8b8b; }
#programs-search::placeholder { color: #8d8d8d;text-transform: uppercase; }
#programs-search-button { width: 55px;background: #cc0000;color: #fff;display: flex;align-items: center;justify-content: center;text-align: center;border: 1px solid #ce4b4c;outline: none;transition: all 0.2s; }
#programs-search-button:hover { background: #a30000; }
#programs-search-button span { font-size: 23px;font-weight: bold; }
#programs-search-button:active span { font-size: 20px; }
#programs-results { padding-bottom: 5rem; }
.programs-main { display: grid;grid-template-columns: 1fr 4fr;grid-gap: 4rem; }
.programs-filters { padding: 0;list-style: none;position: sticky;top: 95px; }
.filter .filter-label { background: #0073e5;width: 100%;text-transform: uppercase;font-size: 18px;font-family: "Avenir-Heavy";color: #fff;display: flex;justify-content: center;align-items: center;height: 51px;margin-bottom: 2rem;position: relative;cursor: pointer;z-index: 1;transition: all 0.2s; }
.filter .filter-label span { line-height: 1; }
.filter.label .filter-label { background: #d9ecff;font-size: 14px;color: #036;cursor: default; }
.filter.reset .filter-label { background: #003366; }
.filter.reset:hover .filter-label { background: #0056a7; }
.filter-content { display: none;padding: 0 4rem;margin-bottom: 2rem;justify-content: center;position: relative; }
.filter-content.active { display: flex;top: 0;animation: filterShow 0.3s ease; }
.filter-degree, .filter-college { display: grid;grid-template-columns: 25px auto;column-gap: 10px;margin-bottom: 2px; }
.filter-degree:last-child, .filter-college:last-child { margin-bottom: 0; }
.filter-content label { display: flex;font-weight: normal;font-size: 18px;word-break: break-word;line-height: 1.3;margin-bottom: 0;cursor: pointer;align-items: center; }
.filter-content input[type=radio], .filter-content input[type=checkbox] { cursor: pointer;width: 20px;height: 20px; }
.filter-dropdown .filter-label:before { content: "\f0d7";font-family: "FontAwesome";position: absolute;right: 0;margin-right: 25px;font-size: 26px; }
.filter-dropdown.active .filter-label:before { content: "\f0d8"; }
.filter-dropdown .filter-label:active { transform: translateY(2px); }
.filter.reset .filter-label:active { transform: translateY(-2px); }
.filter-dropdown .filter-count { display: none;position: absolute;right: 0;margin-right: 60px;font-size: 14px;color: #036;background: #fff;padding: 0 6px;border-radius: 4px;box-shadow: 0 0 2px #00000030; }
.filter-dropdown .filter-count.show { display: block;right: 0;opacity: 1;animation: countShow 0.2s ease; }
.no-result { text-align: center;font-size: 20px; }

#programs-table { margin-bottom: 5rem; }
#programs-table thead tr { background: #d9ecff;height: 51px;position: sticky;top: 95px;box-shadow: 0 -15px 0 15px #fff;z-index: 1; }
#programs-table thead th { font-family: 'Avenir-Heavy';font-size: 16px;text-transform: uppercase;padding: 0 4rem; }
#programs-table thead:after { content: "";display: block;width: 100%;background: #fff;height: 2rem; }
#programs-table thead th.college { padding: 0 4rem 0 10rem; }
#programs-table tbody td { padding: 2rem 4rem;border-top: 1px solid #036; }
#programs-table tbody td:first-child { font-family: "Avenir-Heavy"; }
#programs-table tbody td.major ul.concentrations { font-family: "Avenir-Book";margin-bottom: 0; }
#programs-table tbody td.college { position: relative; }
#programs-table tbody td .icon-flex { display: flex; }
#programs-table tbody td .icon { font-size: 34px;color: #0073e5;position: absolute;display: flex;align-items: center;top: 0;bottom: 0; }
#programs-table tbody td .name { line-height: 1.3;margin-left: 6rem;font-size: 20px; }
#programs-table tbody td .name a:hover { text-decoration: underline; }

@media screen and (max-width: 1500px) {
	.filter-content { padding: 0 2rem; }
}

@media screen and (max-width: 1200px) {
	.programs-main { grid-template-columns: 1fr 3fr;grid-gap: 2rem; }
	.filter-content { padding: 0 1rem; }
	#programs-table tbody td { padding: 2rem; }
	#programs-table thead th { padding: 0 2rem; }
	#programs-table thead th.college { padding: 0 2rem 0 8rem; }
}

@media screen and (max-width: 1100px) {
	.programs-main { grid-template-columns: 1fr 2fr; }
}

@media screen and (max-width: 991px) {
	.programs-main { grid-template-columns: 1fr;margin: 0 2rem;grid-gap: 0; }
	.filter .filter-label { margin-bottom: 1rem; }
	#programs-table { border-bottom: 1px solid #036; }
	#programs-table thead { display: none; }
	#programs-table tbody td { display: flex;position: relative;flex-direction: column;border-top: none;min-height: 50px;justify-content: center;padding: 1rem 2rem 1rem 80px;overflow: hidden; }
	#programs-table tbody tr { border-top: 1px solid #036;display: grid;background: #e3e3e30d;}
	#programs-table tbody td:last-child { box-shadow: none; }
	#programs-table tbody td .icon { display: none; }
	#programs-table tbody td .name { margin-left: 0;font-size: 18px; }
	#programs-table tbody td:before { content: attr(data-icon);font-family: "fau";position: absolute;display: flex;align-items: center;justify-content: center;left: 0;width: 60px;height: 100%;font-size: 25px;background: #d9ecff; }
	#programs-table tbody td.major:before { content: "\e9a8";align-items: flex-start;padding-top: 5px; }
	#programs-table tbody td.degree:before { content: "\e930"; }
	#programs-table tbody td.major:after, #programs-table tbody td.degree:after { content: "";position: absolute;width: 100%;height: 1px;left: 60px;bottom: 0;background: #cccccc9c; }
}

@media screen and (max-width: 640px) {
	.image-banner { height: 300px; }
	.image-banner img { object-fit: cover;object-position: 40%;height: 100%; }
}

@keyframes countShow {
    from { right: -20px;opacity: 0; }
    to { right: 0;opacity: 1; }
}

@keyframes filterShow {
    from { top: -30px; }
    to { top: 0; }
}