/*************************
  1.General
*************************/
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700,900|Open+Sans:300,400,600,700,800');
body {
  background: #fff;
  color: #999999;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  line-height: 24px;
}
img{
  max-width: 100%;
  -webkit-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
*::before,
*::after,
a,
button,
span,
input,
textarea,
.btn {
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
a:focus,
.btn:focus {
  text-decoration: none;
  outline: none;
}
a:focus,
a:hover {
  color: inherit;
  text-decoration: none;
}
a,
button,
input,
textarea {
  color: #999999;
  font-family: 'Montserrat', sans-serif;
  outline: medium none;
}
.uppercase { 
  text-transform: uppercase
}
.capitalize { 
  text-transform: capitalize
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #3f3f3f;
  font-family: 'Roboto', sans-serif;
  margin-top: 0px;
  font-style: normal;
  font-weight: 700;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a { 
  color: inherit 
}
ul {
  margin: 0px;
  padding: 0px;
}
li { 
  list-style: none; 
}
p {
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  color: #999999;
  margin-bottom: 15px;
}

blockquote {
  border-color: #0056ff;
  display: block;
  float: left;
  margin: 10px 0 30px;
  padding: 15px 30px;
}
blockquote p {
  color: #939393;
  font-size: 18px !important;
  line-height: 28px;
  margin: 0 !important;
}

input:focus, textarea:focus {
    -webkit-box-shadow: 0;
    box-shadow: 0;
    outline: 0;
}
/*-- Placeholder Opacity --*/
::-webkit-input-placeholder {
    opacity: 1 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
}
:-moz-placeholder {
    opacity: 1 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
}
::-moz-placeholder {
    opacity: 1 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
}
:-ms-input-placeholder {
    opacity: 1 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
}



/*-- Margin Top --*/

.mt-30 {
    margin-top: 30px;
}
.mt-35 {
    margin-top: 35px;
}
.mt-40 {
    margin-top: 40px;
}
.mt-45 {
    margin-top: 45px;
}
.mt-50 {
    margin-top: 50px;
}
.mt-55 {
    margin-top: 55px;
}
.mt-60 {
    margin-top: 60px;
}
.mt-65 {
    margin-top: 65px;
}
.mt-70 {
    margin-top: 70px;
}
.mt-75 {
    margin-top: 75px;
}
.mt-80 {
    margin-top: 80px;
}
.mt-85 {
    margin-top: 85px;
}
.mt-90 {
    margin-top: 90px;
}
.mt-95 {
    margin-top: 95px;
}
.mt-100 {
    margin-top: 100px;
}


/*-- Margin Bottom --*/

.mb-30 {
    margin-bottom: 30px;
}
.mb-35 {
    margin-bottom: 35px;
}
.mb-40 {
    margin-bottom: 40px;
}
.mb-45 {
    margin-bottom: 45px;
}
.mb-50 {
    margin-bottom: 50px;
}
.mb-55 {
    margin-bottom: 55px;
}
.mb-60 {
    margin-bottom: 60px;
}
.mb-65 {
    margin-bottom: 65px;
}
.mb-70 {
    margin-bottom: 70px;
}
.mb-75 {
    margin-bottom: 75px;
}
.mb-80 {
    margin-bottom: 80px;
}
.mb-85 {
    margin-bottom: 85px;
}
.mb-90 {
    margin-bottom: 90px;
}
.mb-95 {
    margin-bottom: 95px;
}
.mb-100 {
    margin-bottom: 100px;
}
@media (max-width: 992px){
  .mb-md-40{
    margin-bottom: 40px;
  }
  .mb-md-35{
    margin-bottom: 35px;
  }
  .mb-md-25{
    margin-bottom: 35px;
  }
}


/*-- Padding Top --*/

.pt-30 {
    padding-top: 30px;
}
.pt-35 {
    padding-top: 35px;
}
.pt-40 {
    padding-top: 40px;
}
.pt-45 {
    padding-top: 45px;
}
.pt-50 {
    padding-top: 50px;
}
.pt-55 {
    padding-top: 55px;
}
.pt-60 {
    padding-top: 60px;
}
.pt-65 {
    padding-top: 65px;
}
.pt-70 {
    padding-top: 70px;
}
.pt-75 {
    padding-top: 75px;
}
.pt-80 {
    padding-top: 80px;
}
.pt-85 {
    padding-top: 85px;
}
.pt-90 {
    padding-top: 90px;
}
.pt-95 {
    padding-top: 95px;
}
.pt-100 {
    padding-top: 100px;
}
@media (max-width: 1200px){
  .pt-lg-60{
    padding-top: 60px;
  }
  .pt-lg-65{
    padding-top: 65px;
  }
  .pt-lg-70{
    padding-top: 70px;
  }
  .pt-lg-80{
    padding-top: 80px;
  }
}

@media (max-width: 992px){
  .pt-md-40{
    padding-top: 40px;
  }
  .pt-md-45{
    padding-top: 45px;
  }
  .pt-md-50{
    padding-top: 50px;
  }
  .pt-md-55{
    padding-top: 55px;
  }
  .pt-md-60{
    padding-top: 60px;
  }
  .pt-md-65{
    padding-top: 65px;
  }
  .pt-md-70{
    padding-top: 70px;
  }
}
@media (max-width: 768px){
  .pt-sm-40{
    padding-top: 40px;
  }
  .pt-sm-45{
    padding-top: 45px;
  }
  .pt-sm-50{
    padding-top: 50px;
  }
  .pt-sm-55{
    padding-top: 55px;
  }
  .pt-sm-60{
    padding-top: 60px;
  }
  .pt-sm-65{
    padding-top: 65px;
  }
  .pt-sm-70{
    padding-top: 70px;
  }
}



/*-- Padding Bottom --*/


.pb-45 {
    padding-bottom: 45px;
}
.pb-50 {
    padding-bottom: 50px;
}
.pb-55 {
    padding-bottom: 55px;
}
.pb-60 {
    padding-bottom: 60px;
}
.pb-65 {
    padding-bottom: 65px;
}
.pb-70 {
    padding-bottom: 70px;
}
.pb-75 {
    padding-bottom: 75px;
}
.pb-80 {
    padding-bottom: 80px;
}
.pb-85 {
    padding-bottom: 85px;
}
.pb-90 {
    padding-bottom: 90px;
}
.pb-95 {
    padding-bottom: 95px;
}
.pb-100 {
    padding-bottom: 100px;
}
@media (max-width: 1200px){
  .pb-lg-60{
    padding-bottom: 60px;
  }
  .pb-lg-65{
    padding-bottom: 65px;
  }
  .pb-lg-70{
    padding-bottom: 70px;
  }
}
@media (max-width: 992px){
  .pb-md-15{
    padding-bottom: 15px;
  }
  .pb-md-40{
    padding-bottom: 40px;
  }
  .pb-md-45{
    padding-bottom: 45px;
  }
  .pb-md-50{
    padding-bottom: 50px;
  }
}
@media (max-width: 768px){
  .pb-sm-40{
    padding-bottom: 40px;
  }
}

/*-- Button Animation --*/
@-webkit-keyframes btnAnimationOut {
  0% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    width: 100%;
  }
  50% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
    width: 100%;
  }
  100% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
  }
}
@keyframes btnAnimationOut {
  0% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    width: 100%;
  }
  50% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
    width: 100%;
  }
  100% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
  }
}
/*-- Button Hover --*/
.btn:hover {
  -webkit-transition: all 0.3s ease 0.3s;
  -o-transition: all 0.3s ease 0.3s;
  transition: all 0.3s ease 0.3s;
}
.btn:hover::before {
  -webkit-animation: 0.5s linear 0s normal forwards 1 running btnAnimationIn;
  animation: 0.5s linear 0s normal forwards 1 running btnAnimationIn;
}
/*-- Button Hover Animation --*/
@-webkit-keyframes btnAnimationIn {
  0% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
  }
  50% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
    width: 100%;
  }
  100% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    width: 100%;
  }
}
@keyframes btnAnimationIn {
  0% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
  }
  50% {
    -webkit-transform: scaleY(0.02);
    transform: scaleY(0.02);
    width: 100%;
  }
  100% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    width: 100%;
  }
}

