/*
Awesome Template
http://www.templatemo.com/preview/templatemo_450_awesome
*/

body
	{
 		background: #fff;
 		color: #333;
		font-family: "Nunito Sans","Open Sans", sans-serif;
		font-size: 16px;
		font-weight: 500;
		overflow-x: hidden; /* prevent horizontal scrollbar from appearing */
	}
section 
	{
		margin-bottom: 30px;
	}
.container 
	{
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

.row 
	{
		margin-left: 0;
		margin-right: 0;
		padding-left: 24px;
		padding-right: 24px;
		width: 100%;
	}
.spacer 
	{
		height: 2px;
		width: 50%;
		margin: 24px auto;
		background-color:rgba(12, 157, 203, 1.0);
	}
a 
	{
		color: #0C9DCB;
	}
	
a:hover 
	{
		color: #0FF;
	}
a:focus {
	outline: thin solid;
	outline: 5px auto #CB7209;
	outline-offset: -2px;
}

.btn-default 
	{
		color: #fff;
		background-color: #0C9DCB;
		border: 2px solid #0C9DCB;
		display: inline-block;
		padding: 6px 12px;
		margin-bottom: 0;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.42857143;
		text-align: center;
		white-space: nowrap;
		vertical-align: middle;
		-ms-touch-action: manipulation;
		touch-action: manipulation;
		cursor: pointer;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		border-radius: 4px;
	}
.btn-default:hover
	{
		color: #fff;
		background: rgba(12, 157, 203, 0.6);
	}
.btn-default:active, .btn-default:focus
	{
		background: rgba(12, 157, 203, 0.8);
    	border-color: #CB7209;
		color: #fff;
	}
.btn-default:focus, .btn-default:active, .btn-default:active:focus
	{
		outline: none;
	}
.btn-default.btn-secondary
	{
		color: #0C9DCB;
		background-color: #fff;
		border-color: #0C9DCB;
	}

/* start h1 */
h1
	{
		font-size: 28px;
		font-weight: normal;
		margin: 0;
		padding-bottom: 24px;
	}
/* end h1 */

/* start h2 */
h2 
	{
		font-size: 24px;
		font-weight: normal;
		line-height: 30px;
		margin: 0;
	}
.navbar-brand h2
	{
		text-align: left;
		font-size: 24px;
	}	
#slogan h2 {
	text-align: left;
	max-width: 400px;
}
/* end h2 */

/* start h3 */
h3 
	{
		font-weight: normal;
		line-height: 22px;
		margin: 0;
		text-align: left;
		font-size: 18px;
	}
#services h3, #about h3
	{
		padding-top: 12px;
	}	
/* end h3 */

/* start preloader */
.preloader
	{
		position: fixed;
  		top: 0;
  		left: 0;
  		width: 100%;
  		height: 100%;
  		z-index: 99999;
  		display: -webkit-box;
  		display: -webkit-flex;
  		display: -ms-flexbox;
  		display: flex;
  		-webkit-flex-flow: row nowrap;
  		    -ms-flex-flow: row nowrap;
  		        flex-flow: row nowrap;
  		-webkit-box-pack: center;
  		-webkit-justify-content: center;
  		    -ms-flex-pack: center;
  		        justify-content: center;
  		-webkit-box-align: center;
  		-webkit-align-items: center;
  		    -ms-flex-align: center;
  		        align-items: center;
  		background: none repeat scroll 0 0 #ffffff;
	}
.sk-spinner-wave.sk-spinner 
	{
  		width: 50px;
  		height: 30px;
  		text-align: center;
  		font-size: 10px; 
  	}
.sk-spinner-wave div 
	{
  		background-color: #333;
  		height: 100%;
  		width: 6px;
  		display: inline-block;
         -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
                 animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
         
    }
.sk-spinner-wave .sk-rect2 
	{
          -webkit-animation-delay: -1.1s;
                  animation-delay: -1.1s; 
    }
.sk-spinner-wave .sk-rect3 
	{
          -webkit-animation-delay: -1s;
                  animation-delay: -1s; 
     }
