/*
Shield Website Template
Author - hunzaboy
URL : http://uexel.com

 #444
 -> 
*/
body { 
/*	background: url(../images/pattern1.jpg) repeat #ffffff;*/
/*	font-family: "Helvetica Neue", Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.5em; */
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	line-height: 20px;
	font-size: 16px;
	color: #333;
}

p {
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	line-height: 1.4em;
	font-size: 16px;
}

li {
	line-height: 20px;
}

.btn-primary:hover {
	box-shadow: 0 0 3px rgba(0, 0, 0, 1);
}

h1 {
	margin-top: 20px;
	margin-bottom: 12px;
}

h2 {
	margin-top: 28px;
	margin-bottom: 10px;
	font-size: 26px;
	font-family: 'Lato', sans-serif;
	font-weight: normal;
	color: #000;
}

h2 small {
	font-family: 'Lato', sans-serif;
	font-weight: normal;
	font-size: 12px;
	color: #444;
}

h3 {
	margin-top: 22px;
	margin-bottom: 8px;
	font-size: 20px;
	font-family: 'Lato', sans-serif;
	font-weight: normal;
	color: #444;
}

h4 {
	margin-top: 18px;
	margin-bottom: 8px;
	font-size: 17px;
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	color: #444;
}

h5 {
	margin-top: 16px;
	margin-bottom: 6px;
	font-size: 15px;
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	color: #555;
}

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

em {
	font-style: italic;
}

strong {
	font-weight: bold;
}

code {
  color: #222;
  font-size: 13px;
  border: none;
  background: none;
}

hr {
  border-top: 1px solid #d0d0d0;
  border-bottom: 1px solid #f0f0f0;
  margin: 24px 0;
}

/* table */
table {
	background:#eaebec;
	border:#ccc 1px solid;

	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;
	margin-top: 4px;
	margin-bottom: 6px;
}

table th {
	padding: 4px 6px;
	border-top:1px solid #e0e0e0;
	border-bottom:1px solid #c0c0c0;

	background: #ededed;
	background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#ebebeb));
	background: -moz-linear-gradient(top,  #ededed,  #ebebeb);
}
table tr:first-child th:first-child {
	-moz-border-radius-topleft:3px;
	-webkit-border-top-left-radius:3px;
	border-top-left-radius:3px;
}
table tr:first-child th:last-child {
	-moz-border-radius-topright:3px;
	-webkit-border-top-right-radius:3px;
	border-top-right-radius:3px;
}
table td:first-child {
	text-align: left;
	
	
	-moz-border-radius-topright:3px;
	-webkit-border-top-right-radius:3px;
	border-top-right-radius:3px;
}
table td {
	padding: 4px 6px;
	border-top: 1px solid #f0f0f0;
	border-bottom:1px solid #e0e0e0;
	border-left: 1px solid #e0e0e0;

	background: #fafafa;
	background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfb), to(#fafafa));
	background: -moz-linear-gradient(top,  #fbfbfb,  #fafafa);
}
table tr.even td {
	background: #f6f6f6;
	background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f6f6f6));
	background: -moz-linear-gradient(top,  #f8f8f8,  #f6f6f6);
}
table tr:last-child td {
	border-bottom:0;
}
table tr:last-child td:first-child {
	-moz-border-radius-bottomleft:3px;
	-webkit-border-bottom-left-radius:3px;
	border-bottom-left-radius:3px;
}
table tr:last-child td:last-child {
	-moz-border-radius-bottomright:3px;
	-webkit-border-bottom-right-radius:3px;
	border-bottom-right-radius:3px;
}
table tr:hover td {
	background: #f2f2f2;
	background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#f0f0f0));
	background: -moz-linear-gradient(top,  #f2f2f2,  #f0f0f0);	
}

/* Scroll to Top Button 
-------------------------------------*/
.scrollup {
  width: 44px;
  height: 44px;
  position: fixed;
  bottom: 22px;
  right: 22px;
  display: none;
  text-indent: -9999px;
  outline: hidden;
  background: url('../images/icon_top.png') no-repeat;
}

/* table end */

.btn_android {
	background: url('../images/btn-android.png') no-repeat;
	width: 178px;
	height: 65px;
	margin-top: 20px;
	float: left;
	margin-left: 10px;
}

.btn_appstore {
	background: url('../images/btn-appstore.png') no-repeat;
	width: 178px;
	height: 65px;
	margin-top: 20px;
	float: left;
}

.btn_download {
	background: url('../images/download.png') no-repeat;
	width: 225px;
	height: 80px;
/* 	margin-top: 20px; */
	float: left;
/* 	margin-left: 10px; */
}

.button_wrapper {
	position: relative;
	left: 40%;
	float: left;
}

.image_left {
	border-radius: 98px;
	-moz-border-radius: 98px;
	-webkit-border-radius: 98px;
	float: left;
}

@media (max-width: 767px) {
  .image_left {
    height: 80px;
    margin-right: 10px;
  }
}

.image_left_reviews {
	margin: 0px 10px 10px 0px;
	width: 100px;
	float: left;
}

.row_color {
	background: url('../images/div-grey-top.png') no-repeat center top #f8f8f8;
	bspwidth: 100%;
	border-bottom: 1px solid #e2e2e2;
}

.textstyle1 {
	text-align: center;
}

.sub-text {
	padding-top: 4px;
	margin-bottom: 15px;
}

.textstyle3 {
	font-size: 12px;
}

#header_wrapper {
	padding-bottom: 5px;
	color: white;
	height: auto;
	border: none;
	overflow: hidden;
	min-height:60px;
	margin-top: 40px;
	margin-left: 0px;
	background: url('../images/header_background.jpg');
	background-size:  cover;
}

@media (max-width: 979px) {
  #header_wrapper {
	min-height:103px;
  }
}

