.row>*{position:relative;}

/* intro */
.logo-index{max-width:280px;width:100%;margin:0 auto 40px auto;}
.intro-listing{margin:0 0 50px 0;padding:0;}
.intro-listing li{display:inline-block;margin:5px;}
.intro-listing li a { font-weight: 500; text-transform: uppercase; background-color: transparent; color: #fff; font-size: 14px; padding: 5px 15px; line-height: 1.6; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 3px; }
.intro-listing li a:hover { background-color: #fff; color: #232323; }
.intro-listing li:last-child{margin-right:0;}
.page-title{line-height:1.8;font-size:18px;}
.main-banner:before{ content: ''; position: absolute; background-color: rgba(18, 28, 34, 0.85);  background-size:cover; height: 100%; width: 100%; top: 0; left: 0;}
.bg-animate { background-position: 0 0;  background-repeat: repeat-x;  animation: animatedBackground 60s linear infinite; }
.bg-animate-reverse { background-position: 0 0; background-repeat: repeat-x; animation: animatedBackgroundreverse 30s linear infinite; }
.text-white-90 {color: rgba(255, 255, 255, 0.9); }
.page-title { line-height: 1.8; font-size: 18px; letter-spacing: normal; }
.text-white-80 { color: rgba(255, 255, 255, 0.8); }
.bg-animate {  background-position: 0 0;  background-repeat: repeat-x;  animation: animatedBackground 30s linear infinite;}
@keyframes animatedBackground { from { background-position: 0 0; } to { background-position: 100% 0; } }
@keyframes animatedBackgroundreverse { from { background-position: 100% 0; } to { background-position: 0 0; } }

/* demo-grid-wrapper */
.demo-grid-wrapper { padding: 25px 15px 20px 15px; height: 100%; background: #fff; box-shadow: 0 0 35px rgba(40, 42, 54, 0.18); border-radius: 5px; position: relative; transition: all 0.2s ease-in-out; text-transform: uppercase; }
.demo-grid-wrapper:before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 5px; position: absolute; top: 0.55rem; left: 1rem; z-index: 2; color: rgba(0,0,0,.07); background-color: #eaeaea; box-shadow: 10px 0 0 #eaeaea, 20px 0 0 #eaeaea; }
.demo-grid-wrapper:hover,.demo-grid-wrapper:focus { transform: translateY(-5px); }
.demo-grid-wrapper img { margin-bottom: 20px; }
.demo-grid-wrapper h3 { font-size: 18px; }
blink { animation: blinker 0.9s linear infinite; color: #fff; background: red; padding: 2px 16px; font-size: 14px; position: absolute; right: 15px; top: -12px; border-radius: 50rem; }
blink.blue { background: #2a8ae2; }
@keyframes blinker { 50% { opacity: 0; } }

/* inner pages */
section#elements:before { content: ""; background: -webkit-gradient(linear, left top, left bottom, from(rgba(18, 28, 34, 0)), to(#121c22)); background: linear-gradient(rgba(18, 28, 34, 0), #121c22); position: absolute; bottom: 0; left: 0; width: 100%; height: 74%; z-index: 9;  }
.inner-page { height: 306px; }
@media screen and (max-width: 991px) { .inner-page { height: 276px;  background-size: cover; } }

.w-100vw { width: 100vw; }
@media screen and (max-width: 767px) { .w-100vw { width: unset; } }
.inner-pages .demos-carousel.owl-carousel .owl-nav.disabled, .inner-pages .demos-carousel .owl-carousel .owl-dots.disabled{display: block!important;}
.inner-pages .demos-carousel.owl-carousel .owl-nav{ position: absolute; top: 50%; left: -3%; margin-top: 0;transform: translateY(-50%); }
.inner-pages .demos-carousel.owl-carousel .owl-nav button.owl-prev, .inner-pages .demos-carousel.owl-carousel .owl-nav button.owl-next{position: unset; width: 40px; height: 40px; line-height: 40px; font-size: 15px; text-align: center; background-color: #fff; color: #121c22; transition: .5s; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;display: block;}
.inner-pages .demo-grid-wrapper { margin: 32px 32px 32px 40px; padding: 15px 15px 20px 15px; }
.inner-pages .demo-grid-wrapper:before { content: none; }
.inner-pages .demos-carousel.owl-carousel .owl-nav button.owl-prev:hover, .inner-pages .demos-carousel.owl-carousel .owl-nav button.owl-next:hover{background-color: #fff;color: #121c22;}
@media screen and (max-width: 992px){.inner-pages .demos-carousel.owl-carousel .owl-nav button.owl-prev, .inner-pages .demos-carousel.owl-carousel .owl-nav button.owl-next{width: 35px;height: 35px;line-height: 35px;font-size: 13px;top: 25px;}}
@media screen and (max-width: 768px){.inner-pages .demos-carousel.owl-carousel .owl-nav{display: none;}}
@media screen and (max-width: 575px){.inner-pages:before, .inner-pages:after{border: none;} .inner-pages .demo-grid-wrapper { margin: 12px 12px 12px 20px; box-shadow: 0 0 8px rgba(40, 42, 54, 0.18); } }

/* features */
.primary-shadow { box-shadow: 0px 5px 35px 0px rgba(148, 146, 245, 0.15); }

/* customer reviews */
.quotes:before{position:absolute;content:"\f10e";font-family:"Font Awesome 5 Free";font-weight:700;right:18px;font-size:110px;bottom:-26px;color:rgba(40, 110, 251, 0.05);line-height:1;font-style:italic;}

/* features-box */
.features-row{text-align:center;margin-bottom:50px;margin-top:-2.2rem;}
.feature-box{background:#121c22;height:100%;color:rgba(255, 255, 255, 0.9);font-size:16px;line-height:30px;padding:35px;transition:all 0.2s ease-in-out;border-radius:2px;}
.feature-box p{margin-bottom:0;}
.feature-box:hover{transform:translateY(-5px);}
.feature-box h3{color:#fff; }

/* elements-gallery */
.elements-gallery{margin-top:-30px;}
.elements-gallery a{width:125px;height:125px;border-radius:0.25rem;text-align:center;margin-bottom:25px;border:1px solid rgba(0, 0, 0, 0.075);display:table-cell;vertical-align:middle;font-size:16px;transition:all 0.2s ease-in-out;padding:10px;background:#fff;}
.elements-gallery .d-table{width:100%;margin-top:30px;}
.elements-gallery a:hover, .elements-gallery a:focus{transform:translateY(-5px);background:#121c22;color:#fff;border-color:#fff;}
.elements-gallery i{display:block;margin-bottom:15px;font-size:24px;color:#25cdc7;}
.elements-gallery a:hover i, .elements-gallery a:focus i{color:#fff;}
.elements-gallery a.shape:before{height: 75px;width: 75px;top: 0px;left: -1px;clip-path: polygon(0% 0%, 60% 0%, 100% 100%, 0% 100%, 0% 0%);opacity: 0.1;z-index: 0;position: absolute;background-color: #25cdc7;content: '';}
.elements-gallery a.shape{padding-left: 1.9rem;padding-right: 1.9rem;}

/* elements image */
.elements-box:before { content: ""; background: -webkit-gradient(linear, left top, left bottom, from(rgba(24, 69, 93, 0)), to(#18455d)); background: linear-gradient(rgba(24, 69, 93, 0), #18455d); position: absolute; bottom: 0; left: 0; width: 100%; height: 74%; z-index: 9; }
.elements-box-left, .elements-box-right {margin-bottom: 20px;}
.elements-box-left:last-child{margin-bottom: 0;}
.marquee-container {overflow-x: hidden !important;display: flex !important;flex-direction: row !important;position: relative;width: 100%;}
.overlay {position: absolute;width: 100%;height: 100%;}
.overlay::before, .overlay::after {background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));content: "";height: 100%;position: absolute;width: 200px;z-index: 2;}
.overlay::before {left: 0;top: 0;}
.overlay::after {right: 0;top: 0;transform: rotateZ(180deg);}
.marquee {flex: 0 0 auto;min-width: 100%;z-index: 1;display: flex;flex-direction: row;align-items: center;animation: scroll var(--duration) linear var(--delay) var(--iteration-count);animation-play-state: var(--play);animation-delay: var(--delay);animation-direction: var(--direction);}
@keyframes scroll {0% {transform: translateX(0%);}100% {transform: translateX(-100%);}}
@media screen and (max-width: 575px){.overlay::before, .overlay::after{display: none;}}

/* footer */
.pur-template:before{content: "";width: 45%;height: 40%;position: absolute;background: #1c2140;left: 0;top: 0;clip-path: polygon(0 0, 100% 0%, 84% 100%, 0% 100%);}
.pur-template h2{line-height: 70px;}
@media screen and (max-width: 991px){.pur-template h2{line-height: 55px;}}