/* GENERAL ELEMENTS ---------------------------------------------------------------------*/

/* IN app.css
body {
    font-family: 'Roboto', sans-serif;
}
*/

.noline {
	border:none;
}

.hornavoffset {
	top:-2.5rem !important;
	position:relative;
}

.skiptomaincontentmark+h1 {
	padding-top:0;
	margin-top:0;
}

.skiptomaincontentmark+h2 {
	padding-top:2px;
	margin-top:0;
}

.skiptomaincontentmark+p {
	padding-top:0;
	margin-top:4px;
}

.skiptomaincontentmark+p>img {
	padding-top:0;
	margin-top:12px;
}

.skiptomaincontentmark+.grid-container {
	margin-top:7px;
}

#skiptocurrlink {
	color: white;
    display: block;
    z-index: 999999999;
    position: relative !important;
    width: 200px !important;
    font-size: 1rem;
    font-family: 'Roboto';
    text-decoration: none;
    font-weight: 300;
    text-transform: none;
    letter-spacing: initial;
	margin-left:15px;
}

.skiplink {
	margin-left:1rem;
}

#skiptonavsm, #skiptomainsm {
	display:block;
}

.headlogo .show-on-focus, .logo-cont .show-on-focus {
    font-family: 'Roboto', sans-serif !important;
    font-size: .8rem !important;
	margin-left:1rem;
}

#fullpagecontent div {
	margin-top:0;
}

.content-sb {
	margin-top: 0;
}

.no-scroll {
	overflow:hidden;
	-webkit-overflow-scrolling: touch;
}

section.slab {
	padding: 2rem 0;
}

/* back to top button */
#cd-container { 
    float: right;
}
.cd-top {
    border-radius: 1.5rem 0 0 1.5rem;
    position: fixed;
    width: 3.4rem;
    height: 3rem;
    bottom: 4rem;
    left: -3.4rem;
    margin-left: 100%;
    padding-left: 0px;
    padding-top: 9px;
    display: inline-block;
    text-align: center;
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1rem;
    color: #fff !important;
    background-color: #0078CC;
    visibility: hidden;
    overflow: hidden;
    z-index: 99999;
    opacity: 0;
    -webkit-transition: opacity .3s 0s, visibility 0s .3s;
    -moz-transition: opacity .3s 0s, visibility 0s .3s;
    transition: opacity .3s 0s, visibility 0s .3s;
	box-shadow:0 3px 7px rgb(0 0 0 / 70%);
}
.cd-top.cd-is-visible {
    visibility: visible;
    opacity: 1;
}
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;
    -moz-transition: opacity .3s 0s, visibility 0s 0s;
    transition: opacity .3s 0s, visibility 0s 0s;
}
.cd-top.cd-fade-out {
	opacity: .5;
}
.no-touch .cd-top:hover {
	background-color: #0F2A5F;
	opacity: 1;
}

#cd-container a {
	border-bottom: none;
}

#cd-container a:hover {
	border-bottom: none;
}


/* TEMPLATE STRUCTURE -------------------------------------------------------------------*/

.site-wrapper {
	overflow: hidden;
	position: relative;
	height:initial;
	min-height: 100vh;
}

.site-wrapper.active {
	position: fixed;
}

.overlay {    
	transition: all .4s ease;
	position: absolute;
	height: 100%;
	z-index: -1;
	width: 100%;
	margin-top: 238px;
}
.overlay.active {
	z-index: 99;
	background-color: rgba(0,0,0,.5);
}

.headerbar {
	height: 4.25rem;
	position: relative;
	padding: 0 .375rem 0 1rem;
	border-top: 2px solid #4296c2;
}

/* utility buttons container desktop */
.headerbar .util-links {
	display: flex;
	justify-content: flex-end;
	height: 40px;
}

/* csusm logo desktop */
.bmlogo {
	position: absolute;    
	background-color: transparent;
	z-index: 100;
	top: 15px;
	/*
	transform-origin: left;
	transform:scale(1);
	transition: all .4s ease;
	*/
	margin-left: -1px;
}
.bmlogo a {
	color: #0078CC;
	font-size: 1.5rem;
	letter-spacing: 3.5px;
	line-height: 0;
	font-weight: 500;
	font-family: 'Montserrat';
	/*display: block;*/
}
.bmlogo img {
	height:36px;
}

/* utility buttons container mobile */
.min-navbar {
	height: 52px;
	position: relative;
	background-color: #0078CC;
	z-index:90;
	display: flex;
    justify-content: space-between;
	align-items: center;
	padding-left: 13px;
    padding-right: 13px;
}

