:root {
    --text-color: #777;
    --primary-color: #cc2424;
    --light-color: #efefef;
    --dark-color: #000;
    --header-background: rgba(0,0,0,0.9);
    --header-color: #FFF;
    --footer-background: #000;
    --footer-color: #FFF;
    --font-size: 14px
}

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

body {
    font-family: "Roboto",sans-serif;
    font-size: var(--font-size);
    font-weight: 300;
    color: var(--text-color);
    background-color: #FFF!important;
    line-height: 1.8;
    letter-spacing: 1px
}

h1,h2,h3,h4,h5,h6 {
    font-family: "Roboto",sans-serif;
    font-weight: 500;
    letter-spacing: 2px;
    color: var(--dark-color);
    margin-top: 0;
    width: 100%
}

p {
    width: 100%
}

p.mini {
    letter-spacing: 0;
    line-height: 1;
    font-size: 12px;
    font-style: italic;
    color: var(--text-color);
    margin-bottom: 0
}

.color {
    color: var(--primary-color)
}

.padding {
    padding: 0 100px!important
}

.padding-top {
    padding-top: 100px!important
}

.padding-bottom {
    padding-bottom: 100px!important
}

.padding-30 {
    padding: 0 30px
}

i {
    color: var(--dark-color);
    transition: all .3s ease-in-out .1s
}

i:hover {
    color: var(--primary-color);
    cursor: pointer
}

hr {
    width: 100px;
    height: 2px;
    background-color: var(--primary-color);
    margin: 20px auto;
    border: 0
}

input {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--text-color);
    padding: 10px 20px;
    margin: 0;
    transition: all .3s ease-in-out .1s
}

textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--text-color);
    padding: 14px;
    height: 150px;
    margin: 30px 0 20px 0;
    transition: all .3s ease-in-out .1s;
    resize: none
}

input:focus {
    outline: 0;
    border-bottom: 1px solid var(--primary-color)
}

textarea:focus {
    outline: 0;
    border-bottom: 1px solid var(--primary-color)
}

.partner-table {
    display: table;
    width: 100%;
    height: 100%
}

.partner {
    display: table-cell;
    vertical-align: middle;
    float: none
}

.background {
    background-color: var(--dark-color)
}

::-moz-selection {
    background-color: var(--primary-color);
    color: #FFF
}

::selection {
    background-color: var(--primary-color);
    color: #FFF
}

::-moz-selection {
    background-color: var(--primary-color);
    color: #FFF
}

.about ::-moz-selection {
    background-color: var(--dark-color);
    color: #FFF
}

.about ::selection {
    background-color: var(--dark-color);
    color: #FFF
}

.about ::-moz-selection {
    background-color: var(--dark-color);
    color: #FFF
}

.admin-bar .fixed-top {
    top: 32px
}

.admin-bar .main-top .scroll-down {
    bottom: 52px!important
}

b,strong {
    font-weight: 700
}

img {
    max-width: 100%;
    height: auto
}

img.alignleft,.wp-caption.alignleft {
    margin: 5px 20px 5px 0
}

img.alignright,.wp-caption.alignright {
    margin: 5px 0 5px 20px
}

ul,ol {
    width: 100%;
    -webkit-padding-start: 5px;
    padding-left: 5px;
    line-height: 2;
    letter-spacing: 1px;
    list-style-position: inside
}

code {
    color: var(--primary-color);
    background-color: rgba(204,36,36,0.1);
    border-radius: 0;
    padding: 3px 5px
}

pre {
    background-color: rgba(204,36,36,0.1);
    border: 1px solid var(--primary-color);
    border-radius: 0;
    padding: 20px
}

blockquote {
    border-left: 3px solid var(--primary-color);
    font-style: italic;
    padding-left: 20px;
    width: 100%
}

caption {
    color: #FFF;
    padding-top: 20px;
    padding-bottom: 20px
}

table {
    width: 100%;
    margin: 30px 0
}

td,tr,th {
    border: 1px solid #555;
    padding: 8px;
    font-size: 12px;
    text-align: center
}

kbd {
    border-radius: 0;
    padding: 3px 5px
}

.aligncenter {
    margin: 0 auto
}

.alignleft {
    float: left
}

.alignright {
    float: right
}

#gallery-1 img,#gallery-2 img {
    border: 3px solid var(--primary-color)!important
}

.sticky-post {
    background-color: rgba(204,36,36,0.1);
    border: 3px solid var(--primary-color);
    padding: 50px
}

iframe {
    max-width: 100%
}

dd {
    margin-top: 5px
}