.sk-spinner-wave .sk-rect4 
	{
          -webkit-animation-delay: -0.9s;
                  animation-delay: -0.9s;
     }
.sk-spinner-wave .sk-rect5 
	{
          -webkit-animation-delay: -0.8s;
                  animation-delay: -0.8s; 
     }

@-webkit-keyframes sk-waveStretchDelay {
  0%, 40%, 100% {
            -webkit-transform: scaleY(0.4);
                    transform: scaleY(0.4); }

  20% {
            -webkit-transform: scaleY(1);
                    transform: scaleY(1); } }

@keyframes sk-waveStretchDelay {
  0%, 40%, 100% {
            -webkit-transform: scaleY(0.4);
                    transform: scaleY(0.4); }

  20% {
            -webkit-transform: scaleY(1);
                    transform: scaleY(1); } }
/* end preloader */

/* start nagivation */
.navbar-default
	{
		background: rgba(12, 157, 203, 1.0);
		border: none;
		box-shadow: none;
		margin: 0 !important;
	}
.navbar .container 
	{
		background: #fff;
		width: auto;
		padding-right: 0;
		padding-left: 24px;
		margin-right: 0;
		margin-left: 0;
		display: flex;
		flex-direction: row;
		justify-content: left;
	}
.navbar .navbar-header-row 
	{
		display: flex;
		flex-direction: row;
		justify-content: left;
		align-items: center;
		height: 96px;
	}
.navbar .navbar-header-row img
{
	width: 52px;
}
.navbar-default .navbar-brand
	{
		background: #fff;
		font-weight: 500;
		font-size: 24px;
		min-width: 220px;
		height: 96px;
		padding: 24px 0 0 6px;
		float: none;
	}
.navbar .navbar-brand a
	{
		color: #333;
	}
.navbar .hamburger-button
	{
		display: none;
	}
.navbar .navbar-menu
	{
		background: transparent;
		display:flex;
		align-items: center;
	}
.navbar-default .navbar-nav
	{
		margin: 0px;
	}
.navbar-default .navbar-menu .navbar-nav li a
	{
		font-weight: normal;
		font-size: 16px;
		color: #333;
		border-radius: 4px;
	}
.navbar-default .navbar-menu .navbar-nav li a:hover
	{
		background: rgba(12, 157, 203, 0.6);
		color: #fff;
	}
.navbar-toggle 
	{
		border: 0;
	}
.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover 
	{
		background-color: rgba(12, 157, 203, 1.0)
	}
.navbar-default .navbar-toggle .icon-bar {
		background-color: #fff;
	}
.navbar-default .navbar-toggle:focus .icon-bar, .navbar-default .navbar-toggle:hover .icon-bar {
		background-color: #fff;
	}
.templatemo-nav 
	{
		border-radius: 0;	
		width: 100%;
		height: 96px;
		z-index: 1000;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
	}
.sticky 
	{	
		position: fixed;
		left: 0;
		top: 0;	
	}
/* end navigation */

/* start sections */
#home:focus, #services:focus, #portfolio:focus, #contact:focus
	{
		outline: none;
		border: none;
	}
#stats h3 
	{
		padding: 12px 10%;
		background-color: rgba(12, 157, 203, 1.0);
		color: #ffffff;
	}
/* end sections */

/* start home */
#home
	{
		padding-top: 96px;
		display: flex;
		flex-direction: column;
	}
#home div.container
	{
		margin-top:24px;
		margin-left: 0;
		margin-right: 0;
	}
#home .btn
	{
		background: transparent;
		border-radius: 4px;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		margin-top: 20px;
		width: 180px;
		height: 60px;
		padding-top: 18px;
		-webkit-transition: all 0.4s ease-in-out;
		        transition: all 0.4s ease-in-out;
	}
#home .btn:hover
	{
		background: #28a7e9;
		border-color: transparent;
	}
.element 
	{
		height: 60px;
		font-size: 16px;
	}
#slogan 
	{
		background: #CB7209;
		width: 100%;
		display: flex;
		justify-content: flex-start;
		padding-left: 48px;
	}