@media (max-width: 767px) {
  #header_wrapper {
  	 margin-top: 0px;
	 min-height:3px;
  }
  .container {
  	padding-right: 20px;
  	padding-left: 20px;
  }
}

.ui-coverflow-wrapper {
	height : 430px;
	padding-top: 20px;
}
@media (max-width: 979px) {
  .ui-coverflow-wrapper {
	height : 380px;
  }
}

@media (max-width: 767px) {
  .ui-coverflow-wrapper {
  	 height : 280px;
  }
}

.intro-screenshot {
	display: block;
    margin: 0 auto;
	width: 620px;
	box-shadow: 0px 10px 30px 10px rgba(0, 0, 0, 0.15);
}

@media (max-width: 979px) {
  .intro-screenshot {
  	 width: 520px;
  }
}
@media (max-width: 767px) {
  .intro-screenshot {
  	 width: 420px;
  }
}


.cta-section {
	padding-bottom: 30px;
}

.quick-overview {
	margin-top: 40px;
}

.quick-overview h1 {
	margin-bottom: 25px;
}

.quick-overview img {
	width: 18px;
	height: 18px;
	vertical-align: bottom;
	margin-right: 3px;
}

.image-slider h2 {
	margin-top: 80px;
	margin-bottom: 50px;
	font-family: 'Lato', sans-serif;
	font-size: 42px;
	font-weight: 300;
	color: #333333;
	text-align: center;
	text-shadow: 0px 1px 1px #d4d4d4;
	text-transform: uppercase;
	word-spacing: 10px;
	z-index: 10;
}

.image-slider p {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #333333;
	text-align: center;
	word-spacing: 3px;
}

.image-slider img {
	display: block;
    margin: 0 auto;
}

.newsticker {
    text-decoration: none;
    font-style: italic;
    font-size: 18pt;
}

.newsticker li {
    list-style-type: none;
}

.companies img {
	height : 40px;
	margin-left : 40px;
	margin-right : 40px;
	margin-top : 10px;
	margin-bottom : 10px;
}

.companies li {
	list-style-type: none;
}

#intro-companies {
	margin-top: 50px;
}

#platform-comparison {
	height: auto;
	padding-top: 10px;
	padding-bottom: 20px;
}

#platform-comparison h2 {
	color: #444;
	font-weight: 400;
	line-height: 1.3em;
	font-style: normal;
	word-spacing: 1px;
	text-align: center;
	font-size: 32px;
}

#platform-comparison p {
	color: #444;
	font-weight: 200;
	line-height: 1.3em;
	font-style: normal;
	word-spacing: 1px;
	text-align: center;
}

.icon_bg {
	width: 92px;
	height: 92px;
	margin: 40px auto 20px auto;
}

.icon_bg img {
	float: left;
}

#screenshot {
	text-align: center;
}

#screens {
	margin: 0px;
}

ul#screens li {
	background: #f3f3f3;
	width: 271px;
	height: 144px;
	padding: 12px;
	margin: 6px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	position: relative;
	list-style: none;
	float: left;
}

img.screenshot {
	min-width: 260px;
	height: 134px;
	margin-left: 16px;
	float: left;
}

