/* ==========================================================================
     Project:     Central Alabama Community College
     Date:        1/30/2025 - File created	
     Created by:  Third Wave Digital (www.thirdwavedigital.com)
========================================================================== */

:root {
	--body: #212529;
	--white: #fff;
	--dark-blue: #0A2240;
	--blue: #073B68;
	--yellow: #FFB600;
	--light-yellow: #F4D06D;
	--dark-grey: #666;
	--grey: #B0B0B0;
	--light-grey: #E7E6E6;
	--lightest-grey: #F1F1F1;
}	

/* ==========================================================================
     Typograpy
========================================================================== */

@font-face {font-family: "Optima";src: url("/css/fonts/optima-webfont.woff2") format("woff2"),url("/css/fonts/optima-webfont.woff") format("woff");font-weight: 400;font-style: normal;}
@font-face {font-family: "Optima";src: url("/css/fonts/optima-demibold-webfont.woff2") format("woff2"),url("/css/fonts/optima-demibold-webfont.woff") format("woff");font-weight: 600;font-style: normal;}
@font-face {font-family: "Optima";src: url("/css/fonts/optima-bold-webfont.woff2") format("woff2"),url("/css/fonts/optima-bold-webfont.woff") format("woff");font-weight: 700;font-style: normal;}

body {font-family: "Optima", sans-serif;color: var(--body)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {font-family: "Optima", sans-serif; margin-bottom: 1rem; font-weight: 700; color: var(--blue);}
p {margin-bottom: 1.5rem;}

/* ==========================================================================
     Main Layout
========================================================================== */ 

html {scroll-behavior: smooth;}

/* Skip */
.skip {position:absolute;top:-1000px;left:15px;width:auto;height:auto;text-align:center;overflow:hidden;transition:.25s;background:var(--yellow); width:auto;height:auto;overflow:visible;padding:10px;color:var(--white);font-weight:700;font-size:.875rem;z-index:99;text-decoration:underline}
     .skip:active,.skip:focus,.skip:hover{left:15px;top:15px;color: var(--dark-blue)}

/* Header */
.alert-wrapper {font-size: 1rem;line-height: 1.3}
.alert-wrapper .alert-item {padding: 10px 55px 10px 30px; margin: 0px; border-radius: 0px;}
.alert-wrapper a {color: var(--white); font-weight: 400; }
.alert-wrapper a:hover, .alert-wrapper a:focus {text-decoration: none;}
.alert-wrapper .btn-close-alert {position: absolute; top: calc(50% + 2px); -webkit-transform: translateY(-50%); transform: translateY(-50%);padding: 0px; background:none; border:none; color: var(--white); }
.alert-wrapper .btn-close-alert:hover, .alert-wrapper .btn-close-alert:focus {color: var(--yellow)}

.search-wrapper {height: 50px; background: var(--blue)}
.search-wrapper input {font-weight: 600; font-size: .913rem; border: none; background:inherit; color: var(--light-yellow); height: 50px; padding: 0px 15px; width: calc(100% - 40px);}
.search-wrapper input:focus {outline:none}
.search-wrapper input::placeholder {color: var(--white)}
.search-wrapper input::-ms-input-placeholder {color: var(--white)}
.search-wrapper button[type="submit"],.search-wrapper .btn-close-search {color: var(--white)}
.search-wrapper button[type="submit"] {position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); right: 0px; font-size: .875rem; }
.search-wrapper button[type="submit"]:hover, .search-wrapper button[type="submit"]:focus {color: var(--yellow)}
.search-wrapper .btn-close-search {-webkit-text-stroke: 1px var(--white); position: relative}
.search-wrapper .btn-close-search::after {content:""; display:block; background: rgba(0,0,0,.35); width: 1px; position: absolute; left: -10px; top: 15px;bottom: 15px}

.header-wrapper {position: fixed; top: 0px; left: 0px; width: 100%; z-index: 9999;}
.header-wrapper .logo {position: absolute; left: 15px; width: 230px; height: 66px;}
.header-wrapper .logo img {width: 100%}
.admin .header-wrapper .logo {pointer-events:none}
.lg-on .header-wrapper {z-index: 0}

.nav-wrapper {box-shadow: 0px 3px 5px 0px rgba(0,0,0,.125);position: relative; z-index: 1}
.nav-wrapper ul a {display: -webkit-flex; display:flex; align-items:center; padding: 15px;text-decoration: none;}
.nav-wrapper ul a:hover, .nav-wrapper ul a:focus {text-decoration: underline; }
.nav-wrapper ul a, .nav-wrapper ul .btn {height: 55px}
.nav-wrapper ul li {font-weight: 600; font-size: .875rem;}
.nav-wrapper ul li:not(:last-child) {margin-right: 0px}

