/*!
 * Start Bootstrap - Stylish Portfolio Bootstrap Theme (http://startbootstrap.com)
 * Code licensed under the Apache License v2.0.
 * For details, see http://www.apache.org/licenses/LICENSE-2.0.
 */

/* Global Styles */

html,
body {
    width: 100%;
    height: 100%;
}

body {
    font-family: "Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;
}

.text-vertical-center {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.text-vertical-center h1 {
    margin: 0;
    padding: 0;
    font-size: 4.5em;
    font-weight: 700;
}

/* Custom Button Styles */

.btn-dark {
    border-radius: 0;
    color: #fff;
    background-color: rgba(0,0,0,0.4);
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
    color: #fff;
    background-color: rgba(0,0,0,0.7);
}

.btn-light {
    border-radius: 0;
    color: #333;
    background-color: rgb(255,255,255);
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
    color: #333;
    background-color: rgba(255,255,255,0.8);
}

/* Custom Horizontal Rule */

hr.small {
    max-width: 100px;
}

/*---- about ----*/
.head-section h3{
    color:#6F6F6F;
    text-transform:uppercase;
    font-style:italic;
    font-size:3em;
}
.head-section h3 span{
    font-weight:300;
    margin-right:0.5em;
}
.about-grids{
    padding:1.5em 0 0 0;
}
.about-grid{
    margin:0;
    padding:0;
}
.about-grid1{
    background:#428BCA;
}
.about-grid-pic img{
    width:100%;
}
.about-grid-info{
    padding: 2.3em 2.5em;
}
.about-grid-info h4{
    font-size: 1.5em;
    font-weight: 400;
    border-bottom: 1px solid #FFF;
    padding: 0 0 0.5em 0;
}
.about-grid-info h4 a{
    color:#FFF;
    text-transform:uppercase;
    text-decoration:none;
}
.about-grid-info p{
    color:#FFFFFF;
    font-size: 1.0em;;
    line-height:1.7em;
    font-weight:100;
}
.about-grid2{
    background:#428BCA;
}

/* Side Menu */

#sidebar-wrapper {
    z-index: 1000;
    position: fixed;
    right: 0;
    width: 250px;
    height: 100%;
    margin-right: -250px;
    overflow-y: auto;
    background: #222;
    -webkit-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    -ms-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.sidebar-nav {
    position: absolute;
    top: 0;
    width: 250px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-nav li {
    text-indent: 20px;
    line-height: 40px;
}

.sidebar-nav li a {
    display: block;
    text-decoration: none;
    color: #999;
}

.sidebar-nav li a:hover {
    text-decoration: none;
    color: #fff;
    background: rgba(255,255,255,0.2);
}

.sidebar-nav li a:active,
.sidebar-nav li a:focus {
    text-decoration: none;
}

.sidebar-nav > .sidebar-brand {
    height: 55px;
    font-size: 18px;
    line-height: 55px;
}

.sidebar-nav > .sidebar-brand a {
    color: #999;
}

.sidebar-nav > .sidebar-brand a:hover {
    color: #fff;
    background: none;
}

#menu-toggle {
    z-index: 1;
    position: fixed;
    top: 0;
    right: 0;
}

#sidebar-wrapper.active {
    right: 250px;
    width: 250px;
    -webkit-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    -ms-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

.toggle {
    margin: 5px 5px 0 0;
}

/* Header */

.header {
    display: table;
    position: relative;
    width: 100%;
    height: 100%;
    background: url(../img/bg.jpg) no-repeat center center scroll;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}

/* About */

.about {
    padding: 50px 0;
}

/* Services */

.services {
    padding: 50px 0;
}

.service-item {
    margin-bottom: 30px;
}

/* Callout */

.callout {
    display: table;
    width: 100%;
    height: 400px;
    color: #fff;
    background: url(../img/callout.jpg) no-repeat center center scroll;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}

/* Portfolio */

.portfolio {
    padding: 50px 0;
}

.portfolio-item {
    margin-bottom: 30px;
}

.img-portfolio {
    margin: 0 auto;
}

.img-portfolio:hover {
    opacity: 0.8;
}

/* Call to Action */

.call-to-action {
    padding: 50px 0;
}

.call-to-action .btn {
    margin: 10px;
}

/* Map */

.map {
    height: 500px;
}

@media(max-width:768px) {
    .map {
        height: 75%;
    }

    #portfoliolist .portfolio {
        width: 50%;
    }
    .caption p {
        height: 89px;
        overflow: hidden;
    }

}