/* banner area */
#top-banner-bg-lg {
	background-color:rgb(0 36 61);
	background-position-x:55%;
	background-repeat-x:no-repeat;
}
#top-banner-lg {
	height:170px;
}
.top-banner-textcontainer {
	height: 130px;
	position:relative;
	overflow:hidden;
}
.top-banner-textcontainer.nomenu {
	height: 170px;
}
.top-banner-textcontainer .org  {
	font-family: "Montserrat";
    font-weight: 400;
    font-size: 2.2rem !important;
    color: #fff !important;
	text-shadow: 0px 0px 3px #222222 !important;
	line-height:2.3rem !important;
	margin-left:-1px;
	white-space:nowrap;
	text-transform:none;
	color: 
}
.top-banner-textcontainer h1 {
	margin-bottom:0;
	margin-top:0;
	line-height: 1rem !important;
	letter-spacing:0 !important;
}
section h1 {
	margin:4rem 0 0 0 !important;
}
.top-banner-textcontainer .parentorg {
	font-family: "Montserrat";
    font-weight: 400;
	font-size:.8rem !important;
	/*font-variant: small-caps;*/
	text-transform:uppercase;
	letter-spacing: 1px;
	text-shadow: 0px 0px 3px #222222 !important;
	line-height:1rem !important;
	color:#fdfdfd !important;
}
.top-banner-text-org .org.icon-home {
    font-family: 'Montserrat' !important;
}
.top-banner-text-org .org.icon-home::before, .top-banner-text-org .org.icon-home::after {
    content: none;
}
.top-banner-text-parentorg {
    margin-bottom: .4rem;
}
.top-banner-text-parentorg, .top-banner-text-org {
	transform-origin: left;
	/*transition: all .4s ease;*/
}

#pagecontent {
	padding: 0 !important;
	margin-bottom: 4rem;
}

#fullpagecontent {
	top:0;
	position:relative;
	/*margin-bottom: 50px;*/
}

.noheadimg {
	background-color: rgba(71,72,77) !important;
}

/* contact area */
.contact-panel, #contact-panel {
	margin:0 0 2rem 0;
	padding:15px 8px 15px 13px;
	background-color: #fff;
    border: 1px solid rgba(0,77,150,.1);
	border-left: 4px solid rgba(0,77,150,.09);
}

.contact-panel a, #contact-panel a {
	color: #BC421A;
}

.contact-panel span, #contact-panel span {
	font-family: Roboto !important;
	color:#47484D;
	font-size:.85rem;
	font-weight: 400;
	display:block;
	line-height: 1.2;
    padding-bottom: .5rem;
}

.contact-panel .contact-name, #contact-panel .contact-name {
	font-weight:500;
	font-size:.95rem;
}

/* footer */
footer a {
    font-size: 15px;
    font-weight: 400;
}

.footer-links a:not(.button), .footer-bottom a:not(.button) {
	color: #0078CC;
}

.footer-links a:hover:not(.button), .footer-bottom a:hover:not(.button) {
	color: #1B4CAB;
}

.footer-bottom-links {
	padding: 12px;
	color: #D4D9D9;
}

.footer-bottom a:not(.button) {
	color: #FFFFFF;
	font-family:Roboto !important;
	font-size:.9rem !important;
	border-bottom:none;
}

.footer-bottom a:not(.button)::before {
    padding-right: .5rem;
}

.footer-bottom a:hover:not(.button) {
	color: #F7B905;
	border-bottom:none;
}

.footer-bottom-links, .footer-social {
	text-align: right !important;
}

#directedit a {
    display: none;
	float: left;
	color:#ffffff;
	position: absolute;
    bottom:10px;
	padding-left: 10px;
}

#directedit a:hover {
	color: #F7B905;
}

@media only screen and (max-width: 63.9375em) {
	.overlay {    
		transition: all .4s ease;
		position: absolute;
		height: 120%;
		z-index: -1;
		width: 100%;
		margin-top: 0px;
	}
	.overlay.active {
		z-index: 100;
		background-color: rgba(0,0,0,.5);
	}
	
	#pagecontent {
		margin-top:1rem;
		top: 0 !important;
	}
	
	#fullpagecontent {
		margin-top: 0;
    	top: 0 !important;
	}
	
	#tnavmenu + #pagecontent {
		margin-bottom: -3rem !important;
	}
	
	#top-banner-sm {
		display: flex;
		flex-direction: row;
		background-color: rgba(0,77,150,0.06);
		border-bottom: 1px solid rgba(0,77,150,.1);
		height: 100px;
		align-items: center;
		justify-content: space-between;
		padding-left: 13px;
    	padding-right: 18px;
	}
	#top-banner-sm .top-banner-textcontainer {
		display: flex;
		flex-direction: row;
		align-items: center;
		height:auto !important;
	}
	
	#top-banner-sm + #pagecontent {
		padding: 0 !important;
	}	
	#top-banner-sm .org {
		font-size: 1.35rem !important;
		line-height:1.5rem !important;
		white-space:normal !important;
		color:#222 !important;
		font-weight:600 !important;
		text-shadow:none !important;
	}
	.top-banner-text-org {
		max-height:78px;
		overflow:hidden;
		width: calc(100vw - 4rem);
		padding-top: 3px;
	}
	.top-banner-text-org .org.icon-home {
		display: block;
		text-indent: -27px;
		margin-left: 27px;
	}
	.top-banner-text-org .org.icon-home::before {
		content: "\e901";
		font-size: 19px;
		padding-left: 1px;
		top: 2px !important;
		color:#BC421A;
	}
	.top-banner-text-org .org.icon-home::after {
		opacity: 1;
		content: "//";
		color: #cacaca;
		padding-left: 6px;
		font-size: .875rem;
		font-family: "Source Sans Pro", Helvetica, ​Arial, ​sans-serif !important;
		margin-right: 1px;
		top: -1px;
		position: relative;
		font-weight:400;
	}
	.top-banner-text-org a.org, .top-banner-text-org span.org {
		color:#222 !important;
	}
	
	.top-banner-menu {
		width:2.1875rem;
	}
	
	.footer-bottom-links, .footer-social {
		text-align: center !important;
		margin-left: auto;
		margin-right: auto;
	}
	.footer-bottom-links {
		padding-right: 12px 0;
	}
	.row.expanded {
		padding: 0 .75rem;
	}
}



