/* Extra Small Devices, Phones */ 
@media only screen and (min-width : 480px) {

}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {

}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {

}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {

}

html {
    font-family: sans-serif;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; 
}

.clearself::after {
	content: "";
	display: table;
	clear: both;
}

.le-con {
	margin: 0 auto;
	max-width: 1032px;
	width: 100%; 
	padding: 0 15px; /* padding between screen and cols*/
}

.le-con.no-padding {
	padding:0;
}

/* idea to set fixed width for specific screens has issues: site width less than media break */
/*@media (min-width: 768px) {
	.le-con {
		width: 738px;
	}
}

@media (min-width: 992px) {
	.le-con {
		width: 962px;
	}
}*/

/* site's max-width could vary, move this code to main.base.css; 
le-revert-padding is a trick to revert padding which is set by parent element and eliminate by child for mobile view
@media only screen and (min-width : 1032px) {
	.le-con {
		padding:0;
	}

	.le-revert-padding {
		margin-right:0 !important;
		margin-left:0 !important;
	}
}
*/

[class*="le-row"]::before, 
[class*="le-row"]::after {
	display: table;
	content: "";
	line-height: 0;
}

[class*="le-row"]::after {
	clear: both;
}

[class*="le-row"] {
	
}

/* block-grid conception */
[class*="le-row-"] {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

[class*="le-col"],
[class*="le-row-"] > li,
[class*="le-row-"] > div {
	float: left;
	width: 100%;
	position: relative;
}

[class*="le-row"].norm-gutter {
	margin-left: -30px;
}

[class*="le-row"].norm-gutter > div {
	padding-left: 30px;
}

[class*="le-row"].small-gutter {
	margin-left: -15px;
}

[class*="le-row"].small-gutter > div {
	padding-left: 15px;
}

[class*="le-row-"] {
	margin-left: -20px;
}

[class*="le-row-"] > li,
[class*="le-row-"] > div {
	padding-left: 20px;
	padding-bottom: 20px;
}

[class*="le-row-"] img {
	max-width: 100%;
}

.le-col-2 {
	width: 16.6667%;
}

.le-col-3 {
	width: 25%;
}

.le-col-4 {
	width: 33.3333%;
}

.le-col-5 {
	width: 41.6667%;
}

.le-col-6 {
	width: 50%;
}

.le-col-7 {
	width: 58.3333%;
}

.le-col-8 {
	width: 66.6667%;
}

.le-col-9 {
	width: 75%;
}

.le-col-10 {
	width: 83.3333%;
}

.le-row-2 > li,
.le-row-2 > div {
	width: 50%;
}

.le-row-2 > li:nth-child(2n+1),
.le-row-2 > div:nth-child(2n+1) {
    clear: left; /* this is not compatible with IE6 and IE7. */
}

.le-row-5 > li,
.le-row-5 > div {
	width: 20%;
}

.le-row-5 > li:nth-child(5n+1),
.le-row-5 > div:nth-child(5n+1) {
    clear: left; /* this is not compatible with IE6 and IE7. */
}

@media only screen and (min-width : 768px) {
	.le-col-m-1 {
		width: 8.33333%;
	}

	.le-col-m-2 {
		width: 16.6667%;
	}

	.le-col-m-3 {
		width: 25%;
	}

	.le-col-m-4 {
		width: 33.3333%;
	}

	.le-col-m-5 {
		width: 41.6667%;
	}

	.le-col-m-6 {
		width: 50%;
	}

	.le-col-m-7 {
		width: 58.3333%;
	}

	.le-col-m-8 {
		width: 66.6667%;
	}

	.le-col-m-9 {
		width: 75%;
	}

	.le-col-m-10 {
		width: 83.3333%;
	}

	.le-col-m-11 {
		width: 91.6666%;
	}

	.le-col-sidebar {
		width: 20.8%;
		left: -58.4%; /* pull/push logic, swap columns example */
	}

	.le-col-sidebarR {
		width: 20.8%;
	}

	.le-col-content {
		width: 58.4%;
		left: 20.8%; /* pull/push logic, swap columns example */
	}

	.le-col-sidebar-m-3-6 {
		width: 25%;
		left: -50%;
	}

	.le-col-content-m-3-6 {
		width: 50%;
		left: 25%;
	}

	.le-col-sidebar-m-6-3 {
		width: 50%;
		left: -25%;
	}

	.le-col-content-m-6-3 { 
		width: 25%;
		left: 50%;
	}

	.le-col-sidebar-m-7-5 {
		width: 58.3333%;
		left: -41.6667%;
	}

	.le-col-content-m-7-5 {
		width: 41.6667%;
		left: 58.3333%;
	}

	.le-col-sidebar-m-3-9 {
		width: 25%;
		left: -75%;
	}

	.le-col-content-m-3-9 {
		width: 75%;
		left: 25%;
	}

	.le-row-m-2 > li,
	.le-row-m-2 > div {
		width: 50%;
	}

	.le-row-m-2 > li:nth-of-type(n),
	.le-row-m-2 > div:nth-of-type(n) {
		clear: none;
	}

	.le-row-m-2 > li:nth-child(2n+1),
	.le-row-m-2 > div:nth-child(2n+1) {
	    clear: left; /* this is not compatible with IE6 and IE7. */
	}

	.le-row-m-3 > li,
	.le-row-m-3 > div {
		width: 33.33333%;
	}

	.le-row-m-3 > li:nth-of-type(n),
	.le-row-m-3 > div:nth-of-type(n) {
		clear: none;
	}

	.le-row-m-3 > li:nth-child(3n+1),
	.le-row-m-3 > div:nth-child(3n+1) {
	    clear: left; /* this is not compatible with IE6 and IE7. */
	}

	.le-row-m-4 > li,
	.le-row-m-4 > div {
		width: 25%;
	}

	.le-row-m-4 > li:nth-of-type(n),
	.le-row-m-4 > div:nth-of-type(n) {
		clear: none;
	}

	.le-row-m-4 > li:nth-child(4n+1),
	.le-row-m-4 > div:nth-child(4n+1) {
	    clear: left; /* this is not compatible with IE6 and IE7. */
	}

	.le-row-m-5 > li,
	.le-row-m-5 > div {
		width: 20%;
	}

	.le-row-m-5 > li:nth-of-type(n),
	.le-row-m-5 > div:nth-of-type(n) {
		clear: none;
	}

	.le-row-m-5 > li:nth-child(5n+1),
	.le-row-m-5 > div:nth-child(5n+1) {
	    clear: left; /* this is not compatible with IE6 and IE7. */
	}

	.le-row-m-8 > li,
	.le-row-m-8 > div {
		width: 12.5%;
	}

	.le-row-m-8 > li:nth-of-type(n),
	.le-row-m-8 > div:nth-of-type(n) {
		clear: none;
	}

	.le-row-m-8 > li:nth-child(8n+1),
	.le-row-m-8 > div:nth-child(8n+1) {
	    clear: left; /* this is not compatible with IE6 and IE7. */
	}
}

/* show only on medium screens */
.m-only {
	display: none !important;
}

@media only screen and (min-width : 768px) {
	/* hide on medium screens */
	.m-hidden {
		display: none !important;
	}

	.m-only {
		display: block !important;
	}
}

.le-img {
	max-width: 100%;
	height: auto;
}

.le-block {
	display: block;
}

.le-left {
	float: left;
}

.le-right {
	float: right;
}

ul.le-inline-list {
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 -10px;
	line-height: 0; /* trick for removing extra bottom margin */
}

ul.le-inline-list > li {
	display: inline-block;
	vertical-align: middle;
    margin: 0 0 0 10px;
    line-height: normal; /* restore line height removed by trick */
}

@media only screen and (min-width : 768px) {
	ul.le-inline-list.m-ver {
		margin-left: 0;
	}

	ul.le-inline-list.m-ver > li {
		display: block;
		margin: 0;
	}
}

ul.le-tabs-list {
	list-style-type: none;
	padding: 0;
}

ul.le-tabs-list::after {
  content: "";
  display: table;
  clear: both;
}

ul.le-tabs-list > li {
	float: left;
}

ul.le-tabs-list > li > a {
	display: block;
}

.le-list {
	list-style-type: none;
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.le-button {
	background-color: #e6e6e6;
    border: medium none transparent;
    border-radius: 2px;
    font-size: 100%;
    padding: 0.5em 1em;
    text-decoration: none;
    -moz-user-select: none;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    color: inherit;
    line-height: normal;
    -webkit-transition: background-color 300ms ease-out;
	-moz-transition: background-color 300ms ease-out;
	transition: background-color 300ms ease-out;
}

/*.le-button:focus, focus happens and stays when user clicks on button */
.le-button:hover {
	background-color: #adadad;
}

.le-flex-video {
	position: relative;
	padding-bottom: 56.4%;
	height: 0;
	overflow: hidden; 
}

.le-flex-video iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%; 
}

/* provides left/right floated image/link with content wrap */
a.le-media-row {
	display: block;
	text-decoration: none;
	color: inherit;
}

.le-media-row::after {
	content: "";
	display: table;
	clear: both;
}

.le-media-row .thumb {
	float: left;
	margin: 0 10px 3px 0;
	max-width: 50%; /* prevents too wide image when text around */
}

.le-media-row.r-side .thumb {
	float: right;
	margin: 0 0 3px 10px;
}

.le-media-row.fullw .thumb {
	float: none;
	margin: 0 0 10px 0px;
	max-width: 100%;
}

.le-media-row .thumb img {
	vertical-align: top; /* removes extra space below image */
	max-width: 100%;
}

.le-media-row .col {
	float: left;
	margin: 0 15px 3px 0;
}

.le-media-row.r-side .col {
	float: right;
	margin: 0 0 3px 15px;
}

.le-media-row .col .thumb {
	float: none;
	margin: 0 0 10px 0px;
	max-width: 100%;
}

@media only screen and (min-width : 768px) {
	.le-media-row.m-vert .thumb {
		margin-left: 0;
		margin-right: 0;
		float: none;
		display: block;
		max-width: 100%;
	}
}

.le-media-row .card {
	overflow:hidden; /* otherwise text is move below image */
}

.le-media-row .card.w-readable {
	min-width: 50%;
}

.le-media-row .name {
}

.le-media-row a.name {
	display: block;
	text-decoration: none;
	color: inherit;
}

.le-keep-ratio {
	width:100%;
	position:relative;
	/* aspect ratio could vary, move this code to main.base.css; */
	padding-bottom:20%; /* 100*h/w */
}

.le-keep-ratio > * {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
}

.le-keep-ratio img {
	max-width: 100%;
	height: 100%;
}

@media only screen and (min-width : 768px) {
	.m-le-keep-ratio {
		width:100%;
		position:relative;
		/* aspect ratio could vary, move this code to main.base.css; */
		padding-bottom:20%; /* 100*h/w */
	}

	.m-le-keep-ratio > * {
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
	}

	.m-le-keep-ratio img {
		max-width: 100%;
		height: 100%;
	}
}

/* application */

.le-testbox {
	background-color: #ddd;
	border: 1px solid #bcd;
}

.user_nav {
	background-color: black;
	padding: 5px 10px;
}

.user_nav a {
	font-size: 13px;
	font-family: sans-serif;
	color: #ccc;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.6em;
	white-space: nowrap;
}

.user_nav a:hover,
.user_nav a:focus {
	color: white;
}

.greeting > ul {
	float: right;
	color: #595959;
}

.greeting::after {
	content: "";
	display: table;
	clear: both;
}

.greeting ul a {
	font-size: 13px;
	font-family: sans-serif;
	color: inherit;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.6em;
	white-space: nowrap;
	display: inline;
}

.greeting ul a:hover {
	color: black;
}

.le-alert-box {
	border-style: solid;
	border-width: 1px;
	display: block;
	font-weight: bold;
	margin-bottom: 1.25em;
	position: relative;
	padding: 0.6875em 1.3125em 0.75em 0.6875em;
	background-color: #c60f13;
	border-color: #970b0e;
	color: white; 
}

.le-orbit {
	padding-left: 0;
	display: none;
}

.le-orbit.slick-initialized {
	display: block;
}

.le-orbit .slick-slide {
	position: relative;
}

.le-orbit .slick-slide .caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 25px;
    padding: 10px 14px;
}

