text:
.boxed {
  width: 100%;
  padding: 30px 0;
}
.boxed h3 {
  color: #fff;
  padding: 5px 0;
  font-size: 24px;
}
.boxed .btn-border {
  float: right;
}
.service-box {
  position: relative;
  text-align: center;
}
.service-box .service-head {
  margin-bottom: 25px;
  padding-bottom: 5px;
  position: relative;
}
.service-box .service-head:after {
  content: '';
  position: absolute;
  width: 60px;
  height: 1px;
  letter-spacing: 50%;
  margin-left: -30px;
  bottom: -5px;
}
.service-box .service-head .icon {
  margin-bottom: 30px;
  display: block;
}
.service-box .service-head .icon i {
  width: 80px;
  background: #f1f1f1;
  line-height: 80px;
  text-align: center;
  display: inline-block;
  height: 80px;
  transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
}
.service-box .service-head .icon i:before {
  font-size: 42px;
  margin: 0;
}
.service-box .service-head h2 {
  color: #666;
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
}
.service-box .service-content p {
  font-size: 14px;
  color: #999999;
  font-weight: 400;
  margin-bottom: 30px;
}
.company-ever .company-bg {
  background: #FAFAFA;
  overflow: hidden;
}
.company-ever .content {
  background: #202E31;
  color: #fff;
  float: right;
  padding: 40px;
  position: relative;
  margin-right: -15px;
}
.company-ever .content h2 {
  float: right;
  color: #fff;
  font-size: 24px;
  line-height: 33px;
}
.company-ever .content p {
  float: right;
  color: #FFF;
  padding: 21px 0px;
  text-align: right;
}
.company-ever .content .compayt-button {
  float: right;
}
.company-ever .content:before {
  position: absolute;
  content: "";
  top: -16px;
  left: -23px;
  width: 50px;
  height: 107%;
  background: #FAFAFA none repeat scroll 0% 0%;
  transform: rotate(370deg);
}
#portfolio {
  padding-top: 80px;
}
.controls {
  margin: 25px 0;
}
.controls a {
  display: inline-block;
  border-radius: 0px;
  cursor: pointer;
  margin: 0px 5px;
  color: #898989;
  text-transform: uppercase;
  border: 1px solid #f1f1f1;
  padding: 10px 15px;
  -webkit-transition: all 0.9s ease;
  -moz-transition: all 0.9s ease;
  -ms-transition: all 0.9s ease;
  -0-transition: all 0.9s ease;
  transition: all 0.9s ease;
}
#portfolio-list .mix {
  padding-left: 0;
  padding-right: 0;
}
.portfolio-item {
  overflow: hidden;
  display: block;
  position: relative;
}
.portfolio-item img {
  zoom: 1;
  width: 100%;
  -webkit-transition: all 0.9s ease;
  -moz-transition: all 0.9s ease;
  -ms-transition: all 0.9s ease;
  -0-transition: all 0.9s ease;
  transition: all 0.9s ease;
}
.portfolio-item:hover img {
  -webkit-transform: scale(1.4);
  -moz-transform: scale(1.4);
  -ms-transform: scale(1.4);
  -0-transform: scale(1.4);
  transform: scale(1.4);
}
.portfolio-item .overlay {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(43, 44, 48, 0.8);
  opacity: 0;
  filter: alpha(opacity=0);
  padding: 30px;
  -webkit-transition: all 600ms ease-out 0s;
  -moz-transition: all 600ms ease-out 0s;
  -o-transition: all 600ms ease-out 0s;
  transition: all 600ms ease-out 0s;
}
.portfolio-item .icon {
  left: 0px;
  right: 0px;
  width: 42%;
  top: 30%;
  text-align: center;
  position: absolute;
  opacity: 0;
  margin: 0px auto;
  -webkit-transition: all 600ms ease-out 0s;
  -moz-transition: all 600ms ease-out 0s;
  -o-transition: all 600ms ease-out 0s;
  transition: all 600ms ease-out 0s;
}
.portfolio-item .icon i {
  width: 48px;
  height: 48px;
  font-size: 18px;
  text-align: center;
  margin-right: 5px;
  margin-left: 5px;
  padding: 10px;
  color: #fff;
  line-height: 48px;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.portfolio-item .icon i:hover {
  color: #444;
}
.portfolio-item .icon .left {
  -webkit-transform: translateY(25px);
  -moz-transform: translateY(25px);
  transform: translateY(25px);
}
.portfolio-item .icon .right {
  -webkit-transform: translateY(-25px);
  -moz-transform: translateY(-25px);
  transform: translateY(-25px);
}
.portfolio-item .content {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 1;
  margin: 0px auto;
  padding: 10px 22px;
  text-align: center;
  -webkit-transform: translateY(90px);
  -moz-transform: translateY(90px);
  transform: translateY(90px);
  -webkit-transition: all 0.4s ease-in-out 0s;
  -moz-transition: all 0.4s ease-in-out 0s;
  -ms-transition: all 0.4s ease-in-out 0s;
  -0-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
}
.portfolio-item .content h3 {
  color: #31302C;
  font-size: 22px;
  text-transform: uppercase;
  font-weight: 300;
  line-height: 33px;
}
.portfolio-item .content h3 a {
  color: #fff;
}
.portfolio-item .content p {
  color: #444;
  font-size: 16px;
}
.portfolio-item:hover .overlay {
  opacity: 1;
  filter: alpha(opacity=100);
  visibility: visible;
}
.portfolio-item:hover .icon {
  opacity: 1;
  filter: alpha(opacity=100);
  visibility: visible;
}
.portfolio-item:hover .left {
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  transform: translateY(0px);
}
.portfolio-item:hover .right {
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  transform: translateY(0px);
}
.portfolio-item:hover .content {
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  transform: translateY(0px);
}
.featured {
  background: transparent url("../img/featured/bg.jpg");
}
.featured:before {
  position: absolute;
  background: rgba(38, 30, 77, 0.7);
  content: " ";
  top: 0px;
  width: 100%;
  height: 100%;
}
.featured-content {
  margin-bottom: 40px;
}
.featured-content p {
  color: #fff;
}
.featured-header {
  display: inline-block;
  margin-bottom: 25px;
}
.featured-header i {
  float: left;
  width: 48px;
  font-size: 18px;
  height: 48px;
  line-height: 44px;
  text-align: center;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.featured-header .featured-title {
  padding-left: 68px;
}
.featured-header .featured-title h4 a {
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  line-height: 22px;
}
.featured-header .featured-title p {
  font-size: 13px;
  font-weight: 300;
}
.featured-thumb {
  text-align: center;
}
.team-member {
  text-align: center;
  overflow: hidden;
  position: relative;
}
.team-member .team-thumbnail {
  display: block;
  border: 2px solid #eee;
  border-bottom: none;
}
.team-member .team-thumbnail img {
  width: 100%;
}
.team-member .team-thumbnail .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
  opacity: 0;
  bottom: -1px;
  height: 100%;
  background-color: rgba(38, 30, 77, 0.8);
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.team-member .team-thumbnail .text {
  color: #fff;
  padding: 0 15px;
  top: 25%;
  text-align: center;
  position: absolute;
  width: 100%;
}
.team-member .team-thumbnail .name {
  position: absolute;
  bottom: 74px;
  width: 100%;
}
.team-member .team-thumbnail .social-media {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  padding: 18px;
  text-align: center;
  bottom: 0;
  background: #261E4D;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.team-member .team-thumbnail .social-media a {
  display: inline-block;
}
.team-member .team-thumbnail .social-media a i {
  font-size: 20px;
  color: #fff;
  width: 42px;
  margin: -2px;
  line-height: 42px;
  height: 42px;
  -webkit-transition: all 0.9s ease;
  -moz-transition: all 0.9s ease;
  transition: all 0.9s ease;
}
.team-member .team-thumbnail .social-media a.facebook:hover i {
  background: #507CBE;
}
.team-member .team-thumbnail .social-media a.twitter:hover i {
  background: #63CDF1;
}
.team-member .team-thumbnail .social-media a.google:hover i {
  background: #F16261;
}
.team-member .team-thumbnail .social-media a.linkedin:hover i {
  background: #90CADD;
}
.team-member .info {
  padding: 15px;
}
.team-member .info h4 {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-transform: uppercase;
}
.team-member .info p {
  color: #fff;
}
.team-member:hover .overlay {
  opacity: 1;
}
.team-2 .team-member .team-thumbnail {
  border: none;
}
#counter {
  width: 100%;
  background: url(../img/bg/bg1.jpg) fixed;
  background-size: cover;
  position: relative;
}
#counter:before {
  position: absolute;
  content: " ";
  top: 0px;
  bottom: 0px;
  width: 100%;
  height: 100%;
}
.counter-item {
  margin: 30px 0;
  border-left: 1px dotted #f1f1f1;
}
.counter-item .icon {
  text-align: center;
  margin-bottom: 22px;
}
.counter-item .icon i {
  font-size: 54px;
  color: #fff;
  line-height: 64px;
}
.counter-item h5 {
  text-align: center;
  margin-bottom: 12px;
  color: #fff;
  text-transform: uppercase;
  position: relative;
}
.counter-item h5 span {
  font-size: 11px;
  font-weight: 300;
}
.counter-item hr {
  width: 50px;
  margin: 0px auto;
  height: 2px;
  background: #fff;
}
.left-line {
  border-left: none;
}
.timer {
  font-size: 48px;
  font-weight: 300;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  line-height: 80px;
}
.project .projects-box {
  padding: 15px 0px 30px;
}
.project .projects-box .projects-thumb {
  margin-bottom: 20px;
  position: relative;
  /*
			&:before{
				content: '';
				position: absolute;
				background: rgba(43, 44, 48, 0.8);
				top: 0;
				opacity: 0;
				width: 100%;
				left: 0;
				height: 100%;
				-webkit-transition: all 0.4s ease;
				-moz-transition: all 0.4s ease;
				transition: all 0.4s ease;
			}
			*/
}
.project .projects-box .projects-thumb:hover:before {
  opacity: 1;
}
.project .projects-box .projects-content h4 {
  padding-bottom: 10px;
  font-size: 16px;
  text-transform: uppercase;
}
.project .projects-box .projects-content h4 a:hover {
  color: #ffbb02;
}
.project .projects-box .projects-content .recent-meta {
  font-size: 11px;
  padding: 6px 0 5px;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 15px;
  text-transform: uppercase;
}
.project .projects-box .projects-content .recent-meta span {
  margin-right: 5px;
}
.project .projects-box .projects-content .recent-meta span i {
  margin-right: 5px;
  color: #ccc;
}
.project .projects-box .projects-content .projects-desc {
  margin-bottom: 15px;
}
#testimonial {
  width: 100%;
  background: url(../img/testimonial/testimonial-bg.jpg);
  background-size: cover;
  position: relative;
}
#testimonial:before {
  position: absolute;
  background: rgba(238, 180, 20, 0.7);
  content: " ";
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
#testimonial .img-member {
  height: 125px;
  border-radius: 3px;
  box-shadow: 0px 0px 1px 1px #fff;
  margin-top: 22px;
  overflow: hidden;
  width: 125px;
}
#testimonial .client-info {
  color: #fff;
  line-height: 20px;
  margin-top: 30px;
  max-width: 485px;
  padding: 6px 0;
  margin: 42px auto;
}
#testimonial .client-info .client-name {
  font-size: 22px;
  line-height: 44px;
  text-transform: uppercase;
}
#testimonial .client-info .client-name span {
  font-size: 13px;
  font-weight: 400;
  color: #fff;
  text-transform: none;
  font-style: italic;
}
#testimonial p {
  margin: 40px 33px;
  text-align: center;
  border-left: 0px;
  font-size: 16px;
  letter-spacing: 1px;
  color: #fff;
  font-style: italic;
  position: relative;
}
#testimonial p .quote-left {
  font-size: 32px;
  margin-right: 36px;
}
#testimonial p .quote-right {
  font-size: 32px;
  margin-left: 36px;
}
#testimonial .owl-theme .owl-controls .owl-buttons div {
  border-radius: 50%;
  font-size: 30px;
  margin: 20px 10px 0;
  padding: 0 16px;
}
.client {
  background: #f1f1f1;
}
.client-logo {
  overflow: hidden;
}
.client-item {
  padding: 15px 0;
  text-align: center;
}
.client-item a {
  display: block;
}
.client-item img {
  opacity: 0.5;
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  filter: gray;
  -webkit-transition: all .6s ease;
  -moz-transition: all .6s ease;
  transition: all .6s ease;
}
.client-item img:hover {
  filter: grayscale(0%);
  -webkit-filter: grayscale(0%);
  filter: gray;
  opacity: 1.0;
}
.clear {
  clear: both;
}
footer {
  background-color: #333;
  padding: 60px 0;
}
footer p {
  color: #ccc;
}
footer a {
  color: #666;
}
.footer-widget h4 {
  color: #eee;
  text-transform: uppercase;
  padding-bottom: 8px;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 600;
  position: relative;
}
.flickr-widget ul {
  overflow: hidden;
}
.flickr-widget ul li {
  float: left;
  margin-left: 3px;
  margin-bottom: 3px;
}
.flickr-widget ul li a {
  display: inline-block;
  width: 80px;
  opacity: 0.6;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}