.twitter-tweet {
    margin: 0 auto
}

label {
    width: 100%;
    margin: 20px 0
}

.tags {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 0
}

select {
    border-radius: 0;
    border: 3px solid var(--primary-color);
    background-color: #FFF;
    color: #555;
    padding: 5px 10px;
    letter-spacing: 1px;
    max-width: 90%;
    height: 50px;
    outline: 0
}

span,em {
    font-size: 100%
}

.widget {
    margin-bottom: 50px
}

.widget .title-w,.widget_area .widget_title {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1px;
    margin-bottom: 50px;
    margin-top: 0;
    position: relative
}

.widget .title-w:before,.widget_area .widget_title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    height: 2px;
    width: 50px;
    border-bottom: 2px solid var(--primary-color)
}

.widget ul {
    list-style-type: disc!important
}

.widget_area ul {
    list-style-type: disc!important
}

.nav-previous a,.nav-next a {
    transition: all .3s ease-in-out;
    font-weight: 400;
    letter-spacing: 1px;
    border: 3px solid var(--primary-color);
    color: var(--primary-color);
    padding: 5px 15px
}

.nav-previous a:hover,.nav-next a:hover {
    font-weight: 400;
    background-color: var(--primary-color);
    color: #FFF!important
}

.reply {
    float: left;
    width: 100%;
    margin: 30px 0
}

.comment {
    width: 100%;
    float: left;
    padding: 20px 0
}

.comments-area h4,#reply-title {
    float: left;
    width: 100%;
    margin-top: 50px
}

cite.fn {
    padding-left: 10px
}

.row {
    margin: 0
}

.category .section-content .container,.tag .section-content .container {
    padding: 0
}

#main header h1 {
    text-align: center
}

#main .author-info {
    text-align: center
}

.comment-list {
    float: left;
    width: 100%;
    margin: 30px 0 20px 0
}

.comment-meta {
    padding: 10px 0
}

.comment-reply-link {
    float: left;
    max-width: 200px!important;
    text-align: center
}

.nav-links {
    float: left;
    width: 100%;
    margin: 30px 0
}

.pagelinks {
    display: inline-block;
    font-weight: 600;
    color: var(--primary-color)
}

.pagelinks a {
    color: var(--dark-color);
    font-size: 2em;
    font-weight: 600;
    padding-right: 30px;
    display: inline-block
}

.search-form label {
    margin: 0
}

.wpcf7 input[type=submit] {
    max-width: 200px;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
    float: right
}

.site-main {
    padding-bottom: 0;
    margin: 100px 0 0 0;
    border-bottom: 0
}

.post-password-form input[type="submit"] {
    max-width: 200px;
    margin: 0
}

.navbar {
    transition: height .3s cubic-bezier(0,0,0.7,1);
    font-family: "Roboto",sans-serif;
    height: 100px;
    padding: 0 30px;
    margin-bottom: 0;
    display: table-cell;
    vertical-align: middle;
    background-color: var(--header-background);
    border-radius: 0
}

.navbar .navbar-container {
    width: 100%;
    display: table
}

.navbar .navbar-container .navbar-content {
    float: right;
    display: table
}

.navbar-title {
    transition: all .3s cubic-bezier(0,0,0.7,1);
    height: 100px;
    font-size: 25px;
    font-weight: 300;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--header-color);
    display: table-cell;
    vertical-align: middle
}

.navbar-title:hover,.navbar-title:first-letter {
    color: var(--primary-color)
}

.navbar-title img {
    width: 100px;
    height: auto
}

.navbar .navbar-collapse {
    float: right
}

.navbar ul {
    float: right;
    margin-bottom: 0
}

.navbar li {
    transition: all .3s cubic-bezier(0,0,0.3,1);
    float: none;
    height: 100px;
    display: table-cell;
    vertical-align: middle;
    position: relative;
    padding: 5px 20px;
    line-height: 1.5
}

.navbar li>a {
    transition: all .3s cubic-bezier(0,0,0.3,1);
    color: var(--header-color);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1;
    padding: 0
}

.navbar li>a:hover,.navbar li>a:focus,.navbar li>a:active,.navbar li>a.active,.navbar.navbar-light .navbar-title:hover,.navbar.navbar-light li>a:hover,.navbar.navbar-light li>a:focus,.navbar.navbar-light li>a:active,.navbar.navbar-light li>a.active {
    color: var(--primary-color)
}

.navbar-light li {
    height: 70px
}

.navbar.navbar-light {
    transition: height .5s cubic-bezier(0,0,0.3,1);
    background-color: var(--header-background);
    height: 70px
}

