body {
    font-size: 14px;
    font-weight: 400;
    color: #151515;
}

.row>* {
    margin-bottom: 30px;
}

.header {
    height: 90px;
}

.navbar-fixed {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 10;
}

.navbar-wrap {
    background: #fff;
    box-shadow: 0 3px 4px 0 rgba(0,0,0,.09);
}

.navbar {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 25px 15px;
    text-transform: uppercase;
    font-size: 16px;
}

.navbar-fixed.scrolled .navbar {
    padding: 10px 15px;
}

.navbar-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -43px;
    max-width: 270px;
}

.logo-big {
    opacity: 1;
    transition: 0.15s;
}

.navbar-fixed.scrolled .logo-big {
    visibility: hidden;
    opacity: 0;
    bottom: 0;
}

.logo-big img {
    max-width: 270px;
}

.logo {
    position: absolute;
    max-width: 90px;
    left: 50%;
    top: 43px;
    transform: translateX(-50%);
    visibility: hidden;
    opacity: 0;
    transition: 0.15s;
}

.navbar-fixed.scrolled .logo {
    visibility: visible;
    opacity: 1;
}

.logo img {
    max-width: 90px;
}

.nav a {
    color: #151515;
    transition: 0.3s;
}

.nav a.active, .nav .show>a, .nav a:hover {
    background: #fff;
    color: #fc6c1e;
}

.dropdown-menu {
    display: block;
    visibility: hidden;
    top: 90px;
    padding: 0;
    opacity: 0;
    border: 0;
    border-radius: 0;
    box-shadow: -3px 0 50px -2px rgba(0,0,0,.09);
    transition: all 0.4s;
    z-index: -1;
}

.navbar-fixed.scrolled .navbar .dropdown-menu {
    margin-top: -13px;
}

.show .dropdown-menu {
    visibility: visible;
    opacity: 1;
    top: 62px;
}

.dropdown-toggle::after {
    content: '\F140';
    font-family: Material Design Icons;
    color: #9b9b9b;
    border: 0;
    vertical-align: baseline;
    transition: 0.3s;
}

.show .dropdown-toggle::after {
    transform: rotate(180deg);
    color: #fc6c1e;
}

.dropdown-item {
    padding: 20px;
    border-top: 1px solid #e5e5e5;
    text-transform: none;
    transition: 0.3s;
}

.dropdown-item.active, .dropdown-item:hover {
    padding: 20px 20px 20px 35px;
    background: #fff;
    color: #fc6c1e;
}

.dropdown-item::before {
    content: '\F142';
    font-family: Material Design Icons;
    color: #fc6c1e;
    opacity: 0;
    transition: 0.3s;
}

.dropdown-item.active::before, .dropdown-item:hover::before {
    opacity: 1;
}

.footer {
    color: #fff;
}

.footer-inner {
    padding: 70px 0;
}

.footer h4 {
    text-transform: uppercase;
    margin-bottom: 20px;
}

.footer p {
    margin-bottom: 20px;
}

.footer-bottom {
    padding: 18px 0;
    background-color: rgba(17,17,17,.5);
    text-align: center;
}

.social-icon {
    display: inline-block;
    width: 40px;
    margin-right: 8px;
    padding: 3px 0;
    font-size: 17px;
    text-align: center;
    border: 2px solid #ffd632;
    color: #fff;
    background-color: transparent;
    transition: 0.3s;
}

.social-icon:hover {
    color: #373737;
    background-color: #ffd632;
}

.list-terms dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
}

.list-terms dt, .list-terms dd {
    margin: 0;
    padding: 10px 5px;
    font-weight: 400;
}

.list-terms dl:nth-child(1) dt, .list-terms dl:nth-child(1) dd {
    padding-top: 0;
}

.list-terms dl+dl {
    border-top: 1px solid rgba(255,255,255,.3);
}

.list-link {
    display: flex;
    flex-wrap: wrap;
    max-width: 270px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.list-link>li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 15px;
    flex-basis: 47%;
    width: 47%;
}

.list-link a {
    color: #fff;
    transition: 0.3s;
}

.list-link a:hover {
    color: #ffd632;
    text-decoration: none;
}