.le-orbit .slick-slide img {
	max-width: 100%;
}

/* Warning: nav arrows not tested in IE */

.le-orbit .slick-arrow {
	position: absolute;
	background-color: rgba(0, 0, 0, 0.6);
    color: white;
    height: 60px;
    line-height: 50px;
    margin-top: -25px;
    text-indent: -9999px;
    top: 50%;
    width: 50px;
    z-index: 10;
}

.le-orbit .slick-arrow > span {
	border: 16px inset;
    border-right-style: solid;
    display: block;
    height: 0;
    margin-top: -16px;
    position: absolute;
    top: 50%;
    width: 0;
}

.le-orbit .slick-prev {
	left:0;
}

.le-orbit .slick-prev > span {
	border-color: transparent #fff transparent transparent;
}

.le-orbit .slick-next {
	right: 0;
}

.le-orbit .slick-next > span {
    border-color: transparent;
	border-left-style: solid;
	border-left-color: white;
	left: 50%;
	margin-left: -8px;
}

.le-orbit .slick-arrow:hover {
	background-color: rgba(0, 0, 0, 0.6);
}

.le-orbit .slick-prev:hover > span {
	border-right-color: #cccccc;
}

.le-orbit .slick-next:hover > span {
	border-left-color: #cccccc;
}