.navbar.navbar-light .navbar-title {
    transition: all .5s cubic-bezier(0,0,0.3,1);
    height: 70px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 5px;
    color: var(--header-color);
    display: table-cell;
    vertical-align: middle
}

.navbar-toggler {
    height: 40px;
    background-color: var(--primary-color);
    border-radius: 0;
    border: 0;
    float: right;
    margin-top: 15px
}

.navbar-toggler:focus,.navbar-toggler:active {
    outline: 0
}

.navbar-toggler span {
    display: block;
    width: 25px;
    height: 3px;
    margin-bottom: 5px;
    background-color: #FFF;
    transition: all .3s ease-in-out
}

.navbar-toggler span:last-of-type {
    margin-bottom: 0
}

.navbar li .children {
    position: absolute;
    top: 100px;
    left: 0;
    width: 100%;
    min-width: 200px;
    padding: 20px 0;
    background-color: var(--header-background);
    display: none;
    box-shadow: 0 2px 3px 0 rgba(0,0,0,0.1)
}

.navbar li:hover>.children {
    display: block
}

.navbar li .children li {
    height: auto;
    padding: 10px 30px
}

.navbar li .children li a {
    color: var(--header-color)
}

.navbar li .children li a:hover,.navbar li .children li a:focus,.navbar li .children li a:active {
    color: var(--primary-color)
}

.main-top {
    position: relative;
    width: 100%;
    height: 100%
}

.single .main-top,.archive .main-top {
    display: none
}

.main-top .main-content {
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.7);
    display: table
}

.main-top .main-content .container.content {
    display: table-cell;
    vertical-align: middle
}

.main-top .main-content h1 {
    width: 100%;
    color: #fff;
    font-size: 70px;
    font-weight: 500;
    letter-spacing: 5px;
    margin-bottom: 0;
    -webkit-animation: fadeInLeft 2s;
    animation: fadeInLeft 2s
}

.main-top .main-content h2 {
    width: 100%;
    color: #fff;
    font-size: 60px;
    font-weight: 100;
    letter-spacing: 10px;
    -webkit-animation: fadeInRight 2s;
    animation: fadeInRight 2s
}

.main-top .scroll-down {
    width: 80px;
    height: 60px;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10
}

.main-top .scroll-down:before {
    bottom: 20px;
    width: 50px;
    height: 50px
}

.main-top .scroll-down:before,.main-top .scroll-down:after {
    content: '';
    display: block;
    border-bottom: 2px solid var(--primary-color);
    border-right: 2px solid var(--primary-color);
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.main-top .scroll-down:before {
    -webkit-animation: scrollDown .5s infinite alternate;
    animation: scrollDown .5s infinite alternate
}

.main-top .scroll-down:after {
    width: 30px;
    height: 30px;
    bottom: 30px;
    -webkit-animation: scrollDown .5s infinite alternate;
    animation: scrollDown .5s infinite alternate
}

@-webkit-keyframes scrollDown {
    0% {
        opacity: 1;
        -webkit-transform: rotate(45deg) translate(0px);
        transform: rotate(45deg) translate(0px)
    }

    100% {
        opacity: .5;
        -webkit-transform: rotate(45deg) translate(3px,3px);
        transform: rotate(45deg) translate(3px,3px)
    }
}

@keyframes scrollDown {
    0% {
        opacity: 1;
        -webkit-transform: rotate(45deg) translate(0px);
        transform: rotate(45deg) translate(0px)
    }

    100% {
        opacity: .5;
        -webkit-transform: rotate(45deg) translate(3px,3px);
        transform: rotate(45deg) translate(3px,3px)
    }
}

.scrollDown {
    -webkit-animation-name: scrollDown;
    animation-name: scrollDown
}

.btn,.comment-reply-link,input[type=submit] {
    border-radius: 0;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 10px 0px;
    margin: 0 auto;
    background-color: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
    display: block;
    max-width: 400px;
    transition: all .3s ease-in-out
}

.btn:hover,.btn:focus,.btn:active,.comment-reply-link:hover,.comment-reply-link:focus,.comment-reply-link:active,input[type=submit]:hover,input[type=submit]:focus,input[type=submit]:active {
    font-weight: 400;
    background-color: var(--primary-color);
    border: 2px solid var(--primary-color);
    color: #FFF!important;
    outline: none!important
}

input[type=submit] {
    margin: 20px auto
}

a {
    color: var(--dark-color);
    font-weight: 400;
    transition: all .5s cubic-bezier(0,0,0.3,1)
}

a:hover,a:focus,a:active {
    color: var(--primary-color);
    text-decoration: none;
    outline: 0
}

.section {
    float: left;
    width: 100%;
    overflow: hidden
}

.section-heading {
    margin-bottom: 50px;
    position: relative;
    z-index: 1
}

.section-heading h2 {
    font-size: 40px;
    letter-spacing: 5px;
    color: #333
}

.section-heading h2 a,.section-heading h3 a {
    font-weight: 500
}

.section-heading p {
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    color: var(--text-color)
}

.section-content img {
    max-width: 100%
}

.section.dark {
    background-color: var(--dark-color);
    padding: 100px 0
}

.section.dark h2 {
    color: #fff;
    font-size: 40px;
    font-weight: 100;
    text-align: center;
    letter-spacing: 10px;
    line-height: 2;
    padding: 0 5px
}

.section.dark .btn {
    margin-top: 30px;
    display: inline-block
}

.section.general {
    padding: 0;
    padding-top: 150px
}

.section.general h3 {
    color: #333
}

.section.general p {
    padding-bottom: 50px
}

.section .row {
    margin: 0
}

.section .box {
    width: 100%;
    max-height: 500px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    margin: 0 auto
}

.section .box img {
    transition: all 2s ease-in-out
}

.section .box:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

.section .box .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px;
    background-color: rgba(0,0,0,0.9)
}

