/* ------------------------------------------ */
/*             TABLE OF CONTENTS
/* ------------------------------------------ */
/*   01 - GENERAL SETTINGS SECTION  */
/*   02 - TYPOGRAPHY SECTION  */
/*   03 - HEADER SECTION  */
/*   04 - NAVIGATION SECTION */
/*   05 - ABOUT SECTION */
/*   06 - SERVICES SECTION */
/*   07 - PORTFOLIO SECTION */
/*   08 - TESTIMONIALS SECTION */
/*   09 - REVIEW SECTION */
/*   10 - SOCIAL SECTION */
/*   11 - CONTACT SECTION */
/*   12 - FOOTER SECTION */
/*   13 - RESPONSIVE SECTION */

/******** GENERAL SETTINGS SECTION START ********/

html,
body {
    height: 100%;
    width: 100%;
}

.no-padding {
    padding: 0;
}

.preloader-wrap {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #0C0C0C;
    z-index: 6;
    overflow: hidden;
}

.preloader {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80px;
    height: 60px;
    margin: -30px 0 0 -40px;
}

.preloader .lines {
    width: 80px;
    height: 40px;
    position: absolute;
}

.preloader .lines .line {
    width: 90px;
    height: 15px;
    background-color: #fff;
    position: absolute;
    clip: rect(0,0,20px,0);
}

.preloader .lines .line.line-1 {
    top: 0;
    animation: slide 2s ease 0.1s infinite;
}

.preloader .lines .line.line-2 {
    top: 15px;
    animation: slide 2s ease .25s infinite;
}

.preloader .lines .line.line-3 {
    top: 30px;
    animation: slide 2s ease .5s infinite;
}

.preloader .loading-text {
    position: absolute;
    top: 50px;
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 14px;
    font-family: "Montserrat",sans-serif;
    letter-spacing: 1px;
    line-height: 10px;
    height: 10px;
    text-transform: uppercase;
}

@keyframes slide {
    0% {
        clip: rect(0,0,20px,0);
    }

    30% {
        clip: rect(0,80px,20px,0);
    }

    50% {
        clip: rect(0,80px,20px,0);
    }

    80% {
        clip: rect(0,80px,20px,80px);
    }

    100% {
        clip: rect(0,80px,20px,80px);
    }
}

@keyframes fade {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/******** TYPOGRAPHY SECTION START ********/

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
}


p {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    color: #455a64;
}


/******** HEADER SECTION START ********/

.header-fullscreen {
    background: url('../img/avat.jpg') no-repeat center center;
    background-color: #1f1f1f;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0;
}