.nav-wrapper ul li:nth-child(-n+3) {text-transform: uppercase;font-weight: 700; font-size: 1rem; border-right: 1px solid var(--light-yellow)}
.nav-wrapper ul li:nth-child(-n+3) a {padding: 15px 20px;position: relative;}
.nav-wrapper ul li:nth-child(-n+3) a:hover, .nav-wrapper ul li:nth-child(-n+3) a:focus {text-decoration: none;}
.nav-wrapper ul li:nth-child(-n+3) a::after {content:""; position: absolute; bottom: 0px; left: 0px; width: 100%; opacity: 0; background: var(--yellow); height: 3px;transition: opacity 250ms ease;}
.nav-wrapper ul li:nth-child(-n+3) a:hover::after, .nav-wrapper ul li:nth-child(-n+3) a:focus::after {opacity: 1}

.nav-wrapper ul li:first-child {border-left: 1px solid var(--light-yellow)}
.nav-wrapper ul li:nth-last-child(3) a {padding-right: 7.5px}

.btn-toggle-search {font-size: .813rem; padding: 15px}
	.btn-toggle-search span {display: block; margin: 5px 0px 0px 0px}
	.btn-toggle-search:hover, .btn-toggle-search:focus {color: var(--yellow)}

.btn-toggle-offcanvas {border-radius: 0px; margin:0;padding:5px;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity;text-transform:none; border-radius: 0px}
	.hamburger-box {position: relative;display: inline-block;width: 20px;height: 20px;}
	.hamburger-box + span {margin: 4px 0px 0px 8px; text-transform: uppercase; font-weight: 700;}
	.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before{position:absolute;width:20px;height:3px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform;border-radius:2px;background-color:var(--body); right: 0px}
	.hamburger-inner{top:50%;display:block;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.22s;}
	.hamburger-inner:after,.hamburger-inner:before{display:block;content:"";}
	.hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in; top: 6px;}
	.hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.685,.19); bottom: 6px;}

	.btn-toggle-offcanvas.active .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(-225deg)}
	.btn-toggle-offcanvas.active .hamburger-inner:before{top:0;transition:top .1s ease,opacity .1s ease .12s;opacity:0; width: 100%;}
	.btn-toggle-offcanvas.active .hamburger-inner:after{bottom:0;transition:bottom .1s ease,transform .22s cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(90deg);width: 100%;}

.offcanvas-wrapper {position: absolute; z-index: 0; height: 100vh; right: 0px; box-shadow: 0px 5px 5px 0px rgba(0,0,0,.125);background: var(--white)}
	.offcanvas-open .header-wrapper::after {content:""; display:block; pointer-events:none; background: rgba(0,0,0,.5); backdrop-filter: blur(5px); z-index: -1; position: fixed; top: 55px; left: 0px; width: 100%; height: 100%}
	.offcanvas-wrapper::after {content:""; background: url(/img/logomark-muted.svg) no-repeat center center; opacity: .5; width: 100px; height: 100px; background-size: contain; position: absolute; z-index: -1; bottom: 25px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%)}
	.offcanvas-wrapper nav { overflow-y: auto;height: 100%; padding-right: 15px}
	.offcanvas-wrapper nav::-webkit-scrollbar {-webkit-appearance: none;width: 5px; }
	.offcanvas-wrapper nav::-webkit-scrollbar-track {margin: 0px;background: var(--light-grey); border-radius: 5px;}
	.offcanvas-wrapper nav::-webkit-scrollbar-thumb {background: var(--grey);border-radius: 5px;}
	.offcanvas-wrapper nav::-webkit-scrollbar-thumb:hover {background: var(--dark-grey)}
	.offcanvas-wrapper .btn[data-toggle] {font-weight: 700; text-transform: uppercase; color: var(--dark-blue);padding: 0px}
	.offcanvas-wrapper .btn[data-toggle]:hover, .offcanvas-wrapper .btn[data-toggle]:focus {color: var(--blue)}
	.offcanvas-wrapper [class*="fa-angle"] {transition: transform 250ms ease;}
	.offcanvas-wrapper [class*="fa-angle"].rotate {-webkit-transform: rotate(-180deg);transform: rotate(-180deg);}
	.offcanvas-wrapper .offcanvasmenu li {padding-bottom: 25px;}
	.offcanvas-wrapper .offcanvasmenu ul {border-left: 3px solid var(--yellow); padding: 0px 0px 0px 5px; margin: 25px 0px 0px 0px; list-style:none}
	.offcanvas-wrapper .offcanvasmenu ul li {margin-bottom: 7.5px; font-size: .875rem;padding-bottom: 0px}
	.offcanvas-wrapper .offcanvasmenu ul .active a {font-weight: 700}
	.offcanvas-wrapper .offcanvasmenu ul .active ul a {font-weight: 400}
	.offcanvas-wrapper .offcanvasmenu ul .active ul .active a {font-weight: 700}
	.offcanvas-wrapper .offcanvasmenu ul a {text-decoration: none;display:block;width: calc(100% - 35px);min-height: 30px;display: flex;align-items: center; padding: 0px 10px}
	.offcanvas-wrapper .offcanvasmenu ul a:hover, .offcanvas-wrapper .offcanvasmenu ul a:focus {text-decoration: underline;}
	.offcanvas-wrapper .offcanvasmenu ul ul {padding: 0px; border:none; margin: 7.5px 0px 0px 15px}
	.offcanvas-wrapper .offcanvasmenu ul ul li a {min-height: 0px}
	.offcanvas-wrapper .offcanvasmenu ul .btn {padding: 0px;background: var(--lightest-grey); border-radius: 3px; width: 30px; height: 30px; display:flex; align-items:center; justify-content: center;}
	.offcanvas-wrapper .offcanvasmenu ul .btn:hover, 	.offcanvas-wrapper .offcanvasmenu ul .btn:focus {background: var(--light-grey)}
	.offcanvas-wrapper hr {background: var(--dark-grey); height: 2px; border-radius: 2px;}
	.offcanvas-wrapper .socials {position: relative;}

	.offcanvas-open {overflow-y:hidden;}
	
	.offcanvas-wrapper .quicklinks {margin: 20px 0px 30px 0px; padding-bottom: 10px; border-bottom: 3px solid var(--light-grey)}
	.offcanvas-wrapper .quicklinks li {float:left}
	.offcanvas-wrapper .quicklinks li:nth-child(-n+3) {text-transform: uppercase;font-weight: 700;margin: 0px 35px 15px 0px}
	.offcanvas-wrapper .quicklinks li:nth-child(-n+3) a {color: var(--dark-blue)}
	.offcanvas-wrapper .quicklinks li:nth-child(n+4) {font-size: .875rem;margin: 0px 20px 10px 0px;}
	.offcanvas-wrapper .quicklinks li:nth-child(4) {clear: both;}
	.offcanvas-wrapper .quicklinks li:last-child {margin-left: auto}
	.offcanvas-wrapper .quicklinks a {text-decoration: none;}