.section .box .overlay h4 {
    color: #FFF;
    text-align: right;
    padding: 10px 20px 10px 10px;
    margin: 0;
    font-size: 20px;
    font-weight: 300;
    transition: all .6s ease-in-out
}

.section .box:hover .overlay h4 {
    padding: 15px 40px 15px 0;
    font-size: 25px
}

.section .box .overlay hr {
    float: right;
    margin: 0 20px 10px 0;
    width: 50px;
    height: 2px;
    background-color: var(--primary-color);
    border: 0;
    transition: all .3s ease-in-out
}

.section .box:hover .overlay hr {
    width: 100px;
    margin: 0 40px 10px 0
}

.about {
    display: table;
    width: 100%;
    height: 600px
}

.about .row {
    margin: 0
}

.about .content {
    display: table-cell;
    vertical-align: middle
}

.about .image {
    background-image: url('http://placehold.it/1920x1080');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 600px;
    padding: 0;
    display: table-cell;
    vertical-align: middle
}

.about .image img {
    width: 100%;
    height: 600px
}

.about .background {
    height: 600px;
    padding: 5%;
    margin: 0;
    display: table
}

.about h3,.about p {
    font-family: "Roboto",sans-serif;
    color: #FFF;
    text-align: left
}

.about .btn {
    color: var(--primary-color);
    background-color: #FFF;
    border: 2px solid #FFF;
    margin-top: 30px;
    float: left
}

.about .btn:hover,.about .btn.active,.about .btn:focus {
    color: #FFF;
    background-color: var(--primary-color);
    border: 2px solid #FFF!important
}

.progress-bar {
    background-color: var(--dark-color)
}

.team {
    width: 300px;
    height: 300px;
    margin: 50px auto;
    overflow: hidden;
    text-align: center;
    border-radius: 50%;
    position: relative;
    z-index: 999
}

.team .mask {
    width: 300px;
    height: 300px;
    position: absolute;
    overflow: hidden;
    text-align: center;
    top: 0;
    left: 0;
    border-radius: 50%;
    background-color: var(--primary-color);
    opacity: 0;
    transition: all .5s ease-out;
    display: table
}

.team .mask .mask-content {
    display: table-cell;
    vertical-align: middle
}

.team h2 {
    text-transform: uppercase;
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 25px;
    background: rgba(0,0,0,0.9);
    opacity: 0;
    background: transparent;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    transition: all .5s ease-in-out .3s
}

.team p {
    font-size: 15px;
    position: relative;
    color: #fff;
    text-align: center;
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition: all 1s ease-in-out .5s
}

.team a.info:hover i {
    color: var(--dark-color)
}

.team img {
    max-width: 150%;
    transition: all 1s ease-in;
    z-index: -1
}

.team a.info i {
    font-size: 18px;
    display: inline-block;
    text-decoration: none;
    padding: 0 10px;
    background: transparent;
    color: #fff;
    text-transform: uppercase;
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    transition: all 1s ease-in-out 1s
}

.team:hover .mask {
    opacity: .9
}

.team:hover img {
    transition-delay: 0s;
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

.team:hover h2,.team:hover p {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.team:hover a.info i {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px)
}

.services i {
    font-size: 40px;
    margin-bottom: 20px
}

.services .section-content p {
    padding-bottom: 100px
}

.services .section-content .second p {
    padding-bottom: 0
}

.services .section-content h6 {
    padding-bottom: 30px
}

#info.section {
    padding: 100px 50px;
    background: transparent
}