/* NAVIGATION ELEMENTS ------------------------------------------------------------------*/

/* mobile ------------------------*/

/* hamburger menu mobile */
#navbutton-sm {
	
}
#navbutton-sm::before {
	color: #222;
	font-size:46px;
}
#navbutton-sm::active {
    outline-color: transparent;
}
#sitemenuclose {
	margin-top: 6px;
    margin-left: -6px;
}
#navbutton-sm-close {
	/*
	color: #fff;
    font-size: 1.85rem;
    font-weight: 400;
    z-index: 999;
    position: relative;
	*/
	top: -120px;
}

#navbutton-sm-close::after {
    color: #fff;
    font-family: 'Montserrat';
    font-size: 1rem;
    font-weight: 600;
    padding-left: .5rem;
}


/* nav close button */
	
/* site nav mobile */
#nav-container-sm {
	background-color:#000; 
	background-image: linear-gradient(90deg, rgba(0,36,61,1) 0%, rgba(0,77,150,1) 100%); 
    position: fixed;
    overflow-y: scroll;
    z-index: 100;
	width:100%;
	height: 100%;
	left:110%;
	transition: right .4s ease;
	transition: left .4s ease;
	top:0;
}
#nav-container-sm.active {
	left:0;
	transition: left .4s ease;
}
#nav-container-sm-menuheader {
	height:52px;
	background-color:#0078CC;
	position:relative;
	width:100%;
	z-index:999999;
	border-bottom:1px solid #fff;
	top:-1px;
}

#sitemenulbl {
	color: #fff;
    font-family: 'Montserrat';
    font-weight: 600;
    text-transform: uppercase;
    padding-left: .875rem;
    letter-spacing: .375rem;
    font-size: 1.75rem;
    width: calc(100% - 3.0625rem);
}

/* apps menu mobile */
#apps-container-sm, #account-container-sm {
	width:100%;
	position: absolute;
	background-color:#fff;
	right: 0;
	z-index: 9;
	border-bottom: 2px solid #0078CC;
	box-shadow: 0 2px 10px rgba(0,0,0,.7);
	transform: translate(0px, -120%);
    transition: all .4s ease;
	top:0;
}
#apps-container-sm.active, #account-container-sm.active {
	transform: translate(0, 52px);
	transition: all .4s ease;
}
#apps-container-sm .app-links {
	background-color: #FFFFFF;
	padding: .5rem;
}
#apps-container-sm .app-links a span {
	font-size: 13px;
}
.min-nav a.sub-cat-title {
	color: #FFFFFF;
}
.min-nav a.sub-cat-title:hover {
	color: #FFFFFF;
	text-decoration: underline;
	background-color: initial;
}
.min-navbar .logo-cont img{
	height:30px;
}