.header-wrapper .socials a {color: var(--white); display: block; background: var(--dark-blue); transition: color 250ms ease; display: -webkit-flex; display: flex; align-items:center; width: 30px; height: 30px; border-radius: 30px; text-decoration:none; justify-content:center;font-size: .75rem}
	.header-wrapper .socials a:hover, .header-wrapper .socials a:focus {color: var(--yellow)}

/* Footer */
.footer-wrapper {color: var(--white)}
	.footer-wrapper .bg-dark-blue .socials a {color: var(--dark-blue); display: block; background: var(--white); transition: background 250ms ease; display: -webkit-flex; display: flex; align-items:center; width: 30px; height: 30px; border-radius: 30px; text-decoration:none; justify-content:center;font-size: .75rem}
	.footer-wrapper .bg-dark-blue .socials a:hover, .footer-wrapper .socials a:focus {background: var(--yellow)}
	.footer-wrapper .list-inline li {margin: 0px 7.5px}

/* Home */
.home .cms.cms-contentmenu {z-index:2;}

/* ==========================================================================
     Components
========================================================================== */ 

/* Links */
a {color: var(--blue);text-decoration: underline;}
a:hover { text-decoration: none;color: var(--dark-blue)}
.bg-blue a:not(.btn), .bg-dark-blue a:not(.btn) {color: var(--white);}
.bg-blue a:not(.btn):hover, .bg-blue a:not(.btn):focus, .bg-dark-blue a:not(.btn):hover, .bg-dark-blue a:not(.btn):focus {color: var(--white);}
.page-wrapper a:focus, .page-wrapper input:focus, .page-wrapper select:focus, .page-wrapper button:focus-visible {outline: 5px auto var(--blue);}
.page-wrapper button:focus {box-shadow:none}

/* Images */
img {max-width: 100%; height: auto}
p:has(img:only-child) {margin: 0px} /* Ckeditor */
.aspect-ratio-16-10 {aspect-ratio: 16 / 10; object-fit: cover;width: 100%}
.aspect-ratio-16-9 {aspect-ratio: 16 / 9; object-fit: cover;width: 100%}
.aspect-ratio-16-8 {aspect-ratio: 16 / 8; object-fit: cover;width: 100%}
.aspect-ratio-1-1 {aspect-ratio: 1 / 1; object-fit: cover;width: 100%}
.img-gradient-bottom {position: relative;width: 100%; height: 100%;z-index:0;overflow:hidden;display:block; text-decoration:none; aspect-ratio: 1 / 1}
     .img-gradient-bottom::before {content:""; position: absolute; z-index: 1; top: 0px; left: 0px; width: 100%; height: 100%; bottom: -1.5px; background: linear-gradient(0deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,0) 50%);}
     .img-gradient-bottom img {width: 100%; height: 100%; position: relative; z-index: 0; object-fit:cover; object-position: center center; font-family: "object-fit: cover; object-position: center center;";}
     .img-gradient-bottom-text {position: absolute; bottom: 10px; left: 15px; width: calc(100% - 40px);z-index: 2}
     .img-gradient-bottom-text *:not(.btn) {color: var(--white); text-shadow: 0px 0px 15px rgba(0,0,0,.8);}
     .img-gradient-bottom-text .btn {text-shadow:none}
	.img-gradient-bottom-text a {text-decoration: none;}
	.img-gradient-bottom img {transition: transform 250ms ease;}
	.img-gradient-bottom:hover img {transform: scale(1.1);}

/* Forms */
input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration {-webkit-appearance:none;}