.flickr-widget ul li a img {
  width: 100%;
  height: 65px;
}
.flickr-widget ul li a:hover {
  opacity: 1;
}
.address li {
  display: block;
  margin-bottom: 16px;
}
.address li a {
  color: #fff;
  font-size: 14px;
  font-family: 'Lato', sans-serif;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
}
.address li a i {
  padding-right: 5px;
}
.hours-widget .contact-info p {
  margin-bottom: 5px;
}
.hours-widget .contact-info ul.hours li {
  color: #fff;
  margin: 0;
  padding: 5px 0px;
  border-top: 1px solid #666;
}
.hours-widget .contact-info ul.hours li:first-child {
  border-top: none;
}
.hours-widget .contact-info ul.hours span {
  float: right;
  font-weight: 700;
}
.copyright-section {
  padding: 15px 0;
  background: #666;
  text-align: center;
  letter-spacing: 0.5px;
}
.copyright-section p {
  font-size: 12px;
  color: #fff;
}
.copyright-section p a:hover {
  color: #fff;
}
.copyright-section ul.footer-nav {
  float: right;
}
.copyright-section ul.footer-nav li {
  display: inline-block;
  float: left;
  margin-left: 5px;
}
.copyright-section ul.footer-nav li a {
  display: inline-block;
  text-decoration: none;
  color: #6D7780;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}
.copyright-section ul.footer-nav li a:hover {
  color: #fff;
}
.copyright-section ul.footer-nav li:first-child {
  margin-left: 0;
}
.back-to-top {
  display: none;
  position: fixed;
  bottom: 35px;
  right: 15px;
}
.back-to-top i {
  display: block;
  width: 36px;
  font-size: 20px;
  height: 36px;
  line-height: 36px;
  color: #fff;
  border-radius: 0px;
  text-align: center;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}
.switcher-box {
  width: 236px;
  position: fixed;
  left: -236px;
  top: 180px;
  padding: 15px 0;
  z-index: 999999999;
  background-color: #fff;
  display: block !important;
  transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
}
.switcher-box h4 {
  display: block;
  margin: 0px 20px;
  line-height: 42px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid #e5e5e5;
  background-color: #fff;
  margin-bottom: 10px;
}
.switcher-box span {
  display: block;
  text-transform: uppercase;
  padding: 5px 20px;
  text-align: left;
}
.switcher-box .colors-list {
  padding: 0 18px 0 18px;
  margin-bottom: 8px;
  line-height: 20px;
}
.switcher-box .colors-list li {
  display: inline-block;
  margin-right: 2px;
}
.switcher-box .colors-list li a {
  display: block;
  width: 27px;
  height: 27px;
  border-radius: 3px;
  cursor: pointer;
}
.switcher-box .colors-list li a.yellow {
  background-color: #ffbb02;
}
.switcher-box .colors-list li a.turquoise {
  background-color: #1abc9c;
}
.switcher-box .colors-list li a.emerald {
  background-color: #2ecc71;
}
.switcher-box .colors-list li a.river {
  background-color: #3498db;
}
.switcher-box .colors-list li a.wisteria {
  background-color: #8e44ad;
}
.switcher-box .colors-list li a.alizarin {
  background-color: #e74c3c;
}
.switcher-box .layout-style,
.switcher-box .topbar-style {
  width: 172px;
  padding: 6px 9px;
  outline: none;
  display: block;
  background: #fff;
  border-radius: 3px;
  padding: 4px 6px;
  color: #666;
  cursor: pointer;
  border-radius: 2px;
  font-size: 12px;
  margin: 0 0 12px 20px;
  border: 1px solid #ddd;
}
.switcher-box .bg-list {
  padding: 0 18px 0 18px;
  margin-bottom: 5px;
}
.switcher-box .bg-list li {
  display: inline-block;
  margin-right: 2px;
}
.switcher-box .bg-list li a {
  display: block;
  border-radius: 3px;
  width: 27px;
  height: 27px;
}
.switcher-box .bg-list li a.bg1 {
  background: url(../img/patterns/1.jpg) repeat;
}
.switcher-box .bg-list li a.bg2 {
  background: url(../img/patterns/2.jpg) repeat;
}
.switcher-box .bg-list li a.bg3 {
  background: url(../img/patterns/3.png) repeat;
}
.switcher-box .bg-list li a.bg4 {
  background: url(../img/patterns/4.png) repeat;
}
.switcher-box .bg-list li a.bg5 {
  background: url(../img/patterns/5.png) repeat;
}
.switcher-box .bg-list li a.bg6 {
  background: url(../img/patterns/6.png) repeat;
}
.switcher-box .open-switcher {
  width: 42px;
  height: 42px;
  display: block;
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 100%;
  border-radius: 0px;
}
.switcher-box .open-switcher i {
  text-align: center;
  line-height: 42px;
  font-size: 25px;
  color: #fff;
  display: block;
}
.iframe {
  border: none;
}
.error-bg {
  background: #ECF0F1;
}
.error-page {
  text-align: center;
  padding: 40px 0;
}
.error-page p {
  font-size: 18px;
  line-height: 28px;
  color: #666;
  margin-bottom: 25px;
}
.error-page h1 {
  font-size: 280px;
  margin: 130px 0px;
}
.error-page h2 {
  font-size: 42px;
  line-height: 68px;
}
.error-page #search {
  position: relative;
  margin-bottom: 50px;
}
.error-page #search p {
  color: #999;
}
.error-page #search .search-btn {
  position: absolute;
  top: 65px;
  right: 15px;
}
/*
 * Nivo Lightbox v1.0
 * http://dev7studios.com/nivo-lightbox
 *
 * Copyright 2013, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */
.nivo-lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999999;
  width: 100%;
  height: 100%;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.nivo-lightbox-overlay.nivo-lightbox-open {
  visibility: visible;
  opacity: 1;
}
.nivo-lightbox-wrap {
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: 10%;
  right: 10%;
}
.nivo-lightbox-content {
  width: 100%;
  height: 100%;
}
.nivo-lightbox-title-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  text-align: center;
}
.nivo-lightbox-nav {
  display: none;
}
.nivo-lightbox-prev {
  position: absolute;
  top: 50%;
  left: 0;
}
.nivo-lightbox-next {
  position: absolute;
  top: 50%;
  right: 0;
}
.nivo-lightbox-close {
  position: absolute;
  top: 2%;
  right: 2%;
}
.nivo-lightbox-image {
  text-align: center;
}
.nivo-lightbox-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  vertical-align: middle;
}
.nivo-lightbox-content iframe {
  width: 100%;
  height: 100%;
}
.nivo-lightbox-ajax {
  max-height: 100%;
  overflow: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  /* https://bugzilla.mozilla.org/show_bug.cgi?id=308801 */
}
.nivo-lightbox-error {
  display: table;
  text-align: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-shadow: 0 1px 1px #000;
}
.nivo-lightbox-error p {
  display: table-cell;
  vertical-align: middle;
}
.nivo-lightbox-effect-fade,
.nivo-lightbox-effect-fadeScale,
.nivo-lightbox-effect-slideLeft,
.nivo-lightbox-effect-slideRight,
.nivo-lightbox-effect-slideUp,
.nivo-lightbox-effect-slideDown,
.nivo-lightbox-effect-fall {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0.7);
  -moz-transform: scale(0.7);
  -ms-transform: scale(0.7);
  transform: scale(0.7);
}
.nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}
.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
  -webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  -moz-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  -ms-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  -o-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
}
.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap {
  -webkit-transform: translateX(-10%);
  -moz-transform: translateX(-10%);
  -ms-transform: translateX(-10%);
  transform: translateX(-10%);
}
.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap {
  -webkit-transform: translateX(10%);
  -moz-transform: translateX(10%);
  -ms-transform: translateX(10%);
  transform: translateX(10%);
}
.nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}
.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
  -webkit-transform: translateY(-10%);
  -moz-transform: translateY(-10%);
  -ms-transform: translateY(-10%);
  transform: translateY(-10%);
}
.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap {
  -webkit-transform: translateY(10%);
  -moz-transform: translateY(10%);
  -ms-transform: translateY(10%);
  transform: translateY(10%);
}
.nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}
.nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall {
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
  perspective: 1000px;
}
.nivo-lightbox-effect-fall .nivo-lightbox-wrap {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-transform: translateZ(300px);
  -moz-transform: translateZ(300px);
  -ms-transform: translateZ(300px);
  transform: translateZ(300px);
}
.nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap {
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.nivo-lightbox-theme-default.nivo-lightbox-overlay {
  background: #666;
  background: rgba(0, 0, 0, 0.8);
}
.nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
  background: url(../img/lightbox/loading.gif) no-repeat 50% 50%;
}
.nivo-lightbox-theme-default .nivo-lightbox-nav {
  top: 10%;
  width: 8%;
  height: 80%;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  opacity: 0.5;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}