.le-zurb-form label {
	cursor: pointer;
	display: inline-block;
	font-size: inherit;
	margin-bottom: 0.1875em;
}

.le-zurb-form input[type="text"],
.le-zurb-form input[type="password"],
.le-zurb-form input[type="date"],
.le-zurb-form input[type="datetime"],
.le-zurb-form input[type="datetime-local"],
.le-zurb-form input[type="month"],
.le-zurb-form input[type="week"],
.le-zurb-form input[type="email"],
.le-zurb-form input[type="number"],
.le-zurb-form input[type="search"],
.le-zurb-form input[type="tel"],
.le-zurb-form input[type="time"],
.le-zurb-form input[type="url"] {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
	background-color: white;
	font-family: inherit;
	border: 1px solid #cccccc;
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	color: rgba(0, 0, 0, 0.75);
	display: block;
	font-size: inherit;
	margin: 0 0 1em 0;
	padding: 0.5em;
	height: 2.3125em;
	width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: -webkit-box-shadow 0.45s, border-color 0.45s ease-in-out;
	-moz-transition: -moz-box-shadow 0.45s, border-color 0.45s ease-in-out;
	transition: box-shadow 0.45s, border-color 0.45s ease-in-out; 
}

.le-zurb-form textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
	background-color: white;
	font-family: inherit;
	border: 1px solid #cccccc;
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	color: rgba(0, 0, 0, 0.75);
	display: block;
	font-size: inherit;
	margin: 0 0 1em 0;
	padding: 0.5em;
	width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: -webkit-box-shadow 0.45s, border-color 0.45s ease-in-out;
	-moz-transition: -moz-box-shadow 0.45s, border-color 0.45s ease-in-out;
	transition: box-shadow 0.45s, border-color 0.45s ease-in-out; 
}