/* Heros */
.hero-wrapper {position: relative;overflow:hidden;}
	.hero-video .btn-toggle-video {position: absolute;color: var(--white);  z-index: 1; bottom: 10px; right: 10px; background: rgba(0,0,0,.9);border-radius: 50%; width: 25px; height: 25px; font-size: .625rem;opacity: .5; transition: 200ms opacity ease;display:flex; align-items:center; justify-content:center}
	.hero-video .btn-toggle-video:hover, .hero-video .btn-toggle-video:focus {opacity: 1; text-decoration: none;}
	.hero-video video {width: 100%; height: 100%; object-fit: cover;z-index: 0;margin-bottom: -2px}

	.hero-wrapper h1.position-absolute {position: absolute; bottom: 0px; z-index: 0;color: var(--dark-blue);padding-right: 30px;}
	.hero-wrapper h1.position-absolute::before {content:""; position: absolute; left: -999px; height: calc(100% + 30px); right: 15px; top: 50%; transform: translateY(-50%); background: var(--white); z-index: -1; border-top: 4px solid var(--yellow); box-shadow:  0px 0px 15px 0px rgba(0, 0, 0, 0.10);}
	
	.hero-sm img {object-fit: cover; object-position: center top; width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; z-index: -1}

	.hero-slideshow {visibility:hidden}
	.hero-slideshow.slick-initialized {visibility: visible;}

/* Slideshows */
.custom-slideshow .slick-track {display: flex !important;}
.custom-slideshow .slick-slide {height: inherit !important;}
.custom-slideshow .slick-dots {position: relative; list-style:none; display: flex; justify-content: center;padding: 0px;margin: 0px;}
.custom-slideshow .slick-controls .slick-dots li {padding: 0px 3px}
.custom-slideshow .slick-prev, .custom-slideshow .slick-next {transform: scale(.75); top: calc(50% - 26px);}
.alert-wrapper .slick-prev, .alert-wrapper .slick-next {transform: scale(.6);}
[class*="bg-blue"] .custom-slideshow .slick-dots, .alert-wrapper .slick-dots {margin-bottom: 15px}
.custom-slideshow .slick-dots li {margin: 0px 3px}
.custom-slideshow .slick-dots button {width: 6px; height: 6px; padding: 0px; background: var(--blue); opacity: .25; border:none; border-radius: 50%}
[class*="bg-blue"] .custom-slideshow .slick-dots button, .alert-wrapper .slick-dots button {background: var(--white)}
.custom-slideshow .slick-dots .slick-active button {opacity: 1}

.custom-slideshow .slick-prev, .custom-slideshow .slick-next {position: absolute; z-index: 1; top: 50%; margin-top: -22.5px; background:none;  border: none;  padding:0px; width: 45px; height: 45px;}
.custom-slideshow .slick-prev {left:0px;}
.custom-slideshow .slick-next {right:0px;}
.alert-wrapper .slick-next {right: 35px}
.custom-slideshow .slick-prev:hover::after, .custom-slideshow .slick-next:hover::after, .custom-slideshow .slick-prev:focus::after, .custom-slideshow .slick-next:focus::after {border-color: var(--blue)}
.alert-wrapper .slick-prev:hover::after, .alert-wrapper .slick-next:hover::after, .alert-wrapper .slick-prev:focus::after, .alert-wrapper .slick-next:focus::after {border-color: var(--white)}
.custom-slideshow .slick-prev::after, .custom-slideshow .slick-next::after {content:""; opacity: .5; transition: opacity 250ms ease; display:block;border: 1px solid var(--dark-blue);border-width: 0px 0px 3px 3px;width: 18px; height:18px; }
.custom-slideshow .slick-prev::after {-webkit-transform: rotate(45deg); -ms-transform: rotate(45deg);transform: rotate(45deg);margin-left: 18px;}
.custom-slideshow .slick-next::after {-webkit-transform: rotate(-135deg); -ms-transform: rotate(-135deg);transform: rotate(-135deg);margin-left: 11px;}
[class*="bg-blue"] .custom-slideshow .slick-prev::after, .alert-wrapper .slick-prev::after,
[class*="bg-blue"] .custom-slideshow .slick-next::after, .alert-wrapper .slick-prev::after, .alert-wrapper .slick-prev::after,
[class*="bg-blue"] .custom-slideshow .slick-next::after,.alert-wrapper .slick-next::after {border-color: var(--white);}
[class*="bg-blue"] .custom-slideshow .slick-prev:hover::after, .alert-wrapper .slick-prev:hover::after,
[class*="bg-blue"] .custom-slideshow .slick-next:hover::after, .alert-wrapper .slick-next:hover::after,
[class*="bg-blue"] .custom-slideshow .slick-prev:focus::after, .alert-wrapper .slick-prev:focus::after,
[class*="bg-blue"] .custom-slideshow .slick-next:focus::after, .alert-wrapper .slick-next:focus::after {opacity: 1}