#slogan .row 
	{
		background: #fff;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: left;
		padding-bottom: 0;
		overflow-y: hidden;
	}
#slogan img 
	{
		padding-right: 24px;
		width: 300px;
	}
#slogan img.collage
	{
		padding-right: 24px;
		width: 400px;
	}
.greeting h2 {
	margin-right: 24px;
	min-width: 270px;
}

/* end home */

/* start services */
#service .col-md-4
	{
		padding: 40px;
		-webkit-transition: all 0.4s ease-in-out;
		        transition: all 0.4s ease-in-out;
	}
#service .col-md-4:hover
	{
		background: #505050;
	}
#service .active
	{
		background: #505050;
		padding: 40px;
	}
#service .fa
	{
		border: 1px solid #fff;
		border-radius: 4px;
		color: #fff;
		font-size: 50px;
		width: 100px;
		height: 100px;
		line-height: 100px;
		text-align: center;
	}
#service h4
	{
		color: #28a7e9;
		font-weight: 600;
		padding-top: 10px;
		padding-bottom: 14px;
	}
#services .row
	{
		display: flex;
		flex-direction: column;
	}
.service-grid 
	{
		display: flex;
		flex-direction: row;
		justify-content:left;
		flex-wrap: wrap;
	}
.service-grid .service-block  
	{
		background-color: rgba(225, 248, 255, 0.96);
		border-radius: 4px;
		padding: 12px;
		margin: 12px 12px 0;
		width: 20%;
		min-width: 200px;
	}
/* end service */

/* start about */
#about .row 
	{
		display: flex;
		flex-direction: column;
		padding-bottom: 0;
	}
.about-grid
	{
		display: flex;
		flex-direction: row;
		justify-content:left;
		flex-wrap: wrap;
	}

.about-grid .about-block
	{
		padding: 12px;
		margin: 0;
		margin-right: 24px;
		width: 50%;
	}
.about-grid .about-block.image 
	{
		background-image: url("../images/portfolio-img2.webp");
		height: 300px;
		background-position: center; 
		background-repeat: no-repeat; 
		background-size: cover; 
	}
.about-block.principal
	{
		background-image: url("../images/me2023_web.webp");
		background-position: top; 
		background-repeat: no-repeat; 
		background-size: cover; 
		width: 30%;
		margin-top: 12px;
}
.about-grid .about-block p.caption 
	{
		text-align: right;
	}

.about-grid ol 
	{
		padding-inline-start: 18px;
	}
	
	
/* end service */

/* start portfolio */
#portfolio .row 
	{
		display: flex;
		flex-direction: column;
	}
.portfolio-grid 
	{
		display: flex;
		flex-direction: row;
		justify-content:left;
		flex-wrap: wrap;
		padding-top: 24px;
	}

.portfolio-thumb
	{
		overflow: hidden;
		padding: 0;
		margin: 0 24px 24px;
		width: 40%;
	}

#portfolio-overlay1, #portfolio-overlay2, #portfolio-overlay3, #portfolio-overlay4 
	{
		position: fixed;
		display: none;
		width: 100%;
		overflow: scroll;
		top: 96px;
		left: 0;
		right: 0;
		bottom: 0;
		background-color:#fff;
		border-top: 1px solid #0C9DCB;
		z-index: 2;
		cursor: pointer;	
		margin: 0 auto 0 auto;
	}
	.project-header 
	{
		display: flex;
    	justify-content: space-between;
		align-items: center;
		position: fixed;
		height: 60px;
		width: 100%;
		background-color: #fff;
		padding: 0 48px 0 0;
	}
	.project-header .close 
	{
		opacity: 1.0;
	}
	.project-story {
		margin-top: 60px;
		display: flex;
	}
	.project-story .story-text 
	{
		padding-right: 24px;
		width: 50%;
	}
	.project-story .story-text h2
	{
		margin-bottom: 12px;
	}
	.project-story .story-images
	{
		width:50%;
	}
	.project-story img 
	{
		width: 100%;
		border: 1px solid rgba(203,114,9,0.4);
		margin-bottom: 12px;
	}
	.mobile-examples img 
	{
		width: 40%;
		border: 1px solid rgba(203, 114, 9, 0.4);
		margin-right:12px;
	}
	.project-story h3 {
		padding-bottom: 12px;
	}
	.project-story .story-images div {
		padding-bottom: 24px;
	}