.nivo-lightbox-theme-default .nivo-lightbox-nav:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.nivo-lightbox-theme-default .nivo-lightbox-prev {
  background-image: url(../img/lightbox/prev.png);
  border-radius: 0 3px 3px 0;
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  -o-border-radius: 0 3px 3px 0;
}
.nivo-lightbox-theme-default .nivo-lightbox-next {
  background-image: url(../img/lightbox/next.png);
  border-radius: 3px 0 0 3px;
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  -o-border-radius: 3px 0 0 3px;
}
.nivo-lightbox-theme-default .nivo-lightbox-close {
  display: block;
  background: url(../img/lightbox/close.png) no-repeat 5px 5px;
  width: 16px;
  height: 16px;
  text-indent: -9999px;
  padding: 5px;
  opacity: 0.5;
}
.nivo-lightbox-theme-default .nivo-lightbox-close:hover {
  opacity: 1;
}
.nivo-lightbox-theme-default .nivo-lightbox-title-wrap {
  bottom: -7%;
}
.nivo-lightbox-theme-default .nivo-lightbox-title {
  font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  background: #000;
  color: #fff;
  padding: 7px 15px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
}
.nivo-lightbox-theme-default .nivo-lightbox-image img {
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
.nivo-lightbox-theme-default .nivo-lightbox-ajax,
.nivo-lightbox-theme-default .nivo-lightbox-inline {
  background: #fff;
  padding: 40px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -o-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
@media (-webkit-min-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6/2), (min--moz-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
  .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
    background-image: url(../img/lightbox/loading@2x.gif);
    background-size: 32px 32px;
  }
  .nivo-lightbox-theme-default .nivo-lightbox-prev {
    background-image: url(../img/lightbox/prev@2x.png);
    background-size: 48px 48px;
  }
  .nivo-lightbox-theme-default .nivo-lightbox-next {
    background-image: url(../img/lightbox/next@2x.png);
    background-size: 48px 48px;
  }
  .nivo-lightbox-theme-default .nivo-lightbox-close {
    background-image: url(../img/lightbox/close@2x.png);
    background-size: 16px 16px;
  }
}


text:
package com.cmput.videotest;

import android.bluetooth.BluetoothSocket;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.android.Utils;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.MatOfPoint2f;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.imgproc.Imgproc;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.util.List;

public class MainActivity extends AppCompatActivity implements View.OnTouchListener{

    static {
        System.loadLibrary("opencv_java3");
    }

    private static final String TAG = "OCVTabletApp::Activity";

    private DownloadImageTask downloadImageAsyncTask;
    private ConnectedThread bluetoothThread;

    ImageView ipCamera;
    Bitmap mIcon11 = null;
    Button connectIpButton;
    Button connectEV3;
    Button panLeft;
    Button panRight;
    Button panStop;
    EditText enterIpText;
    TextView blobXText;
    TextView blobYText;
    TextView centerXText;
    TextView centerYText;

    boolean ipconnected;
    boolean btconnected;
    boolean panTeleop;
    BT_Comm btComm;
    String macAddress1 = "00:16:53:44:9B:36";
    //String macAddress1 = "00:16:53:44:C1:4A";
    int[] goalCoords = {0, 0};
    int[] centerCoords = {0,0};
    int[] blobCoords = {0,0};

    private boolean mIsColorSelected = false;
    private Mat mRgba;
    private Scalar mBlobColorRgba;
    private Scalar mBlobColorHsv;
    private ColorBlobDetector mDetector;
    private Mat mSpectrum;
    private Size SPECTRUM_SIZE;
    private Scalar CONTOUR_COLOR;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ipCamera = (ImageView) findViewById(R.id.capturedimage);
        connectIpButton = (Button) findViewById(R.id.connectIpCamera);
        connectEV3 = (Button) findViewById(R.id.connectEV3);
        blobXText = (TextView) findViewById(R.id.blobX);
        blobXText.setText("");
        blobYText = (TextView) findViewById(R.id.blobY);
        blobYText.setText("");
        centerXText = (TextView) findViewById(R.id.centerX);
        centerXText.setText("");
        centerYText = (TextView) findViewById(R.id.centerY);
        centerYText.setText("");
        enterIpText = (EditText) findViewById(R.id.enterIpAddress);
        enterIpText.setText("172.28.90.37:8080");
        panRight = (Button) findViewById(R.id.panRight);
        panLeft = (Button) findViewById(R.id.panLeft);
        panStop = (Button) findViewById(R.id.panStop);
        //panRight.setVisibility(View.GONE);
        //panLeft.setVisibility(View.GONE);
        //panStop.setVisibility(View.GONE);
        ipconnected = false;
        btconnected = false;
        btComm = new BT_Comm();
        downloadImageAsyncTask = new DownloadImageTask((ImageView) findViewById(R.id.capturedimage));
    }

    public void onStart() {
        super.onStart();
    }

    public void onPause() {
        super.onPause();
        btconnected = false;
        downloadImageAsyncTask.cancel(false);
    }

    @Override
    public void onStop() {
        super.onStop();
        btconnected = false;
        downloadImageAsyncTask.cancel(false);
    }

    @Override
    public void onResume() {
        super.onResume();
        OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_1_0, this, mLoaderCallback);
    }

    /**
     * Button action to Connect to EV3 brick
     * @param view
     */
    public void clickConnectEV3(View view) {
        if (!btconnected) {
            Log.d("Bluetooth", "Trying to connect to EV3");

            if (!btComm.initBT()) {
                Log.d("Bluetooth", "Could not init bluetooth");
            } else {
                boolean connected = btComm.connectToEV3(macAddress1);
                if (connected) {
                    Log.d("Bluetooth", "Connected to brick");
                    btconnected = true;
                    bluetoothThread = new ConnectedThread(btComm.socket_ev3_1);
                    bluetoothThread.start();
                } else {
                    Toast.makeText(this,"Could not connect to EV3",Toast.LENGTH_SHORT);
                    Log.d("Bluetooth", "Did not connect");
                }
            }
        }
    }

    /**
     * Button action to connect to Ip camera
     *
     * @param view
     */
    public void clickConnectIpCamera(View view) {
        String ip = enterIpText.getText().toString();
        Log.d("Connect to camera", "Trying to connect to: " + "http://" + ip + "/shot.jpg");

        if (!ipconnected) {
            //Initialize opencv variables
            mDetector = new ColorBlobDetector();
            mSpectrum = new Mat();
            mBlobColorRgba = new Scalar(255);
            mBlobColorHsv = new Scalar(255);
            SPECTRUM_SIZE = new Size(200, 64);
            CONTOUR_COLOR = new Scalar(255, 0, 0, 255);
            downloadImageAsyncTask.execute("http://" + ip + "/shot.jpg");
            ipconnected = true;
        }else{
            Toast.makeText(this,"Could not connect to ip camera",Toast.LENGTH_SHORT);
        }
    }
    public void clickStopEV3(View view) {
        Log.d("main activity", "Stopping EV3");
        //bluetoothThread.handleCommand(5);

        if(btComm.socket_ev3_1.isConnected()) {
            try {
                btconnected = false;
                btComm.socket_ev3_1.close();
            } catch (IOException e) {
                Log.d("Bluetooth", "Could not close socket");
            }
        }
    }

    public void panLeftClick(View view){
        if(panTeleop) {
            try {
                btComm.writeData(1);
            } catch (InterruptedException e) {

            }
        }
    }

    public void panRightClick(View view){
        if(panTeleop) {
            try {
                btComm.writeData(-1);
            } catch (InterruptedException e) {

            }
        }
    }

    public void tiltDownClick(View view){
        if(panTeleop) {
            try {
                btComm.writeData(-2);
            } catch (InterruptedException e) {

            }
        }
    }

    public void tiltUpClick(View view){
        if(panTeleop) {
            try {
                btComm.writeData(2);
            } catch (InterruptedException e) {

            }
        }
    }

    public void panStopClick(View view){
        if(panTeleop) {
            try {
                btComm.writeData(0);
                panTeleop = false;
            } catch (InterruptedException e) {

            }
        }
    }
    /**
     * Thread task for pulling images from ipCamera, and applying opencv object detection
     */
    private class DownloadImageTask extends AsyncTask<String, Bitmap, Bitmap> {
        ImageView bmImage;

        public DownloadImageTask(ImageView bmImage) {
            this.bmImage = bmImage;
        }

        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            while (!this.isCancelled()) {
                try {
                    InputStream in = new URL(urldisplay).openStream();
                    mIcon11 = BitmapFactory.decodeStream(in);
                    publishProgress(mIcon11);
                    Log.d("MainActivity", "Picture read");
                } catch (Exception e) {
                    //Log.e("Error", e.getMessage());
                    Log.d("MainActivity", "Picture not read");
                }
            }
            return mIcon11;
        }

        //Allows UI changes
        protected void onProgressUpdate(Bitmap... result) {
            super.onProgressUpdate(result);
            Bitmap bm = result[0];

            //If tracking color has not been selected then just display bm
            if (!mIsColorSelected) {
                bmImage.setImageBitmap(result[0]);
                mRgba = new Mat(ipCamera.getHeight(), ipCamera.getWidth(), CvType.CV_8UC4);
                Imgproc.circle(mRgba, new Point(mRgba.cols() / 2, mRgba.rows() / 2), 20, new Scalar(0, 255, 0), 1);
                Imgproc.circle(mRgba, new Point(mRgba.cols()/2, mRgba.rows()/2), 2, new Scalar(0, 255, 0), 1);
                Utils.bitmapToMat(result[0],mRgba);
            } else {
                //convert bm from ipcamera to opencv Mat
                mRgba = new Mat(ipCamera.getHeight(), ipCamera.getWidth(), CvType.CV_8UC4);
                Utils.bitmapToMat(result[0], mRgba);

                //Call blob detector process and get contours, and draw contours
                mDetector.process(mRgba);
                List<MatOfPoint> contours = mDetector.getContours();
                Log.e(TAG, "Contours count: " + contours.size());
                Imgproc.drawContours(mRgba, contours, -1, CONTOUR_COLOR);

                //Display selected color on image top corner
                Mat colorLabel = mRgba.submat(4, 68, 4, 68);
                colorLabel.setTo(mBlobColorRgba);
                Mat spectrumLabel = mRgba.submat(4, 4 + mSpectrum.rows(), 70, 70 + mSpectrum.cols());

                centerCoords[0] = mRgba.cols() / 2;
                centerCoords[1] = mRgba.rows() /2;
                //if Bluetooth connected then get contour center and send to EV3
                if(contours.size() > 0){
                    MatOfPoint2f cnt =new MatOfPoint2f(contours.get(0).toArray());
                    Point center = new Point();
                    float[] radius = {0};
                    Imgproc.minEnclosingCircle(cnt, center, radius);
                    blobCoords[0] = (int) Math.round(center.x);
                    blobCoords[1] = (int) Math.round(center.y);
                }else{
                    blobCoords[0] = mRgba.cols() / 2;
                    blobCoords[1] = mRgba.rows() /2;
                }

                blobXText.setText(" blob X: " + blobCoords[0]);
                blobYText.setText(" blob Y: " + blobCoords[1]);

                centerXText.setText(" center X: " + (mRgba.cols() / 2));
                centerYText.setText(" center Y: " + (mRgba.rows() / 2));

                //Draw center target
                Imgproc.circle(mRgba, new Point(mRgba.cols()/2, mRgba.rows()/2), 20, new Scalar(0, 255, 0), 1);
                Imgproc.circle(mRgba, new Point(mRgba.cols()/2, mRgba.rows()/2), 2, new Scalar(0, 255, 0), 1);
                Utils.matToBitmap(mRgba, bm);
                ipCamera.setImageBitmap(bm);
            }
        }

        protected void onPostExecute(Bitmap result) {
            bmImage.setImageBitmap(result);
        }
    }

    private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
                case LoaderCallbackInterface.SUCCESS: {
                    Log.i(TAG, "OpenCV loaded successfully");
                    //mOpenCvCameraView.enableView();
                    ipCamera.setOnTouchListener(MainActivity.this);
                }
                break;
                default: {
                    super.onManagerConnected(status);
                }
                break;
            }
        }
    };

    /**
     * OnTouch Action for ImageView that displays ipCamera frames
     *
     * Used OpenCV Android SDK Samples:
     * retrieved from https://github.com/Itseez/opencv/blob/master/samples/android/color-blob-detection/src/org/opencv/samples/colorblobdetect/ColorBlobDetectionActivity.java
     * on 2016-03-27
     *
     * @param v
     * @param event
     * @return
     */
    public boolean onTouch(View v, MotionEvent event) {
        int cols = mRgba.cols();
        int rows = mRgba.rows();

        int xOffset = (ipCamera.getWidth() - cols) / 2;
        int yOffset = (ipCamera.getHeight() - rows) / 2;

        int x = (int)event.getX() - xOffset;
        int y = (int)event.getY() - yOffset;

        Log.i(TAG, "Touch image coordinates: (" + x + ", " + y + ")");

        if ((x < 0) || (y < 0) || (x > cols) || (y > rows)) return false;

        Rect touchedRect = new Rect();

        touchedRect.x = (x>4) ? x-4 : 0;
        touchedRect.y = (y>4) ? y-4 : 0;

        touchedRect.width = (x+4 < cols) ? x + 4 - touchedRect.x : cols - touchedRect.x;
        touchedRect.height = (y+4 < rows) ? y + 4 - touchedRect.y : rows - touchedRect.y;

        Mat touchedRegionRgba = mRgba.submat(touchedRect);

        Mat touchedRegionHsv = new Mat();
        Imgproc.cvtColor(touchedRegionRgba, touchedRegionHsv, Imgproc.COLOR_RGB2HSV_FULL);

        // Calculate average color of touched region
        mBlobColorHsv = Core.sumElems(touchedRegionHsv);
        int pointCount = touchedRect.width*touchedRect.height;
        for (int i = 0; i < mBlobColorHsv.val.length; i++)
            mBlobColorHsv.val[i] /= pointCount;

        mBlobColorRgba = converScalarHsv2Rgba(mBlobColorHsv);

        Log.i(TAG, "Touched rgba color: (" + mBlobColorRgba.val[0] + ", " + mBlobColorRgba.val[1] +
                ", " + mBlobColorRgba.val[2] + ", " + mBlobColorRgba.val[3] + ")");

        mDetector.setHsvColor(mBlobColorHsv);

        Imgproc.resize(mDetector.getSpectrum(), mSpectrum, SPECTRUM_SIZE);

        mIsColorSelected = true;

        touchedRegionRgba.release();
        touchedRegionHsv.release();

        return false; // don't need subsequent touch events
    }

    private Scalar converScalarHsv2Rgba(Scalar hsvColor) {
        Mat pointMatRgba = new Mat();
        Mat pointMatHsv = new Mat(1, 1, CvType.CV_8UC3, hsvColor);
        Imgproc.cvtColor(pointMatHsv, pointMatRgba, Imgproc.COLOR_HSV2RGB_FULL, 4);

        return new Scalar(pointMatRgba.get(0, 0));
    }

    /**
     * Bluetooth connection thread, Handles reading and writing from bluetooth socket
     * Uses BT_comm class for writing
     */
    private class ConnectedThread extends Thread {
        private final InputStream mmInStream;

        public ConnectedThread(BluetoothSocket socket) {
            InputStream tmpIn = null;

            try {
                tmpIn = socket.getInputStream();
            } catch (IOException e) { }

            mmInStream = tmpIn;
        }

        public void run() {
            byte[] buffer = new byte[256];
            int n;
            int bytes;

            // Keep looping to listen for received messages
            while (btconnected) {
                try {
                    n = mmInStream.read();
                    if(n > 0) {
                        Log.d("BT Thread num received ",String.valueOf(n));
                        handleCommand(n);
                    }

                } catch (IOException e) {
                    break;
                }
            }
        }
        public void handleCommand(int n) {
            try {
                switch (n) {
                    case 1:
                        btComm.writeData(blobCoords[0]);
                        Log.d("BT Blob X", String.valueOf(blobCoords[0]));
                        break;
                    case 2:
                        btComm.writeData(blobCoords[1]);
                        Log.d("BT Blob Y", String.valueOf(blobCoords[1]));
                        break;
                    case 3:
                        btComm.writeData(centerCoords[0]);
                        Log.d("BT center X", String.valueOf(centerCoords[0]));
                        break;
                    case 4:
                        btComm.writeData(centerCoords[1]);
                        Log.d("BT center Y", String.valueOf(centerCoords[0]));
                        break;
                    case 5:
                        //btComm.writeData(-1);
                        Log.d("BT stop", String.valueOf(-1));
                        break;
                    case 6:
                        panTeleop = true;
                        //panRight.setVisibility(View.VISIBLE);
                        //panLeft.setVisibility(View.VISIBLE);
                        //panStop.setVisibility(View.VISIBLE);
                        break;
                    case 7:
                        //panTeleop = false;
                        //panRight.setVisibility(View.GONE);
                        //panLeft.setVisibility(View.GONE);
                        //panStop.setVisibility(View.GONE);
                        break;
                }
            } catch (InterruptedException e) {
                Toast.makeText(getBaseContext(), "Connection Failure", Toast.LENGTH_LONG).show();
                finish();

            }
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
module Data.Edison.Coll.StandardSet (
    -- * Set type
    Set,

    -- * CollX operations
    empty,singleton,fromSeq,insert,insertSeq,union,unionSeq,delete,deleteAll,
    deleteSeq,null,size,member,count,strict,

    -- * Coll operations
    toSeq,lookup,lookupM,lookupAll,lookupWithDefault,fold,fold',
    fold1,fold1',filter,partition,strictWith,structuralInvariant,

    -- * OrdCollX operations
    deleteMin,deleteMax,unsafeInsertMin,unsafeInsertMax,unsafeFromOrdSeq,
    unsafeAppend,filterLT,filterLE,filterGT,filterGE,partitionLT_GE,
    partitionLE_GT,partitionLT_GT,

    -- * OrdColl operations
    minView,minElem,maxView,maxElem,foldr,foldr',foldl,foldl',
    foldr1,foldr1',foldl1,foldl1',toOrdSeq,unsafeMapMonotonic,

    -- * SetX operations
    intersection,difference,symmetricDifference,properSubset,subset,

    -- * Set operations
    fromSeqWith,insertWith,insertSeqWith,unionl,unionr,unionWith,
    unionSeqWith,intersectionWith,

    -- * Documentation
    moduleName
) where

import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)
import qualified Prelude
import qualified Control.Monad.Fail as Fail
import qualified Data.List

import qualified Data.Edison.Coll as C
import qualified Data.Edison.Seq as S
import qualified Data.Edison.Seq.ListSeq as L
import Data.Edison.Coll.Defaults
import Test.QuickCheck

import qualified Data.Set as DS

-- signatures for exported functions
moduleName :: String
empty      :: Set a
singleton  :: a -> Set a
fromSeq    :: (Ord a,S.Sequence seq) => seq a -> Set a
insert     :: Ord a => a -> Set a -> Set a
insertSeq  :: (Ord a,S.Sequence seq) => seq a -> Set a -> Set a
union      :: Ord a => Set a -> Set a -> Set a
unionSeq   :: (Ord a,S.Sequence seq) => seq (Set a) -> Set a
delete     :: Ord a => a -> Set a -> Set a
deleteAll  :: Ord a => a -> Set a -> Set a
deleteSeq  :: (Ord a,S.Sequence seq) => seq a -> Set a -> Set a
null       :: Set a -> Bool
size       :: Set a -> Int
member     :: Ord a => a -> Set a -> Bool
count      :: Ord a => a -> Set a -> Int
strict     :: Ord a => Set a -> Set a

toSeq      :: (Ord a,S.Sequence seq) => Set a -> seq a
lookup     :: Ord a => a -> Set a -> a
lookupM    :: (Ord a, Monad m, Fail.MonadFail m) => a -> Set a -> m a
lookupAll  :: (Ord a,S.Sequence seq) => a -> Set a -> seq a
lookupWithDefault :: Ord a => a -> a -> Set a  -> a
fold       :: (a -> b -> b) -> b -> Set a -> b
fold1      :: (a -> a -> a) -> Set a -> a
fold'      :: (a -> b -> b) -> b -> Set a -> b
fold1'     :: (a -> a -> a) -> Set a -> a
filter     :: Ord a => (a -> Bool) -> Set a -> Set a
partition  :: Ord a => (a -> Bool) -> Set a -> (Set a, Set a)
strictWith :: Ord a => (a -> b) -> Set a -> Set a

deleteMin        :: Ord a => Set a -> Set a
deleteMax        :: Ord a => Set a -> Set a
unsafeInsertMin  :: Ord a => a -> Set a -> Set a
unsafeInsertMax  :: Ord a => a -> Set a -> Set a
unsafeFromOrdSeq :: (Ord a,S.Sequence seq) => seq a -> Set a
unsafeAppend     :: Ord a => Set a -> Set a -> Set a
filterLT         :: Ord a => a -> Set a -> Set a
filterLE         :: Ord a => a -> Set a -> Set a
filterGT         :: Ord a => a -> Set a -> Set a
filterGE         :: Ord a => a -> Set a -> Set a
partitionLT_GE   :: Ord a => a -> Set a -> (Set a, Set a)
partitionLE_GT   :: Ord a => a -> Set a -> (Set a, Set a)
partitionLT_GT   :: Ord a => a -> Set a -> (Set a, Set a)

minView       :: (Ord a, Monad m, Fail.MonadFail m) => Set a -> m (a, Set a)
minElem       :: Set a -> a
maxView       :: (Ord a, Monad m, Fail.MonadFail m) => Set a -> m (a, Set a)
maxElem       :: Set a -> a
foldr         :: (a -> b -> b) -> b -> Set a -> b
foldl         :: (b -> a -> b) -> b -> Set a -> b
foldr1        :: (a -> a -> a) -> Set a -> a
foldl1        :: (a -> a -> a) -> Set a -> a
foldr'        :: (a -> b -> b) -> b -> Set a -> b
foldl'        :: (b -> a -> b) -> b -> Set a -> b
foldr1'       :: (a -> a -> a) -> Set a -> a
foldl1'       :: (a -> a -> a) -> Set a -> a
toOrdSeq      :: (Ord a,S.Sequence seq) => Set a -> seq a

intersection  :: Ord a => Set a -> Set a -> Set a
difference    :: Ord a => Set a -> Set a -> Set a
symmetricDifference :: Ord a => Set a -> Set a -> Set a
properSubset  :: Ord a => Set a -> Set a -> Bool
subset        :: Ord a => Set a -> Set a -> Bool

fromSeqWith   :: (Ord a,S.Sequence seq) => (a -> a -> a) -> seq a -> Set a
insertWith    :: Ord a => (a -> a -> a) -> a -> Set a -> Set a
insertSeqWith :: (Ord a,S.Sequence seq) => (a -> a -> a) -> seq a -> Set a -> Set a
unionl       :: Ord a => Set a -> Set a -> Set a
unionr       :: Ord a => Set a -> Set a -> Set a
unionWith    :: Ord a => (a -> a -> a) -> Set a -> Set a -> Set a
unionSeqWith :: (Ord a,S.Sequence seq) => (a -> a -> a) -> seq (Set a) -> Set a
intersectionWith :: Ord a => (a -> a -> a) -> Set a -> Set a -> Set a
unsafeMapMonotonic :: Ord a => (a -> a) -> Set a -> Set a

moduleName = "Data.Edison.Coll.StandardSet"

type Set = DS.Set

structuralInvariant :: Ord a => Set a -> Bool
structuralInvariant = DS.valid

empty              = DS.empty
singleton          = DS.singleton
fromSeq            = fromSeqUsingFoldr
insert             = DS.insert
insertSeq          = insertSeqUsingUnion
union              = DS.union
unionSeq se        = DS.unions $ S.toList se
delete             = DS.delete
deleteAll          = DS.delete -- by set property
deleteSeq          = deleteSeqUsingDelete
null               = DS.null
size               = DS.size
member             = DS.member
count              = countUsingMember
strict xs          = DS.fold (flip const) () xs `seq` xs

toSeq              = toSeqUsingFold
lookup el set      = DS.findMin (DS.intersection set (DS.singleton el))
lookupM            = lookupMUsingLookupAll
lookupAll el set   = toSeqUsingFold (DS.intersection set (DS.singleton el))
lookupWithDefault  = lookupWithDefaultUsingLookupAll
fold               = DS.fold
fold' f x xs       = L.foldl' (flip f) x (DS.toList xs)
fold1 f set        = let (x,s) = DS.deleteFindMin set in DS.fold f x s
fold1' f xs        = L.foldl1' (flip f) (DS.toList xs)
filter             = DS.filter
partition          = DS.partition
strictWith f xs    = DS.fold (\x z -> f x `seq` z) () xs `seq` xs

deleteMin          = DS.deleteMin
deleteMax          = DS.deleteMax
unsafeInsertMin    = DS.insert
unsafeInsertMax    = DS.insert
unsafeFromOrdSeq   = DS.fromDistinctAscList . S.toList
unsafeAppend       = DS.union
filterLT x         = fst . DS.split x
filterLE x         = DS.filter (<=x)
filterGT x         = snd . DS.split x
filterGE x         = DS.filter (>=x)
partitionLT_GE x   = DS.partition (<x)
partitionLE_GT x   = DS.partition (<=x)
partitionLT_GT     = DS.split

minView set        = if DS.null set
                        then fail (moduleName ++ ".minView: failed")
                        else return (DS.deleteFindMin set)
minElem            = DS.findMin

maxView set        = if DS.null set
                        then fail (moduleName ++ ".maxView: failed")
                        else return (DS.deleteFindMax set)
maxElem            = DS.findMax

foldr   f x set     = L.foldr   f x (DS.toAscList set)
foldr'  f x set     = L.foldr'  f x (DS.toAscList set)
foldr1  f   set     = L.foldr1  f   (DS.toAscList set)
foldr1' f   set     = L.foldr1' f   (DS.toAscList set)
foldl   f x set     = L.foldl   f x (DS.toAscList set)
foldl'  f x set     = L.foldl'  f x (DS.toAscList set)
foldl1  f   set     = L.foldl1  f   (DS.toAscList set)
foldl1' f   set     = L.foldl1' f   (DS.toAscList set)

toOrdSeq           = S.fromList . DS.toAscList

intersection       = DS.intersection
difference         = DS.difference
symmetricDifference = symmetricDifferenceUsingDifference
properSubset       = DS.isProperSubsetOf
subset             = DS.isSubsetOf

fromSeqWith        = fromSeqWithUsingInsertWith
insertWith f x set = case lookupM x set of
                        Nothing -> DS.insert x set
                        Just x' -> DS.insert (f x x') set