/* apps menu desktop */
.util-links-container {
	position: relative;
	top: 13px;
}
.util-links ul {
	float: right;
	width: 372px;
}
.util-links ul li:first-child {
	padding-right: 17px;
	border-right: 1px solid;
	height: 40px;
	overflow: visible;
	padding-bottom: 0;
}
.util-links ul li:last-child {
	padding: 3px 5px;
	width: 186px;  
}
.util-links .text-link {
	font-size: 15px;
	font-family: 'Montserrat';
	font-weight: 500;
	letter-spacing: 1px;
	padding: 10px 0 10px 10px;
	color: #222;
}
.util-links .bento-text:hover {
	background-color: #eee;
	border-radius: 20px;
}
.min-navbar .util-links {
	display: flex;
	justify-content: space-between;
	height:40px;
	width:160px;
}
.min-navbar .util-links a:hover {
	background-color: initial;
}
.control-sprite {
	width: 40px;
	height: 40px;
	overflow: hidden;
	top: 0;
	padding: 0;
	display: inline-block;
	position: relative;
	left:0;
	z-index:99;
}
.control-sprite img {
	position: absolute;
	width: 40px;
	top: 0;
	left: 0;
	z-index: 999;
	display: inline-block;
}
.util-links .search-icon {
	top:0px;
}
.util-links .search-icon:hover {
	top:-40px;
}
.util-links .search-icon.active {
	top:-120px;
}
.util-links .search-icon.active:hover {
	top:-80px;
}
#bento-icon-lg {
	 width:40px;
}
.util-links .bento-icon {
	top:-160px;
}
.util-links .bento-icon:hover {
	top:-200px;
}
.util-links .account-login-icon {
	top:-331px;
}
.util-links .account-login-icon:hover {
	top:-411px;
}
.util-links .account-user-icon {
	top:-371px;
}
.util-links .account-user-icon:hover {
	top:-451px;
}
#apps-link-container-lg {
	margin-right: 0px;
    margin-left: 20px;
	padding-right: 10px;
    padding-left: 9px;
    border-right: 1px solid #cecece;
    border-left: 1px solid #cecece;
}
#apps-container-lg a:focus {
    outline: none;
}
#apps-container-lg a:focus {
    background-color: #eee; 
}
#apps-container-lg {                
	display: none;
	position: absolute;
	z-index: 9999;
	top: 55px;
	right: -3px;
	box-shadow: 0 2px 10px rgba(0,0,0,.2);
	background: #fff;
	padding: 28px 1rem 0 1rem;
	border: 1px solid #47484d;
	border-bottom:3px solid #0078CC;
	width: 284px;
}
#apps-container-lg.active {
	display: block;
}
#apps-container-lg:after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #ffffff;
	border-width: 10px;
	margin-left: 24px;
}
#apps-container-lg:before {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;	
	border-color: rgba(71, 72, 77, 0);
	border-bottom-color: #47484d;
	border-width: 11px;
	margin-left: 23px;
}
#apps-container-lg img {
	width: 33%;
}
.app-links img {
	width: 32px;
}
.app-links a {
	display: block;
	color:#47484d;
	padding:.25rem;
}
.app-links a:hover {
	background-color: #eee;
	color: inherit;
}
.app-links a span {
	margin-top: 1rem;
	display: block;
	line-height: 1.2;
	font-size: 15px;
	position: relative;
	font-family: 'Montserrat';
	font-weight: 500;
	letter-spacing: 1px;
}
.app-links a span:before {
	position: absolute;
	content: "";
	top: -8px;
	left: 50%;
	height: 3px;
	transition: all .4s ease;
	width: 80%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #F7B905;
}
#account-container-lg {                
	display: none;
	position: absolute;
	z-index: 9999;
	top: 55px;
	right: -3px;
	box-shadow: 0 2px 10px rgba(0,0,0,.2);
	background: #fff;
	padding: 1rem 1rem .5rem 1rem;
	border: 1px solid #47484d;
	border-bottom:3px solid #0078CC;
	width:284px;
	font-size:.9rem;
}
#account-container-sm #account-panel {
    background-color: #fff;
}

#account-container-lg.active {
	display: block;	
}

#account-container-lg:after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #ffffff;
	border-width: 10px;
	margin-left: 95px;
}

#account-container-lg:before {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(71, 72, 77, 0);
	border-bottom-color: #47484d;
	border-width: 11px;
	margin-left: 94px;
}
.min-nav .app-links ul li {
	padding: 0;
}

/* top nav */
#tnavmenu {
	background-color: rgb(0 120 204);
	z-index:999;
	display: block;
	height: 40px;
	padding: 0 .25rem;
	position: relative;
	border-top:1px solid #fff;
	top:-40px;
}
#tnavmenu.no-banner {
    top: 0 !important;
}
#tnavmenu .tnav-item:hover:before,#tnavmenu .tnav-item.active:before {
	width:100%;
}
#tnavmenu .tnav-item:before {
	position: absolute;
	content: "";
	bottom: 2px;
	left: 50%;
	height: 3px;
	transition: all .4s ease;
	width: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #F7B905;
}
#tnavmenu .tnav-item:focus:before, #tnavmenu .tnav-item:hover:before, #tnavmenu .tnav-item.active:before {
    width: 100%;
} 
#tnavmenu .tnav-item:focus {
    outline: none;
}
#tnavmenu .grid-container {
	padding: 0;
}
/*
#tnavmenu:not([class=hornavoffset])+.slabs {
    margin-top: 1.375rem;
}
*/
#tnavmenu + #pagecontent {
    padding: 0 !important;
	margin-bottom:1rem;
}
.tnav-items {
	margin-bottom: 0;
	display: flex;
	justify-content:  space-between;
	height:40px;
}
.tnav-item {
	color: #FFFFFF;
	font-weight: 400;
	padding: 9px .75rem 9px .75rem;
	display: block;
	position: relative;
	font-size: 15px;
	height: 42px;
	letter-spacing: 1px;
	font-family: 'Montserrat';
	cursor: pointer;
	/*text-shadow: 0px 0px 3px #222222 !important;*/
	white-space: nowrap;
	overflow:hidden;
}
.tnav-sub-container {
	background: #fff;
	max-width: 450px;
	position: absolute;
	z-index: 999;
	top:39px;            
}
.tnav-sub {
	height: 100%;
	border: 1px solid #D4D9D9;
	padding: 0;
	position: relative;
	display: none;
}
.tnav-sub a {
	color: #222;
	font-weight: 400;
	font-family: 'Roboto';	
	border-bottom:none;
}
.tnav-sub.active {
	display: flex;
	border-bottom: 3px solid #0078CC;
}
.tnav-sub li {
	line-height: 1;
	/*margin:1rem 0;*/
}
.tnav-sub ul {
	margin:.5rem 0;
	width:275px;
}
a.sub-cat-link:hover, a.sub-cat-title:hover, a.sub-cat-title:focus {
    text-decoration: none;
    background-color: #ECF0F0;
    outline: none;
}
a.sub-cat-title {
	font-size: .88rem;
	display: block;
	line-height: 1.2;
	padding: .5rem 1rem;
}
a.sub-cat-link:hover,a.sub-cat-title:hover {
	text-decoration: none;
	background-color: #ECF0F0;
	color:#004d96;
	border-bottom:none;
}