@media (min-width: 1200px) {
  img.screenshot {
	margin-left: 42px;  
  }
}
@media (max-width: 979px) {
  img.screenshot {
	margin-left: 0px;  
  }
}
@media (max-width: 767px) {
  img.screenshot {
	display: block;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
}

.thumb {
	position: relative;
	overflow: hidden;
}

.thumb .zoom {
	background: url('../images/videoOverlay.png') 0 0 no-repeat transparent;
	width: 80px;
	height: 80px;
	position: absolute;
	left: 120px;
	opacity: 0.0;
	top: 34px;
	outline: none;
}

@media (min-width: 1200px) {
  .thumb .zoom {
	left: 140px;  
  }
}
@media (max-width: 979px) {
  .thumb .zoom {
	left: 90px;
  }
}
@media (max-width: 767px) {
  .thumb .zoom {
	display: block;
    margin-left: auto;
    margin-right: auto;
    float: none;
    margin-top: -120px;
    margin-bottom: 30px;
    position: relative;
    left: 12px;
    top: 0px;
  }
}

.introduction {
	padding-top: 30px;
	position: relative;
	overflow: visible;
}

.supported {
	background: url('../images/bullet-checkmark.png');
	background-size: 15px;
	height:15px;
    background-repeat: no-repeat;
}
.partly-supported {
	background: url('../images/bullet-checkmark-partly.png');
	background-size: 15px;
	height:15px;
    background-repeat: no-repeat;
}
.not-supported {
	background: url('../images/bullet-checkmark-not-supported.png');
	background-size: 15px;
	height:15px;
    background-repeat: no-repeat;
}


.introduction .zoom {
	background: url('../images/videoOverlayBig.png') 0 0 no-repeat transparent;
	width: 140px;
	height: 140px;
	opacity: 0.4;
	outline: none;
	position: absolute;
	left: 170px;
	top: 160px;
}

@media (min-width: 1200px) {
  .introduction .zoom {
	position: absolute;
	left: 220px;
	top: 140px;
  }
}
@media (max-width: 979px) {
  img#intro-screenshot {
  	height: 80%; 
  }
  .introduction .zoom {
	position: absolute;
	left: 140px;
	top: 140px;
  }
}
@media (max-width: 767px) {

  .introduction .zoom {
	position: absolute;
	left: 300px;
	top: 38%;
  }
}

/* .thumb .zoom:hover { */
/* 	background: url(../images/videoOverlay.png) 0 -80px no-repeat transparent; */
/* } */
#zoo table {
	margin : 0;
}


#team {
	padding-top: 10px;
}

#team h3 {
	margin-top: 5px;
	color : #555;
}

a:hover .onhover-red {
	text-decoration: none;
	color: #444;
}

a.onhover-red {
	text-decoration: none;
	color: #333;
}

ul.team_info {
	padding: 15px 0px;
	display: block;
}

ul.team_info li {
	margin-bottom: 5px;
	font-size: 12px;
	font-style: italic;
	line-height: 1.4em;
	display: block;
	background: none;
	list-style-type: none;
}

ul.team_info li a {
	font-size: 12px;
	font-style: italic;
}

ul.team_info li img {
	margin-right: 5px;
	float: left;
}

#download {
	padding: 110px 0px;
}

#download h2 {
	text-align: center;
	margin-bottom: 8px;
}

.logo_grey {
	width: 130px;
	height: 62px;
	margin: 0px auto 70px auto;
}

ul.textlist {
	text-align: center;
}

ul.textlist li {
	padding: 0px 7px;
	font-size: 16px;
	display: inline;
	background: none;
	list-style-type: none;
}

#sub_footer {
	padding: 50px 0px;
}

.post {
	margin-top: 20px;
	margin-bottom: 20px;
}

.pricing {
	margin-bottom: 40px;
	border: 1px solid #d4d4d4;
	border-width: 1px 1px 4px 1px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-topright: 5px;
	-webkit-border-top-right-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	border-bottom-left-radius: 9px;
	border-bottom-right-radius: 9px;
	-moz-border-radius-bottomleft: 9px;
	-moz-border-radius-bottomright: 9px;
	-webkit-border-bottom-right-radius: 9px;
	-webkit-border-bottom-left-radius: 9px;
	width: 100%;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	color: #c0c2c2;
	font-weight: 400;
}