/* Backgrounds */
.bg-blue {background: var(--blue)}
.bg-dark-blue {background: var(--dark-blue)}
.bg-blue-logomarks, .bg-blue-athletics, .bg-yellow-logomarks {position: relative;}
.bg-blue-logomarks,.bg-blue-athletics  {background: var(--blue)}
.bg-yellow-logomarks  {background: var(--yellow)}
.bg-blue-logomarks::before, .bg-blue-athletics::before, .bg-yellow-logomarks::before {content:""; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 0;}
.bg-blue-logomarks::before {background: url(/img/icon-logomark.png) repeat;background-size: 80px; opacity: .085}
.bg-blue-athletics::before {background: url(/img/icon-logo-athletics.png) repeat;background-size:160px; opacity: .4;}
.bg-yellow-logomarks::before {background: url(/img/icon-logomark.png) repeat;background-size: 80px; opacity: .25}
.bg-yellow {background: var(--yellow)}
.bg-light-yellow {background: var(--light-yellow)}
.bg-grey {background: var(--grey)}
.bg-light-grey {background: var(--light-grey)}
.bg-lightest-grey {background: var(--lightest-grey)}

/* Borders */
.border-blue {border: 1px solid var(--blue)}

/* Shadows */
.shadow-custom {box-shadow: 0px 0px 5px 0px rgba(0,0,0,.125);}

/* Cards */
.card-yellow-border, .card-blue-border {padding: 20px;box-shadow: 0px 3px 5px 0px rgba(0,0,0,.125); background: var(--white)}
	.card-yellow-border {border-top: 5px solid var(--yellow); }
	.card-blue-border {border-top: 5px solid var(--blue); }

	.card-yellow-border ul {margin: 0px; padding: 0px; list-style:none}
	.card-yellow-border li {font-size: .875rem}
	.card-yellow-border li:not(:last-child) {margin-bottom: 5px;}
	.card-yellow-border hr {border-top: 1.5px solid var(--light-grey)}

/* Breadcrumbs */
main:has(.hero-sm) .breadcrumb-wrapper {margin-bottom: 40px;margin-top: 60px}
main:has(.hero-md) .breadcrumb-wrapper {margin-bottom: 40px;margin-top:25px}
main:has(.hero-md):has(h1.position-absolute) .breadcrumb-wrapper {margin-bottom: 40px;margin-top:60px}
.breadcrumb {position: relative;padding: 7px 0px 0px 40px;}
	.breadcrumb li:first-child {position: absolute; top: 0px; left: 0px}
	.breadcrumb .rounded-circle {width: 35px; height: 35px;font-size: .688rem}

/* Lists */
.icon-list li:not(:last-child) {margin-bottom: 10px}
.icon-list-files .far {font-size: 1.25rem}

/* Submenus */
#btn-inthissection::after, #btn-submenu::after {content:none}
.inthissection-menu {margin-top: 5px;padding: 7.5px 0px; max-height: 220px; overflow-y:auto}
	.inthissection-menu::-webkit-scrollbar {-webkit-appearance: none;width: 5px; }
	.inthissection-menu::-webkit-scrollbar-track {margin: 0px;background: var(--light-grey); border-radius: 5px;}
	.inthissection-menu::-webkit-scrollbar-thumb {background: var(--grey);border-radius: 5px;}
	.inthissection-menu::-webkit-scrollbar-thumb:hover {background: var(--dark-grey)}
	.inthissection-menu .dropdown-item {padding:5px 15px; text-decoration: none;font-weight: 600}
	.inthissection-menu .dropdown-item:hover, .inthissection-menu .dropdown-item:focus {text-decoration: underline;background:none}

	.submenu {padding: 0px;border-top:2px solid var(--yellow);}
	.submenu a {display: block; flex-basis: 100%; border-bottom: 1px solid var(--light-grey);padding: 10px 15px; color: var(--dark-blue); line-height: 1.4; text-decoration:none; font-weight: 600; }
	.submenu .active {border-left: 4px solid var(--yellow); background: var(--blue); color: var(--white); font-weight: 700}
	.submenu a:hover, .submenu a:focus {text-decoration: underline;}
	.submenu li:first-child .active {border-left:none}
	.submenu.dropdown-menu { border-top: 3.5px solid var(--yellow); float: none !important; position: relative !important; transform: none !important; top: auto !important; left: auto !important; will-change: unset !important}
	.submenu .d-flex {border-bottom: 1px solid var(--light-grey);}
	.submenu .d-flex a {border-bottom:none}
	.submenu li:has(.active), .submenu ul ul {background: var(--lightest-grey)}
	.submenu ul ul a {padding-left: 25px}
	.submenu ul ul ul a {background: var(--light-grey);padding-left: 35px;}
	.submenu .btn-toggle-dropdown:hover, .submenu .btn-toggle-dropdown:focus {background: var(--light-grey)}
	.submenu .active + .btn-toggle-dropdown {background: var(--blue); color: var(--white)}
	.submenu .active + .btn-toggle-dropdown:hover, .submenu .active + .btn-toggle-dropdown:focus {background: var(--dark-blue); color: var(--white)}
	.submenu .fas {transition: transform 250ms ease;}
	.submenu .fas.rotate {-webkit-transform: rotate(-180deg);transform: rotate(-180deg);}
	.submenu .fas.no-transitions { transition: none}

/* Lines */
.underline {position: relative}
	.underline::before {background:var(--yellow); content:""; position: absolute; height: 5px; width: 3rem; bottom: -20px; left: 0%; }