/* breadcrumbs */
#breadcrumbs-container-lg {
    margin-top: 1.375rem;
	margin-bottom: .3125rem;
}
.breadcrumbs {
	background-color:#FFFFFF;
	padding:0.5rem 0 0.35rem .15rem;
	border:none !important;
	margin-bottom:.5rem !important;
}
.breadcrumbs .current {
	color:#5A5B61 !important;
}
.breadcrumbs .current .icon-home::before {
    color:#5A5B61;
}
.breadcrumbs .icon-home {
    position:relative;
    left:0;
}
.breadcrumbs>*:before {
    color: #5A5B61;
}    
.breadcrumbs li a, .breadcrumbs li {
	text-transform:none;
	font-size:.9rem;
	font-family: "Source Sans Pro", Helvetica, ​Arial, ​sans-serif !important;
	margin:0 !important;
}
.breadcrumbs li {
	font-size: .875rem !important;
}
.breadcrumbs li a {
	color:#BC441B !important;
	/*font-weight:600;*/
}
.breadcrumbs li a:hover {
	text-decoration:none;
	color:#BC441B !important;
}
.breadcrumbs .icon-home:hover {
	text-decoration: none;
	color:#1B4CAB;
}
.icon-home:before {
	vertical-align: top;
    top: 2px;
    position: relative;
}

#bc-home::before {
	top:5px;
	font-size:.9rem;
}
#bc-container-sm {
	display:none;
}

@media only screen and (max-width: 63.9375em) {
	#bc-container-sm {
		margin-top:.5rem;
		display:block;
	}
	#bc-container-sm .breadcrumbs {
		padding:0 !important;
		margin:0 !important;
		background-color:transparent;
	}
	#bc-container-sm .breadcrumbs li {
		color:#222 !important;
	}
	#bc-container-sm .breadcrumbs li a {
		font-size:.75rem;
		color:#BC421A !important;
		font-weight:600;
	}
	#breadcrumbs-sm {
		margin-left:.75rem;	
	}
	#breadcrumbs-sm .breadcrumbs li:last-child::after {

	}
	#breadcrumbs-sm .breadcrumbs li::after {
		margin: 0 .25rem;
	}	
}

/* sidenav desktop */
#pagenav {
	margin-top:.6875rem;
}

#pagenav a {
	color:#47484d;
	font-family:"Montserrat";
	font-size:.9rem !important;
	font-weight: 500;
	display:block !important;
	line-height: 1.2rem !important;
    padding: .5rem .5rem .5rem .625rem !important;
}
#pagenav .vnavopen>a {
    font-weight: 800 !important;
}

#pagenav a[name="skiptosectionnavigation"] {
	display:none !important;
}

#navsection, #navsection a {
	font-family: "Montserrat";
	font-size: 1.125rem !important;
	font-weight: 700;
	line-height: 1.5rem !important;
	padding: .9375rem 0 0 .625rem;
	text-transform: uppercase;
    padding-right: .625rem !important;
}
.site-nav-section {
	margin: 0 0 2rem 0;
    background-color: rgba(0,77,150,0.06);
    border: 1px solid rgba(0,77,150,.1);
    border-top: 4px solid rgb(0 77 150);
   	/*background-image: url(/_resources/images/primary/sectionnav-watermark.png);*/
    background-repeat: no-repeat;
    background-position-x: 72px;
    background-position-y: 13px;
	padding-bottom: 4px;
}

.site-nav.nobcoffset {
	margin-top: 1rem;
}