/* end portfolio */

/* start footer */
footer 
	{
		background: #0C9DCB;
		color: #fff;
		padding: 18px;
	}
footer .footer-block
	{
		padding: 0 12px;
		margin: 0;
		margin-right: 24px;
		width: auto;
	}
footer .footer-block p
	{
		font-weight: 400;
	}
footer .container
	{
		background: rgba(12, 157, 203, 1.0);
		color: #fff;
	}
footer .container .row {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	padding: 24px;
}
footer .container .row:before, footer .container .row:after {
    display: none;
}

footer .contact {
    width: 550px;
}

footer .form-control
	{
		border: 2px solid #fff;
		border-radius: 4px;
	}
footer .form-control:focus 
	{
		border-color: #CB7209;
	}
footer .contact label
	{
		font-weight: 500;
		width: 100%;
	}
footer .contact input
	{
		height: 50px;
	}
footer .contact textarea#message 
	{
		height: 150px;
	}
footer .contact button[type="submit"]
	{
		background: #fff;
		color: #0C9DCB;
		-webkit-transition: all 0.4s ease-in-out;
		        transition: all 0.4s ease-in-out;
		margin-top: 12px;
	}
footer .contact button[type="submit"]:hover
	{
		background: transparent;
		color: #fff;
	}

/* end footer */

/* protected portfolio */
#top.portfolio .navbar-default
	{
		background: rgba(255,255,255,0.9);
		border: none;
		box-shadow: none;
		margin: 0 !important;
	}
#top.portfolio .navbar-default .container {
		align-items: center;
		margin-right: 24px;
	}
#top.portfolio .navbar:before, #top.portfolio .container:before, #top.portfolio .navbar:after, #top.portfolio .container:after 
	{
		display: none;
	}
#top.portfolio #portfolio 
	{
		padding-top: 96px;
		display: flex;
		flex-direction: column;
		padding-bottom: 24px;
	}
#top.portfolio #portfolio div.container
	{
		margin-top:24px;
		margin-left: 0;
		margin-right: 0;
	}

/* start 1070 media queries */
@media only screen and ( max-width: 1070px ) {
	#slogan img.business-image {
		visibility: hidden;
	}
} 

/* start 980 media queries */
@media only screen and ( max-width: 980px ) {
	#team .team-wrapper
		{
			margin-top: 40px;
		}
	.navbar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand 
		{
			margin-left: 0;
		}
	.service-grid .service-block 
		{
			width: 40%;
		}
	#slogan img.business-image {
		visibility: hidden;
	}
	
}
/* end 980 media queries */

@media (min-width: 768px) {
    .navbar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand {
        margin-left: 0;
    }
	.navbar-right {
		margin-right: 0; 
	}
}