.list-link a::before {
    content: '\F142';
    font-family: Material Design Icons;
    color: #ffd632;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.list-contacts {
    margin: 0;
    padding: 0;
    list-style: none;
}

.list-contacts>li {
    margin-bottom: 5px;
    display: flex;
    align-items: flex-start;
}

.list-contacts>li.centered {
    align-items: center;
}

.list-contacts a {
    color: #fff;
    transition: 0.3s;
}

.list-contacts a:hover {
    color: #ffd632;
    text-decoration: none;
}

.list-contacts .mdi {
    min-width: 14px;
    margin-right: 15px;
    font-size: 18px;
    color: #ffd632;
}

section {
    padding: 100px 0;
    text-align: center;
}

.section-bottom {
    background: #f2f3f8;
}

.section-bottom h3 {
    text-transform: uppercase;
    font-size: 36px;
    line-height: 1.2;
}

.section-bottom p {
    margin: 15px 0;
    color: #9b9b9b;
}

.button {
    display: inline-block;
    margin-top: 20px;
    padding: 15px 22px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.25;
    border: 0;
    transition: 0.25s;
}

.button:hover {
    text-decoration: none;
}

.button-orange {
    color: #fff;
    background-color: #fb8957;
}

.button-orange:hover {
    color: #151515;
    background-color: #ffdf61;
}

.button-yellow {
    margin-top: 45px;
    color: #151515;
    background-color: #ffdf61;
}

.button-yellow:hover {
    color: #fff;
    background-color: #fb8957;
}

.button-black {
    color: #fff;
    background-color: #292929;
}

.button-black:hover {
    background-color: #fb8957;
}

.section-top {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
    padding: 60px 0 180px 0;
    color: #fff;
}

.section-top h4 {
    max-width: 190px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.section-top h2 {
    max-width: 435px;
    margin: 12px auto 0;
    font-size: 48px;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.vertical-line {
    margin-top: 15px;
}

.vertical-line::before {
    display: inline-block;
    content: '';
    width: 4px;
    height: 45px;
    background-color: #ffdf61;
}

.section-advantages {
    color: #fff;
}

.section-header {
    margin-bottom: 40px;
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    font-weight: 700;
    text-transform: uppercase;
    overflow: hidden;
}

.section-header span {
    display: inline-block;
    position: relative;
    width: 480px;
    padding: 0 30px;
}

.section-header span::before, .section-header span::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 100vw;
    height: 2px;
    background-color: #e5e7e9;
    transform: translateY(-50%);
}

.section-header span::before {
    right: calc(100% - 30px);
}

.section-header span::after {
    left: calc(100% - 30px);
}

.section-advantages .section-header span::before, .section-advantages .section-header span::after {
    background-color: rgba(255,255,255,.35);
}

.section-advantages h5 {
    margin-top: 22px;
    font-size: 20px;
}

.box-advantages {
    max-width: 230px;
    margin: 0 auto;
}

.box-advantages-icon {
    position: relative;
    display: inline-block;
    width: 80px;
    height: 89px;
}

.box-advantages-icon i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 36px;
    color: #ffdf61;
}

.box-advantages svg {
    transition: 0.3s;
}

.box-advantages svg:hover {
    transform: rotate(-90deg);
}

.box-advantages svg path {
    stroke: #fff;
    stroke-width: 2px;
    fill: none;
    opacity: 0.35;
    fill-rule: evenodd;
}

.wrapped {
    display: block;
    position: relative;
    box-shadow: 0 0 7px 0 rgba(0,0,0,.15);
}

.wrapped::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background-color: transparent;
    transition: 0.3s;
}

.wrapped:hover::before {
    background-color: rgba(0,0,0,.28);
}

.wrapped img {
    width: 100%;
    height: 100%;
}

.wrapped span {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.02em;
    opacity: 0;
    color: #fff;
    transform: translate(-50%,-50%);
    transition: 0.3s;
}

.wrapped:hover span {
    opacity: 1;
}

.portfolio-box {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 0 7px 0 rgba(0,0,0,.15);
}

.portfolio-box img {
    width: 100%;
    height: 100%;
}

.section-counter {
    padding: 80px 0;
}