.site-nav-section nav  {
	box-shadow: 2px 2px 10px #d9d9d9;
}
/* all li hover effect */
.site-nav-section ul li a:hover, #navsection a:hover {
	background-color: rgba(0,77,150,.09);
	color:#0F2A5F !important;
}
/* first level links  */
.site-nav-section>ul>li>a {
	padding-left: 16px !important;
}
/* first level active li  */
.site-nav-section>ul>.vnavactive a {
    padding-left: 10px !important;
}
/* first level open ul */
.site-nav-section>ul>.vnavopen>ul {
	border-left: 4px solid rgba(0,77,150,.09);
    margin-left: 10px;
}
/* second level active link */
.site-nav-section>ul>.vnavopen>ul>li.vnavactive>a {
    margin-left: -4px !important;
}
/* second level open ul */
.site-nav-section>ul>li>ul>.vnavopen>ul {
	border-left: 4px solid rgba(0,77,150,.09);
    margin-left: 10px;
}
/* third level active link */
.site-nav-section>ul>.vnavopen>ul>.vnavopen>ul>li.vnavactive>a {
    margin-left: -4px !important;
}
/* any active link  */
.site-nav-section .vnavactive>a {
	font-weight: 600 !important;
	color:#000;
	border-left: 4px solid #CA471B;
}
.site-nav-section ul {
    list-style-type: none !important;
}
/*section nav*/
.site-nav-section ul.navtop {
	padding: 10px 10px !important;
}
.site-nav-section ul, .site-nav-section ul > li ul {
	margin: 0;
}
.site-nav-section ul:not(.navtop) {
	display:none;
}
.site-nav-section .vnavactive {
    border-left: 4px solid #004d96;
}

.navtop>li> .vnavactive {
	border-left:none;
	color:#BC421A;
}

a#navfocus {
	color:#004d96 !important;
}
.site-nav-section > ul {
    padding: 10px 0 !important;
}
.site-nav-section ul, .site-nav-section ul.no-bullet > li ul {
    margin: 0;
    padding: 0;
}
/* first level active li  */
.site-nav-section>ul>li a.vnavactive {
    padding-left: 12px !important;
}
/* second level active link */
.site-nav-section>ul>.vnavopen>ul>li a.vnavactive {
    margin-left: -4px !important;
}
/* third level active link */
.site-nav-section>ul>.vnavopen>ul>.vnavopen>ul>li a.vnavactive {
    margin-left: -4px !important;
}
.site-nav li  a {
	font-weight: 300;
	display: block;
	padding: .4rem;
}
.site-nav li span {
	display: table-cell;
}
.site-nav ul ul li:last-child {
	border:none;
}

/*All Nav Display*/
nav.site-nav li:not([class=vnavopen]) ul {
    display: none;
}	

/* mobile nav */
.site-navsm .navfolder {
	/*display:table;*/
	display: flex;
    justify-content: space-between;
	width:100%
}
#sitenav-small {
	width: 100%;
	margin: 0 0 4rem 0;
	padding:0;
}     
#sitenav-small a {
	font-family: 'Montserrat';
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.7rem;
    color: #fff;
    width: calc(86vw - 3rem);
    display: inline-block;
    /*padding: 0 0 0 0;*/
	padding: .7rem 0 .7rem 0;
    margin: 0;
}
/* all ul */
#sitenav-small ul {
    list-style-type: none !important;
	background-color:transparent !important;
}
#sitenav-small .openerThing {
	cursor: pointer;
    color: #fff !important;
    font-weight: 300;
    font-size: 2rem !important;
    vertical-align: top;
    z-index: 9999;
    position: relative;
    left: -1rem;
    top: 0;
	padding: .7rem 0 .7rem 0;
    
}
/* first level ul */
#sitenav-small>ul {
    margin: 0px;
	padding: 1.375rem 0 1rem 1rem;
}
#sitenav-small ul li {
    /*margin: 1.5rem 0 1.5rem 0;*/
	margin:0;
}
#sitenav-small ul ul {
    border-left: 4px solid #334f80;
	margin: 0 0 1rem .125rem;
    padding: 0 0 0 .625rem;
}

/* active link */
#sitenav-small .vnavactive {
	color: #F7B905 !important;
    font-weight: 600 !important;
    border-left: 4px solid #F7B905;
    margin-left: -.875rem;
    padding-left: .625rem;
}
.navtop>.vnavopen>.navfolder>.vnavactive {
    border: none !important;
    padding-left: 16px !important;
}
.navtop>li>.vnavactive {
	border: none !important;
    padding-left: 14px !important;
}

@media only screen and (max-width: 63.9375em) {
    .navtop {
        -webkit-touch-overflow:scroll;
    }
	
	/*
	#tnavmenu:not([class=hornavoffset])+.slabs {
		margin-top: 2.5rem;
	}
	*/
}

/* CONTENT ELEMENTS  --------------------------------------------------------------------*/

.button {
	font-family: 'Montserrat',sans-serif;
	letter-spacing: 1px;
	margin: 10px;
	padding: 8px 10px;
	font-size: 1rem;
}


