html, body {
    font-family: 'Raleway', sans-serif;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a { color: #F93; }
a:hover, a:visited, a:focus { text-decoration: none; color: #333; }

.image-fit { width: 100%; height: auto; object-fit: cover; object-position: center; }

.the-title { position: relative; font-weight: 600; margin: 20px 0 40px 0; }
.the-title::after {
    position: absolute;
    background: #ADA5A4;
    bottom: -12px;
    content: ' ';
    height: 3px;
    width: 50px;
    opacity: .4;
    left: 0;
}

.read-more { margin-bottom: 40px; }
.read-more a { color: #F93; }
.read-more a:hover { color: #333; }

.grid-item-content { margin-bottom: 30px; position: relative; }
.grid-item-content img {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}
.no-touch .grid-item-content img:hover {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
}
.grid-item-landscape, .grid-item-portrait {
    width: 100%;
    background-color: #333;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    transition: filter 0.25s;
}
.no-touch .grid-item-content:hover .grid-item-landscape,
.no-touch .grid-item-content:hover .grid-item-portrait {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
}
.grid-item-landscape { height: 300px; }
.grid-item-portrait { height: 500px; }
.grid-item-meta {
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 90;
    width: 100%;
    height: 100%;
    position: absolute;
    visibility: hidden;
    transition: visibility 0s, opacity 0.25s linear;
}
.no-touch .grid-item-content:hover .grid-item-meta {
    opacity: 1;
    visibility: visible;
    background-color: #333;
    background-color: rgba(51, 51, 51, 0.35);
}
.grid-item-meta > div { display: table; width: 100%; height: 100%; }
.grid-item-meta > div > div { display: table-cell; vertical-align: middle; }
.grid-item-meta > div > div > div:first-child a { font-size: 1.5em; font-weight: 100; display: block; margin-bottom: 20px; }
.grid-item-meta > div > div a { color: #FFF; }
.grid-item-meta .meta-btn {
    font-weight: bold;
    font-size: 0.75em;
    padding: 8px 14px;
    border-radius: 3px;
    border: 1px solid #FFF;
    transition: all 0.25s;
}
.grid-item-meta .meta-btn:hover {
    color: #333;
    background-color: #FFF;
}

.grid-item-active .grid-item-landscape,
.grid-item-active .grid-item-portrait {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
}
.grid-item-active .grid-item-meta {
    opacity: 1;
    visibility: visible;
    background-color: #333;
    background-color: rgba(51, 51, 51, 0.35);
}

.navbar-right li:last-child a { padding-right: 0; }
.navbar-default { background-color: transparent; border: 0; }
.navbar-brand { font-weight: 700; }
.navbar-brand span { display: none; }
.navbar-brand img { height: 80px; }
.navbar-nav li a {
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.footer { width: 100%; }
.footer hr { border-top-color: #444; margin: 15px 0; }
.footer .contact { background-color: #333; }
.footer .contact .container .row > div > p { margin-bottom: 30px; }
.footer .copyright { background-color: #444; padding: 25px 0; }
.footer .copyright p { margin-bottom: 0; }
.footer .footer-header { margin-top: 30px; margin-bottom: 15px; }
.footer .sitemap .footer-header { margin-bottom: 0; }
.footer p, .footer .footer-header, .footer a { color: #AAA; }
.footer .sitemap-items { list-style: none; padding: 0; }
.footer .sitemap-items li { margin-bottom: 20px; }

.gmap { border: 0; width: 100%; height: 269px; margin: 30px 0; }

.profiles figure figcaption { margin: 20px 0 36px; }
.profiles figure .back { background-color: #222; color: #FFF; padding: 10px; }

.projects figure img { transition: filter 0.25s; }
.projects figure img:hover {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}
.project .project-title { margin: 20px 0; color: #333; }
.project .project-item > a > p { font-weight: 300; color: #333; }

.post .post-title { margin: 20px 0; color: #333; }
.post .post-item > a > p { font-weight: 300; color: #333; }

.single-item > div { border-radius: 3px; margin-bottom: 40px; }
.single-item .the-title { margin-bottom: 30px; }
.gallery-item { display: block; margin-bottom: 30px; }
.gallery-item img { object-fit: cover; object-position: center; max-height: 240px; }
.gallery-item > div {
    width:100%;
    height:240px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.contact-form { margin-bottom: 30px; }
.contact-form .wpcf7-form-control-wrap:not(.message) {
    width: calc(50% - 15px);
    float: left;
    margin-bottom: 25px;
    margin-right: 15px;
}
.contact-form .wpcf7-form-control-wrap input { width:  100%; }
.contact-form .message textarea  { width: calc(100% - 15px); display: inline-block; }
.contact-form .wpcf7-form-control-wrap input, .contact-form .message textarea {
    border: 1px solid #DDD;
    border-radius: 2px;
    padding: 12px 10px;
}
.contact-form .wpcf7-submit {
    font-weight: bold;
    text-transform: uppercase;
    background-color: #FFF;
    border: 2px solid #F93;
    border-radius: 2px;
    padding: 10px 30px;
    margin-top: 15px;
    color: #F93;
    transition: background-color .25s;
}
.contact-form .wpcf7-submit:hover {
    color: #FFF;
    background-color: #F93;
}
.contact-form .wpcf7-response-output {
    margin: 20px 0 0;
    padding: 10px;
    color: #F00;
    border-radius: 2px;
    border: 1px solid #F00;
}
.contact-info > h4:first-child { margin-top: 0; }
.contact-info > p { padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #DDD; }
.contact-info > p:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }

.cform-gmap { width: 100%; border: 0; height: 300px; display: block; }



@media (min-width: 768px) {
    .navbar { padding-top: 15px; }
    .navbar-nav li a {
        line-height: 70px;
        padding-left: 25px;
        padding-right: 25px;
    }
    .grid-item-content:hover .grid-item-landscape,
    .grid-item-content:hover .grid-item-portrait {
        -webkit-filter: grayscale(0);
        filter: grayscale(0);
    }
    .grid-item-content:hover .grid-item-meta {
        opacity: 1;
        visibility: visible;
        background-color: #333;
        background-color: rgba(51, 51, 51, 0.35);
    }

}

@media (min-width: 768px) and (max-width: 991px) {
    .navbar { margin-bottom: 60px; }
    .navbar-right { margin-top: -15px; }
    .navbar-nav li a { line-height: 0; }
}

@media (max-width: 767px) {
    body { padding-top: 80px; }
    .navbar-default {
        border-bottom: 1px solid #E7E7E7;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 99;
        background-color: #FFF;
    }
    .navbar-brand img { display: none; }
    .navbar-brand span { display: inline-block; }
    .contact-form .wpcf7-form-control-wrap:not(.message) {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
        display: block;
    }
    .contact-form .message textarea { width: 100%; }
    .contact-form br { display: none; }
}