#info.section h2 {
    font-size: 40px;
    letter-spacing: 5px;
    color: var(--primary-color)
}

#info.section p {
    font-size: 20px;
    padding: 0;
    margin: 0
}

.section.portfolio {
    padding-top: 0
}

.work-item {
    overflow: hidden;
    padding: 0!important
}

.work-item img {
    width: 100%;
    transition: all 1s ease-out
}

.work-item:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

.work-item .image-overlay {
    opacity: 0;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: linear;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--primary-color)
}

.work-item .image-overlay:hover {
    opacity: .9
}

.work-item .image-overlay a {
    width: 100%;
    height: 100%;
    display: table
}

.work-item .work-item-info {
    width: 100%;
    text-align: center;
    color: #fff;
    display: table-cell;
    vertical-align: middle
}

.work-item .work-item-info h3 {
    color: #fff
}

#purchase.section {
    padding: 50px;
    background-color: var(--light-color);
    transition: all .3s ease-in-out
}

#purchase.section .btn {
    border: 2px solid var(--dark-color);
    color: var(--dark-color);
    display: inline-block
}

#purchase.section .btn:hover,#purchase.section .btn.active,#purchase.section .btn:focus {
    border: 2px solid var(--dark-color)!important;
    background-color: var(--dark-color)!important;
    color: #FFF
}

.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: .9
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none!important;
    -webkit-backface-visibility: hidden
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box
}

.mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.mfp-align-top .mfp-container:before {
    display: none
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045
}

.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto
}

.mfp-ajax-cur {
    cursor: progress
}

.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: zoom-out
}

.mfp-zoom {
    cursor: pointer;
    cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
    cursor: auto
}

.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.mfp-loading.mfp-figure {
    display: none
}

.mfp-hide {
    display: none!important
}

.mfp-s-ready .mfp-preloader {
    display: none
}

.mfp-s-error .mfp-content {
    display: none
}

button.mfp-close,button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: 0;
    padding: 0;
    z-index: 1046;
    box-shadow: none
}

.mfp-close {
    width: 50px;
    height: 50px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: .9;
    padding: 0 0 18px 10px;
    color: #fff;
    font-style: normal;
    font-size: 28px;
    -webkit-transition: all .3s ease-in-out .1s
}

.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close {
    color: #fff;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%
}

.mfp-close:hover,.mfp-close:focus {
    color: var(--primary-color);
    opacity: 1
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #ccc;
    font-size: 12px;
    line-height: 18px
}

.mfp-arrow {
    position: absolute;
    opacity: .9;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.mfp-arrow:active {
    margin-top: -54px
}

.mfp-arrow:hover,.mfp-arrow:focus {
    opacity: 1
}

.mfp-arrow:before,.mfp-arrow:after,.mfp-arrow .mfp-b,.mfp-arrow .mfp-a {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent
}

.mfp-arrow:after,.mfp-arrow .mfp-a {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px
}

.mfp-arrow:before,.mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: .9
}

.mfp-arrow-left {
    left: 0
}

img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto
}

.mfp-figure {
    line-height: 0
}

.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0,0,0,0.6);
    background: #444
}

.mfp-figure figure {
    margin: 0
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #fff;
    word-wrap: break-word;
    vertical-align: middle;
    display: table-cell
}

.mfp-image-holder .mfp-content {
    max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer
}

button.mfp-close,.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close,.mfp-close {
    font-size: 25px;
    width: 40px;
    background: rgba(0,0,0,0.9);
    height: 40px;
    top: 0;
    right: 0;
    text-align: center;
    padding-right: 0;
    display: inline;
    font-family: inherit;
    line-height: 1
}

.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: pointer;
    padding-bottom: 3px
}

.mfp-bottom-bar {
    padding: 20px;
    background: var(--dark-color);
    opacity: .9;
    position: absolute;
    bottom: 0;
    height: 200px;
    display: table;
    margin-top: -200px
}

.mfp-bottom-bar h3 {
    font-family: "Roboto",sans-serif;
    color: #fff;
    padding-top: 10px;
    padding-left: 10px;
    text-align: center
}

.mfp-bottom-bar p {
    padding-left: 10px;
    text-align: center
}

img.mfp-img {
    padding: 0
}

.mfp-figure {
    position: relative;
    margin: 0 40px 0 40px;
    overflow: hidden
}