/*---- responsive-design ----*/
@media(max-width:1366px){
    .about-grid-info {
        padding: 1.2em 2.5em;
    }
    .map {
        height: 75%;
    }
}
@media(max-width:1280px){
    .about-grid-info {
        padding: 0.5em 1.34em;
    }
    .b-animate-go:hover .b-from-left {
        padding: 0.5em 0 0 0;
    }
    .caption {
        border: 8px solid #FFF;
        padding: 0.2em 1em;
    }
    .map {
        height: 75%;
    }
}
@media(max-width:1024px){
    .about-grid-info {
        padding: 0.5em 1.34em;
    }
    .b-animate-go:hover .b-from-left {
        padding: 0.5em 0 0 0;
    }
    .caption {
        border: 8px solid #FFF;
        padding: 0.2em 1em;
    }
    .map {
        height: 75%;
    }
}
@media(max-width:768px){
    .about-grid-info {
        padding: 0.5em 1.34em;
    }
    .b-animate-go:hover .b-from-left {
        padding: 0.5em 0 0 0;
    }
    .caption {
        border: 8px solid #FFF;
        padding: 0.2em 1em;
    }
    .banner-info h1 span {
        font-size: 0.5em;
    }
    .banner-info h1 label {
        font-size: 0.73em;
    }
    .banner-info h1 {
        padding: 1.5em 0;
    }
    .top-grids {
        padding: 2em 0;
    }
    .banner-grid {
        padding: 1.5em 2em 1.5em 2em;
    }
    .top-grid {
        margin: 0 0 1.5em;
    }
    .blog-grid-left {
        background:none;
        float: none;
        width: 100%;
        margin: 0 0 1em 0;
    }
    .blog-grids-right {
        float: none;
        width: 100%;
    }
    .blog-grid-left {
        float: none;
        width: 100%;
        margin:0 0 1em 0;
    }
    .blog-grid-left-big-info {
        float: none;
        width: 100%;
    }
    .blog-grid-left-big-pic {
        float: none;
        width:100%;
    }
    .blog-grids-left {
        float:none;
        width:100%
    }
    .blog-grid-left-big {
        background:none;
    }
    #filters li span {
        padding: 0.55em 1.2em;
        font-size: 1em;
    }
    #portfoliolist .portfolio {
        width: 50%;
    }
    .caption p {
        height: 89px;
        overflow: hidden;
    }
    .contact-info {
        left: 26%;
    }
    .map {
        height: 75%;
    }
}
@media(max-width:640px){
    .about-grid-info {
        padding: 0.5em 1.34em;
    }
    .b-animate-go:hover .b-from-left {
        padding: 0.5em 0 0 0;
    }
    .caption {
        border: 8px solid #FFF;
        padding: 0.5em 1em;
    }
    .banner-info h1 span {
        font-size: 0.45em;
    }
    .banner-info h1 label {
        font-size: 0.62em;
    }
    .banner-info h1 {
        padding: 1.3em 0;
    }
    .top-grids {
        padding: 2em 0;
    }
    .banner-grid {
        padding:1em;
    }
    .top-grid {
        margin: 0 0 1.5em;
    }
    .blog-grid-left {
        background:none;
        float: none;
        width: 100%;
        margin: 0 0 1em 0;
    }
    .blog-grids-right {
        float: none;
        width: 100%;
    }
    .blog-grid-left {
        float: none;
        width: 100%;
        margin:0 0 1em 0;
    }
    .blog-grid-left-big-info {
        float: none;
        width: 100%;
    }
    .blog-grid-left-big-pic {
        float: none;
        width:100%;
    }
    .blog-grids-left {
        float:none;
        width:100%
    }
    .blog-grid-left-big {
        background:none;
    }
    #filters li span {
        padding: 0.55em 0.8em;
        font-size: 1em;
    }
    #portfoliolist .portfolio {
        width: 50%;
    }
    .caption p {
        height: 50px;
        overflow: hidden;
    }
    .contact-info {
        left: 21%;
    }
    nav a#pull {
        top: 15px;
    }
    .banner-grid h3 {
        font-size: 0.875em;
    }
    .caption h4 {
        font-size: 1.1em;
    }
    .work-with-us h4 {
        font-size: 1.8em;
    }
    .work-with-us p {
        font-size: 1.1em;
        width: 78%;
        margin: 0 auto;
    }
    a.catch-me {
        font-size: 1.2em;
    }
    .map {
        height: 75%;
    }
}
@media(max-width:480px){
    .about-grid-info {
        padding: 0.5em 1.34em;
    }
    .b-animate-go:hover .b-from-left {
        padding: 0.5em 0 0 0;
    }
    .caption {
        border: 8px solid #FFF;
        padding: 0.5em 1em;
    }
    .banner-info h1 span {
        font-size: 0.35em;  
    }
    .banner-info h1 label {
        font-size: 0.455em;
    }
    .banner-info h1 {
        padding: 0.7em 0;
    }
    .top-grids {
        padding: 2em 0;
    }
    .banner-grid {
        padding: 0.7em 0.4em;
    }
    .top-grid {
        margin: 0 0 1.5em;
    }
    .blog-grid-left {
        background:none;
        float: none;
        width: 100%;
        margin: 0 0 1em 0;
    }
    .blog-grids-right {
        float: none;
        width: 100%;
    }
    .blog-grid-left {
        float: none;
        width: 100%;
        margin:0 0 1em 0;
    }
    .blog-grid-left-big-info {
        float: none;
        width: 100%;
    }
    .blog-grid-left-big-pic {
        float: none;
        width:100%;
    }
    .blog-grids-left {
        float:none;
        width:100%
    }
    .blog-grid-left-big {
        background:none;
    }
    #filters li span {
        padding: 0.55em 0.8em;
        font-size: 1em;
        margin-bottom: 0.8em;
    }
    #portfoliolist .portfolio {
        width: 50%;
    }
    .caption p {
        display:none;
    }
    .contact-info {
        left: 19%;
        padding: 0em 1.3em;
        min-height: 255px;
    }
    nav a#pull {
        top: 15px;
        right: 9px;
    }
    .banner-grid h3 {
        font-size: 0.875em;
    }
    .caption h4 {
        font-size: 1.1em;
    }
    .work-with-us h4 {
        font-size: 1.6em;
    }
    .work-with-us p {
        font-size: 1.1em;
        width: 90%;
        margin: 0 auto;
    }
    a.catch-me {
        font-size: 1em;
        padding: 0.5em 1em;
    }
    .contact-info h4 {
        font-size: 1.5em;
        margin: 1.5em 0 1.2em;
    }
    .contact-info p {
        font-size: 1.2em;
    }
    .map-location iframe {
        min-height: 250px;
    }
    .footer {
        padding: 2em 0;
    }
    .footer-inner ul li {
        display:block;
    }
    a.contact-me {
        padding: 0.5em 1.3em;
        font-size: 0.9em;
        margin-top: 0.5em;
    }
    .process {
        padding: 1em 0 1em;
    }
    .blog {
        padding: 1em 0;
    }
    .blog-grids {
        padding: 0.5em 0;
    }
    .map {
        height: 75%;
    }
}
@media(max-width:320px){
    .about-grid-info {
        padding: 0.5em 1.34em;
    }
    .b-animate-go:hover .b-from-left {
        padding: 2.2em 0 0 0;
    }
    .caption {
        border: 8px solid #FFF;
        padding: 0.5em 1em;
    }
    .banner-info h1 span {
        font-size: 0.25em;
    }
    .banner-info h1 label {
        font-size: 0.29em;
        position: absolute;
    }
    .banner-info h1 {
        padding: 0.2em 0 1em;
    }
    .top-grids {
        padding: 2em 0;
    }
    .banner-grid {
        padding: 0.5em 0.4em;
        width: 33.33%;
    }
    .top-grid {
        margin: 0 0 1.5em;
    }
    .blog-grid-left {
        background:none;
        float: none;
        width: 100%;
        margin: 0 0 1em 0;
    }
    .blog-grids-right {
        float: none;
        width: 100%;
    }
    .blog-grid-left {
        float: none;
        width: 100%;
        margin:0 0 1em 0;
    }
    .blog-grid-left-big-info {
        float: none;
        width: 100%;
    }
    .blog-grid-left-big-pic {
        float: none;
        width:100%;
    }
    .blog-grids-left {
        float:none;
        width:100%
    }
    .blog-grid-left-big {
        background:none;
    }
    #filters li span {
        padding:0.6em 0.8em;
        font-size: 0.9em;
        margin-bottom: 0.8em;
    }
    #portfoliolist .portfolio {
        width: 100%;
    }
    .caption p {
        display:none;
    }
    .contact-info {
        left: 0%;
        padding: 0em 1.3em;
        min-height: 255px;
        right: 0;
        background:rgba(255, 97, 56, 0.77);
    }
    nav a#pull {
        top: 15px;
        right: 9px;
    }
    .banner-grid h3 {
        font-size: 0.875em;
        padding: 0.2em;
    }
    .caption h4 {
        font-size: 1.1em;
    }
    .work-with-us h4 {
        font-size: 1.3em;
    }
    .work-with-us p {
        font-size: 1em;
        width: 100%;
        margin: 0 auto;
    }
    a.catch-me {
        font-size: 1em;
        padding: 0.5em 1em;
    }
    .contact-info h4 {
        font-size: 1.5em;
        margin: 1.5em 0 1.2em;
    }
    .contact-info p {
        font-size: 1.2em;
    }
    .map-location iframe {
        min-height: 250px;
    }
    .footer {
        padding: 2em 0;
    }
    .footer-inner ul li {
        display:block;
    }
    a.contact-me {
        padding: 0.5em 1.3em;
        font-size: 0.9em;
        margin-top: 0.5em;
    }
    .process {
        padding: 1em 0 1em;
    }
    .blog {
        padding: 1em 0;
    }
    .blog-grids {
        padding: 0.5em 0;
    }
    .logo {
        padding: 0.5em 1em;
    }
    .top-nav ul li a {
        padding: 0.5em 0;
        font-size: 1em;
    }
    .top-nav ul li.active-join a {
        font-size: 1em;
        padding: 0.5em 1.5em;
    }
    .banner-grid:nth-child(5),.banner-grid:nth-child(4){
        display:none;
    }
    .top-grid h3 {
        font-size: 1.2em;
    }
    .head-section h3 {
        font-size: 1.5em;
    }
    .about-grids {
        padding: 0.5em 0 0 0;
    }
    .about-grid-info h4 {
        font-size: 1.1em;
    }
    .head-section h3 {
        font-size: 1.3em;
    }
    .process-grids {
        padding: 0.5em 0;
    }
    .process-grid {
        padding: 1.5em 0 1.5em;
    }
    .process-grid h4 {
        font-size: 1.3em;
    }
    .blog-art-info h3 {
        font-size: 1.2em;
    }
    .blog-art-info {
        padding: 0.2em 0.8em 1em;
    }
    .work-with-us {
        padding: 0.5em 0 1.2em;
    }
    .team {
        padding: 0.8em 0;
    }
    .map {
        height: 75%;
    }
}