.header-fullscreen .headline {
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.header-fullscreen h1 {
    color: #fff;  
    font-size: 18pt;
    letter-spacing: 2pt;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 20px;
}

.header-fullscreen .video-item .fa {
    font-size: 15pt;
    padding-right: 15px;
}

.header-fullscreen .video-item h5 a {
    color: #fff;
    letter-spacing: 2pt;
    font-size: 14pt;
    font-weight: 400;
    text-decoration: none;
}


/******** NAVIGATION SECTION START ********/
 
/* Menu Button */
.menu-btn {
  font-size: 24pt;
  background: none;
  color: #9e9e9e;
  text-align: center;
  cursor: pointer;
  border: 0px;
  top: 30px;
  right: 30px;
  position: fixed;
  z-index: 5;
}

.menu-btn:hover {
  opacity: 0.6;
}

/******** ABOUT SECTION START ********/

.about-us{
    padding: 120px 0 175px;
}

.about-us-txt{
    margin-top: 103px;
}

.about-us h2 {
    color: #4d4e54;  
    font-size: 18pt;
    letter-spacing: 1pt;
    text-transform: uppercase;
    font-weight: 700;
}

.about-us p{
    color: #888; 
    font-size: 12pt;
    line-height: 1.6;
    letter-spacing: 0.4pt;
    max-width: 501px;
    margin-top: 28px;
    margin-bottom: 38px;
}

.about-us .project-btn a {
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 400;
    font-size: 10pt;
    letter-spacing: 1pt;
    color: #fff;
    background-color: #1b1b1b;
    border-radius: 0px;
    padding: 15px 40px;
}

.about-us-img  {
    position: relative;
    box-shadow: 0 10px 30px rgba(112,134,230,.2);
    z-index: 1;
}

.about-us-img:before{
    position: absolute;
    content: " ";
    top: 55px;
    left: -23px;
    border: 3px solid #ebecfb;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/******** SERVICES SECTION START ********/

.services {
    margin-top: 100px;
}

.services h2 {
    color: #4d4e54;  
    font-size: 18pt;
    letter-spacing: 1pt;
    text-transform: uppercase;
    font-weight: 700;
}

.services .services-detail {
    border-radius: 4px;
    transition: all 0.3s ease-in-out;
    position: relative;
    top: 0px;
    padding: 60px 40px 60px 40px;
    margin-top: 32px;
}

.services .services-detail:hover {
    box-shadow: 0px 16px 22px 0px rgba(90, 91, 95, 0.3);
    top: -5px;
    background-color: #fff;
}

.services .services-detail .fa {
    font-size: 30pt;
    color: #1b1b1b;
    margin-bottom: 13px;
}

.services-detail h5 {
    color: #1b1b1b;
    font-size: 14pt;
    font-weight: 700;
    letter-spacing: 1pt;
}

.services hr {
    width: 25px;
    height: 1px;
}

.services-detail p {
    color: #888;
    font-size: 12pt;
    letter-spacing: 0.4pt;
}

/******** WORK SECTION START ********/

.work {
    margin-top: 150px;
    width: auto;
    background-color: #1f1f1f;
    height: auto;
}

.work h2 {
    color: #fff;  
    font-size: 18pt;
    letter-spacing: 1pt;
    text-transform: uppercase;
    font-weight: 700;
    padding-top: 70px;
    padding-bottom: 40px;
}

.work img {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    transition: filter 600ms ease;
    -webkit-transition: -webkit-filter 600ms ease;
}

.work img:hover {
    cursor: pointer;
    filter: grayscale(0);
    -webkit-filter: grayscale(0);
}

.margin {
    margin-bottom: 150px;
} 

.work .col-md-4 {
    margin-top: 30px;
}

/* overlay at start */
.mfp-fade.mfp-bg {
    opacity: 0;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}
/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.8;
}
/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out;
}
/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}
/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}

/******** TESTIMONIALS SECTION START ********/

.clients {
    padding: 150px 0 40px;
}

.clients h2 {
    color: #4d4e54;  
    font-size: 18pt;
    letter-spacing: 1pt;
    text-transform: uppercase;
    font-weight: 700;
}

.clients .line {
    width: 25px;
    height: 1px;
    background-color: #000;
    margin: 25px auto;
}

.logos {
    width: auto;
    height: auto;
    background-color: #111111;
    padding: 50px 0px;
}

.logos .client-wrap {
    padding: 60px 0px;
}

.logos img {
    width: 50%;
}

/******** REVIEW SECTION START ********/

.review {
    background-color: #1b1b1b;
}
 
.swiper {
    max-width: 600px;
    height: auto;
}

.swiper-slide {
    padding: 50px 0px;
    text-align: center;
    font-size: 18px;
    background: #1b1b1b;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.swiper-wrapper img {
    width: 100px;
    border-radius: 180px;
    margin: 0 auto;
    margin-top: 30px;
}

.swiper-wrapper .review-wrap {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    transition: filter 600ms ease;
    -webkit-transition: -webkit-filter 600ms ease
}

.swiper-wrapper .review-wrap:hover {
    cursor: pointer;
    filter: grayscale(0);
    -webkit-filter: grayscale(0);
}