/* start 767 media queries */
@media only screen and ( max-width: 767px ) {
	#home h1
	{
		font-size: 28px;
	}

	.templatemo-nav {
		position: fixed;
    	top: 0;
	}
	header {
		margin-top: 70px;
	}
	header .social-icon {
		text-align: left;
	}
	.navbar .container 
	{
		width: 100%;
	}
	.navbar .navbar-header-row 
	{
		display: flex;
		flex-direction: row;
		justify-content: left;
		align-items: center;
		width: 100%;
	}
	.navbar .hamburger-button
	{
		display: flex;
		align-items: center;
		justify-content: center;
		min-width:96px;
		background: rgba(12, 157, 203, 1.0);
	}
	.navbar-default .navbar-toggle {
		margin-top: 15px;
		margin-left: 24px;
	}
	.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:active  {
		background-color: rgba(255,255,255, 0.3);
	}
    .navbar-collapse {
        background: rgba(255, 255, 255, 0.9);
        position: absolute;
        top: 96px;
        right: 0;
    }
	.navbar-default .navbar-collapse, .navbar-default .navbar-form {
		width: 96px;
        background: rgba(225, 248, 255, 0.9);
        border: 1px solid rgba(12, 157, 203, 1.0);
        padding: 10px;
	}
	.container>.navbar-collapse, .container>.navbar-header {
		margin-right: 0; 
		margin-left: 0; 
	}
	.navbar-default .navbar-nav li a {
		height: 30px;
		padding: 0;
		line-height: 30px;
		text-align: center;
	}
	#slogan .row {
        flex-direction: column;
        align-items: flex-start;
        justify-content: left;
        padding-left: 24px;
        padding-right: 24px;
	}
	#slogan h1 {
        padding: 24px 0;
    }
	#slogan h2 {
		font-size: 24px;
		line-height: 30px;
		margin-top:24px;
	}
	#slogan img.collage {
		padding-right: 0;
		width: 340px;
	}
	.service-grid .service-block {
		width: 100%;
		height: auto;
	}

	#about 
	{
		padding-bottom: 0;
	}
	.about-grid .about-block.image, .about-grid .about-block.business-image
	{
		height: 0;
		visibility: hidden !important;
		padding-bottom: 0;
	}
	#slogan .business-image {
		display: none;
	}
	footer .container .row {
		flex-direction: column;
		justify-content:left;
		padding: 24px;
	}
	footer .container .left-column.contact
	{
		margin-bottom:24px;
		width: 100%;
	}
	.project-story 
	{
		display: flex;
		flex-direction: column;
	}
	.project-story .story-text 
	{
		width: 100%;
	}
	.project-story .story-images 
	{
		width: 70%;
		margin: 0 auto;
	}
}
/* end 767 media queries */

@media only screen and ( max-width: 600px ) {
	#slogan {
		height: auto;
	}
	#slogan h1 {
		padding: 24px 0;
	}
	#slogan .row {
		flex-direction: column;
		align-items: flex-start;
		justify-content: left;
		padding-left: 24px;
		padding-right: 24px;
	}
	.service-grid .service-block 
		{
			width: 100%;
			height: auto;
		}
	#about .about-grid
		{
			justify-content: left;
		}
	.about-grid .about-block
		{
			margin-top: 0;
			margin-bottom: 0;
			margin-right: 18px;
    		width: 50%;
		}
		.about-block.principal {
			width: 40%;
		}
	.navbar .navbar-header-row 
		{
			display: flex;
			flex-direction: row;
			justify-content: left;
			align-items: center;
			width: 100%;
		}
	.navbar .navbar-brand h2 
		{
			font-size: 22px;
		}
	#portfolio .portfolio-thumb 
		{
			width: 90%;
		}
	footer .container .row 
		{
			flex-direction: column;
			justify-content:left;
			padding: 24px;
		}
	footer .container .left-column.contact
		{
			margin-bottom:24px;
			width: 100%;
		}
	footer .contact {
			width: 100%;
		}
		
		
}

/* start 440 media queries */
@media only screen and ( max-width: 440px ) {
	#slogan img.collage {
		padding-right: 0;
		width: 100%;
	}
	.navbar .navbar-brand 
	{
		width: 200px;
		min-width: 200px;
	}
	#about .about-grid {
        flex-direction: column-reverse;
    }
	.about-grid .about-block {
        width: 100%;
    }
	.about-block.principal {
        margin-top: 12px;
		min-height: 300px;
    }
}

/* start 360 media queries */
@media only screen and ( max-width: 360px ) {
	header .social-icon
		{
			text-align: left;
		}
	#home h1
		{
			font-size: 28px;
		}
	#slogan .row 
		{
			flex-direction: column;
			justify-content: left;
			padding-left: 24px;
			padding-right: 24px;
		}
	#slogan img.collage {
			padding-right: 0;
			width: 100%;
		}
	
	.navbar .navbar-header-row 
		{
			display: flex;
			flex-direction: row;
			justify-content: space-between;
			align-items: center;
			width: 100%;
		}
	.navbar .navbar-brand 
		{
			width: 200px;
			min-width: 200px;
		}
	.navbar .navbar-brand h2 
		{
			font-size: 22px;
		}
}
/* end 360 media queries */