.le-zurb-form input[type="text"]:focus,
.le-zurb-form input[type="password"]:focus,
.le-zurb-form input[type="date"]:focus,
.le-zurb-form input[type="datetime"]:focus,
.le-zurb-form input[type="datetime-local"]:focus,
.le-zurb-form input[type="month"]:focus,
.le-zurb-form input[type="week"]:focus,
.le-zurb-form input[type="email"]:focus,
.le-zurb-form input[type="number"]:focus,
.le-zurb-form input[type="search"]:focus,
.le-zurb-form input[type="tel"]:focus,
.le-zurb-form input[type="time"]:focus,
.le-zurb-form input[type="url"]:focus,
.le-zurb-form textarea:focus {
	-webkit-box-shadow: 0 0 5px #999999;
	-moz-box-shadow: 0 0 5px #999999;
	box-shadow: 0 0 5px #999999;
	border-color: #999999; 
}

.le-zurb-form input[type="text"]:focus,
.le-zurb-form input[type="password"]:focus,
.le-zurb-form input[type="date"]:focus,
.le-zurb-form input[type="datetime"]:focus,
.le-zurb-form input[type="datetime-local"]:focus,
.le-zurb-form input[type="month"]:focus,
.le-zurb-form input[type="week"]:focus,
.le-zurb-form input[type="email"]:focus,
.le-zurb-form input[type="number"]:focus,
.le-zurb-form input[type="search"]:focus,
.le-zurb-form input[type="tel"]:focus,
.le-zurb-form input[type="time"]:focus,
.le-zurb-form input[type="url"]:focus,
.le-zurb-form textarea:focus {
	background: #fafafa;
	border-color: #999999;
	outline: none; 
}