/* Footer */

footer {
    padding: 100px 0;
}

/*--- portfolio ---*/
.portfolio-main{
    padding:1.5% 0 4%;
}
#filters {
    margin: 2.5% 0 3.3%;
    padding: 0;
    list-style: none;
    text-align: center;
}
    #filters li {
        display:inline-block;
    }
    #filters li span {
        display: inline-block;
        padding: 0.55em 2em;
        text-decoration: none;
        color: #6F6F6F;
        cursor: pointer;
        font-size: 1.2em;
        font-weight: 400;
        text-transform: uppercase;
        margin-right: 0.5em;
    }
    #filters li span.active {
        color: #6F6F6F;
    }
    #portfoliolist .portfolio {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        width: 33.3333%;
        display:none;
        float:left;
        overflow:hidden;
        margin:0;
    }   
    .portfolio-wrapper {
        overflow:hidden;
        position: relative !important;
        cursor:pointer;
    }
    .portfolio img {
        max-width:100%;
        /*--position: relative;--*/
        transition: all 300ms!important;
        -webkit-transition: all 300ms!important;
        -moz-transition: all 300ms!important;
        display: block;
    }
    .portfolio .label {
        position: absolute;
        width: 100%;
        height:40px;
        bottom:-40px;
    }
    .portfolio .label-bg {
            background: #22B4B8;
            width: 100%;
            height:100%;
            position: absolute;
            top:0;
            left:0;
        }
        .portfolio .label-text {
            color:#fff;
            position: relative;
            z-index:500;
            padding:5px 8px;
        }
            
            .portfolio .text-category {
                display:block;
                font-size:9px;
                font-size: 12px;
                text-transform:uppercase;
            }

/* Self Clearing Goodness */
.container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }
.row:after,
.clearfix:after {
  clear: both; }
.row,
.clearfix {
  zoom: 1; }

.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}