@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300italic,300,400italic,600,600italic,700italic,700);
@import url(https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600,700);
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css);

/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}button,html,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:after,q:before{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ol,nav ul{list-style:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure,form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

html {overflow-y: scroll; /* force scroll bar */}

body {
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	background:url(../img/seal.gif) right bottom no-repeat;
}
	body.home { background: none; }


a { color: #ef8f1a; text-decoration: none; transition: all 0.4s ease;}
a:hover { text-decoration: underline; color: #333; }
p { margin: 0 0 1.5em 0; }

h1, h2, h3, h4, h5, h6 {color:#000; letter-spacing: .25ex;  font-family:'Source Code Pro'; }

h1, h2 { font-weight: 600; text-transform: uppercase; margin-top: 0; margin-bottom: .5em; line-height: 1.2em; }
	h2 { margin-bottom: .25em; }


.wrap { max-width: 1000px; margin: 0 auto; padding: 0 10px; position: relative; }

.content { font-weight: 300; padding-right: 25%; min-height: 500px; }
	body.home .content { min-height: auto; }
	body.full .content, body.updates .content, body.archive .content { padding-right: 0; }
	.content strong { font-weight: 600; }
	.content li { margin-bottom: .5em; }
	
	
	.content .alignright { float: right; margin: 0 0 1.5em 1em; }
	.content .alignleft { float: left; margin: 0 1em 1.5em 0; }

header nav#primary * { transition: all 0.4s ease; }
header nav#primary ul { z-index: 10; display: table; width: 100%; margin: 0; padding: 0; text-align: center; font-size: 14px; margin-bottom: 35px; font-family:'Source Code Pro'; }
	header nav#primary li { display: table-cell; position: relative; background-color:#58595b; text-align:center;  border: 1px solid #fff; vertical-align: middle; white-space: nowrap;}
			header nav#primary li a { color: #fff; /*background-color: #f00;*/ text-decoration: none; text-transform:uppercase; line-height: 1.4em; letter-spacing: .2ex; display: block; padding: 1.25em 1.75em; }
				header nav#primary li a span { display: inline-block; vertical-align: middle;  }
				
				header nav#primary li:hover, 
				header nav#primary li.current-menu-ancestor,
				header nav#primary li.current-menu-item,
				header nav#primary a:hover				
					{background-color: #788CD2;}
				
				
				
				/* subs */
				header nav#primary li:hover ul, header nav#primary ul.focused { display: block; }
				
				
				header nav#primary li ul {
					font-size: 13px; letter-spacing: .1ex;
					position: absolute; left: 0;
					display: block;
					margin: 0; padding: 1px 0 0 0;
					width: 240px;
					
					display: none;
				}
					header nav#primary li ul li { background-color: #788CD2; display: block; border-left: none; border-right: none; border-bottom: none; white-space: normal; }
						header nav#primary li ul li a { padding-left: 4px; padding-right: 4px; }
					header nav#primary li ul li:hover, header nav#primary li ul a:hover { background-color:#58595b; }
				
			
			header nav#primary li.search { width: 22px; text-transform: uppercase; /*padding-left: 5px; padding-right: 5px;*/ }	
				/*header nav#primary li.search a span {
					background: url(../img/search-icon.png) no-repeat center center;
					text-indent: 100%;
					white-space: nowrap;
					overflow: hidden
				}*/
				
				header nav#primary li.search ul { left: auto; right: 0; width: 300px; text-align: left; color: #fff; }
					header nav#primary li.search ul li { text-align: left; padding: 1.25em 1em;}
						header nav#primary li.search ul li:hover {background-color: #788CD2;}
					header nav#primary li.search ul input { border: 0; width: 200px; }
					
	header #navicon { display: none; cursor: pointer; z-index: 10; margin-left:1em; position: relative; }
	
	header .breadcrumbs { 
		text-transform: uppercase;
		color: #ef8f1a;
		font-size: 16px;
		font-family:'Source Code Pro';
	}
		header .breadcrumbs a {  color: #000; }
		header .breadcrumbs .sep { margin: 0 0.3ex; font-size: 18px;}




#masthead {	padding: 10px 0 40px 0; }
	#masthead .logo { width: 23%; float: left; }
		#masthead .logo img { max-width: 100%; }
	#masthead .content { float: right; font-size: 20px; width: 73%; padding-right: 1%; font-size: 26px; font-weight: 300; }
	#masthead .content p { margin-top: 1em; }






#carousel {
	height: 265px;
	background-color: #eee;
	margin-bottom: 60px;
}

	#carousel img { max-height: 265px; width: auto; }
	.no-js #carousel { overflow: hidden; }
	.no-js #carousel img { float: left; }
	
	
	
	
.homepage-announcements { width: 74.5%; }	
	.homepage-announcements h1 { padding-left: 37px; }
	.homepage-announcements ul { margin: 0; padding: 0; list-style-type: none; }
		.homepage-announcements ul li { 
			border-top: 2px solid #ef8f1a;
			border-right: 2px solid #ef8f1a;
			border-left: 2px solid #ef8f1a;
			
			padding: 24px 35px 0 35px;
			margin-bottom: 2.0em;
	
		}
			.homepage-announcements ul li.more  {  border: none; padding-top: 0; float:l }
			.homepage-announcements a.more { text-transform: uppercase; letter-spacing: .25ex; white-space:nowrap; margin:-1em 0 0 0}
			
			.homepage-announcements h2 a { color: #000; }
				.homepage-announcements h2 a:hover { text-decoration: none; }
			
			
			
			
			
.note { position: absolute; right: 10px; width: 22.5%; border: 1px solid #8cb9af; font-style: italic; font-weight: 300; margin-bottom: 2em; margin-left: 1em; }
	.note h3 { background-color: #8cb9af; color: #fff; margin: 0 0 1em 0; padding: 5% 10%; font-weight: 400; font-style: normal; text-transform: uppercase; font-size: 13px; }
	.note p { padding: 0 10%; }


ul.updates { list-style-type: none; padding: 0; }
	ul.updates li {
		padding-left: 200px; 
		position: relative;
	}
		ul.updates li .date {
			display: block; white-space: nowrap; text-transform: uppercase;
			padding: .5em 1em;
			border: 1px solid #ef8f1a;
			color: #ef8f1a;
			font-family:'Source Code Pro';
			width: 120px;
			position: absolute;
			left: 0; top: 10px;
			text-align: center;
			font-size: 1.2em;
		}


footer { font-size: 14px; background-color: #58595b; color: #fff; margin-top: 3em; padding: 1.0em 0; }
	
	footer a { color: #fff; }
	footer p.copy { margin: 0; text-transform: uppercase; letter-spacing: .25ex; float: left; padding-top: .5em; }

	footer ul { margin: 0; padding: 0; float: right; list-style-type: none; }
		footer ul li { display: inline-block; margin-left: 1ex; }
	footer .fa-inverse { color: #58595b; }
		footer a:hover .fa-inverse { color:#fff; }


a.button {
	display: inline-block; white-space: nowrap; text-transform: uppercase;
	padding: .5em 1em;
	border: 1px solid;
	font-family:'Source Code Pro';
}
	a.button:hover { text-decoration: none; border-color: #333; }
	.content a.button {margin-right: 2em; }


/* pagination */
	ul.page-numbers { padding: 3em 0; margin: 0; }
		ul.page-numbers li { 
			float: left;
			margin-right: 1ex;
			font-weight: 700;
		}
		ul.page-numbers a { text-decoration: none; }
		
		body.post-type-archive-announcement ul.page-numbers { margin-left: 200px; }
		
		
		
/* contact form */

.wpcf7 {}
		
		.wpcf7 .wpcf7-form-control.wpcf7-submit {
			display: inline-block; white-space: nowrap; text-transform: uppercase;
			padding: .5em 1em;
			border: 1px solid;
			font-family:'Source Code Pro';
			width: auto; height: auto;
			color: #ef8f1a;
			background: #fff;
		}
		
		.wpcf7 .wpcf7-form-control  { width: 460px; height: 1.5em; line-height: 1em; border: 1px solid #ccc; padding: .3em 0 .3em 2ex; display: block; margin-bottom:1.23em; }
		.wpcf7 .wpcf7-form-control.wpcf7-validates-as-required { border-color: #900; }
		.wpcf7 .wpcf7-form-control.wpcf7-select { height: 2.5em; width: 470px; }
		.wpcf7 textarea.wpcf7-form-control { height: 6em; }
		.wpcf7 .wpcf7-form label { text-transform: uppercase; font-weight: 500; font-size: .8em; }
		
		.wpcf7 .wpcf7-form-control::-webkit-input-placeholder { color: #404041; opacity: .7; font-weight: 400; text-transform:uppercase; font-family: Lato;}
		.wpcf7 .wpcf7-form-control:-moz-placeholder { color: #404041; opacity: .7; font-weight: 400; text-transform:uppercase; font-family: Lato;}
		.wpcf7 .wpcf7-form-control::-moz-placeholder { color: #404041; opacity: .7; font-weight: 400; text-transform:uppercase; font-family: Lato;}
		.wpcf7 .wpcf7-form-control:-ms-input-placeholder { color: #404041; opacity: .7; font-weight: 400;	text-transform:uppercase; font-family: Lato;}
		
		.wpcf7 .wpcf7-number::-webkit-input-placeholder { color: #404041; opacity: .7; font-weight: 400; text-transform:uppercase; font-family: Lato;}
		.wpcf7 .wpcf7-number:-moz-placeholder { color: #404041; opacity: .7; font-weight: 400; text-transform:uppercase; font-family: Lato;}
		.wpcf7 .wpcf7-number::-moz-placeholder { color: #404041; opacity: .7; font-weight: 400; text-transform:uppercase; font-family: Lato;}
		.wpcf7 .wpcf7-number:-ms-input-placeholder { color: #404041; opacity: .7; font-weight: 400;	text-transform:uppercase; font-family: Lato;}



/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/************************/
/*   RESPONSIVE STUFF   */
/************************/





/* MASTHEAD TWEAKS */

@media handheld, only screen and (max-width: 900px) {  #masthead .content { font-size: 24px; } }
@media handheld, only screen and (max-width: 768px) {  #masthead .content { font-size: 20px; } }
@media handheld, only screen and (max-width: 600px) {  #masthead .content { font-size: 18px; } }
@media handheld, only screen and (max-width: 700px) {  
	#masthead .logo { float: none; width: 80%; margin: 0 auto; text-align: center; } 
	#masthead .content { padding: 0; width: auto; float: none; } 
}

/* catch if nav is closed when browser is narrow, then widened */
@media handheld, only screen and (min-width: 701px) {	header nav#primary { display: block !important; } }

@media handheld, only screen and (max-width: 768px) {

 /*.wrap { width: 96%; padding: 0 2%;}*/

}

@media handheld, only screen and (max-width: 700px) {
	
	.content { padding-right: 0; }
	.note { float: none; position: relative; width: auto; margin: 1em 0; }
	 .note p { padding-left: 35px; padding-right: 35px; }
	 .note h3 { padding: 4px 35px; }

	
	.homepage-announcements { width: auto; float: none; }

	
	#carousel {	height: 215px; }
	#carousel img { max-height: 215px; }

	body.post-type-archive-announcement ul.page-numbers { margin-left: 0; }

	footer p.copy { float: none; text-align: center; }

	footer ul { float: none; text-align: center; width: 100%; padding-top: 1em; }
	
	
	
	/* nav */
	.js header nav#primary {display: none; clear: both;}
	
	.js header #navicon {
		display: block; float: right; 
		font-size: 36px;
		color:#58595b;
	}
	
	
	header nav#primary ul, header nav#primary ul li {display: block;}
	header nav#primary li ul { display: block; position: relative; width:100%; }
	header nav#primary li:hover, header nav#primary a:hover {  }

	header nav#primary li {
	 font-weight: 600;
	 background-color: #788CD2;
	 font-size: 15px;
	}

	header nav#primary li ul li {
	 text-align: left; font-weight: 300;
	 background-color:#58595b;
	}
		header nav#primary li ul li a {	 padding-left: 1em; }
	
	
	.js header nav#primary li.search a.toggle { display: none; }
	.js header nav#primary li.search, .js header nav#primary li.search ul, .js header nav#primary li.search ul li { width: auto; border-top: none;  }
		
		
		
	ul.updates li {
		padding-left: 0; 
		position: relative;
	}
		ul.updates li .date { position: relative; top: auto; margin-bottom: .5em;}		
}


/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }


    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}




/*
FILE FORMAT ICONS
by Greg Schoppe (http://gschoppe.com)
USAGE: include FontAwesome on page, as shown on http://fontawesome.io
       then include this css file, and target links by adding the link-icon
       class.  Note: try to avoid or manually label links to websites, as that
       detection code is necessarily janky. when in doubt, just end all external
       links with a trailing slash (/), a query string (?), or a link target (#)
*/
a.link-icon:before,
a.link-icon.link-file[href]:before {
    content: "\f016"; /* generic file icon */
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
    width: 20px;
    text-align: right;
    margin-right: 10px;
}
a[href$=".txt"].link-icon:before,
a.link-icon.link-text[href]:before {
    content: "\f0f6"; /*Text*/
}
a[href$=".pdf"].link-icon:before,
a.link-icon.link-pdf[href]:before {
    content: "\f1c1"; /*PDF*/
}
a[href$=".doc"].link-icon:before,
a[href$=".docx"].link-icon:before,
a.link-icon.link-word[href]:before {
    content: "\f1c2"; /*Word*/
}
a[href$=".xls"].link-icon:before,
a[href$=".xlsx"].link-icon:before,
a.link-icon.link-excel[href]:before {
    content: "\f1c3"; /*Excel*/
}
a[href$=".ppt"].link-icon:before,
a[href$=".pptx"].link-icon:before,
a.link-icon.link-powerpoint[href]:before {
    content: "\f1c4"; /*Powerpoint*/
}
a[href$=".gif"].link-icon:before,
a[href$=".jpg"].link-icon:before,
a[href$=".jpeg"].link-icon:before,
a[href$=".png"].link-icon:before,
a[href$=".bmp"].link-icon:before,
a[href$=".tif"].link-icon:before,
a.link-icon.link-image[href]:before {
    content: "\f1c5"; /*Image*/
}
a[href$=".zip"].link-icon:before,
a[href$=".zipx"].link-icon:before,
a[href$=".rar"].link-icon:before,
a[href$=".tar"].link-icon:before,
a[href$=".gz"].link-icon:before,
a[href$=".dmg"].link-icon:before,
a[href$=".iso"].link-icon:before,
a.link-icon.link-archive[href]:before {
    content: "\f1c6"; /*Archive*/
}
a[href$=".wav"].link-icon:before,
a[href$=".mp3"].link-icon:before,
a[href$=".fla"].link-icon:before,
a[href$=".flac"].link-icon:before,
a[href$=".ra"].link-icon:before,
a[href$=".rma"].link-icon:before,
a[href$=".aif"].link-icon:before,
a[href$=".aiff"].link-icon:before,
a[href$=".aa"].link-icon:before,
a[href$=".aac"].link-icon:before,
a[href$=".aax"].link-icon:before,
a[href$=".ac3"].link-icon:before,
a[href$=".au"].link-icon:before,
a[href$=".ogg"].link-icon:before,
a[href$=".avr"].link-icon:before,
a[href$=".3ga"].link-icon:before,
a[href$=".flac"].link-icon:before,
a[href$=".mid"].link-icon:before,
a[href$=".midi"].link-icon:before,
a[href$=".m4a"].link-icon:before,
a[href$=".mp4a"].link-icon:before,
a[href$=".amz"].link-icon:before,
a[href$=".mka"].link-icon:before,
a[href$=".asx"].link-icon:before,
a[href$=".pcm"].link-icon:before,
a[href$=".m3u"].link-icon:before,
a[href$=".wma"].link-icon:before,
a[href$=".xwma"].link-icon:before,
a.link-icon.link-audio[href]:before {
    content: "\f1c7"; /*Audio*/
}
a[href$=".avi"].link-icon:before,
a[href$=".mpg"].link-icon:before,
a[href$=".mp4"].link-icon:before,
a[href$=".mkv"].link-icon:before,
a[href$=".mov"].link-icon:before,
a[href$=".wmv"].link-icon:before,
a[href$=".vp6"].link-icon:before,
a[href$=".264"].link-icon:before,
a[href$=".vid"].link-icon:before,
a[href$=".rv"].link-icon:before,
a[href$=".webm"].link-icon:before,
a[href$=".swf"].link-icon:before,
a[href$=".h264"].link-icon:before,
a[href$=".flv"].link-icon:before,
a[href$=".mk3d"].link-icon:before,
a[href$=".gifv"].link-icon:before,
a[href$=".oggv"].link-icon:before,
a[href$=".3gp"].link-icon:before,
a[href$=".m4v"].link-icon:before,
a[href$=".movie"].link-icon:before,
a[href$=".divx"].link-icon:before,
a.link-icon.link-video[href]:before {
    content: "\f1c8"; /*Video*/
}
a[href$=".css"].link-icon:before,
a[href$=".js"].link-icon:before,
a[href$=".py"].link-icon:before,
a[href$=".git"].link-icon:before,
a[href$=".py"].link-icon:before,
a[href$=".cpp"].link-icon:before,
a[href$=".h"].link-icon:before,
a[href$=".ini"].link-icon:before,
a[href$=".config"].link-icon:before,
a.link-icon.link-code[href]:before {
    content: "\f1c9"; /*code*/
}
a[href$=".exe"].link-icon:before,
a[href$=".jar"].link-icon:before,
a[href$=".dll"].link-icon:before,
a[href$=".bat"].link-icon:before,
a[href$=".pl"].link-icon:before,
a[href$=".scr"].link-icon:before,
a[href$=".msi"].link-icon:before,
a[href$=".app"].link-icon:before,
a[href$=".deb"].link-icon:before,
a[href$=".apk"].link-icon:before,
a[href$=".jar"].link-icon:before,
a[href$=".vb"].link-icon:before,
a[href$=".prg"].link-icon:before,
a[href$=".sh"].link-icon:before,
a.link-icon.link-exe[href]:before {
    content: "\f085"; /*Executable*/
}

a[href$=".com"].link-icon:before,
a[href$=".net"].link-icon:before,
a[href$=".org"].link-icon:before,
a[href$=".edu"].link-icon:before,
a[href$=".gov"].link-icon:before,
a[href$=".mil"].link-icon:before,
a[href$="/"].link-icon:before,
a[href$=".html"].link-icon:before,
a[href$=".htm"].link-icon:before,
a[href$=".xhtml"].link-icon:before,
a[href$=".jhtml"].link-icon:before,
a[href$=".php"].link-icon:before,
a[href$=".php3"].link-icon:before,
a[href$=".php4"].link-icon:before,
a[href$=".php5"].link-icon:before,
a[href$=".phtml"].link-icon:before,
a[href$=".asp"].link-icon:before,
a[href$=".aspx"].link-icon:before,
a[href$=".cfm"].link-icon:before,
a[href*="?"].link-icon:before,
a[href*="#"].link-icon:before,
a.link-icon:not([href*='.']):before,
a.link-icon.link[href]:before {
    content: "\f0c1"; /*link*/
}