.bg-image{
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: center;
  background-size: cover;
}


/*Header CSS*/

.header-area{
  padding-top: 130px;
}
.tag-line{
    font-size: 30px;
    color: #ffd24d;
    line-height: 1;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

/*Section Title*/

.section-title h2{
    font-size: 36px;
    color: #1f1f1f;
    margin-bottom: 10px; 
    line-height: 1.1;
}
.section-title h3{
    font-size: 120px;
    color: #3467b7;
    line-height: 0.89;
}
.section-title p{
    color: #666;
    font-size: 18px;
    margin-bottom: 0;  
}


/*Demo Item*/

.demo-item{
  margin-bottom: 40px;
}
.demo-item__thumb{
  position: relative;
  border: 10px solid #CCCCCC;
  border-radius: 4px;
}
.demo-item__thumb img{
    width: 100%;
}
.demo-item__overlay{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.65);
  opacity: 0;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.demo-item__overlay a{
    font-size: 16px;
    line-height: 22px;
    color: #ffffff;
    font-weight: 400;
    padding: 13px;
    background: transparent;
    text-transform: uppercase;
    z-index: 2;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    opacity: 0;
    -webkit-transition: opacity .1s ease .3s, -webkit-transform .4s ease .3s;
    transition: opacity .1s ease .3s, -webkit-transform .4s ease .3s;
    -o-transition: opacity .1s ease .3s, transform .4s ease .3s;
    transition: opacity .1s ease .3s, transform .4s ease .3s;
    transition: opacity .1s ease .3s, transform .4s ease .3s, -webkit-transform .4s ease .3s;
}
.demo-item__info{
  text-align: center;
  margin-top: 20px;
}
.demo-item__info h4{
    font-size: 16px;
    line-height: 20px;
    color: #444444;
    margin: 0px;
    text-transform: capitalize;
}
.demo-item:hover .demo-item__overlay a{
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; 
}
.demo-item:hover .demo-item__overlay{
  opacity: 1; 
}
.demo-item__overlay a:hover{
  background: #3768b4;
}

/*Feature*/

.feature-title h2{
    font-size: 60px;
    color: #1f1f1f;
    line-height: 1;
    text-align: center;
    font-weight: 300;
}
.feature-title h3{
  font-size: 36px;
  color: #1f1f1f;
  line-height: 1;
  text-align: center;
}
.feature-list{
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.feature-list li{
  color: #222222;
  margin: 5px 0px;
  font-size: 16px;
  -ms-flex-preferred-size: 45%;
      flex-basis: 45%;
  width: 45%;
}
.feature-list li i{
  color: #3768b4;
  margin-right: 10px;
  font-size: 16px;
}

/*Footer*/

.footer-top{
  border-bottom: 1px solid #1c335b; 
}
.footer-bottom{
  padding-top: 40px;
  padding-bottom: 30px;
}
.footer-block h2{
    font-size: 60px;
    color: #ffffff;
    line-height: 1;
}
.footer-block p{
  font-size: 18px;
  color: #ffffff;
  line-height: 1;
  margin-top: 30px;
  margin-bottom: 40px;
}
.footer-block a{
    padding: 20px 25px;
    background-color: rgba(0, 0, 0, 0.5);
    color: #FFD24D;
    font-weight: 700;
    font-size: 16px;
    border-radius: 5px;
    display: inline-block;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}
.footer-block a:hover{
    background-color: rgba(0, 0, 0, 0.2);
}
.copyright{
    font-size: 16px;
    color: #ffffff;
}

@media (max-width: 1200px){
  .header-area{
    padding-top: 110px;
  }
  .demo-item{
    margin-bottom: 30px;
  }
}

@media (max-width: 992px){
  .header-area{
    padding-top: 90px;
  }
  .demo-item{
    margin-bottom: 30px;
  }
  .feature-title h2 {
      font-size: 50px;
  }
  .feature-title h3 {
      font-size: 32px;
  }
  .footer-bottom{
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .footer-block h2{
      font-size: 50px;
  }
}

@media (max-width: 768px){
  .header-area{
    padding-top: 70px;
  }
  .tag-line{
      font-size: 25px;
  }
  .section-title h2{
      font-size: 30px;
  }
  .section-title h3{
      font-size: 80px;
  }
  .section-title p{
      font-size: 16px;
  }
  .feature-title h2 {
      font-size: 45px;
  }
  .feature-title h3 {
      font-size: 30px;
  }
  .feature-list li{
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    width: 100%;
  }
  .footer-block h2{
      font-size: 40px;
  }
}
@media (max-width: 576px){
  .header-area{
    padding-top: 60px;
  }
}