/* ????????????? ------------------------------------------------------------------------*/
.right-small a, .left-small a {
	display: block;
	color: #FFFFFF;
}

.left-small, .right-small {
	border: none;
}

.left-small {
	left: .5rem;
}

.close-box {
	position: fixed;
	top: 0;
	right: 0;
	background: #C3CAD7;
	padding: 3px 10px;
	z-index: 10;
}

.triangle_closed::before {
	font-family: "icomoon";
	font-size: 1rem;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	margin-right: 0.35em;
	text-transform: none;
	vertical-align: middle;
	content: "???";
}

.triangle_open::before {
	background: url(256x240_icons_icons.png) -64px -16px no-repeat;
}

.opener {
	cursor: pointer;
	border-right: 1px solid rgb(0, 0, 0);
	float: left;
	margin-left: -0.5rem;
	font-size: 1rem;
}

.openerThing {
	cursor: pointer;
	color:rgb(90, 91, 97) !important;
	font-weight: 300;
	width: 2rem;
	vertical-align: middle;
	z-index:9999;
    position: relative;
    margin-right: 10px;
}
.openerThing.icon-plus:before, .openerThing.icon-minus:before{
	font-size: .6rem;
	margin: 0 .33rem;
	line-height: 2;
}

button.openerThing {
    margin: 0;
}
@media only screen and (max-width: 63.9375em) {
    
}

#dir_image {
	text-align: center;
}

#dir_content_name {
	font-weight: bold;
	font-size: 1.3rem;
}

#dir_content_title, #dir_content, #dir_content_botleft {
	font-size: 0.9rem;
}


.imgLink_sm,.imgLink_lg { 
     border-radius: 5px 5px 5px 5px; 
     position:relative; 
     border:#ccc solid 5px;           
} 
 
.imgLink_sm { 
     height:155px; 
     width:284px; 
	 overflow:hidden;
} 
 
.imgLink_lg { 
     height:243px; 
     width:440px; 
	 overflow:hidden;
} 
 
.imgLink_sm img,.imgLink_lg img { 
     z-index:1;
    position:absolute;
    top:0;
    left:0;      
} 
 
.imgLink_text_frame { 
     background:url("http://www.csusm.edu/images/backgrounds/bg_newstext.png") repeat-x scroll 0 0 transparent; 
     bottom:0; 
     color:#ffffff; 
     position:absolute; 
     width:100%; 
     z-index:2;      
    font-size: 130%;
    padding-top: 50px;   
    text-align:left;
}

.imgLink_title { 
     font-size:1.4rem;      
     line-height:1.3; 
	 font-weight:500;
} 
 
.imgLink_text { 
     padding: 0 5px 5px; 
	 font-size:1rem;
}


.side-nav li a:not(.button) {
    color: #485ebf;
}

td img {
    max-width:none;
}


/* POD START - Used for homepage pod temporary conversion -- jrees 081016 */
.panel.no-bg.img-pod, callout.no-bg.img-pod {
        text-align: center;   
    }
.panel.no-bg.img-pod h4, .callout.no-bg.img-pod h4 {
        /*font-size: 1rem; */
        line-height: 1.1rem;
        padding-top: .3rem;
    }
.panel.no-bg.img-pod p, .callout.no-bg.img-pod p {
        font-size: .925rem; 
        line-height: 1rem;
    }
/* POD END */



/* Image Caption Styles */
.imgcont {
	position: relative;
	text-align: center;
	width: auto;
	background-color: #47484D;
	color: #ffffff;          
}

.imgcap {
	position: relative;
}

.imgcap img {
	width: 100%;
	height: auto;
}
.imgcap:after {
	display: block;
	position: absolute;
	background-image: linear-gradient(357deg, rgba(71,72,77,1) 26px, rgba(29,133,117,.8) 27px, rgba(29,133,117,.8) 36px, rgba(29,133,117,.5) 37px, rgba(29,133,117,.5) 46px, transparent 47px);
	top: 0;
	height: 100%;
	width: 100%;
	content: "";
}

.imgcont p {
	color: #E4EBF2;
	padding: .5rem;
	text-align: center;
	font-weight: 400;
	font-size: .9rem;
}  
.imgcont span {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: #1d8575;
}  

@media only screen and (max-width: 63.9375em) {
	.imgcont_block {
		width: 100% !important;
		padding: 0px !important;
	}
}

#apps-container-lg {
	padding: 28px 1rem;
}



.tnav-sub-container ul {
	padding: 0;
}

a.sub-cat-title {
	font-size: .95rem;
}

#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 48px;
	border-top: 2px solid #A2B8E0;
	background-color:rgb(0 36 61);
}

.tnav-items ul li ul {
	padding-left: 1rem !important;
}

/* IN app.css
h1 {
	color: #47484D;
    border-bottom: none;
    font-weight: normal;
	font-family: "Montserrat" !important;
	margin-bottom:2.2rem;
}
*/

