html,body{
    height: 100%;
    font-family: 'Open Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-weight: 100;
    font-style: normal;
}

body{
    font-family: 'Open Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-weight: 100;
    font-style: normal;
    width: 100%;
    height: 100%;
    font-size: 16px;
    line-height: 1.7;
    color: #333333;
}

pre, code { font-family: monospace; }

h1,
h2,
h3,
h4,
h5,
h6{
	font-family: 'futuromedium', sans-serif;
    color: #333333;
    font-weight: 500;
}



p {
    font-family: 'Open Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-weight: 100;
    font-style: normal;
    letter-spacing: 0;
    line-height:1.8;
}

a{
	font-family: 'futuromedium', sans-serif;
    text-decoration: none;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

a:focus{
    outline:none;
    text-decoration: none;
}

ul,li{
    margin: 0;
    padding: 0;
}

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

imz {
    max-width: 50%;
    height: auto;
}

.section-padding{
    padding: 60px 0;
}

.section-header{
    margin-bottom: 60px;
    text-align: center;
}

.section-header h2 {
    display: inline-block;
    padding: 5px;
    margin: 5px 0;
}

.line-one {
    height: 1px;
    width: 100px;
    background: #1E90FF;
    display: block;
    margin: 0 auto;
    padding: 0;
}

/*---Default css ends---*/

/*-------------- 2. Preloader css starts ---------------*/

.loader_bg {
    position: fixed;
    z-index: 9999999;
    background: #fff;
    width: 100%;
    height: 100%;
}

.loader {
    border: 0 solid transparent;
    border-radius: 50%;
    width: 150px;
    height: 150px;
    position: absolute;
    top: calc(50vh - 75px);
    left: calc(50vw - 75px);
}

.loader:before, .loader:after {
    content: '';
    border: 1em solid #1E90FF;
    border-radius: 50%;
    width: inherit;
    height: inherit;
    position: absolute;
    top: 0;
    left: 0;
    animation: loader 2s linear infinite;
    opacity: 0;
}

.loader:before {
    animation-delay: .5s;
}

@keyframes loader {
    0% {
        transform: scale(0);
        opacity: 0; }
    50% {
        opacity: 1; }
    100% {
        transform: scale(1);
        opacity: 0; }
}


/*-------------- Preloader css ends ---------------*/

/*--- 3. Mouse animation starts---*/

@-webkit-keyframes scroll-ani {
    0% {
        opacity: 1;
        top: 29%;
    }
    15% {
        opacity: 1;
        top: 50%;
    }
    50% {
        opacity: 0;
        top: 50%;
    }
    100% {
        opacity: 0;
        top: 29%;
    }
}

@keyframes scroll-ani {
    0% {
        opacity: 1;
        top: 29%;
    }
    15% {
        opacity: 1;
        top: 50%;
    }
    50% {
        opacity: 0;
        top: 50%;
    }
    100% {
        opacity: 0;
        top: 29%;
    }
}

.mouse-scroll {
    position: absolute;
    left:48%;
    display: inline-block;
    line-height: 18px;
    font-size: 13px;
    font-weight: normal;
    color: #ffffff;
    letter-spacing: 2px;
    margin-top: 10%;
    text-decoration: none;
    overflow: hidden;
}

.mouse-scroll .mouse {
    position: relative;
    display: block;
    width: 35px;
    height: 60px;
    margin: 0 auto 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 3px solid #ffffff;
    border-radius: 23px;
}

.mouse-scroll .mouse .mouse-movement {
    position: absolute;
    display: block;
    top: 29%;
    left: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    background: #ffffff;
    border-radius: 50%;
    -webkit-animation: scroll-ani 2s linear infinite;
    animation: scroll-ani 2s linear infinite;
}

/*---mouse animation ends---*/

/*---------- 4. Nav area css starts -------------*/

.nav-area{
    height: 65px;
	width: 100%;
}

.nav-area.sticky_navigation{
	font-family: 'futuromedium', sans-serif;
    background: #ffffff;
    height: 80px;
}

.navbar-nav {
    margin-top: 15px;
}

.sticky_navigation{
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out ;
    transition: all 0.4s ease-out ;
    -webkit-box-shadow: 0px 3px 4.6px 0.3px rgba(0,0,0,0.25);
    box-shadow: 0px 3px 4.6px 0.3px rgba(0,0,0,0.25);
}

.sticky_navigation .main-menu{
    margin-top: 0;
	width: 100%;
}

.sticky_navigation .navbar-brand, .sticky_navigation .navbar-brand span {
    color: #000000;
}

.sticky_navigation .navbar-brand:hover, .sticky_navigation .navbar-brand:focus, .sticky_navigation .navbar-brand span {
    color: #1E90FF;
}

.sticky_navigation .nav li a {
    color: #333333;
}

.sticky_navigation .nav li.active a{
    color: #1E90FF;
}

.sticky_navigation .nav li.active::before {
    border-top: 1px solid #1E90FF;
    content: "";
    display: block;
    margin: 0 auto;
    width: 100%;
}
.sticky_navigation .nav li.active::after {
    border-bottom: 1px solid #1E90FF;
    content: "";
    display: block;
    margin: 0 auto;
    width: 100%;
}

.sticky_navigation .navbar-brand:hover{
    color: #ffffff;
}

.main-menu{
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    margin-top: 10px;
}

.navbar{
    border:0;
    margin-bottom: 5;
}

.navbar-brand{
    padding: 10px 0;
    text-transform: uppercase;
	font-family: 'futuromedium', sans-serif;
    font-size: 25px;
    display: block;
    color: #ffffff;
    font-weight: 500;
}

.logo {
    padding: 5px;
    font-size: 32px;
	font-family: 'futuromedium', sans-serif;
    letter-spacing: 3px;
}

.navbar-brand:focus, .navbar-brand:hover {
    text-decoration: underline;
	font-family: 'futuromedium', sans-serif;
    color: #ffffff;
}

.navbar-right li{
    display: inline-block;
    float: none;
}

.navbar-right li a{
    color: #ffffff;
    text-transform: uppercase;
    font-weight: 500;
}

.navbar-right li.active a{

    color: #ffffff;
}

.nav > li > a:hover,
.nav > li > a:active,
.nav > li > a:focus{
    background: none;
}

.navbar-toggle .icon-bar{
    background: #033D75;
}

/*---------- Nav area css ends -------------*/

/*----------- 5. Banner area css starts--------------*/


.banner-area{
    background-image: url(../images/home/home-bg-2.jpg);
    background-position: center center;
    background-size:cover;
    position: relative;
    height: 100%;
}

.banner-area::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0);
    content: '';
}