.pricing thead th {
	background: #333;
	width: 84.3%;
	padding: 13px 8%;
	font-family: 'Lato', sans-serif;
	font-size: 24px;
	color: #f4f4f4;
	text-align: center;
	text-transform: uppercase;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	-moz-border-radius-topleft: 4px;
	-moz-border-radius-topright: 4px;
	-webkit-border-top-right-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	float: left;
}

.pricing tfoot td {
	background: #ededed;
	width: 84.3%;
	padding: 20px 8%;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	-moz-border-radius-bottomleft: 6px;
	-moz-border-radius-bottomright: 6px;
	-webkit-border-bottom-right-radius: 6px;
	-webkit-border-bottom-left-radius: 6px;
}

.pricing td {
	background: #fff;
	width: 84.3%;
	padding: 10px 8%;
	border: 1px solid #d4d4d4;

	float: left;
}

.pricing tfoot td {
	text-align: center;
}

.pricing td.focus {
	background: #333;
	width: 84.3%;
	padding: 25px 8%;
	font-family: 'Lato', sans-serif;
	font-size: 32px;
	color: #fff;
	font-weight: 400;
	text-align: center;
	border-bottom: 1px solid #d4d4d4;
}

.pricing td.focus-best {
	background: #444;
	width: 84.3%;
	padding: 25px 8%;
	font-family: 'Lato', sans-serif;
	font-size: 32px;
	color: #fff;
	font-weight: 400;
	text-align: center;
	border-bottom: 1px solid #d4d4d4;
}

.pricing td.focus span {
	font-size: 10px;
	display: block;
	margin-top: 5px;
}

.pricing td.focus-best span {
	font-size: 10px;
	display: block;
}

.pricing td h6 {
	width: 60%;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	color: #c0c2c2;
	font-weight: 400;
	float: left;
}

.pricing td p {
	width: 40%;
	text-align: right;
	float: left;
}

.inner {
	padding: 10px 0px;
}

.logo {
	float: left;
	width: 35px;
	margin-right: 50px;
	padding-top: 3px;
}

.btn-xlarge {
	padding: 12px 29px;
	font-size: 20px;
	font-weight: bold;
	line-height: normal;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.btn-the-bizzniss-4 {
	text-shadow: 0px -1px 0px #56a2b1;
	color: #ffffff;
	background-color: #74C0CF;
	background-image: -moz-linear-gradient(top, #92deed, #56a2b1);
	background-image: -ms-linear-gradient(top, #92deed, #56a2b1);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#92deed),
		to(#56a2b1) );
	background-image: -webkit-linear-gradient(top, #92deed, #56a2b1);
	background-image: -o-linear-gradient(top, #92deed, #56a2b1);
	background-image: linear-gradient(top, #92deed, #56a2b1);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#92deed',
		endColorstr='#56a2b1', GradientType=0 );
	border-color: #74C0CF #56a2b1 #56a2b1 #74C0CF;
	border-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0.35)
		rgba(0, 0, 0, 0.35) rgba(0, 0, 0, 0.25);
}

.btn-the-bizzniss-4:hover,UNUSEDUNUSED.btn-the-bizzniss-4:active,UNUSEDUNUSED.btn-the-bizzniss-4.active,UNUSEDUNUSED.btn-the-bizzniss-4.disabled,.btn-the-bizzniss-4[disabled]
	{
	background-color: #56a2b1;
}

.btn-the-bizzniss-4:hover {
	color: #ffffff;
	text-shadow: 0px -1px 0px #388493;
}

.btn-the-bizzniss-4:focus {
	color: #d8ffff;
	-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	border-color: #74C0CF #56a2b1 #56a2b1 #74C0CF;
	border-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0.35)
		rgba(0, 0, 0, 0.35) rgba(0, 0, 0, 0.25);
}

UNUSED.btn-the-bizzniss-4.active,UNUSED.btn-the-bizzniss-4:active {
	background-image: none;
	-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
		rgba(0, 0, 0, 0.05);
	color: #d8ffff;
}

.team {
/* 	background: #f4f4f4; */
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(235, 235, 235, 1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255, 255, 255, 1)), color-stop(100%,rgba(235, 235, 235, 1)));
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	background: linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='white', endColorstr='#EBEBEB',GradientType=0 );
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(0, 0, 0, .1);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(0, 0, 0, .1);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(0, 0, 0, .1);
	padding: 10px;
	margin-bottom: 15px;
	height:62px;
	position: relative;
}

@media (min-width: 1200px) {
  .team {
    height:70px;
  } 
}
@media (max-width: 979px) {
  .team {
    
  }
}
@media (max-width: 767px) {
  .team {
    height:110px;
  }
}

.anchor-in-div {
	position: absolute; 
	display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-indent: -9999px;
  z-index: 200;
}

.team :hover {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 5px #444;
  -moz-box-shadow: 0 0 5px #444;
  box-shadow: 0 0 5px #444;
}

#extra {
	background: url('../images/bg-footer.png') #444;
}

