.text-black{
  font-size: 30px;
  color: #000000;
  text-transform: uppercase;
  font-weight: 300;
  text-align: center;
  margin-bottom: 5px;
}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.line-separator{
height:1px;
background:#717171;
border-bottom:1px solid #717171;
width: 60%;
margin-bottom: 5px;
margin-top: 5px;
}

.line-separator-grey{
height:1px;
background:#717171;
border-bottom:1px solid #d0d0d0;
width: 60%;
margin-bottom: 10px;
margin-top: 5px;
}

/* Styling an indeterminate progress bar */

progress:not(value) {
    /* Add your styles here. As part of this walkthrough we will focus only on determinate progress bars. */
}

/* Styling the determinate progress element */

progress[value] {
    /* Get rid of the default appearance */
    appearance: none;
    
    /* This unfortunately leaves a trail of border behind in Firefox and Opera. We can remove that by setting the border to none. */
    border: none;
    
    /* Add dimensions */
    width: 60%; height: 20px;
    
    /* Although firefox doesn't provide any additional pseudo class to style the progress element container, any style applied here works on the container. */
      background-color: whiteSmoke;
      border-radius: 3px;
      box-shadow: 0 2px 3px rgba(0,0,0,.5) inset;
    
    /* Of all IE, only IE10 supports progress element that too partially. It only allows to change the background-color of the progress value using the 'color' attribute. */
    color: royalblue;
    
    position: relative;
    margin: 0 0 1.5em; 
}

/*
Webkit browsers provide two pseudo classes that can be use to style HTML5 progress element.
-webkit-progress-bar -> To style the progress element container
-webkit-progress-value -> To style the progress element value.
*/

progress[value]::-webkit-progress-bar {
    background-color: whiteSmoke;
    border-radius: 3px;
    box-shadow: 0 2px 3px rgba(0,0,0,.5) inset;
}

progress[value]::-webkit-progress-value {
    position: relative;
    
    background-size: 35px 20px, 100% 100%, 100% 100%;
    border-radius:3px;
    
    /* Let's animate this */
    animation: animate-stripes 5s linear infinite;
}

@keyframes animate-stripes { 100% { background-position: -100px 0; } }

/* Let's spice up things little bit by using pseudo elements. */

progress[value]::-webkit-progress-value:after {
    /* Only webkit/blink browsers understand pseudo elements on pseudo classes. A rare phenomenon! */
    content: '';
    position: absolute;
    
    width:5px; height:5px;
    top:7px; right:7px;
    
    background-color: white;
    border-radius: 100%;
}

/* Firefox provides a single pseudo class to style the progress element value and not for container. -moz-progress-bar */