.counter {
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.counter span {
    font-size: 100px;
}

.counter p {
    font-size: 15px;
    text-transform: uppercase;
}

.banner {
    position: relative;
    padding: 25px;
}

.banner-inner {
    min-height: 350px;
    z-index: 9;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 25px 15px;
    border: 6px solid rgba(255,255,255,.21);
    color: #fff;
}

.banner-content {
    max-width: 375px;
    width: 100%;
}

.banner-title {
    position: relative;
    padding: 45px 0;
    color: #ffdf61;
}

.banner-title::before, .banner-title::after {
    content: '';
    position: absolute;
    height: 31px;
    width: 4px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffdf61;
}

.banner-title::before {
    top: 0;
}

.banner-title::after {
    bottom: 0;
}

.banner-title h3 {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0;
}

.banner-title p {
    margin-top: 20px;
}

.banner-image {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.banner-image::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #212121;
}

.banner-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .34;
}

.login {
    padding: 80px 0;
}

.to-top {
    position: fixed;
    right: 40px;
    bottom: 40px;
    width: 50px;
    height: 50px;
    font-size: 20px;
    line-height: 46px;
    text-align: center;
    color: #fff;
    background: #fc6c1e;
    transform: translate3d(0,100px,0);
    transition: 0.5s;
}

.to-top:hover {
    color: #fff;
    background: #111;
}

.to-top.active {
    transform: translate3d(0,0,0);
}

.section-breadcrumbs {
    color: #fff;
    font-size: 18px;
    background-position: 50% 50%;
}

.section-breadcrumbs h1 {
    font-size: 100px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.section-breadcrumbs h2 {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.breadcrumbs {
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
}

.breadcrumbs li {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 0 20px;
    letter-spacing: 0.02em;
    line-height: 1.7;
}

.breadcrumbs li::after {
    content: '\F534';
    font-family: Material Design Icons;
    position: absolute;
    top: 55%;
    right: -10px;
    display: inline-block;
    font-size: 18px;
    font-style: normal;
    color: rgba(255,255,255,.5);
    transform: translate3d(0,-50%,0);
}

.breadcrumbs li.active::after {
    display: none;
}

.breadcrumbs a {
    color: #ffd632;
    transition: 0.3s;
}

.breadcrumbs a:hover {
    color: #fff;
    text-decoration: none;
}

.section-projects {
    padding: 80px 0;
}

.isotope-filters {
    margin: 10px 0;
}

.isotope-filters li {
    position: relative;
    display: inline-block;
    padding: 0 20px;
}

.isotope-filters li::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    height: 19px;
    transform: translateY(-50%);
    border-right: 1px solid #e5e7e9;
}

.isotope-filters li:last-child::after {
    display: none;
}

.isotope-filters a {
    color: #9b9b9b;
    font-size: 16px;
    text-transform: uppercase;
    transition: 0.3s;
}

.isotope-filters a.active, .isotope-filters a:hover {
    color: #fc6c1e;
    text-decoration: none;
}

.isotope {
    margin-top: 30px;
}

.isotope-item {
    margin-bottom: 30px;
}

.project-data {
    position: relative;
    display: block;
}

.project-data::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    background-color: rgba(55,55,55,.39);
    transition: 0.3s;
}

.project-data:hover::before {
    opacity: 1;
}

.project-data img {
    max-width: 100%;
    height: auto;
}

.project-data-content {
    position: absolute;
    z-index: 2;
    top: 15px;
    bottom: 15px;
    left: 15px;
    right: 15px;
    padding: 30px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: rgba(17,17,17,.33);
    border: 2px solid #fff;
    opacity: 0;
    transition: 0.3s;
}

.project-data:hover .project-data-content {
    opacity: 1;
}

.site-error h3 {
    font-size: 36px;
}

.site-error h5 {
    margin-top: 25px;
    font-size: 18px;
    color: #9b9b9b;
}

.error-buttons {
    margin-top: 40px;
}

.error-buttons .button {
    margin: 0 20px;
}

.project-description {
    text-align: left;
}

.project-description h1, .section-page h1 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.project-description p {
    margin-top: 25px;
    color: #9b9b9b;
}

.project-description p+p {
    margin-top: 12px;
}

.project-list dl {
    margin: 0;
    padding: 30px 0;
    font-size: 20px;
    text-align: left;
    border-bottom: 1px solid #ebebeb;
}