@media only screen and (max-width: 63.9375em) {
	.sub-cat-title {
		font-weight: normal !important;
	}

	.tnav-item {
		font-weight: 600;
	}

	.min-nav .tnav-items {
		flex-direction: column;
		height: inherit;
		background-color: #0078CC;
		padding: 1rem;
		padding-top: 0rem !important;
		margin-bottom: 1rem !important;
	}
	
	h1 {
		margin-top: .75rem;
		margin-bottom: 1.3rem;
    }
	
}


/*========================== ARY additions =========================*/
nav ul.no-bullet, nav ul.no-bullet > li ul {
	margin: 0;
	padding: 0;
}

.hero-text {
	text-shadow: rgb(0, 0, 0) 2px 2px 3px !important;
}



#customfooter {
	width:100%;
	top:-48px;
	position:relative;
}

.app-links>div>.cell {
    height: 82px !important;
    position: relative;
}

ul .inner {
    overflow: hidden;
    display: none;
}

#account-link-container-lg, #account-login-link-container-lg {
	margin-left:20px;
	margin-right:14px;
	width: 40px;
}

#account-link-container-sm, #account-login-link-container-sm {
	width: 40px;
	height:40px;
}

#account-link-lg, #account-link-sm {
	width:40px;
	height:40px;
	display:block;	
}

#apps-link-container {
	padding-right: 20px;
}

#apps-link-lg {
	display: inline-flex;
}

#account-panel {
	display: flex;
	background-color:#f7f7f7;
	padding: .375rem;
	margin-bottom: 1.111rem;
}

#account-youraccounticon {
	width:40px;
	text-align: left;
}

#account-youraccountinfo {
	flex: 1;
}

#account-initials {
	color: #0078cc;
    font-size: 1rem;
	font-weight: 600;
    position: relative;
    z-index: 999 !important;
    top: -38px;
}

#account-intro {
	display: block;
    text-align: left;
    padding-bottom: 10px;
}

#account-name {
	display: block;
    text-align: left;
	font-weight:500;
}

#account-initials:hover {
	color:#1B4CAB;
}



@media only screen and (max-width: 63.9375em) {
	
	#account-initials {
		color:#fff;
		font-weight: 600;
		z-index: 90 !important;
	}
	
	#account-intro {
		padding: 5px 5px 3px 10px;
	}
	
	#account-info {
		width:100%;
		padding-left:10px;
	}
	
	#account-panel {
	    padding: 13px 0px 2px 10px;
    	margin-bottom: 0px;
	}
	
	#fullpagecontent.hornavoffset {
		top:0;
		position:relative;
	}
	
	#pagecontent.hornavoffset {
		top:-40px;
		position:relative;
	}
	
	.contact-panel {
		margin:0;
		padding-top: 20px;
		padding-bottom: 60px;
    	border:none;
		border-top: 1px solid #f0f0f0;
		background-color: #fafafa;
	}
		
	#pagecontent.hornavoffset .contact-sm {
		position: relative;
		top: 40px;
		margin-top:-40px;
	}
	
	#fullpagecontent.hornavoffset .contact-sm {
		position: relative;
		top: 40px;
		margin-top: -40px;
		padding-bottom: 50px;
	}
		
	.util-links .search-icon, .util-links .search-icon:hover {
		top:-651px;
	}
	.util-links .bento-icon, .util-links .bento-icon:hover {
		top:-531px;
	}
	.util-links .account-login-icon, .util-links .account-login-icon:hover {
		top:-571px;
	}
	.util-links .account-user-icon, .util-links .account-user-icon:hover {
		top:-611px;
	}
	.util-links .search-icon.active, .util-links .bento-icon.active, .util-links .account-user-icon.active, .util-links .search-icon.active:hover, .util-links .bento-icon.active:hover, .util-links .account-user-icon.active:hover {
		top:-120px;
	}
}

.noaccessmsg {
	padding:10px;
}

/*Content Overrides*/
a {
	border-bottom: 1px dotted #afafaf;
}
a:hover {
	border-bottom: 1px solid #BC441B;
	color: #BC441B;
}

.content h5 {
	font-family: 'Roboto', sans-serif;
}

tbody th {
	color:#ffffff;
	font-weight:600;
	text-align:left;
}

.content li {
	margin-bottom:.5rem;
}
/*Link Overrides*/

a.button:hover {
    border-bottom-color: transparent;
	background: #004D96;
}
section.slabs .button {
    font-size: inherit;
}
button, .button {
	margin: 1rem 0 .15rem;
}
.button:hover, .button:focus {
    border-bottom-color: transparent;
}

button.large, .button.large {
    margin: 0 0 1.1111111111rem;
    padding: 0.8888888889rem 1.7777777778rem 0.9444444444rem 1.7777777778rem;
}
#top-banner-sm a, .min-navbar a, .headerbar a, .top-banner-text a, nav a, .mediabuttons a {
    border-bottom: none;
}

#top-banner-sm a, .min-navbar a:hover, nav a:hover, .mediabuttons a {
    border-bottom: none;
}