.swiper-wrapper .review-text {
    padding: 15px 0; 
    font-size: 11pt;
    font-weight: 300;
    letter-spacing: 1pt;
    color: #fff;
    line-height: 22pt;
}

.swiper-wrapper h4 {
    margin-top: 25px;
    margin-bottom: 80px;
    font-size: 12pt;
    font-weight: 700;
    letter-spacing: 1pt;
    color: #dcdcdc;
}

/******** SOCIAL MEDIA SECTION START ********/

.links {
    margin-top: 0px;
    background-color: #111111;
    width: auto;
    height: auto;
}

.links .fa {
    font-size: 30px;
    padding: 150px 0;
    color: #fff; 
}

.links .fa:hover {
    -webkit-transition: all 0.6s ease-in;
    -moz-transition: all 0.6s ease-in;
    -ms-transition: all 0.6s ease-in;
    -o-transition: all 0.6s ease-in;
    transition: all 0.6s ease-in;
    color: #707070;
}

/******** CONTACT SECTION START ********/

.contact {
    background-color: #1f1f1f;
    width: auto;
    padding: 150px 0;
}

.contact .line {
    margin: 25px 0;
    width: 25px;
    height: 1px;
    background-color: #fff;
}

.contact .fa {
    color: #fff;
    font-size: 24pt;
    padding-bottom: 20px;
}

.contact h4 {
    color: #dcdcdc;
    font-size: 10pt;
    letter-spacing: 2pt;
}

.form {
    background-color: #1f1f1f;
    padding-top: 200px;
    padding-bottom: 0px;
}

.form h2 {
    color: #fff;  
    font-size: 18pt;
    letter-spacing: 1pt;
    text-transform: uppercase;
    font-weight: 700;
}

.form .line {
    margin: 30px auto; 
    width: 30px;
    height: 2px;
    background-color: #fff;
}

.form .text {
    width: 100%;
    height: 40px;
    padding: 15px 15px;
    border: 0;
    font-size: 10pt;
    font-weight: 700;
    letter-spacing: 1pt;
    background-color: #111111;
    color: #fff;
    border-bottom: 2px solid #1b1b1b;
}

.form .text:focus {
    transition: border .6s;
    -webkit-transition: border .6s;
    outline: none;
    border-bottom: 2px solid #fff;
}

.form .email {
    margin-top: 30px;
    width: 100%;
    height: 40px;
    padding: 15px 15px;
    border: 0;
    font-size: 10pt;
    font-weight: 700;
    letter-spacing: 1pt;
    background-color: #111111;
    color: #dcdcdc;
    border-bottom: 2px solid #1b1b1b; 
}

.form .email:focus {
    transition: border .6s;
    -webkit-transition: border .6s;
    outline: none;
    border-bottom: 2px solid #fff;
}

.form .msg {
    margin-top: 30px;
    width: 100%;
    height: 130px;
    padding: 15px 15px;
    border: 0;
    font-size: 10pt;
    font-weight: 700;
    letter-spacing: 1pt;
    background-color: #111111;
    color: #dcdcdc;
    border-bottom: 2px solid #1b1b1b;
}

.form .msg:focus {
    transition: border .6s;
    -webkit-transition: border .6s;
    outline: none;
    border-bottom: 2px solid #fff;
}

.form .btn {
    font-weight: 400;
    font-size: 10pt;
    letter-spacing: 1pt;
    color: #1b1b1b;
    background-color: #fff;
    border-radius: 0px;
    padding: 15px 40px;
    margin-top: 50px;
}

/******** FOOTER SECTION START ********/

footer {
    background-color: #111111;
}

footer h4 {
    font-size: 8pt;
    letter-spacing: 2pt;
    margin: 50px auto;
    color: #dcdcdc;
}

/******** RESPONSIVE SECTION START ********/

@media only screen and (max-width : 980px) {
    .about-us-img {
        margin-top: 38px;
    }
}

@media only screen and (max-width : 414px) {
    .about-us-img {
        margin-top: 38px;
    }
}