canvas{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.banner-table{
    display: table;
    margin: 0;
    position: relative;
    height: 100%;
    width: 100%;
    z-index: 1;
}

.banner-table-cell{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.welcome-text .intro h2 {
    color: #fff;
	font-family: "Geo", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-style: bold, italic;
    font-size: 54px;
    font-weight: 700;
    margin-bottom: 10px;
}

.intro h1 {
    color: #ffffff;
	font-family: "Geo", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	text-shadow: 2px 2px 4px #000000;
    font-size: 54px;
	font-style: bold, italic;
    font-weight: 700;
    margin: 0;
}

.ah-headline.clip .ah-words-wrapper::after {
    background-color: #fff;
}

.banner-btn {
    background: #1E90FF;
    text-decoration: none;
    padding: 10px 30px;
    display: block;
    margin-top: 25px;
    color: #fff;
    text-transform: uppercase;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
}
.banner-btn:hover, .banner-btn:focus {
    text-decoration: none;
    color: #ffffff;
}

.welcome-text h3 {
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    text-transform: uppercase;
}

/*---------Banner area css ends--------------*/
.card {
  background: #fff;
  border-radius: 2px;
  display: inline-block;
  height: 300px;
  margin: 1rem;
  position: relative;
  width: 300px;
}

.card-1 {
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.card-1:hover {
  box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

.card-2 {
  box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

.card-3 {
  box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
}

.card-4 {
  box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

.card-5 {
  box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);
}

/*---------- 6. About area css starts---------------*/

.about-text-left h2 {
    font-weight: 500;
    font-size: 30px;
    color: #1E90FF;
    line-height: 1;
    text-align: right;
    margin-bottom: 5px;
}

.about-text-left h3 {
    color: #212121;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 3px;
    text-align: right;
    margin-bottom: 18px;
}

.about-text-left p{
    text-align: right;
    font-size: 13px;
    color: #222;
    margin-bottom: 50px;
}

.about-text-left a {
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
    background: #1E90FF;
    padding: 15px;
    float: right;
    text-decoration: none;
}

.about-text-right {
    margin-top: 90px;
}

.about-text-left {
    margin-top: 90px;
}

.about-text-left p {
    text-align: right;
    font-size: 15px;
    color: #222;
    margin-bottom: 50px;
}

.skillbar {
    margin-bottom: 24px;
    position: relative;
    width: 100%;
    display: block
}

.skillbar .skillbar-title {
    display: inline-block;
    vertical-align: middle
}

.skillbar .skillbar-percent {
    float: right;
    display: inline-block;
    vertical-align: middle
}

.skillbar-bar {
    background-color: #ededed;
    width: 100%;
    height: 5px
}

.skillbar-bar .skillbar-child {
    width: 0;
    height: 100%;
    background-color: #1E90FF;
    -webkit-transition-property: width, background-color;
    -o-transition-property: width, background-color;
    transition-property: width, background-color
}

/*-------About area css ends--------------*/



/*-------------- 9. Portfolio area starts-----------*/


.por-text-details .col-xs-4 p {
	font-weight: bold;
	text-transform: uppercase;
	color: #1E90FF;
}

.mfp-zoom-out .mfp-with-anim {
	opacity: 0;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	-webkit-transform: scale(1.3);
	-ms-transform: scale(1.3);
	transform: scale(1.3);
}
.mfp-zoom-out.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.mfp-zoom-out.mfp-ready .mfp-with-anim {
	opacity: 1;
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}
.mfp-zoom-out.mfp-ready.mfp-bg {
	opacity: 0.8;
}
.mfp-zoom-out.mfp-removing .mfp-with-anim {
	-webkit-transform: scale(1.3);
	-ms-transform: scale(1.3);
	transform: scale(1.3);
	opacity: 0;
}
.mfp-zoom-out.mfp-removing.mfp-bg {
	opacity: 0;
}
.por-text h2 {
	text-transform: uppercase;
	margin: 0;
	font-size: 22px;
	margin-bottom: 15px;
	border-bottom: 3px solid #1E90FF;
	padding-bottom: 10px;
}

.white-popup {
	position: relative;
	background: #FFF;
	padding: 30px;
	width: auto;
	max-width: 60%;
	margin: 0 auto;
}

.por-text-details .col-xs-4 p {
	font-weight: bold;
	text-transform: uppercase;
}

.hovereffect {
	width: 100%;
	height: 100%;
	float: left;
	overflow: hidden;
	position: relative;
	text-align: center;
	cursor: pointer;
	background: rgba(30,144,255,0.9);
}

.hovereffect .overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	padding: 3em;
	text-align: left;
}

.hovereffect img {
	display: block;
	position: relative;
	max-width: none;
	width: calc(100% + 60px);
	-webkit-transition: opacity 0.35s, -webkit-transform 0.45s;
	transition: opacity 0.35s, -webkit-transform 0.45s;
	-o-transition: opacity 0.35s, transform 0.45s;
	transition: opacity 0.35s, transform 0.45s;
	transition: opacity 0.35s, transform 0.45s, -webkit-transform 0.45s;
	-webkit-transform: translate3d(-40px,0,0);
	transform: translate3d(-40px,0,0);
}

.hovereffect h2 {
	text-transform: uppercase;
	color: #1e90ff;
	position: relative;
	font-size: 17px;
	background-color: transparent;
	padding: 5% 0 10px 0;
	text-align: left;
	opacity: 0;
}

.hovereffect:hover h2 {
	color: #fff;
	opacity: 1;
}

.hovereffect .overlay:before {
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
	border: 1px solid #fff;
	content: '';
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transition: opacity 0.35s, -webkit-transform 0.45s;
	transition: opacity 0.35s, -webkit-transform 0.45s;
	-o-transition: opacity 0.35s, transform 0.45s;
	transition: opacity 0.35s, transform 0.45s;
	transition: opacity 0.35s, transform 0.45s, -webkit-transform 0.45s;
	-webkit-transform: translate3d(-20px,0,0);
	transform: translate3d(-20px,0,0);
}

.hovereffect a, .hovereffect p {
	color: #FFF;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transition: opacity 0.35s, -webkit-transform 0.45s;
	transition: opacity 0.35s, -webkit-transform 0.45s;
	-o-transition: opacity 0.35s, transform 0.45s;
	transition: opacity 0.35s, transform 0.45s;
	transition: opacity 0.35s, transform 0.45s, -webkit-transform 0.45s;
	-webkit-transform: translate3d(-10px,0,0);
	transform: translate3d(-10px,0,0);
}

.hovereffect:hover img {
	opacity: 0.2;
	filter: alpha(opacity=20);
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.hovereffect:hover .overlay:before,
.hovereffect:hover a, .hovereffect:hover p {
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.no-pad {
	padding: 0;
}

/*--------------Portfolio area Ends-----------*/

/*-------- 10. Testimonial area starts-----------*/

.testimonial-area{
	background-image: url(../images/mgblank-upsidedown.jpg);
	background-size:cover;
	background-position: center center;
	position: relative;
}

.testimonial-area:before{
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
}

.block-quote p {
	margin: 0;
	font-family: 'Open Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-weight: 100;
    font-style: normal;
	font-size: 18px;
	color: #000000;
	line-height: 160%;
}

.block-quote p:before {
	content: "\275D";
	display: inline-block;
	margin-right: 5px;
}

.block-quote p:after {
	content: "\275E";
	display: inline-block;
	margin-left: 5px;
}

.block-quote h2 {
	text-transform: uppercase;
	font-size: 20px;
	color: #1E90FF;
}

.block-quote h3 {
	font-size: 15px;
}

.testi-img {
	width: 100px;
	height: 100px;
	display: inline-block;
	border-radius: 0%;
}

.testi-img img {
	overflow: hidden;
	width: 100%;
	border-radius: 0%;
}

#testimonial-carousel:before{
	content: "";
	position: absolute;
	left: 20px;
	top: 20px;
	right: 20px;
	bottom: 20px;
	border: 1px solid #CCC;
}

#testimonial-carousel {
	background: rgba(255, 255, 255, 0.9);
	padding: 10%;
}

.testimonial-area .section-header h2 {
	color: #ffffff;
}

/*-------Testimonial area ends----------*/

/*------ 11. Contact area starts-------*/

.fa-mastadon:before {
    content: "\f4f6";
}

#contact-form {
    box-shadow: 0 20px 40px rgba(0,0,0,.2);
    padding: 5%;
}

.single-contact i {
    font-size: 30px;
    color: #1E90FF;
}

.single-contact .socials i {
    font-size: 15px;
    color: #000000;
}

.socials i:hover {
    cursor: pointer;
}

.single-contact {
    margin-bottom: 50px;
}

.contact-area .form-control{
    border: none;
    border-bottom: 2px solid #a2a2a2;
    box-shadow: none;
    padding: 6px 0;
    border-radius: 0;
    margin-bottom: 30px;
}

.contact-area textarea.form-control{
    border:2px solid #a2a2a2;
    padding: 6px;
    height: 250px;
    margin-bottom: 30px;
}

.single-contact h2 {
    text-transform: uppercase;
    font-size: 18px;
}

.btn.btn-send {
	font-family: "futuromedium", sans-serif;
    background: #1E90FF;
    color: #ffffff;
    padding: 15px 20px;
    text-transform: uppercase;
    font-weight: 500;
}

.contact-right h2 {
    font-size: 18px;
    text-transform: uppercase;
}

.socials {
    padding-top: 5%;
}

.socials i {
    margin: 0 10px;
}

.single-contact {
    box-shadow: 0 20px 40px rgba(0,0,0,.2);
    padding: 5%;
}

/*-------- Contact area ends----------- */

/*--------12. Brand area starts-----------*/

.brand-logo-img{
    border:1px solid #ddd;
    transition: all 300ms ease-in-out;
    padding: 10px;
}

.brand-logo-img:hover{
    border-color: transparent;
    box-shadow: 0 20px 40px rgba(0,0,0,.2);
}

/*--------Brand area ends-----------*/

/*--------------13. Footer area starts -------------*/

.footer-area {
    background: #232323;
    color: #ffffff;
	font-family: "Geo", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    padding: 30px 0;
}

/*--------------- Footer area ends -------------*/


*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}


.buttons {
  margin-top: 50px;
  text-align: center;
}

.blob-btn {
  z-index: 1;
  position: relative;
  padding: 20px 20px;
  margin-bottom: 20px;
  text-align: center;
  text-transform: uppercase;
  color: #1e90ff;
  font-size: 15px;
  font-weight: thin;
  font-family: "futuromedium", sans-serif;
  background-color: transparent;
  outline: none;
  border: none;
  transition: color 0.5s;
  cursor: pointer;
}
.blob-btn:before {
  content: "";
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 2px solid #1e90ff;
}
.blob-btn:after {
  content: "";
  z-index: -2;
  position: absolute;
  left: 9px;
  top: 9px;
  width: 100%;
  height: 100%;
  border: 0px solid #003466;
  transition: all 0.3s 0.2s;
}
.blob-btn:hover {
  color: #FFF;
  font-weight: thin;
}
.blob-btn:hover:after {
  transition: all 0.3s;
  left: 0;
  top: 0;
}
.blob-btn__inner {
  z-index: -1;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.blob-btn__blobs {
  position: relative;
  display: block;
  height: 100%;
  -webkit-filter: url("#goo");
          filter: url("#goo");
}
.blob-btn__blob {
  position: absolute;
  top: 6px;
  width: 25%;
  height: 100%;
  background: #1e90ff;
  border-radius: 100%;
  -webkit-transform: translate3d(0, 150%, 0) scale(1.7);
          transform: translate3d(0, 150%, 0) scale(1.7);
  transition: -webkit-transform 0.45s;
  transition: transform 0.45s;
  transition: transform 0.45s, -webkit-transform 0.45s;
}
@supports ((-webkit-filter: url("#goo")) or (filter: url("#goo"))) {
  .blob-btn__blob {
    -webkit-transform: translate3d(0, 150%, 0) scale(1.4);
            transform: translate3d(0, 150%, 0) scale(1.4);
  }
}
.blob-btn__blob:nth-child(1) {
  left: 0%;
  transition-delay: 0s;
}
.blob-btn__blob:nth-child(2) {
  left: 30%;
  transition-delay: 0.08s;
}
.blob-btn__blob:nth-child(3) {
  left: 60%;
  transition-delay: 0.16s;
}
.blob-btn__blob:nth-child(4) {
  left: 90%;
  transition-delay: 0.24s;
}
.blob-btn:hover .blob-btn__blob {
  -webkit-transform: translateZ(0) scale(1.7);
          transform: translateZ(0) scale(1.7);
}
@supports ((-webkit-filter: url("#goo")) or (filter: url("#goo"))) {
  .blob-btn:hover .blob-btn__blob {
    -webkit-transform: translateZ(0) scale(1.4);
            transform: translateZ(0) scale(1.4);
  }
}


/* ================ The Timeline ================ */

.timeline {
  position: relative;
  width: 660px;
  margin: 0 auto;
  margin-top: 20px;
  padding: 1em 0;
  list-style-type: none;
}

.timeline:before {
  position: absolute;
  left: 50%;
  top: 0;
  content: ' ';
  display: block;
  width: 6px;
  height: 100%;
  margin-left: -3px;
  background: rgb(80,80,80);
  background: -moz-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(100%,rgba(125,185,232,1)));
  background: -webkit-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: -o-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: -ms-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: linear-gradient(to bottom, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  
  z-index: 5;
}

.timeline li {
  padding: 1em 0;
}

.timeline li:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.direction-l {
  position: relative;
  width: 300px;
  float: left;
  text-align: right;
}

.direction-r {
  position: relative;
  width: 300px;
  float: right;
}

.flag-wrapper {
  position: relative;
  display: inline-block;
  
  text-align: center;
}

.flag {
  position: relative;
  display: inline;
  background: rgb(30,144,255);
  padding: 6px 10px;
  border-radius: 0px;
  font-family: "futuromedium";
  color: #FFFFFF;
  text-transform: uppercase;
  font-weight: 500;
  text-align: left;
}

.direction-l .flag {
  -webkit-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  -moz-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}

.direction-r .flag {
  -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  -moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}

.direction-l .flag:before,
.direction-r .flag:before {
  position: absolute;
  top: 50%;
  right: -40px;
  content: ' ';
  display: block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background: #FFFFFF;
  border-radius: 10px;
  border: 4px solid rgb(30,144,255);
  z-index: 10;
}

.direction-r .flag:before {
  left: -40px;
}

.direction-l .flag:after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  height: 0;
  width: 0;
  margin-top: -8px;
  border: solid transparent;
  border-left-color: rgb(248,248,248);
  border-width: 8px;
  pointer-events: none;
}

.direction-r .flag:after {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  height: 0;
  width: 0;
  margin-top: -8px;
  border: solid transparent;
  border-right-color: rgb(248,248,248);
  border-width: 8px;
  pointer-events: none;
}

.time-wrapper {
  display: inline;
  
  line-height: 1em;
  font-size: 0.66666em;
  color: #545454;

  vertical-align: middle;
}

.direction-l .time-wrapper {
  float: left;
}

.direction-r .time-wrapper {
  float: right;
}

.time {
  display: inline-block;
  padding: 4px 6px;
  background: rgb(248,248,248);
}

.desc {
  margin: 1em 0.75em 0 0;
  font-size: 0.77777em;
  font-family: "Open Sans";
  line-height: 1.5em;
}

.direction-r .desc {
  margin: 1em 0 0 0.75em;
}

body {	
  line-height: 1.6em;
}

/* ================ Timeline Media Queries ================ */

@media screen and (max-width: 660px) {

.timeline {
 	width: 100%;
	padding: 4em 0 1em 0;
}

.timeline li {
	padding: 2em 0;
}

.direction-l,
.direction-r {
	float: none;
	width: 100%;

	text-align: center;
}

.flag-wrapper {
	text-align: center;
}

.flag {
	background: rgb(30, 144, 255);
	z-index: 15;
}

.direction-l .flag:before,
.direction-r .flag:before {
  position: absolute;
  top: -30px;
	left: 50%;
	content: ' ';
	display: block;
	width: 20px;
	height: 20px;
	margin-left: -9px;
	background: #fff;
	border-radius: 10px;
	border: 4px solid rgb(30,144,255);
	z-index: 10;
}

.direction-l .flag:after,
.direction-r .flag:after {
	content: "";
	position: absolute;
	left: 50%;
	top: -8px;
	height: 0;
	width: 0;
	margin-left: -8px;
	border: solid transparent;
	border-bottom-color: rgb(30, 144, 255);
	border-width: 8px;
	pointer-events: none;
}

.time-wrapper {
	display: block;
	position: relative;
	margin: 4px 0 0 0;
	z-index: 14;
}

.direction-l .time-wrapper {
	float: none;
}

.direction-r .time-wrapper {
	float: none;
}

.desc {
	position: relative;
	margin: 1em 0 0 0;
	padding: 1em;
	background: rgb(245,245,245);
	-webkit-box-shadow: 0 0 1px rgba(0,0,0,0.20);
	-moz-box-shadow: 0 0 1px rgba(0,0,0,0.20);
	box-shadow: 0 0 1px rgba(0,0,0,0.20);
	
  z-index: 15;
}

.direction-l .desc,
.direction-r .desc {
	position: relative;
	margin: 1em 1em 0 1em;
	padding: 1em;
	
  z-index: 15;
}

}

@media screen and (min-width: 400px ?? max-width: 660px) {

.direction-l .desc,
.direction-r .desc {
	margin: 1em 4em 0 4em;
}

}