.mfp-fade.mfp-bg {
    opacity: 0;
    transition-property: all;
    transition-duration: .15s;
    transition-timing-function: ease-out
}

.mfp-fade.mfp-bg.mfp-ready {
    opacity: .9
}

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0
}

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition-property: all;
    transition-duration: .15s;
    transition-timing-function: ease-out
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0
}

.section.newsletter {
    padding: 100px 0
}

.section.newsletter h3 {
    color: #333;
    margin-bottom: 50px
}

.section.newsletter input {
    width: 70%;
    text-align: center
}

.section.newsletter .btn {
    margin-top: 30px
}

.section.testimonials {
    padding: 100px 0;
    margin: 0;
    color: #FFF;
    display: block;
    position: relative
}

.section.testimonials:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: rgba(0,0,0,0.7)
}

.section.testimonials h2,.section.testimonials p {
    color: #FFF
}

#owl-testimonials.owl-theme .owl-controls .owl-page span,#owl-testimonials.owl-theme .owl-pagination {
    display: none;
    height: 0
}

#owl-testimonials.owl-theme .owl-controls.clickable {
    display: none;
    margin: 0;
    height: 0
}

.contact-info li {
    padding-bottom: 20px
}

.contact-info i {
    font-size: 30px;
    padding-bottom: 20px
}

.contact-info h2 {
    font-size: 16px;
    letter-spacing: .2em
}

.contact-info h2,.contact-info p {
    padding-left: 0
}

.contact-info p {
    font-size: 12px
}

.contact-form .form-group {
    margin-bottom: 0
}

.contact-form .alert,.contact-form label {
    display: none
}

footer.section {
    margin-top: 100px;
    padding: 150px 0 10px 0;
    background-color: var(--footer-background);
    color: var(--footer-color)
}

footer.section h3 {
    font-size: 20px;
    color: var(--footer-color);
    margin-bottom: 0
}

footer.section p {
    color: var(--footer-color);
    float: left
}

footer.section .social {
    float: left;
    padding-left: 0
}

footer.section .social i {
    font-size: 20px;
    color: var(--footer-color);
    padding-top: 10px;
    padding-right: 20px;
    text-align: right
}

footer.section .social i:hover {
    color: var(--primary-color)
}

footer.section ul {
    list-style-type: none;
    float: left;
    margin-bottom: 0;
    margin-right: 30px
}

.widget_area .page_item {
    position: relative;
    padding-left: 15px;
    list-style: none
}

.widget_area .page_item:before {
    font-family: "Ionicons";
    content: "\f284";
    color: var(--primary-color);
    position: absolute;
    left: 0;
    top: 0
}

.widget_area .page_item i {
    color: var(--footer-color);
    padding-right: 5px
}

.widget_area .page_item.menu-item {
    list-style: none
}

.widget_area .page_item.menu-item>a {
    float: left;
    margin-right: 30px
}

.widget_area .page_item.menu-item>ul.sub-menu {
    margin-bottom: 20px;
    padding-left: 30px
}

.widget_area .page_item.menu-item>ul.sub-menu>li {
    list-style: disc!important
}

.widget_area .page_item.menu-item>ul.sub-menu>li>a {
    float: none
}

footer.section a {
    color: var(--footer-color)
}

footer.section a:hover {
    color: var(--primary-color)
}

.image {
    width: 30%;
    display: inline-block;
    margin-bottom: 10px;
    position: relative;
    cursor: pointer
}

.image img {
    max-width: 100%
}

.image .overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 10;
    background-color: rgba(204,36,36,0.9);
    transition: all .3s ease-in-out
}

.image .overlay:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 16px;
    background-color: var(--footer-color);
    top: 50%;
    left: 50%;
    z-index: 30;
    margin-top: -8px;
    margin-left: -1px;
    transition: all .3s ease-in-out
}

.image .overlay:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 1px;
    background-color: var(--footer-color);
    top: 50%;
    left: 50%;
    z-index: 30;
    margin-top: -1px;
    margin-left: -8px;
    transition: all .3s ease-in-out
}

.image:hover .overlay {
    opacity: 1
}

.back-to-top {
    display: none;
    position: fixed;
    right: 50px;
    bottom: 50px;
    z-index: 9999
}

.back-to-top a {
    border-radius: 0;
    transition-property: background-color;
    transition-duration: .2s;
    transition-timing-function: linear;
    display: block;
    width: 35px;
    height: 35px;
    text-align: center
}

.back-to-top a i {
    font-size: 50px;
    color: var(--primary-color)
}