insertSeqWith      = insertSeqWithUsingInsertWith
unionl             = DS.union
unionr             = flip DS.union
unionWith          = unionWithUsingOrdLists
unionSeqWith       = unionSeqWithUsingReducer
intersectionWith   = intersectionWithUsingOrdLists
unsafeMapMonotonic = DS.mapMonotonic

instance Ord a => C.CollX (Set a) a where
  {singleton = singleton; fromSeq = fromSeq; insert = insert;
   insertSeq = insertSeq; unionSeq = unionSeq;
   delete = delete; deleteAll = deleteAll; deleteSeq = deleteSeq;
   null = null; size = size; member = member; count = count;
   strict = strict;
   structuralInvariant = structuralInvariant; instanceName _ = moduleName}

instance Ord a => C.OrdCollX (Set a) a where
  {deleteMin = deleteMin; deleteMax = deleteMax;
   unsafeInsertMin = unsafeInsertMin; unsafeInsertMax = unsafeInsertMax;
   unsafeFromOrdSeq = unsafeFromOrdSeq; unsafeAppend = unsafeAppend;
   filterLT = filterLT; filterLE = filterLE; filterGT = filterGT;
   filterGE = filterGE; partitionLT_GE = partitionLT_GE;
   partitionLE_GT = partitionLE_GT; partitionLT_GT = partitionLT_GT}

