body{
    font-size: 18px;
    font-family: Lato, sans-serif;
    font-weight: 500;
}
h2{
    font-size: 48px;
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    line-height: 60px;
    color: #151d50;
}
a{
     color: #151d50;
     transition: 0.4s;

}

a:hover, a:focus{
     color: #1d8df6;
     text-decoration: none !important;

}

video{
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    transform: translateX(-50%) translateY(-50%);
 background: url('//demosthenes.info/assets/images/polina.jpg') no-repeat;
  background-size: cover;
  transition: 1s opacity;
  opacity: 0.4;
}

.jumbotron.vertical-center {
  margin-bottom: 0; /* Remove the default bottom margin of .jumbotron */
  background-color: rgba(0,0,0,0);
}

.vertical-center {
  min-height: 100%;  /* Fallback for vh unit */
  min-height: 100vh; /* You might also want to use
                        'height' property instead.
                        
                        Note that for percentage values of
                        'height' or 'min-height' properties,
                        the 'height' of the parent element
                        should be specified explicitly.
  
                        In this case the parent of '.vertical-center'
                        is the <body> element */

  /* Make it a flex container */
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; 
  
  /* Align the bootstrap's container vertically */
    -webkit-box-align : center;
  -webkit-align-items : center;
       -moz-box-align : center;
       -ms-flex-align : center;
          align-items : center;
  
  /* In legacy web browsers such as Firefox 9
     we need to specify the width of the flex container */
  width: 100%;
  
  /* Also 'margin: 0 auto' doesn't have any effect on flex items in such web browsers
     hence the bootstrap's container won't be aligned to the center anymore.
  
     Therefore, we should use the following declarations to get it centered again */
         -webkit-box-pack : center;
            -moz-box-pack : center;
            -ms-flex-pack : center;
  -webkit-justify-content : center;
          justify-content : center;
}

.logo{margin-top: 90px;}

.info{color: #151d50;}
.info h2{margin: 105px 0 75px;}
.info i{margin-right: 10px;}
.info p{margin-bottom: 25px;}

.services-container{
    background: #fff;
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.3);
    box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.3);
}

.services-container > div{
    padding-top:20px;
    padding-bottom:45px;
}

.service{
    border: 1px solid #c5c5c5;
    overflow: auto;
    display: block;
    margin: 0;
    padding: 40px 0;
    margin-top: 30px;
}
.service:hover, .service:focus, .service:active{background-color: #1d8df6;}
.service:hover p, .service:focus p, .service:active p{color: #fff;}

.services-container > div > div:nth-child(odd) a{margin-left: 45px;}
.services-container > div > div:nth-child(even) a{margin-right: 45px;}

.service-img{
    display: inline-block;
    width: 90px;
    height: 90px;
    margin: 0 0 30px;
}
.service1{background: url('../img/icons.png') 0 0;}
.service2{background: url('../img/icons.png') 0 -90px;}
.service3{background: url('../img/icons.png') 0 -180px;}
.service4{background: url('../img/icons.png') 0 -270px;}

.service:hover .service1, .service:focus .service1, .service:active .service1{background: url('../img/icons.png') -90px 0;}
.service:hover .service2, .service:focus .service2, .service:active .service2{background: url('../img/icons.png') -90px -90px;}
.service:hover .service3, .service:focus .service3, .service:active .service3{background: url('../img/icons.png') -90px -180px;}
.service:hover .service4, .service:focus .service4, .service:active .service4{background: url('../img/icons.png') -90px -270px;}

.services-container p{
    font-size: 28px;
}

@media screen and (min-width: 1600px) {
    .container{width:1600px;}
}
@media screen and (max-width: 1599px) {
    h2{font-size: 32px;}
    .jumbotron p{font-size: 18px;}
    .logo{margin-top: 30px;}
    .services-container p{font-size: 20px;}
    .service{padding: 20px 0;}
}
@media screen and (max-width: 1199px) {
    h2{font-size: 28px;}
    .services-container p{font-size: 16px;}
    .services-container > div > div:nth-child(odd) a{margin-left: 20px;}
    .services-container > div > div:nth-child(even) a{margin-right: 20px;}
    .service{padding: 10px 0;}
    .service-img{margin: 0 0 20px;}
    .info h2{
        margin: 90px 0  70px;
        line-height: 40px;
    }
}
@media screen and (max-width: 991px) {
    .info{margin-bottom: 20px;}
    .info h2{margin: 50px 0  30px;}
    .info img, .info h2, .info p{margin-left: 55px;}
    .services-container > div > div:nth-child(odd) a{
        margin-left: 50px; 
        margin-right: 10px;}
    .services-container > div > div:nth-child(even) a{
        margin-right: 50px;
        margin-left: 10px;
    }
}
@media screen and (max-width: 767px) {
    .info{margin-bottom: 40px;}
    .info img, .info h2, .info p{margin-left: 0;}
    .info h2{
        font-size: 18px;
        margin: 30px 0  30px;
    }
    .jumbotron p{font-size: 16px;}
    .info p{margin-bottom: 15px;}
    .services-container > div > div:nth-child(odd) a{
        margin-left: 10px;
        margin-right: 0;
    }
    .services-container > div > div:nth-child(even) a{
        margin-right: 10px;
        margin-left: 0;
    }
    .service p {height: 70px;}
}
@media screen and (max-width: 359px) {
    .services-container > div > div,.services-container > div > div{
        margin-left: 5%;
        width: 90%;
    }
    .services-container > div > div:nth-child(odd) a,.services-container > div > div:nth-child(even) a{
        margin-left: 0;
        margin-right: 0;
    }
    .service{margin-top: 10px;}
}