/* ==========================================================================
     Skins
========================================================================== */

/* Homepage */
.closerlook-wrapper {position: relative;background: var(--white);}

.stats-wrapper div[class*="col"]:not(:last-child) .border-right-yellow {position: relative;}
	.stats-wrapper div[class*="col"]:not(:last-child) .border-right-yellow::after {content:""; position: absolute; right: -15px; bottom: 0px; border-right: 1px solid var(--yellow);height: 100%}

.newsevents-wrapper .slick-dots {padding-top: 15px}
.newsevents-wrapper .stretched-link:focus {outline: none}

/* Programs */
.program-list {padding: 0px; list-style:none}
     .program-list li {margin-bottom:10px;}
     .program-list a {display:block; border-bottom: 2px solid var(--blue); background: var(--lightest-grey); font-weight: bold; transition: background 250ms ease; padding: 10px; text-decoration:none; color:var(--dark-blue);font-size: .913rem;line-height: 1.3}
     .program-list a:hover, .program-list a:focus {background: var(--light-grey)}
	.program-list .highlight {color: var(--danger);font-weight:700}

	.program-filters select, .program-filters .position-relative {width: 220px}
	.program-filters select {border: 1.5px solid var(--grey); color: var(--blue); font-weight: 600; font-size: .875rem;}
	.program-filters input {border:none; border-bottom: 2px solid var(--dark-blue); border-radius: 0px;color: var(--dark-blue); font-weight: 600; font-size: .875rem; padding-left: 0px; padding-right: 25px}
	.program-filters input::placeholder {color: var(--blue)}
	.program-filters input:focus {outline:none; box-shadow:none}
	.program-filters span {position: absolute; right: 5px; top: 50%; transform: translateY(-50%);font-size: .813rem; z-index: 1}

/* Athletics, Foundation */
.athletics-slideshow img {aspect-ratio: 16 / 11; object-fit: cover !important; width: 100% !important; height: 100% !important}
	.athletics-slideshow .slick-controls .slick-dots button, 
	.athletics-slideshow .slick-controls .slick-dots .slick-active button,
	.foundation-slideshow .slick-controls .slick-dots button, 
	.foundation-slideshow .slick-controls .slick-dots .slick-active button {background: var(--white); width: 6px; height: 6px;}
	.athletics-slideshow .slick-controls .slick-dots li, .foundation-slideshow .slick-controls .slick-dots li {padding: 0px 3px}
	.athletics-slideshow .slick-prev, 
	.foundation-slideshow .slick-next,
	.foundation-slideshow .slick-prev, 
	.athletics-slideshow .slick-next {transform: scale(.75); top: calc(50% - 26px)}
	.athletics-slideshow .slick-prev, .foundation-slideshow .slick-prev {left: 5px}
	.athletics-slideshow .slick-next, .foundation-slideshow .slick-next {right: 5px}

.foundation-slideshow {position: relative}
	.foundation-slideshow .slick-dots {position: absolute; bottom: 10px;z-index: 1; left: 50%; transform: translateX(-50%)}


/* Directory */
.directory-wrapper .custom-select {border: 1px solid var(--grey);}
	.directory-wrapper .search-name {height: 38px; padding-left: 12px; border-top-left-radius: .25rem; border-bottom-left-radius: .25rem; border: 1px solid var(--grey); width: 50%;}
	.directory-wrapper .search-name::placeholder {color: var(--blue); font-weight: 700;}
	.directory-wrapper .search-button {height: 38px; padding: 10px 12px; border-radius: .25rem !important; border: 1px solid var(--grey); right: 2px;}

/* Calls to action */
aside .cta {flex-direction: column;max-height: 110px}

/* ==========================================================================
     CMS Classes
========================================================================== */

/* Text */
.text-body {color: var(--body)}
.text-blue {color: var(--blue)}
.text-dark-blue {color: var(--dark-blue)}
.text-yellow {color: var(--yellow)}
.text-grey {color: var(--dark-grey)}
.text-light-yellow {color: var(--light-yellow)}
.text-clamp-2 {text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical;  -webkit-line-clamp: 2; overflow: hidden; }
.text-clamp-3 {text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical;  -webkit-line-clamp: 3; overflow: hidden; }
.leading-tight {line-height: 1.2}
.leading-none {line-height: 0}
.leading-loose {line-height: 1.7}
.line-after .line-after-white {position: relative;}
	.line-after::after {content:""; display:block; position: relative; width: 50px; margin: 10px 0px; }
	.text-center .line-after::after, .text-center.line-after::after {margin: 10px auto}
	.line-after-white::after {background: var(--white); height: 1.5px}
	.line-after-yellow::after {background: var(--yellow); height: 3.5px}
.font-weight-medium {font-weight: 600}

.text-xs {font-size: .75rem}
.text-sm {font-size: .85rem;}
.text-md {font-size: 1.063rem;}
.text-lg {font-size: 1.25rem;}

/* Buttons */
.btn-yellow, .btn-white-border, .btn-blue-border, .btn-dark-blue, .btn-blue, .cms-slideshow .btn-primary, .cms-form .btn-primary, form[name=frmSearch] .btn-primary { border:none; text-decoration:none; padding: 10px 20px; transition:all 250ms ease; position: relative;border-radius: 2.5px; text-align:center; font-weight:700; font-size: .75rem; background:none;font-family: "Optima", sans-serif;text-transform: uppercase;}