instance Ord a => C.Coll (Set a) a where
  {toSeq = toSeq; lookup = lookup; lookupM = lookupM;
   lookupAll = lookupAll; lookupWithDefault = lookupWithDefault;
   fold = fold; fold' = fold'; fold1 = fold1; fold1' = fold1';
   filter = filter; partition = partition; strictWith = strictWith}

instance Ord a => C.OrdColl (Set a) a where
  {minView = minView; minElem = minElem; maxView = maxView;
   maxElem = maxElem; foldr = foldr; foldr' = foldr'; foldl = foldl;
   foldl' = foldl'; foldr1 = foldr1; foldr1' = foldr1';
   foldl1 = foldl1; foldl1' = foldl1'; toOrdSeq = toOrdSeq;
   unsafeMapMonotonic = unsafeMapMonotonic }

instance Ord a => C.SetX (Set a) a where
  {intersection = intersection; difference = difference;
   symmetricDifference = symmetricDifference;
   properSubset = properSubset; subset = subset}

instance Ord a => C.Set (Set a) a where
  {fromSeqWith = fromSeqWith; insertWith = insertWith;
   insertSeqWith = insertSeqWith; unionl = unionl; unionr = unionr;
   unionWith = unionWith; unionSeqWith = unionSeqWith;
   intersectionWith = intersectionWith}

