/*** UB FONTS ***/

@font-face {
        font-family: SofiaWebLight;
        src: url(//prv-web.sens.buffalo.edu/webfonts/SofiaWebLight.woff);
    }

@font-face {
        font-family: SofiaWebRegular;
        src: url(//prv-web.sens.buffalo.edu/webfonts/SofiaWebRegular.woff);
    }

@font-face {
        font-family: Sofia;
        src: url(//prv-web.sens.buffalo.edu/webfonts/SofiaWebRegular.woff);
    }

@font-face {
        font-family: SofiaWebMedium;
        src: url(//prv-web.sens.buffalo.edu/webfonts/SofiaWebMedium.woff);
    }

@font-face {
        font-family: SofiaWebBold;
        src: url(//prv-web.sens.buffalo.edu/webfonts/SofiaWebBold.woff);
    }

@font-face {
        font-family: MorePro;
        src: url(//prv-web.sens.buffalo.edu/webfonts/MoreProBook.woff);
    }

@font-face {
        font-family: UBFont;
        src: url(//prv-web.sens.buffalo.edu/webfonts/UBFont.woff);
    }

/*** END UB FONTS ***/

body {
	font-family: SofiaWebRegular, Arial, sans-serif; 
	color: #666;
}
	
/*** ICONS ***/
[class^="icon-"],
[class*=" icon-"] {
	font-family: 'UBFont';
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	speak: none;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
	
.icon-thick-arrow-right:before {
	content:"\e906"
}

/* Social Icons */
.social {
	float: right; 
	margin-top: 50px;
}

.socialbutton {
	float: left;
}

.socialbutton a {
	border-bottom: none!important;
	color: #005bbb;
	display: inline-block;
	float: left;
	font-size: 26px;
	height: 26px;
	line-height: 26px;
	margin-bottom: 7px;
	margin-left: 10px;
	text-decoration: none;
	transition: opacity 500ms ease;
	width: 26px;
}
		
.socialbutton a:before {
	font-family: 'UBFont';
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	text-transform: none;
	speak: none;
	-webkit-font-smoothing: antialiased;
}
			
.socialbutton a:hover {
	color: inherit;
	opacity: .95;
	text-decoration: none;
	transition-duration: 200ms;
}
.socialbutton a.facebook:before {
	content: "\e90f";
}
.socialbutton a.twitter:before {
	content: "\e913";
}
.socialbutton a.youtube:before {
	content: "\e911";
}

span.social-text {
	outline: none;
	text-indent: -9999px!important; 
	text-decoration: none; 
	visibility: hidden; 
}

/*** end icons ***/

/***  SKIPLINKS  ***/

#skiplinks a { position: absolute; display: block; padding: 0.5rem; top: 4px; left: -1000px; z-index: 9000; }
#skiplinks a:link, #skiplinks a:visited, #skiplinks a:hover { color: white; }
#skiplinks a:active, #skiplinks a:focus { left: 50%; margin-left: -60px; background-color: #0056b3; color: white; text-decoration: underline; outline: 4px solid #669dd6; }



/*#skiplinks {
	display: inline;
	font-size: 0.7em;
	left: 50px;
	position: absolute; 
	top: 30px;
z-index:999; }*/ 
/* 2020-04-09 D.Kozar added to bring Skip Links on top of COVD-19 header banner */

/*#skiplinks a,
#skiplinks a:link,
#skiplinks a:visited,
#skiplinks a:hover {
	border-bottom: none;
color: #666; } */
   /*** 3/4/20: Changed color to accommodate COVID-19 banner ***/

/*#skiplinks a:focus, 
#skiplinks a:active {
	background-color: #fff; 
	color: #005bbb;
	font-size: 16px;
	padding: 15px; 
}*/

/* end skiplinks */

/*** HEADER ***/		
.ub-menu {
	background-color: #666;
	height: 30px;
	width: 100%; 
}

.ub-menu a, 
.ub-menu a:link {
	border-bottom: 0;
	color: #fff;
	font-size: .80rem; 
	padding: 8px 0 1rem .7rem!important; 
}
.ub-menu a:before {
	content: "\e906";
	font-family: 'UBFont';
	font-size: 9px;
	font-style: normal;
	margin-right: 6px;
	speak: none;
}

.ub-menu a:hover {
	color: #e1e1e1;
}
				
.contact {
	clear: both;
	float: right; 
}
	
.logo {
	display: block;
	margin: 25px 0; 
}

a:focus img.logo {
	outline: 3px solid #41b6e6;
}


/*** Top yellow banner for Covid-19 information ***/
.top-banner {
    background: #ffc72c;
    height: auto;
}
.top-banner p {
    color: #000;
    font-size: 15px;
    margin-bottom: 0;
    text-align: center;
}

.top-banner a {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2)!important;
    color: #000!important;
    font-size: .85em;
    margin-left: 10px;
}

.top-banner a::before {
    /*content: "\e906";*/
	font-family: 'UBFont';
	font-size: 9px;
	font-style: normal;
	margin: 0 6px 0 0;
	speak: none;
}

.top-banner a:hover {
    border-bottom: 1px solid rgba(0, 0, 0, 1.0)!important;
    color: #000!important;
}
/*** end top yellow banner ***/




	
/*** NAVIGATION ***/	
.top-bar,
.top-bar ul {
	background: #fff;
}

.top-bar {
	padding-left: 0;
}

.top-bar a,
.top-bar a:link {
	border-bottom: 0;
}

.top-bar a:active {
	color: #41b6e6;
	font-family: SofiaWebBold; 
}

.top-bar a:hover {
	border-bottom: 0;
	color: #41b6e6;
	font-family: SofiaWebBold; 
}

.current {
	color: #41b6e6;
	font-family: SofiaWebBold; 
}

/*** Main Nav Dropdown ***/
.is-dropdown-submenu > li {
	border-bottom: 1px dotted #666;
	color: #005bbb!important;
	font-size: .90rem; 
}

.is-dropdown-submenu > li a:hover {
	font-family: SofiaWebBold;
}

		
	/**** Prevent FOUC in main nav ****/
	.title-bar {    
    @include breakpoint(medium) {
        display: none;
    }
}

.top-bar {
    display: none;

    @include breakpoint(medium) {
        display: block;
    }
}

.no-js .top-bar {
  		display: none;
		}

.no-js [data-responsive-toggle] ul {
  display: none;
}
		
	@media screen and (min-width: 35em) {
  		.no-js .top-bar {
    		display: block;
  		}

  		.no-js .title-bar {
    		display: none;
  		}
        
        .no-js [data-responsive-toggle] ul {
  display: none;
}
	}
	/**** end FOUC ****/


.hide-on-load{
  display:none;
}
	
/*** END NAVIGATION ***/


/*** SESSION DATES - TOP OF PAGE ***/
.session {
	background: #005bbb;
	left: 44%; 
	position: absolute; 
	top: 33px; /*** 3/4/20: Changed from 0 to accomodate COVID-19 banner info ***/ 
	width: 12%;
}

.session p {
	border: 2px dashed #fff;
	color: #fff; 
	font-family: SofiaWebBold; 
	line-height: 1.2rem; 	
	margin: .50rem;
	padding: .50rem 0 .75rem; 
	text-align: center; 
}

/*** END SESSION DATES - TOP OF PAGE ***/		
	
/*** HERO IMAGE ***/

/* Medium and up */
@media screen and (min-width: 40em) {
  .hero-img {
	  border-top: 5px solid #41b6e6; 
	  height: auto; 
	  margin-bottom: 20px;
	  width: 100%;
	}
  .hero-img-internal {
	  border-top: 5px solid #41b6e6; 
	  height: auto; 
	  margin-bottom: 20px;
	  width: 100%; 
	}
	.hero-image-caption { /* 2020-10-12 D.Kozar added for DTS-555 */
		color: #666;
		font-style: italic;
		margin-top: -14px;
		margin-bottom: 20px;
	}
}
/*** END HERO IMAGE ***/


/*** TEXT AND LISTS ***/	
h1, h2, h3, h4, h5, h6 {}

h1 {
	color: #005bbb;
	font-family: SofiaWebBold;
	font-size: 2.0rem;
}

h2 {
	color: #005bbb;
	font-family: SofiaWebBold; 
	font-size: 1.5rem;
}

h2.home {
	clear: left;
	font-size: 1.5rem;
	text-align: center;
}

h3 {
	color: #005bbb;
	font-family: SofiaWebBold;
	font-size: 1.0rem;
}
.callout h2 {
	font-size: 1.0rem; 
	text-transform: uppercase;
}

h3.date {
	background: url(../img/icons/calendar.png) 0 -1px no-repeat; 
	font-size: 1.0rem;
	padding-left: 30px;
	text-transform: uppercase; 
}

.center {
	text-align: center;
}
.summary {
	font-size: 1.25rem; 
	font-family: SofiaWebBold;
}
	
a,
a:link {
	border-bottom: 1px dotted #005bbb; 
	color: #005bbb;
}

a:hover {
	border-bottom: 1.5px solid #005bbb;
	color: #005bbb;
}

a:focus {
	outline: 3px solid #41b6e6;
}
	
.indent {
	margin-left: 2.0rem;
}
	
.column-block {
	text-align: center;
}
		
.home-highlight {
	background: #005bbb url(../img/snowman.png) 0 0 no-repeat; 
	height: 430px;
	margin-bottom: 20px;
}

.home-highlight p {
	color: #fff;
	font: normal normal 1.5rem/2.15rem SofiaWebBold, Arial, sans-serif;
	margin-right: 120px;
	padding: 140px 0 0 40px;
}
		
.datestamp {
	border-top: 1px solid #e1e1e1;
	clear: both;
	display: block;
	font-size: .80rem;
	margin-top: 30px!important;
	padding-top: 2px;
}

.flag {
	margin-top: -4px;
	padding-right: 8px;
	width: 30px;
}

.no-pad {
	margin-bottom: 0!important;
}

.bold,
strong {
	font-family: SofiaWebBold;
    font-weight: normal;
}

.question {
	color: #005bbb;
	font-family: SofiaWebBold;
	margin-bottom: 0;
}

ul li ul li {
	list-style: circle;
}

.no-bullet-indent {
    list-style: none;
    margin-left: 0;
}

/* Homepage Icon links */

.home a, 
.home a:link {
	border-bottom: none;
	text-decoration: none; 
}

/* 2020-04-10 D.Kozar added for OCR accessibility feedback purposes */
#browse { background: url(/img/icons/browse.png) no-repeat top center; }
#enroll { background: url(/img/icons/enroll.png) no-repeat top center; }
#costs { background:url(/img/icons/costs.png) no-repeat top center; }
#experiential { background:url(/img/icons/experiential.png) no-repeat top center; }
a.whole-block {
	border-bottom: 0;
	display: block;
}
a h2.home {
	padding-top: 70px;
}
/* END for OCR accessibility feedback purposes */

/*** END TEXT AND LISTS ***/

/*** CALLOUT CUSTOMIZATIONS ***/

.callout {
	padding: 1.5rem;
}

.callout.secondary {}

.callout.secondary h3 {
	font-family: SofiaWebBold;
	font-size: 1.0rem; 
}

.callout p {
	color: #666;
	font-family: SofiaWebRegular;
}

.callout ul, 
.callout ol {
	color: #666;
}

.callout ul li {
	list-style: none; 
	padding-bottom: 4px;
}

.callout ul li:before {
	color: #005bbb;
	content: "\e906"; 
	font-family: 'UBFont';
	font-size: 9px;
	font-style: normal; 
	margin-right: 10px; 
	margin-left: -18px;
	speak: none; 
}

.callout ol li {
	font-family: SofiaWebRegular, Arial, sans-serif;
	padding-bottom: 10px; 
}

.callout ol li ul {
	padding-top: 10px;
}

.callout a, 
.callout a:link {
	border-bottom: 1px dotted #005bbb; 
	color: #005bbb;
}

.callout a:hover {
	border-bottom: 1.5px solid #005bbb;
}

.callout ul.no-bullet li:before {
	content: none;
}
	
.related-callout {
	background: #e1e1e1;
	border-radius: 5px;
	color: #000;
	margin: 0 0 1.0rem 0; 
	overflow: hidden; 
	padding-bottom: 1.0rem; 
}

.related-callout h2 {
	background: #900;
	color: #fff;
	font-size: 1.10rem;
	margin: 0 0 1.0rem 0; 
	padding: 1.0rem; 
}

.related-callout h3 {
	font-family: SofiaWebBold; 
	font-size: 1.0rem;
	padding: 1.0rem 1.25rem 0;
	margin-bottom: 0;
}

.related-callout h3.first {
	margin-bottom: 0;
	padding: 0 1.25rem;
}

.related-callout p {
	margin-bottom: 15px; 
	padding: 0 1.25rem;
}

.related-callout ol {
	padding: 1.0rem 1.0rem 0 1.0rem;
}

.related-callout ol.no-pad-top {
	padding-top: 0;
}

.related-callout ol li {
	padding-bottom: .50rem;
}

.related-callout ul {
	margin: .50rem 0 0 1.3rem; 
	padding-right: 1.25rem;
}

.related-callout ul li {
	line-height: 1.25rem;
	list-style: none;
	padding-bottom: 10px!important; 
	padding-left: 15px;
}

.related-callout ul li:before {
	color: #005bbb;
	content: "\e906";
	font-family: 'UBFont';
	font-size: 9px;
	font-style: normal;
	margin-right: 10px; 
	margin-left: -18px;
	speak: none; 
}

/*** END CALLOUT CUSTOMIZATIONS ***/


/*** BUTTON CUSTOMIZATIONS ***/
.button.primary {
	background: #900;
	border-radius: 4px;
	-moz-box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.50);
    -webkit-box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.50);
	box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.50);
	color: #fff;
	font-family: SofiaWebBold;
	margin-left: 40px;
	text-transform: uppercase; 
}
	
.button.secondary {
	background: #005bbb;
	border-radius: 4px;
	color: #fff; 
	font-size: .80rem;
	margin-top: 8px;
	padding: .25rem .75rem .375rem; 
}

.button.classes {
	background: #900;
	border-radius: 4px;
	-moz-box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.50);
    -webkit-box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.50);
	box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.50);
	color: #fff;
	font-family: SofiaWebBold;
	margin-left: 0;
	margin-bottom: 30px;
	text-transform: uppercase; 
}

.button.classes:hover {background: #666;}

.btn-info {
	background: #005bbb; 
	border-radius: 4px;
	color: #fff;
	font-family: SofiaWebBold;
	padding: 10px;
	text-transform: uppercase; 
    }

/*** END BUTTON CUSTOMIZATIONS ***/

/***  FORM CUSTOMIZATIONS  ***/
label, 
option, 
input, 
select {
	color: #666;
}

.fsBody .fsForm {
	margin: 0 auto!important;
	padding: 0!important;
}

/***  END FORM CUSTOMIZATIONS  ***/


#root__title {display: none;}
		
/*** FOOTER ***/
footer {
	background: #005bbb; 
	padding-top: 30px;
}

footer h3 {
	color: #ffebb3; 
	font-family: SofiaWebBold; 
	font-size: .90rem;
}

footer p.heading, footer p.heading-last {
	color: #ffffff; 
	font-family: SofiaWebBold; 
	font-size: .90rem;
}

footer p.address {
	color: #fff; 
	font-size: .85rem; 
	margin-left: 57px; 
	padding-top: 3px;
}

footer p.legal {
	/*border-top: 1px dashed #fff;*/
	color: #fff; 
	font-size: .80rem; 
	margin-top: 20px; 
	padding-top: 10px; 
	text-align: right;
	background-image: linear-gradient(to right, #fff 50%, rgba(255,255,255,0)0);
		background-position: top left;
		background-size: 8px 1px;
		background-repeat: repeat-x;
		height: 100%;
		display: block;
			width: 100%;
}


footer p.disclaimer { /* 2020-10-02 D.Kozar added */
	color: #fff;
	font-size: .80rem;
	margin-top: 20px;
	margin-bottom: 0;
	padding-top: 8px;
	text-align: left;
}

footer ul {
	color: #fff;
	font-size: .80rem; 
	list-style: none; 
	margin-left: 0; 
	margin-bottom: 0;
}

footer ul.padded {
	margin-top: 30px;
}

footer li:before {
	content: "\e906";
	font-family: 'UBFont';
	font-size: 9px;
	font-style: normal;
	margin-right: 6px;
	speak: none;
}

footer a, 
footer a:link {
	color: #fff; 
	border-bottom: 1px solid rgba(255, 255,255,0.18); 
	border-bottom-color: rgba(255,255,255,0.5);
}

footer a:hover {
	border-bottom: 1px solid rgba(255, 255,255,0.90); 
	color: #fff;
}

footer a:focus {
	border-bottom: 1px solid #fff;
	color: #fff;
}


.ub-175 {
	background-image: linear-gradient(to right, #fff 50%, rgba(255,255,255,0)0);
	background-position: top left;
	background-size: 8px 1px;
	background-repeat: repeat-x;
	height: 100%;
	display: block;
	padding: 10px 0;
	margin-top: 20px;
}

.ub-175 img {
	float:left;
	padding-top: 10px;
	width: 281px;
}

.ub-175 p {
	width: 400px;
	float: right;
	color: #fff;
	font-size: 13px;
	line-height: 1.25em;
	font-style: italic;
	/*padding-bottom: 20px;*/
	padding-top: 20px;
}

/*** END FOOTER ***/
	
/*** TABLES ***/
caption.summary { /* 2020-10-19 D.Kozar added as a result of DTS-583 */
  font-family: SofiaWebBold;
	font-size: 1.25rem;
	font-weight: normal;
	margin-bottom: 1.0rem;
	padding-left: 0;
	text-align: left;
}
th {
	background: #005bbb;
	color: #fff;
    font-family: SofiaWebBold;
    font-weight: normal!important;
}

.fifteen {
    width: 15%;
}

.twenty {
    width: 20%;
}

.wide {
	width: 25%;
}

tbody td {
	font-size: .95em;
    vertical-align: text-top;
}

/*** END TABLES ***/
	
/* Small only */
@media screen and (max-width: 39.9375em) {
	.logo {
		margin: 0 auto;
	}

	/*#skiplinks {
	display: inline;
	font-size: 0.7em;
	left: 50px;
	position: absolute; 
	top: 0; 
}*/
	
	.stuff {
		display: block;
		margin: 0 auto;
		text-align: center;
		width: 100%;
	}
	
	.contact {
		clear: both; display: block; 
		float: none; 
		margin: 0 auto;
		text-align: center;
		width: 100%;
	}
	
	.social {
		clear: both;
		display: inline-block; 
		float: none;
		margin: 20px auto 0;
		text-align: center;
		width: auto;
	}
	
	.ub-menu {
		padding-right: 10px;
	}
	
	.session {
		left: 0;
		position: relative; 
		width: 100%;
	}
	
	.session p {
		border: none;
		color: #fff;
		font-family: SofiaWebBold; 
		line-height: 1.2rem;
		margin: 0;
		padding: .50rem 0 .75rem; 
		text-align: center; 
	}
	
	.session br {
		display: none;
	}
	
	h1 {
		font-size: 1.5rem;
	}
	
	.home-highlight {
		background: #005bbb url(../img/snowman.png) 0 0 no-repeat; 
		height: 250px; 
		margin-bottom: 20px;
	}
	
	.home-highlight p {
		color: #fff;
		font-family: SofiaWebBold;
		font-size: 1.0rem;
		line-height: 1.40rem;
		margin-right: 95px;
		padding: 35px 0 0 20px; 
	}
	
	.button.primary {
		margin-left: 20px;
	}
	
	.breadcrumbs {
		margin-top: 20px;
	}
	
	footer p.legal {
		font-size: .70rem; 
		text-align: left; 
		width: 100%;
	}
	
	footer ul.padded {
		margin-top: 0;
	}
	
	footer h3.last {
		padding-top: 20px;
	}
}	
	

@media screen and (max-width: 600px) {
	table {
		border: 0;
	}
	
	table caption {
		background: #005bbb; 
		color: #fff;
	}
	
	ul.tabs {
		margin-top: 10px;
	}

	ul.tabs .tab-title {
		padding: 0; 
		width: 50%;
	}

	table thead {
		display: none;
    }

    table tr {
		border-bottom: 3px solid #41b6e6!important;
		display: block!important;
		margin-bottom: 0;
    }
	
	.tabs-content table th.row-header {
		width: 100%;
	}
	
    table td {
		border-bottom: 1px dotted #ccc;
		clear: both;
		display: block!important;
		font-size: 13px;
		text-align: right!important;
    }
	
    table td:last-child {
		border-bottom: 0;
    }

    table td:before {
		content: attr(data-label);
     	float: left!important;
		font-weight: bold;
		text-transform: none;
    }
	
	
	/*** Course table listing mobile ***/
	table#scheduleTable {}
	table#scheduleTable td {text-align: left!important; clear: none; display: inline-block!important;}
	
  }

/* 2020-04-22 D.Kozar added to fix Skip Links on mobile devices */
/* @media screen and (max-width: 700px) {

	#skiplinks {
		display: none !important;
		left: -500px !important; 
		top: -1000px !important; 
		z-index:0 !important;
	}
	#skiplinks a,
	#skiplinks a:link,
	#skiplinks a:visited,
	#skiplinks a:hover,
	#skiplinks a:focus,
	#skiplinks a:active {
		color: #ffc72c !important; 
	}
}*/