.btn-yellow {background:var(--yellow); color: var(--dark-blue)}
	.btn-yellow:hover, .btn-yellow:focus {background: var(--light-yellow)}

.btn-white-border {background:none; color: var(--white); border: 1.5px solid var(--white)}
	.btn-white-border:hover, .btn-white-border:focus {border-color: var(--yellow); color: var(--yellow)}

.btn-blue-border {background:none; color: var(--blue); border: 1.5px solid var(--blue)}
	.btn-blue-border:hover, .btn-blue-border:focus {border-color: var(--dark-blue); color: var(--dark-blue)}

.btn-blue, 
	.cms-slideshow .btn-primary, 
	.cms-form .btn-primary, 
	form[name=frmSearch] .btn-primary {background:var(--blue); color: var(--white)}

.btn-blue:hover, 
	.btn-blue:focus, 
	.cms-slideshow .btn-primary:hover, 
	.cms-slideshow .btn-primary:focus,
	.cms-form .btn-primary:active, 
	.cms-form .btn-primary:hover, 
	.cms-form .btn-primary:focus,
	form[name=frmSearch] .btn-primary:hover,
	form[name=frmSearch] .btn-primary:focus, 
	form[name=frmSearch] .btn-primary:active {background: var(--dark-blue); color: var(--white)}

.btn-dark-blue {background:var(--dark-blue); color: var(--white)}
	.btn-dark-blue:hover, .btn-dark-blue:focus {background: var(--blue);color: var(--white)}

.btn-lg {padding: 6px 50px}

/* ==========================================================================
     CMS Components
========================================================================== */

/* Accordions */
.cms-accordion {}
	.cms-accordion .card {background:none; border-radius: 0px; border: none; border-bottom: 2px solid rgba(165,163,162,0.25) !important;}
	.cms-accordion .card:first-child {border-top: 2px solid rgba(165,163,162,0.25);}
	.cms-accordion .card-header {transition: color 250ms ease;position: relative;border-radius: 0px; background:none;border:none; padding: 25px 50px 25px 50px!important; color: var(--blue); font-weight: 700;}
	.cms-accordion .card-header:hover, .cms-accordion .card-header:focus {text-decoration:none; cursor: pointer}
	.cms-accordion .card-header::before {transition: transform 250ms ease; background: url(/img/icon-plus.svg) center center no-repeat;background-size: 100% 100%; width: 25px; height: 25px; content:""; position: absolute; left: 0px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);}
	.cms-accordion .card-header[aria-expanded=true] { color: var(--blue); border-bottom: none}
	.cms-accordion .card-header[aria-expanded=true]::before {-webkit-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg);transform: translateY(-50%) rotate(45deg); }
	.cms-accordion .card-body p {color: var(--body);}
	.cms-accordion .card-body {padding: 0px 30px 30px 30px; margin-bottom: 20px;position: relative; margin-top: 20px; overflow:hidden /* This last property will grow this element with it's floated children */ }
	.cms-accordion .card-body::after {width: 4px; background: var(--blue); content: ""; position: absolute; top: 0px; left: 0px; bottom: 30px; }
	.cms-accordion .card-body *:last-child {margin-bottom: 0px}
	.cms-accordion .collapsing {transition-duration: 500ms; transition-timing-function: ease-in-out;}

/* Tabs */
.cms-tabs {}
	.cms-tabs .nav {margin-bottom: 0px !important}
	.cms-tabs .nav p:hover {cursor: pointer}
	.cms-tabs .nav-pills .nav-link {background: var(--grey); color: var(--blue); font-weight: bold;border-radius: 0px; border:none; padding: 5px 25px}
	.cms-tabs .nav-pills .nav-link.active, .cms-tabs.nav-pills .show>.nav-link {background: var(--blue);color: var(--white); }
	.cms-tabs .tab-content { padding: 1.5rem;}
	.cms-tabs .tab-content *:last-child {margin-bottom: 0px}

/* Calendar */
.cms-calendar .text-primary {color: var(--blue) !important}
.cms-calendar .bg-primary {background: var(--blue) !important}

/* Forms */
form[name=frmSearch] .btn-primary {border-radius: 0px}

/* CMS */
.cms-mainmenu {z-index: 99999}

/* ==========================================================================
     Media Queries
========================================================================== */

@media (min-width: 0px) {	
	/* Text */
	h1, .h1 {font-size: 2rem}
	.hero-wrapper h1.position-absolute {font-size: 1.5rem}
	h2, .h2 {font-size: 1.75rem}
	h3, .h3 {font-size: 1.5rem}
	h4, .h4 {font-size: 1.25rem}
	h5, .h5  {font-size: 1rem}
	h6, .h6 {font-size: .875rem}

	/* Header */
	.nav-wrapper ul li:not(:last-child) {display:none}
	.header-wrapper .logo {width: 200px;top:10px; }
	.header-wrapper .btn-toggle-offcanvas {padding: 4px 15px 6px 15px}
	.header-wrapper .btn-toggle-offcanvas .hamburger-box + span {display:none}
	.offcanvas-wrapper {width: 100%;padding: 20px}

	/* Homepage */
	.closerlook-wrapper div[class*="col-"] {margin-bottom: 20px; padding: 0px 5px}

	/* Heros */
	.hero-sm {height: 250px}

	/* Foundation */
	.foundation-slideshow img {aspect-ratio: 16 / 11;}

	/* Alert */
	.alert-wrapper .btn-close-alert {right: 20px}
}