instance Ord a => C.OrdSetX (Set a) a

instance Ord a => C.OrdSet (Set a) a


text:
class ImageReaderFactory
{
public:
    static IImageReader * createImageReader(const std::string & filesuffix);
};

#endif // IMAGEREADERFACTORY_H


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2010-2017 Evolveum and contributors
  ~
  ~ This work is dual-licensed under the Apache License 2.0
  ~ and European Union Public License. See LICENSE file for details.
  -->
<c:object oid="007" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://midpoint.evolveum.com/xml/ns/public/common/common-3'
    xmlns:c='http://midpoint.evolveum.com/xml/ns/public/common/common-3'
    xmlns:ldap="http://midpoint.evolveum.com/xml/ns/experimental/ldap-resource-1.xsd" xmlns:unix="http://midpoint.evolveum.com/xml/ns/experimental/unix-resource-1.xsd"
    xmlns:mi6="http://mi6.gov.uk/schema/" xmlns:ics="http://midpoint.evolveum.com/xml/ns/public/resource/idconnector/resource-schema-3.xsd"
    xmlns:icc="http://midpoint.evolveum.com/xml/ns/public/resource/idconnector/configuration-1.xsd"
    xmlns:iccldap="http://midpoint.evolveum.com/xml/ns/resource/idconnector/bundle/org.identityconnectors.ldap/org.identityconnectors.ldap.LdapConnector/1.0.x"
    xmlns:opendse="http://midpoint.evolveum.com/schema/resources/instances/ldap/embeddedJUnitOpenDS" xmlns:opendsl="http://midpoint.evolveum.com/schema/resources/instances/ldap/localhostOpenDS"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="c:AccountShadowType"
    xsi:schemaLocation='http://www.w3.org/2001/XMLSchema ../standard/XMLSchema.xsd
   http://midpoint.evolveum.com/xml/ns/public/common/common-3 ../ns/public/common/common-3.xsd

   http://midpoint.evolveum.com/xml/ns/public/resource/idconnector/resource-schema-3.xsd ../ns/public/resource/idconnector/resource-schema-3.xsd
   http://midpoint.evolveum.com/xml/ns/public/resource/idconnector/configuration-1.xsd ../ns/public/resource/idconnector/configuration-1.xsd'>
    <c:name>bond new</c:name>
    <resource oid="333">
        <c:name>ds1</c:name>
        <type>http://midpoint.evolveum.com/xml/ns/resource/ldap/1#LdapResource</type>
        <namespace>http://mi6.gov.uk/schema/</namespace>
        <schema>
            <xsd:schema targetNamespace="http://mi6.gov.uk/schema/">
                <xsd:import namespace="http://midpoint.evolveum.com/xml/ns/resource/ldap/1#" />

                <xsd:complexType name="Mi6PersonObjectClass">
                    <xsd:annotation>
                        <xsd:appinfo>
                            <r:identifier ref="ldap:dn" />
                            <r:displayName ref="ldap:uid" />
                            <r:nativeObjectClass>mi6Person</r:nativeObjectClass>
                        </xsd:appinfo>
                    </xsd:annotation>
                    <xsd:complexContent>
                        <xsd:extension base="ldap:InetOrgPersonObjectClass">
                            <xsd:sequence>
                                <xsd:element name="mi6Licence" type="xsd:string">
                                    <xsd:annotation>
                                        <xsd:appinfo>
                                            <c:name>Agent's Licence</c:name>
                                            <c:access>read</c:access>
                                        </xsd:appinfo>
                                    </xsd:annotation>
                                </xsd:element>
                            </xsd:sequence>
                        </xsd:extension>
                    </xsd:complexContent>
                </xsd:complexType>
            </xsd:schema>
        </schema>
        <c:schemaHandling>
        </c:schemaHandling>
    </resource>
    <objectClass>mi6:Mi6PersonObjectClass</objectClass>
    <attributes>
        <ldap:dn>uid=bond,o=mi6</ldap:dn>
        <ldap:uid>bond</ldap:uid>
        <ldap:cn>James Bond</ldap:cn>
        <ldap:o>mi6</ldap:o>
        <mi6:mi6Licence>to kill</mi6:mi6Licence>
    </attributes>
    <c:credentials>
        <c:password>
            <c:base64>asdf</c:base64>
        </c:password>
    </c:credentials>