.copyright {
    font-size: 11px;
    padding-top: 10px;
    text-align: center;
    text-align: center;
    float: none!important;
    border-top: 1px solid var(--primary-color)
}

.banner-top {
    width: 100%;
    height: 400px;
    background-color: var(--primary-color);
    display: table;
    background-size: cover;
    background-position: center;
    position: relative
}

.banner-top .banner-overlay {
    width: 100%;
    height: 400px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.7);
    display: table
}

.banner-top .banner-content {
    width: 100%;
    height: 400px;
    display: table
}

.banner-top .banner-content .container {
    display: table-cell;
    vertical-align: middle
}

.banner-top .banner-content h1 {
    color: #FFF;
    margin-top: 100px;
    margin-bottom: 20px
}

.banner-top .banner-content a,.banner-top .banner-content p {
    color: #FFF;
    margin-bottom: 0
}

.banner-top .banner-content a:hover,.banner-top .banner-content a:focus,.banner-top .banner-content a:active {
    color: var(--primary-color)
}

@media screen and (min-width: 1200px) {
    .navbar li .children li {
        display:block
    }

    .navbar li .children li .children {
        top: 0;
        left: 100%
    }

    .navbar.navbar-light li .children {
        top: 70px
    }
}

@media screen and (max-width: 1199px) {
    .navbar-title {
        font-size:15px;
        letter-spacing: 3px
    }

    .navbar-collapse {
        width: 100%;
        background-color: var(--header-background);
        padding: 0;
        border-bottom: 1px solid var(--primary-color);
        border-top: 0;
        position: absolute;
        left: 0;
        top: 70px
    }

    .navbar.navbar-light ul {
        padding-left: 0;
        margin-bottom: 0;
        padding: 20px 0
    }

    .navbar.navbar-light li {
        display: table;
        padding: 20px 30px;
        height: auto
    }

    .navbar.navbar-light>li.page_item_has_children,.navbar.navbar-light li>.children {
        padding-bottom: 0
    }

    .navbar.navbar-light li a {
        font-size: 13px;
        position: relative;
        display: block;
        color: var(--header-color)
    }

    .navbar.navbar-light li .children {
        position: relative;
        height: auto;
        top: 0;
        left: 0;
        box-shadow: none;
        border-bottom: 0;
        background-color: transparent
    }
}

@media screen and (max-width: 1023px) {
    h1 {
        font-size:30px!important
    }

    h2 {
        font-size: 25px!important
    }

    h3 {
        font-size: 22px!important
    }

    h4 {
        font-size: 18px!important
    }

    p {
        font-size: 14px!important;
        line-height: 1.8!important
    }

    hr {
        width: 80px
    }

    .padding {
        padding: 0 125px!important
    }

    .padding-top {
        padding-top: 90px!important
    }

    .padding-bottom {
        padding-bottom: 90px!important
    }

    footer {
        margin-top: 125px
    }

    .section.newsletter,.section.testimonials {
        padding: 80px 0
    }

    .section.dark {
        padding: 60px 0
    }

    .section.dark h2 {
        font-size: 30px!important
    }

    .section.dark .btn {
        margin-top: 25px
    }

    .btn {
        padding: 10px 40px;
        font-size: 15px;
        letter-spacing: 2px
    }

    .main-top .main-content h1 {
        font-size: 60px!important
    }

    .main-top .main-content h2 {
        font-size: 40px!important
    }

    .work-item .image-overlay {
        opacity: 1;
        top: initial;
        bottom: 0;
        height: 30%
    }

    .work-item .image-overlay a:not(.mfp-iframe) {
        pointer-events: none;
        cursor: default
    }

    .work-item .work-item-info h3 {
        font-size: 1.3em;
        line-height: 8px
    }

    .work-item .work-item-info p {
        font-size: .8em
    }

    td,tr,th {
        padding: 5px;
        font-size: 10px
    }
}

@media screen and (max-width: 991px) {
    .navbar li {
        padding:0 3px
    }

    .navbar li>a {
        font-size: 12px;
        padding: 0 5px
    }

    .section .box {
        margin: 30px 0
    }

    td,tr,th {
        padding: 8px;
        font-size: 12px
    }
}

@media screen and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform:scale(0.75);
        transform: scale(0.75)
    }

    .mfp-arrow-left {
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }

    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%
    }

    .mfp-container {
        padding-left: 6px;
        padding-right: 6px
    }

    .back-to-top {
        display: none!important
    }
}

@media screen and (max-width: 800px) and (orientation:landscape),screen and (max-height:300px) {
    .mfp-img-mobile .mfp-image-holder {
        padding-left:0;
        padding-right: 0
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0,0,0,0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0
    }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0,0,0,0.6);
        position: fixed;
        text-align: center;
        padding: 0
    }
}