.project-list dt {
    display: inline-block;
    margin-right: 12px;
}

.project-list dt::after {
    content: ':';
}

.project-list dd {
    display: inline-block;
    color: #9b9b9b;
}

.project-list .icon {
    margin-right: 8px;
    color: #fc6c1e;
}

.project-slider {
    margin-bottom: 30px;
}

.project-slider img {
    max-width: 100%;
    height: auto;
}

.project-slider-nav {
    padding: 0 35px;
}

.project-slider-nav img {
    width: 170px;
    margin: 0 auto;
    border: 4px solid transparent;
    transition: 0.3s;
}

.project-slider-nav .slick-current img, .project-slider-nav .slick-slide:hover img {
    border-color: #ffd632;
}

.project-slider-nav .slick-slide:focus, .project-slider-nav img:focus {
    outline: none;
}

.project-slider-nav .slick-arrow {
    width: 60px;
    height: 60px;
    transition: 0.3s;
}

.project-slider-nav .slick-arrow::before {
    color: #9b9b9b;
    font-family: Material Design Icons;
    font-size: 60px;
    opacity: 1;
}

.project-slider-nav .slick-arrow:hover::before {
    color: #151515;
}

.project-slider-nav .slick-prev::before {
    content: '\F141';
}

.project-slider-nav .slick-next::before {
    content: '\F142';
}

.contact-box {
    max-width: 300px;
    margin: 0 auto;
    padding-left: 35px;
    border-left: 1px solid #ebebeb;
    text-align: left;
}

.contact-box-item {
    padding: 25px 0;
}

.contact-box-item+.contact-box-item {
    border-top: 1px solid #ebebeb;
}