</c:object>


text:
$(document).ready(function (){

    init_nav_bar(jQuery);
    init_back_to_top(jQuery);
    init_youtube_fix_ie(jQuery);
    init_mobile_menu_button(jQuery);
    init_browser_detect(jQuery);

});

function init_nav_bar($) {
    var w = $(window),
        n = $('#nav'),
        c = 'alt';

    var has_class = false;

    w.scroll(function() {
        var s = w.scrollTop();
        if ( 0 < s ) {
            if ( !has_class )
                on();
        } else {
            if ( has_class )
                off();
        }
    });

    function on() {
        n.addClass(c);
        has_class = true;
    }

    function off() {
        n.removeClass(c);
        has_class = false;
    }
}

function init_back_to_top($) {
    $('.back-to-top').click(function(e) {
        e.preventDefault();
        $('html,body').animate({
            scrollTop: 0
        },{
            duration: 500,
            done: function() {
                // Hack for Windows Phone
                setTimeout(function() {
                    window.scrollTo(0,0);
                },550);
            }
        });
    });
}

function init_youtube_fix_ie($) {
    $('iframe').each(function(){
        var url = $(this).attr("src");
        $(this).attr("src",url+"&wmode=transparent");
    });
}

function init_mobile_menu_button($) {
    $('#mobile-menu-button').on('click',function(e) {
        e.preventDefault();
        $('.mobile-menu-slide').toggleClass('slide-in');
    });
}

/*
 * Seemed like a bit of overkill to make a jQuery plugin for this, so
 * I'm just passing in the selector.
 */
function init_list_load_more($,selector,num) {
    var i = 0,
        l = num || 1,
        to_show = num || 1,
        items = $('ul.list li');

    function show() {
        for ( i; i < l; i++ ) {
            items.eq(i).fadeIn('fast');
        }
        l += to_show;
        if ( i >= items.length ) {
            selector.fadeOut();
        }
    }

    selector.on('click',function() {
        show();
    });

    return show();
}

function is_responsive_size(size) {
    var selector = '';
    switch ( size ) {
        case 'xs':
            selector = '.visible-xs-block';
            break;
        case 'sm':
            selector = '.visible-sm-block';
            break;
        case 'md':
            selector = '.visible-md-block';
            break;
        case 'lg':
            selector = '.visible-lg-block';
            break;
    }
    if ( 'none' != $(selector).css('display') ) {
        return true;
    } else {
        return false;
    }

}

var is_xs = function() {
    return is_responsive_size('xs');
}

var is_sm = function() {
    return is_responsive_size('sm');
}

var is_md = function() {
    return is_responsive_size('md');
}

var is_lg = function() {
    return is_responsive_size('lg');
}

function init_browser_detect($) {
    /*
     * Currently only used to detect IE Mobile. Might use for IE10...
     */
    function detect() {
        if ( navigator.userAgent.match(/Windows Phone/i) ) {
            $('body').addClass('ie-mobile');
        }
    }

    return detect();
}