@media screen and (max-width: 782px) {
    .admin-bar .fixed-top {
        top:46px
    }
}

@media screen and (max-width: 767px) {
    h1 {
        font-size:25px!important
    }

    h2 {
        font-size: 20px!important
    }

    h3 {
        font-size: 18px!important
    }

    h4 {
        font-size: 16px!important
    }

    p {
        font-size: 13px!important
    }

    hr {
        width: 75px;
        margin: 15px auto
    }

    .padding {
        padding: 0 100px!important
    }

    .padding-top {
        padding-top: 80px!important
    }

    .padding-bottom {
        padding-bottom: 80px!important
    }

    footer {
        margin-top: 100px
    }

    .section.newsletter,.section.testimonials {
        padding: 70px 0
    }

    .section.newsletter h3 {
        margin-bottom: 40px
    }

    .section.dark {
        padding: 50px 0
    }

    .section.dark h2 {
        font-size: 25px!important;
        letter-spacing: 5px;
        line-height: 1.8
    }

    .section.dark .btn {
        margin-top: 20px
    }

    .main-top .main-content h1 {
        font-size: 50px!important
    }

    .main-top .main-content h2 {
        font-size: 30px!important;
        letter-spacing: 5px
    }

    .navbar.navbar-light li {
        display: table;
        padding: 15px 30px
    }

    .btn {
        padding: 5px 25px;
        font-size: 14px;
        letter-spacing: 1px
    }

    .about .image {
        height: 500px
    }

    .about .background {
        height: 500px
    }

    .team,.team .mask {
        width: 200px;
        height: 200px
    }

    .team h2 {
        font-size: 16px!important;
        padding-top: 45px
    }

    .team a.info i {
        font-size: 15px;
        padding: 10px 5px
    }

    .work-item-filters li {
        display: block;
        margin: 20px
    }

    .work-item-filters li a {
        font-size: 12px
    }

    #purchase h3,#purchase p {
        display: none
    }

    .services i {
        font-size: 30px
    }

    .contact-info {
        text-align: center
    }

    .contact-info li {
        display: inline-block;
        padding: 0 5px 10px 5px
    }

    .contact-info i {
        font-size: 20px;
        width: 100%;
        padding-bottom: 10px
    }

    .contact-info h3,.contact-info p {
        padding-left: 0;
        padding-right: 0
    }

    footer {
        padding: 50px 0 10px 0
    }

    footer .social {
        float: none;
        text-align: center
    }
}

@media screen and (max-width: 480px) {
    h1 {
        font-size:20px!important
    }

    h2 {
        font-size: 18px!important
    }

    h3 {
        font-size: 16px!important
    }

    h4 {
        font-size: 15px!important
    }

    p {
        font-size: 12px!important;
        line-height: 1.5!important
    }

    hr {
        width: 50px;
        margin: 10px auto
    }

    .padding {
        padding: 0 50px!important
    }

    .padding-top {
        padding-top: 50px!important
    }

    .padding-bottom {
        padding-bottom: 50px!important
    }

    footer {
        margin-top: 50px
    }

    .section.newsletter,.section.testimonials {
        padding: 50px 0
    }

    .section.newsletter h3 {
        margin-bottom: 30px
    }

    .section.dark {
        padding: 30px 0
    }

    .section.dark h2 {
        font-size: 18px!important;
        letter-spacing: 3px;
        line-height: 1.5
    }

    .section.dark .btn {
        margin-top: 10px
    }

    .btn {
        padding: 5px 20px;
        font-size: 13px
    }

    .main-top .main-content h1 {
        font-size: 40px!important
    }

    .main-top .main-content h2 {
        font-size: 20px!important;
        letter-spacing: 3px
    }

    .section .box .overlay {
        padding: 5px
    }

    .section .box .overlay h4 {
        padding: 5px 15px 5px 5px
    }

    .section .box:hover .overlay h4 {
        padding: 10px 20px 10px 0
    }

    .section .box .overlay hr {
        width: 30px;
        margin: 0 15px 5px 0
    }

    .section .box:hover .overlay hr {
        width: 50px;
        margin: 0 20px 10px 0
    }

    .about .image {
        height: 400px
    }

    .about .background {
        height: 400px
    }

    .contact {
        padding-bottom: 0
    }

    .contact-info li {
        display: block
    }

    .contact-form .btn {
        width: 100%
    }

    .copyright {
        width: 100%;
        text-align: center
    }
}