.contact-box-title {
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.contact-box-title+* {
    margin-top: 20px;
}

.contact-link {
    display: inline-flex;
    align-items: center;
}

.contact-link .mdi {
    margin-right: 12px;
    font-size: 20px;
    line-height: 1;
    color: #fb8957;
}

.contact-link a {
    color: #292929;
    transition: 0.3s;
}

.contact-link a:hover {
    color: #fb8957;
    text-decoration: none;
}

.contact-form {
    max-width: 630px;
    margin: 0 auto;
}

.contact-form h1 {
    font-size: 36px;
    line-height: 1.2;
}

.contact-form p {
    margin: 25px 0 0 0;
    color: #9b9b9b;
}

.contact-form form {
    margin-top: 30px;
}

.contact-form .form-group {
    position: relative;
    margin-bottom: 20px;
}

.contact-form input, .contact-form textarea, .search-form input {
    width: 100%;
    min-height: 50px;
    padding: 12px 19px;
    font-size: 14px;
    line-height: 24px;
    color: #9b9b9b;
    background: #f5f5f5;
    border-radius: 0;
    border: solid 1px #f5f5f5;
    transition: 0.3s;
}

.contact-form input:focus, .contact-form textarea:focus, .search-form input:focus {
    background: #f5f5f5;
    border-color: #f5f5f5;
    color: #9b9b9b;
    box-shadow: none;
    outline: 0;
}

.contact-form .control-label {
    position: absolute;
    top: 25px;
    left: 0;
    right: 0;
    padding-left: 19px;
    padding-right: 19px;
    color: #9b9b9b;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    pointer-events: none;
    text-align: left;
    transform: translateY(-50%);
    transition: 0.25s;
}

.contact-form input:focus+.control-label, .contact-form textarea:focus+.control-label, .contact-form input.not-empty+.control-label, .contact-form textarea.not-empty+.control-label {
    opacity: 0;
}

.contact-form .button {
    width: 100%;
    margin: 0;
}

.contact-form .form-group.has-error input, .contact-form .form-group.has-error textarea {
    border-color: #f5543f;
}

.contact-form .help-block-error {
    position: absolute;
    right: 8px;
    top: 0;
    margin-top: 2px;
    font-size: 9px;
    font-weight: 400;
    line-height: 12px;
    letter-spacing: 0;
    color: #f5543f;
    transition: 0.3s;
}

.section-page {
    text-align: left;
}

.page-content {
    margin-top: 30px;
}

.navbar-toggle {
    display: none;
    width: 48px;
    height: 48px;
    line-height: 48px;
    background-color: transparent;
    border: 0;
    transition: 0.3s;
}

.navbar-toggle:focus {
    outline: none;
}

.navbar-toggle.active {
    transform: rotate3d(0,0,1,180deg);
}

.navbar-toggle span {
    position: relative;
    display: block;
    margin: auto;
}

.navbar-toggle span, .navbar-toggle span::before, .navbar-toggle span::after {
    width: 24px;
    height: 4px;
    background: #ccc;
    transition: 0.3s;
}

.navbar-toggle span::before, .navbar-toggle span::after {
    content: '';
    position: absolute;
    right: 0;
}

.navbar-toggle span::before {
    top: -8px;
}

.navbar-toggle span::after {
    top: 8px;
}

.navbar-toggle.active span::before, .navbar-toggle.active span::after {
    width: 15px;
    right: -2px;
}

.navbar-toggle.active span::before {
    top: -4px;
    transform: rotate3d(0,0,1,40deg);
}

.navbar-toggle.active span::after {
    top: 4px;
    transform: rotate3d(0,0,1,-40deg);
}

.search-form {
    display: flex;
    flex-wrap: wrap;
}

.search-form .form-group {
    flex-grow: 1;
    padding: 0 4px;
}

.search-form .form-group+.form-group {
    flex-grow: 0;
}

.search-form .button {
    width: 100%;
    margin: 0;
    padding: 16px 50px;
}

.search-results {
    margin-top: 40px;
    text-align: left;
    font-size: 16px;
    font-weight: 700;
}

.search-results ol {
    padding-left: 20px;
}

.search-results li {
    margin-top: 20px;
    padding-left: 20px;
}

.search-results a {
    color: #151515;
    font-size: 18px;
    text-transform: uppercase;
    transition: 0.3s;
}

.search-results a:hover {
    color: #fc6c1e;
    text-decoration: none;
}

.project-info {
	text-align: left;
}

@media (max-width: 991px) {
    .header {
        height: 60px;
    }

    .navbar-logo {
        left: 60px;
        bottom: 50%;
        transform: translateY(50%);
    }

    .logo-big {
        display: none;
    }

    .logo {
        position: static;
        visibility: visible;
        opacity: 1;
    }

    .logo img {
        max-width: 65px;
    }

    .navbar-toggle {
        display: block;
    }

    .navbar-wrap {
        position: fixed;
        top: 60px;
        bottom: 0;
        left: -270px;
        width: 270px;
        transition: 0.3s;
    }

    .navbar-wrap.active {
        left: 0;
    }

    .navbar-panel {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 60px;
        padding: 6px 5px;
        background: #fff;
        box-shadow: 0 3px 4px 0 rgba(0,0,0,.09);
    }

    .navbar, .navbar-fixed.scrolled .navbar {
        padding: 0;
        font-size: 15px;
        text-transform: none;
    }

    .nav a {
        margin: 2px 0;
        padding: 1em;
        color: #9b9b9b;
    }

    .nav a.active, .nav .show>a {
        color: #fff;
        background: #fc6c1e;
    }

    .nav-item {
        width: 100%;
    }

    .dropdown-toggle::after, .dropdown-menu .dropdown-item::before {
        display: none;
    }

    .dropdown-menu, .navbar-fixed.scrolled .navbar .dropdown-menu {
        position: static;
        visibility: visible;
        opacity: 1;
        width: 100%;
        margin: 0;
        box-shadow: none;
    }

    .dropdown-menu .dropdown-item {
        padding: 0.6em 2em;
        font-size: 0.8em;
        border: 0;
    }

    section, .section-counter, .section-projects {
        padding: 60px 0;
    }

    .section-top h2, .section-breadcrumbs h2 {
        font-size: 30px;
    }

    h3, .section-bottom h3, .banner-title h3, h3.section-header {
        font-size: 24px;
    }

    h4 {
        font-size: 19px;
    }

    .section-header span {
        width: 60%;
    }

    .button {
        padding: 10px 28px;
        font-size: 13px;
    }

    .counter span {
        font-size: 60px;
    }

    .vertical-line::before {
        width: 3px;
        height: 35px;
    }
}