#extra .inner {
	color: #fff;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	line-height: 1.3em;
	font-style: normal;
	word-spacing: 1px;
}

#extra h3 {
	font-weight: 400;
	border-bottom: 1px solid #fff;
	padding: 5px;
}

#footer {
	border-top: 1px solid #999;
}

#footer .inner {
	padding: 20px;
	background: #e8e8e8;
	border-top: 1px solid #fff;
}

.footer-links {
	width: 49%;
	display: inline-block;
	margin: 0;
	list-style: none;
}

.footer-links li {
	margin-top: 1.25em;
}

.footer-links a {
	color: #fff;
}

.footer-links-header {
	color: #ddd;
	padding-top: 0px;
	margin-top: 0px;
}

#nav-outline {
/*	position: fixed;
	left: 50%;
	top: 60pt;
	margin-left: -345pt; */
	max-width: 200px;
	list-style: none;
	font-family: 'Lato', sans-serif;
}
/*
@media (min-width: 1200px) {
	#nav-outline {
		margin-left: -435pt;
		max-width: 200px;
	}	
}
@media (max-width: 979px) {
	#nav-outline {
		position: fixed;
		left: 10px;
		top: 80pt;
		margin-left:0;
		max-width: 200px;
	}
}
@media (max-width: 767px) {
	#nav-outline {
		
	}
}
*/
#nav-outline ul {
	list-style: none;
}

#nav-outline li {
	margin-bottom: 3px;
}

.nav-part {
	margin-top: 15px;
	color: #333;
}

.navbar-inner {
	border-radius: 0px;
	position: fixed;
	left: 50%;
	margin-left: -50%;
	width: 100%;
	z-index: 999;
}

.navbar .container {
	position: relative;
}

@media (max-width: 767px) {
	.navbar-inner {
	  position: static;
	  margin-left: 0;
	}
	.navbar .container {
		position: static;
  }
}
.navbar {
	margin-bottom: 0;
	border: none;
	border-bottom: 1px solid #666;
}

.navbar-fixed-top {
	position: static;
	border-bottom: 1px solid #000;
}

.navbar-inner {
	padding-top: 10px;
	padding-bottom: 5px;
}

.edit-on-github {
	margin-top: 20px;
	font-family: 'Lato', sans-serif;
}

#tweet a {
	color: #fff;
	text-decoration: underline;
}

/**** Page**/
#page {
	background: rgb(255, 255, 255); /* Old browsers */
/* 	/* IE9 SVG, needs conditional override of 'filter' to 'none' */ */
/* 	background: */
/* 		url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlYmViZWIiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); */
/* 	background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, */
/* 		rgba(235, 235, 235, 1) 100% ); FF3.6+ */
/* 	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, */
/* 		255, 255, 1) ), color-stop(100%, rgba(235, 235, 235, 1) ) ); */
/* 	/* Chrome,Safari4+ */ */
/* 	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, */
/* 		rgba(235, 235, 235, 1) 100% ); Chrome10+,Safari5.1+ */
/* 	background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0%, */
/* 		rgba(235, 235, 235, 1) 100% ); Opera 11.10+ */
/* 	background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0%, */
/* 		rgba(235, 235, 235, 1) 100% ); IE10+ */
/* 	background: linear-gradient(top, rgba(255, 255, 255, 1) 0%, */
/* 		rgba(235, 235, 235, 1) 100% ); W3C */
/* 	filter: progid:DXImageTransform.Microsoft.gradient(  startColorstr='#ffffff', */
/* 		endColorstr='#ebebeb', GradientType=0 ); IE6-8 */
	border-top: 1px solid #000;
	padding-top : 50px; 
	padding-bottom : 20px; 
}

#page h1 {
	color: #222;
	font-weight: 400;
	line-height: 1.3em;
	font-style: normal;
	word-spacing: 1px;
	font-size: 32px;
}

#page h1 small,#page h2 small,#page h3 small,#page h4 small,#page h5 small,#page h6 small {
	font-weight: normal;
	color: #444;
}

.page-heading {
	font-family: 'Lato', sans-serif;
	color: #fff;
	font-weight: 400;
	line-height: 1.3em;
	font-style: normal;
	word-spacing: 1px;
	font-size: 32px;
}