progress[value]::-moz-progress-bar {
    /* Gradient background with Stripes */
    background-image:
    -moz-linear-gradient( 135deg,
                                                     transparent,
                                                     transparent 33%,
                                                     rgba(0,0,0,.1) 33%,
                                                     rgba(0,0,0,.1) 66%,
                                                     transparent 66%),
    -moz-linear-gradient( top,
                                                        rgba(255, 255, 255, .25),
                                                        rgba(0,0,0,.2)),
     -moz-linear-gradient( left, #09c, #f44);
    
    background-size: 35px 20px, 100% 100%, 100% 100%;
    border-radius:3px;
    
    /* Firefox doesn't support CSS3 keyframe animations on progress element. Hence, we did not include animate-stripes in this code block */
}

/* Fallback technique styles */
.progress-bar {
    background-color: whiteSmoke;
    border-radius: 3px;
    box-shadow: 0 2px 3px rgba(0,0,0,.5) inset;

    /* Dimensions should be similar to the parent progress element. */
    width: 100%; height:20px;
}

.progress-bar span {
    background-color: royalblue;
    border-radius: 3px;
    
    display: block;
    text-indent: -9999px;
}

p[data-value] { 
  
  position: relative; 
}

/* The percentage will automatically fall in place as soon as we make the width fluid. Now making widths fluid. */

p[data-value]:after {
    content: attr(data-value) '%';
    position: absolute; right:0;
}





.html5::-webkit-progress-value,
.python::-webkit-progress-value  {
    /* Gradient background with Stripes */
    background-image:
    -webkit-linear-gradient( 135deg,
                                                     transparent,
                                                     transparent 33%,
                                                     rgba(0,0,0,.1) 33%,
                                                     rgba(0,0,0,.1) 66%,
                                                     transparent 66%),
    -webkit-linear-gradient( top,
                                                        rgba(255, 255, 255, .25),
                                                        rgba(0,0,0,.2)),
     -webkit-linear-gradient( left, #09c, #f44);
}

.css3::-webkit-progress-value,
.php::-webkit-progress-value 
{
    /* Gradient background with Stripes */
    background-image:
    -webkit-linear-gradient( 135deg,
                                                     transparent,
                                                     transparent 33%,
                                                     rgba(0,0,0,.1) 33%,
                                                     rgba(0,0,0,.1) 66%,
                                                     transparent 66%),
    -webkit-linear-gradient( top,
                                                        rgba(255, 255, 255, .25),
                                                        rgba(0,0,0,.2)),
     -webkit-linear-gradient( left, #09c, #0cc);
}

.jquery::-webkit-progress-value,
.node-js::-webkit-progress-value 
{
    /* Gradient background with Stripes */
    background-image:
    -webkit-linear-gradient( 135deg,
                                                     transparent,
                                                     transparent 33%,
                                                     rgba(0,0,0,.1) 33%,
                                                     rgba(0,0,0,.1) 66%,
                                                     transparent 66%),
    -webkit-linear-gradient( top,
                                                        rgba(255, 255, 255, .25),
                                                        rgba(0,0,0,.2)),
     -webkit-linear-gradient( left, #09c, #690);
}

/* Similarly, for Mozillaa. Unfortunately combining the styles for different browsers will break every other browser. Hence, we need a separate block. */

.html5::-moz-progress-bar,
.php::-moz-progress-bar {
    /* Gradient background with Stripes */
    background-image:
    -moz-linear-gradient( 135deg,
                                                     transparent,
                                                     transparent 33%,
                                                     rgba(0,0,0,.1) 33%,
                                                     rgba(0,0,0,.1) 66%,
                                                     transparent 66%),
    -moz-linear-gradient( top,
                                                        rgba(255, 255, 255, .25),
                                                        rgba(0,0,0,.2)),
     -moz-linear-gradient( left, #09c, #f44);
}

.css3::-moz-progress-bar,
.php::-moz-progress-bar {

    /* Gradient background with Stripes */
    background-image:
    -moz-linear-gradient( 135deg,
                                                     transparent,
                                                     transparent 33%,
                                                     rgba(0,0,0,.1) 33%,
                                                     rgba(0,0,0,.1) 66%,
                                                     transparent 66%),
    -moz-linear-gradient( top,
                                                        rgba(255, 255, 255, .25),
                                                        rgba(0,0,0,.2)),
     -moz-linear-gradient( left, #09c, #ff0);
}

.jquery::-moz-progress-bar,
.node-js::-moz-progress-bar {
    /* Gradient background with Stripes */
    background-image:
    -moz-linear-gradient( 135deg,
                                                     transparent,
                                                     transparent 33%,
                                                     rgba(0,0,0,.1) 33%,
                                                     rgba(0,0,0,.1) 66%,
                                                     transparent 66%),
    -moz-linear-gradient( top,
                                                        rgba(255, 255, 255, .25),
                                                        rgba(0,0,0,.2)),
     -moz-linear-gradient( left, #09c, #690);
}


/*!---------- 27. VIDEO ----------*/
video:-webkit-full-screen,
audio:-webkit-full-screen {
  -webkit-transform: translateY(0%);
}
iframe {
  border: none;
}
.player {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .player {
    display: none;
  }
}
.vid-bg {
  background: #222;
}
.vid-bg .background-image-holder {
  display: none;
  z-index: 0;
}
.vid-bg .masonry-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -25px;
  margin-top: -25px;
}
.vid-bg .container.fadeOut {
  opacity: 0;
}
@media all and (max-width: 1024px) {
  .vid-bg .background-image-holder {
    display: block;
  }
  .vid-bg .player {
    display: none;
  }
  .vid-bg .container.fadeOut {
    opacity: 1;
  }
  .vid-bg .masonry-loader {
    display: none;
  }
}
video {
  max-width: 100%;
}
.local-video-container {
  position: relative;
  margin-bottom: 24px;
}
.local-video-container video {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}
.local-video-container .background-image-holder {
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  top: 0;
  box-shadow: 0 1px 15px 0 rgba(0, 0, 0, 0.26);
}
.background-image-holder.fadeout {
  opacity: 0 !important;
  z-index: 0;
}
@media all and (max-width: 767px) {
  video {
    max-width: 100% !important;
  }
}
.play-button {
  width: 80px;
  height: 80px;
  border: 2px solid #fff;
  text-align: center;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-left: -40px;
  z-index: 4;
  border-radius: 50%;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  cursor: pointer;
}
.play-button:before {
  position: absolute;
  top: 50%;
  margin-top: -8px;
  left: 50%;
  margin-left: -5px;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 14px;
  border-color: transparent transparent transparent #ffffff;
}
.play-button:hover {
  transform: scale(0.95);
  -webkit-transform: scale(0.95);
}
.play-button.dark {
  border-color: #292929;
}
.play-button.dark:before {
  border-color: transparent transparent transparent #292929;
}
@media all and (max-width: 767px) {
  .play-button {
    width: 65px;
    height: 65px;
    margin-top: -32px;
  }
  .play-button:before {
    position: absolute;
    top: 50%;
    margin-top: -9px;
    margin-left: -8px;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 20.0px;
    border-color: transparent transparent transparent #fff;
  }
}
.play-button.large {
  height: 120px;
  width: 120px;
  margin-top: -60px;
  margin-left: -60px;
}
.play-button.large:before {
  margin-top: -18px;
  margin-left: -10px;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 31.0px;
  border-color: transparent transparent transparent #ffffff;
}
.play-button.large.dark:before {
  border-color: transparent transparent transparent #292929;
}
.play-button.inline {
  position: relative;
  top: 0;
  left: 0;
  margin-top: 0;
  margin-left: 0;
  display: inline-block;
  z-index: 0;
}
@media all and (max-width: 767px) {
  .play-button.large {
    width: 90px;
    height: 90px;
    margin-top: -45px;
  }
  .play-button.large:before {
    margin-top: -14px;
    margin-left: -8px;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 25.0px;
    border-color: transparent transparent transparent #fff;
  }
}
.modal-video {
  position: fixed;
  visibility: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.9);
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  opacity: 0;
  z-index: -1;
}
.modal-video video {
  margin: 0 auto;
  width: 675px;
  display: block;
  top: 50%;
  position: relative;
  transform: translate3d(0, -50%, 0);
  -webkit-transform: translate3d(0, -50%, 0);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}
.modal-video.reveal-modal {
  opacity: 1;
  z-index: 999999;
  visibility: visible;
}
.modal-video iframe {
  position: absolute;
  width: 768px;
  height: 432px;
  left: 50%;
  margin-left: -384px;
  margin-top: -216px;
  top: 50%;
  border: none;
}
.modal-video .ti-close {
  font-size: 24px;
  position: absolute;
  top: 32px;
  right: 32px;
  color: #fff;
  cursor: pointer;
}
@media all and (max-width: 990px) {
  .modal-video iframe {
    width: 640px;
    height: 360px;
    margin-left: -320px;
    margin-top: -160px;
  }
}
@media all and (max-width: 767px) {
  .modal-video video {
    width: 100%;
    padding: 0 15px;
  }
  .modal-video iframe {
    width: 100%;
    margin-left: -50%;
  }
}
.fs-video-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.fs-video-wrapper video {
  position: absolute;
  width: 100%;
  left: 0;
}
.embed-video-container {
  width: 100%;
  position: relative;
  display: inline-block;
}
.embed-video-container iframe {
  border: none;
  width: 100%;
  height: 312px;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}
.modal-video .embed-video-container {
  width: 80%;
  max-height: 800px;
}
@media all and (max-width: 767px) {
  .embed-video-container iframe {
    height: 200px;
  }
}
.fs-vid-background {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}
.fs-vid-background video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.overlay .fs-vid-background:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #222222;
  opacity: 0.5;
  z-index: 2;
}
@media all and (max-width: 1024px) {
  .fs-vid-background {
    display: none;
  }
}

/* Now we are good to duplicate html code for other skills and then add the css code for the new skill based on data-skill */

  
/* THE END */