.le-zurb-form input[type="text"][disabled],
.le-zurb-form input[type="password"][disabled],
.le-zurb-form input[type="date"][disabled],
.le-zurb-form input[type="datetime"][disabled],
.le-zurb-form input[type="datetime-local"][disabled],
.le-zurb-form input[type="month"][disabled],
.le-zurb-form input[type="week"][disabled],
.le-zurb-form input[type="email"][disabled],
.le-zurb-form input[type="number"][disabled],
.le-zurb-form input[type="search"][disabled],
.le-zurb-form input[type="tel"][disabled],
.le-zurb-form input[type="time"][disabled],
.le-zurb-form input[type="url"][disabled],
.le-zurb-form textarea[disabled] {
	background-color: #dddddd; 
}

.le-zurb-form input[type="file"],
.le-zurb-form input[type="checkbox"],
.le-zurb-form input[type="radio"],
.le-zurb-form select {
	margin: 0 0 1em 0; 
}

.le-zurb-form select {
	width: 100%;  
}

.le-zurb-form input[type="file"] {
	width: 100%; 
}

.le-zurb-form .button {
	background-color: #aaa;
    border: medium none transparent;
    border-radius: 3px;
    font-size: 100%;
    padding: 0.5em 1em;
    text-decoration: none;
    -moz-user-select: none;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    color: white;
    line-height: normal;
	-webkit-transition: background-color 300ms ease-out;
	-moz-transition: background-color 300ms ease-out;
	transition: background-color 300ms ease-out;
}

.le-zurb-form .button:hover,
.le-zurb-form .button:focus {
	background-color: #999;
}

.le-zurb-form .alert-box {
	border-style: solid;
	border-width: 1px;
	display: block;
	font-weight: bold;
	margin-bottom: 1.25em;
	position: relative;
	padding: 0.6875em 1.3125em 0.75em 0.6875em;
	background-color: #2ba6cb;
	border-color: #2284a1;
	color: white; 
}

.le-zurb-form .alert-box .close {
	padding: 5px 4px 4px;
	line-height: 0;
	position: absolute;
	top: 0.4375em;
	right: 0.3125em;
	color: #333333;
	opacity: 0.3; 
}

.le-zurb-form .alert-box .close:hover, 
.le-zurb-form .alert-box .close:focus {
	opacity: 0.5; 
}

.le-zurb-form .alert-box.success {
	background-color: #5da423;
	border-color: #457a1a;
	color: white; 
}

.le-zurb-form .alert-box.alert {
	background-color: #c60f13;
	border-color: #970b0e;
	color: white; 
}

.le-zurb-form .progress {
	background-color: transparent;
	height: 1.5625em;
	border: 1px solid #cccccc;
	padding: 0.125em;
	margin-bottom: 0.625em; 
}

.le-zurb-form .progress .meter {
	background: #e9e9e9;
	height: 100%;
	display: block; 
}

.le-smartgallery {
	display: block;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.le-smartgallery::after {
	content: "";
	display: table;
	clear: both;
}

.le-smartgallery > li {
	float: left;
	display: none; /* for li, because width of hidden gallery will be wrong */
}

.le-smartgallery.initialized > li {
	display: block;
}

.le-smartgallery > li > a {
	display: block;
}

.le-smartgallery > li > a > img {
	display: block;
}

.le-tooltip {
    position: relative;
    display: inline-block;
}

.le-tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: left;
    border-radius: 6px;
    padding: 5px;

    position: absolute;
    z-index: 999;
    bottom: 100%;
    left: 50%;

    /* Fade in tooltip - takes 1 second to go from 0% to 100% opac: */
    opacity: 0;
    transition: opacity 1s;
}

.le-tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}

.le-tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 25%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}