@media (min-width: 480px) {    
	/* Homepage */
	.newsevents-wrapper .custom-slideshow .slick-list {padding-left: 25px; padding-right: 25px}
     .closerlook-wrapper .custom-slideshow .slick-list {margin-left: calc(-2rem + 32px);}
}

@media (min-width: 768px) {	
	/* Text */
	h1, .h1 {font-size: 2.5rem}
	.hero-wrapper h1.position-absolute {font-size: 2.25rem}
	h2, .h2 {font-size: 1.75rem}
	h3, .h3 {font-size: 1.5rem}
	h4, .h4 {font-size: 1.25rem}
	h5, .h5  {font-size: 1.125rem}
	h6, .h6 {font-size: 1rem}

	/* Homepage */
	.closerlook-wrapper div[class*="col-"] {margin-bottom: 0px;padding-left: 0px}
	.closerlook-wrapper .closerlook-grid > .row:nth-child(1) .feature-item {padding-left: 20px; padding-right: 20px;margin-bottom: 20px}
	.closerlook-wrapper .closerlook-grid > .row:nth-child(2) .feature-item {margin-top: -120px; margin-right: 20px; margin-left: 20px;max-width: calc(50% - 40px) }
	.closerlook-wrapper .closerlook-grid .row:nth-child(1) {position: relative; z-index: 1}
	.closerlook-wrapper .closerlook-grid .row:nth-child(2) {position: relative; z-index: 0}
	.closerlook-wrapper .closerlook-grid .col-md-6 {padding-bottom: 16px; padding-left: 8px; padding-right: 8px}

	.newsevents-wrapper .bg-yellow-logomarks {position: relative;z-index: 1}
		.newsevents-wrapper .bg-yellow-logomarks::after {content:""; background: var(--white); position: absolute; left: 94%; top: -1px; height: calc(100% + 1px); width: 999px; z-index: -1}

	/* Heros */
	.hero-sm {height: 350px}

}

@media (min-width: 880px) {	
	/* Header */
	.nav-wrapper ul li:not(:last-child), .header-wrapper .btn-toggle-offcanvas .hamburger-box + span {display:inline-block}
	.header-wrapper .logo {width: 230px;top: 7.5px; }
	.header-wrapper .btn-toggle-offcanvas {padding: 6px 25px}
	.offcanvas-wrapper {width:500px;padding: 45px; }
	.offcanvas-wrapper .quicklinks {display:none}
}

@media (min-width: 992px) {	
	/* Heros */
	.hero-video, .hero-video .row { height: 500px}
	.hero-video video {position: absolute; top: 0px; left: 0px;}

	/* Homepage */
	.closerlook-wrapper .closerlook-grid > .row:nth-child(1) .feature-item {padding-left: 40px; padding-right: 40px;margin-bottom: 40px}
	.closerlook-wrapper .closerlook-grid > .row:nth-child(2) .feature-item {margin-right: 40px; margin-left: 40px;max-width: calc(50% - 80px) }
	.newsevents-wrapper .bg-yellow-logomarks::after {left: 60%}

	/* Foundation */
	.foundation-slideshow .cms-slideshow img {height: 500px; aspect-ratio: unset;}

	/* Alert */
	.alert-wrapper .btn-close-alert {right: 0px}
}

@media (min-width: 1200px) {
	/* Homepage */
	.closerlook-wrapper .closerlook-grid > .row:nth-child(2) .feature-item {margin-top: -60px;} 
	.newsevents-wrapper .bg-yellow-logomarks::after {left: 68%}
}

@media (min-width: 1400px) {
	/* Homepage */
	.closerlook-wrapper .closerlook-grid > .row:nth-child(2) .feature-item {margin-top: 0px;} 
	.newsevents-wrapper .bg-yellow-logomarks::after {left: 66%}

	/* Bootstrap */
	.container, .container-lg, .container-md, .container-sm, .container-xl {max-width:1340px;}
}

@media (min-width: 1500px) {
	/* Homepage */
	.newsevents-wrapper .bg-yellow-logomarks::after {left: 63%}
}

@media (min-width: 1700px) {
	/* Heros */
	.hero-slideshow .item-inner {padding: 0px 100px}
}

@media (min-width: 1900px) {
	/* Homepage */
	.newsevents-wrapper .bg-yellow-logomarks::after {left: 61%}
}

@media (min-width: 2200px) {
	/* Homepage */
	.newsevents-wrapper .bg-yellow-logomarks::after {left: 59%}

	/* Heros */
	.hero-slideshow .item-inner {padding: 0px 150px}
}

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important;transition: none !important}
}