#page-heading {
	font-family: 'Lato', sans-serif;
	color: #444;
	text-align: center;
}

/*List Styles */
ul.list1 li {
	background: url('../images/bullet-checkmark.png') no-repeat 0 4px;
	padding-left: 20px;
	margin-bottom: 10px;
	display: block;
	list-style-type: none;
}

ul.list2 li {
	background: url('../images/bullet-circles.png') no-repeat 0 4px;
	padding-left: 22px;
	margin-bottom: 10px;
	display: block;
	list-style-type: none;
}

ul.list3 li {
	background: url('../images/bullet-plus.png') no-repeat 0 4px;
	padding-left: 22px;
	margin-bottom: 10px;
	display: block;
	list-style-type: none;
}

.navbar .brand {
	display: block;
	position: relative;
	top: 0;
	width: 90px;
	height: 34px;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 2px;
	overflow: hidden;
	font-weight: 600;
	line-height: 600px;
	color: #333;
	background: url('../images/OSBP-logo.png') no-repeat 0 0px;
	background-size: 90px;
	background-position: center;
}

.intro-reference {
	background: url('../images/bg-footer.png');
	padding-top: 10px;
	color: #fff;
	text-align: center;
}

.intro-reference .container {
	border-bottom: none;
	padding: 10px;
}

.navbar li {
	font-family: 'Lato', sans-serif;
	color: #6B6B6B;
	font-weight: 400;
	line-height: 1.3em;
	font-style: normal;
	word-spacing: 1px;
}

.popover {
	max-width: 450px;
}

.languages .row {
	margin : 0;
}

.language-card {
	margin : 3px;
}
.language-card {
	border : 1px solid #444;
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(235, 235, 235, 1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255, 255, 255, 1)), color-stop(100%,rgba(235, 235, 235, 1)));
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	background: linear-gradient(top, rgba(255, 255, 255, 1) 0%,rgba(235, 235, 235, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='white', endColorstr='#EBEBEB',GradientType=0 );
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(0, 0, 0, .1);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(0, 0, 0, .1);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(0, 0, 0, .1);
/* 	padding: 10px; */
/* 	margin-bottom: 15px; */
/* 	height: 60px; */
	position: relative;
}

.language-card :hover {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 8px #444;
  -moz-box-shadow: 0 0 8px #444;
  box-shadow: 0 0 8px #444;
}

@media (max-width: 979px) {
	.language-card {
		height:200px;
	}
}
@media (max-width: 767px) {
	.language-card {
		min-height:150px;
		height:auto;
	}
}

.language-card td {
	padding-right: 12px;
	height: 100%;
}
.language-icon {
	max-width : 140px;
}

.ribbon-wrapper-red {
	width: 200px;
	height: 172px;
	overflow: hidden;
	position: absolute;
	top: -4px;
	right: -4px;
}

.ribbon-red {
  font: bold 12px Sans-Serif;
  text-align: center;
  text-shadow: rgba(255,255,255,0.5) 0px 1px 0px;
  position: relative;
  padding: 7px 0;
  left: 0px;
  top: 80px;
  width: 200px;
  background-color: #444;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#444), to(#444)); 
  background-image: -webkit-linear-gradient(top, #444, #444); 
  background-image:    -moz-linear-gradient(top, #444, #444); 
  background-image:     -ms-linear-gradient(top, #444, #444); 
  background-image:      -o-linear-gradient(top, #444, #444); 
  color: #6a6340;
  -webkit-box-shadow: 0px 1px 3px rgba(0,0,0,0.3);
  -moz-box-shadow:    0px 1px 3px rgba(0,0,0,0.3);
  box-shadow:         0px 1px 3px rgba(0,0,0,0.3);
    white-space: nowrap;
}

@media (max-width: 979px) {
	.ribbon-red {
		top: 120px;
	}
}

.ribbon-red a {
  color: white;
}

.ribbon-red:before, .ribbon-red:after {
  position:absolute;
  bottom: -3px;
}

.ribbon-green:before {
  left: 0;
}
.ribbon-green:after {
  right: 0;
}

.search-bar {
  margin-top: 24px;
  white-space: nowrap;
}

.search-bar input {
  width: 140px;
}

.search-bar img {
  width: 20px;
  margin-bottom: 10px;
}

#OS\.bea {
    /* workaround for slider-height */
    position: relative;
    top: -180px; 
    }

#OS\.bea-WG {
    position: relative;
    }
