/* ------------------------------------------------
  Project:   Growio - Bootstrap5 Landing Page Template
  Author:    ThemeHt
------------------------------------------------ */

/* ------------------------
    Table of Contents

  1. General
  2. Typography
  3. Text color
  4. Background color
  5. Banner Slider
  6. List Icon
  7. Contact Form
  8. Extra
  9. Responsive Css
------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

:root {
    --themeht-primary-color: #c93357;
    --themeht-secondary-color: #0147f4;
    --themeht-text-color: #233050;
    --themeht-body-color: #4f4f4f;
    --themeht-white-color: #FFFFFF;
    --themeht-bg-dark-color: #000229;
    --themeht-bg-light-color: #F7F9FE;
    --themeht-border-light-color: #E5E5E5;
    --themeht-rgba-color: rgba(255,255,255,0.9);
    --themeht-typography-body-font-family: "Nunito", serif;
}

/* ------------------------
    General
------------------------*/

body {scroll-behavior: smooth; font-family: var(--themeht-typography-body-font-family); font-weight: 600; font-style: normal; font-size: 17px; line-height: 30px; color: var(--themeht-body-color); overflow-x: hidden;}
.page-wrapper{overflow-x: hidden;}

/* ------------------------
    Typography
------------------------*/
h1, h2, h3, h4, h5, h6 {font-weight: normal; margin-top: 0px; text-transform: capitalize; font-style: normal; margin-bottom: 20px; color: var(--themeht-text-color); }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }
.h1, h1 { font-size: 70px; line-height: 80px; font-weight: 700;}
.h2, h2 { font-size: 44px; line-height: 54px; font-weight: 700;}
.h3, h3 { font-size: 30px; line-height: 40px; font-weight: 700;}
.h4, h4 { font-size: 24px; line-height: 34px; font-weight: 700;}
.h5, h5 { font-size: 22px; line-height: 32px; font-weight: 700;}
.h6, h6 { font-size: 20px; line-height: 30px; font-weight: 700;}
ul { margin-left: 0; }


label { display: inline-block; font-weight: 700; color: var(--themeht-text-color); font-size: 16px; margin-bottom: 7px; }

@media (min-width: 1200px) {
    .container {
        max-width: 1320px;
    }
}

/* ------------------------
    Helper class
------------------------*/
p{line-height: 1.7;}
.lead{font-weight: normal; font-size: 17px; line-height: 30px;}
.z-index-0{z-index: 0; position: relative;}
.z-index-1{z-index: 1; position: relative;}
section{padding: 120px 0; position: relative;}
.rounded {border-radius: 24px !important;}


/* ------------------------
    Text color
------------------------*/
.text-theme{color: var(--themeht-primary-color);}
.text-black{color: var(--themeht-text-color) !important;}
.text-grey{color: var(--themeht-body-color);}
.text-muted { color: #979797 !important;}


/* ------------------------
    Background color
------------------------*/
.white-bg{background-color: var(--themeht-white-color) !important;}
.dark-bg{background-color: var(--themeht-bg-dark-color);}
.light-bg{background-color: var(--themeht-bg-light-color);}
.primary-bg{background-color: var(--themeht-primary-color);}
.secondary-bg{background-color: var(--themeht-secondary-color);}
.transparent-bg{background-color: inherit !important;}
.grediant-bg{background-image: linear-gradient(180deg,#EBE5FF6B 0%,#EBE5FF1A 100%);}
.border-light{border-color: var(--themeht-border-light-color) !important}

/* ------------------------
    Banner
------------------------*/
[data-bg-img] { background-size: cover; background-position: center center; background-repeat: no-repeat; }
.banner { padding: 260px 0; position: relative; z-index: 9; }
.banner p { font-size: 16px; line-height: 26px; margin-bottom: 0; max-width: 90%; }
.text-white h1, .text-white p { color: var(--themeht-white-color) }
.banner-1 h1 span { text-decoration: underline; color: var(--themeht-primary-color); }
.banner h6 { font-size: 16px; color: var(--themeht-primary-color); }
.banner-1 { background-image: url(../images/bg/bg-effect-1.svg); background-position: top center; background-repeat: no-repeat; background-size: cover; }
.banner-1:before { background-image: url(../images/bg/03.webp); background-position: top center; background-repeat: no-repeat; background-size: auto; opacity: .58; transition: background .3s, border-radius .3s, opacity .3s; content: ""; position: absolute; left: 0; top: 0; width: 110%; height: 100%; z-index: -9; animation: zoom-fade 5s infinite linear; }
.banner-1 .banner-img .img1 { position: absolute; left: -66px; top: -62px; z-index: 9; margin-right: 0; width: 100%; }
.banner-shape-bottom { position: absolute; bottom: -80px; left: 0; width: 100%; overflow: hidden; z-index: -1; }
.banner-shape-bottom svg { width: 100%; }
.banner-shape-bottom svg path { fill: var(--themeht-white-color); }
.topBottom { animation: topBottom 5s infinite; }
.themeht-btn + .themeht-btn { margin-left: 20px; }
.banner-2 { background-image: linear-gradient(180deg, #fff 10.18%, #FFEFEF85 100%); padding: 200px 0 120px;  }
.banner-2 h6 { color: var(--themeht-text-color); }
.banner-2 h6 span { background: var(--themeht-primary-color); display: inline-block; padding: 8px 14px; border-radius: 4px; font-size: 14px; line-height: 1; color: var(--themeht-white-color); margin-right: 10px; }
.banner-2 h1 span { font-weight: 700; margin-bottom: 0; background: linear-gradient(90deg, var(--themeht-primary-color) 20%, var(--themeht-secondary-color) 100%); background-clip: border-box; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.banner-2 .banner-img2{position: absolute; right: 0; bottom: 0}
.banner-2 .banner-img { margin-right: -5vw;}
.banner-3 { padding: 200px 0 120px; }
.banner-3 h6 { color: var(--themeht-text-color); border: 1px solid var(--themeht-border-light-color); display: inline-block; padding: 6px 12px 6px 6px; border-radius: 4px }
.banner-3 h6 span { background: var(--themeht-primary-color); display: inline-block; padding: 8px 14px; border-radius: 4px; font-size: 14px; line-height: 1; color: var(--themeht-white-color); margin-right: 10px; }
.banner-3 h1 span { font-weight: 700; margin-bottom: 0; background: linear-gradient(90deg, var(--themeht-primary-color) 20%, var(--themeht-secondary-color) 100%); background-clip: border-box; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.banner-3 .banner-img { width: 600px; height: 600px; background-size: cover; clip-path: polygon(94.33013% 47.5%, 94.69846% 48.2899%, 94.92404% 49.13176%, 95% 50%, 94.92404% 50.86824%, 94.69846% 51.7101%, 94.33013% 52.5%, 74.33013% 87.14102%, 73.83022% 87.85495%, 73.21394% 88.47124%, 72.5% 88.97114%, 71.7101% 89.33948%, 70.86824% 89.56505%, 70% 89.64102%, 30% 89.64102%, 29.13176% 89.56505%, 28.2899% 89.33948%, 27.5% 88.97114%, 26.78606% 88.47124%, 26.16978% 87.85495%, 25.66987% 87.14102%, 5.66987% 52.5%, 5.30154% 51.7101%, 5.07596% 50.86824%, 5% 50%, 5.07596% 49.13176%, 5.30154% 48.2899%, 5.66987% 47.5%, 25.66987% 12.85898%, 26.16978% 12.14505%, 26.78606% 11.52876%, 27.5% 11.02886%, 28.2899% 10.66052%, 29.13176% 10.43495%, 30% 10.35898%, 70% 10.35898%, 70.86824% 10.43495%, 71.7101% 10.66052%, 72.5% 11.02886%, 73.21394% 11.52876%, 73.83022% 12.14505%, 74.33013% 12.85898%); }
.banner-3 .banner-img2 { animation: rotate 10s infinite linear; position: absolute; left: 0; top: 0; background: red; z-index: -1; width: 600px; height: 600px; background-size: cover; clip-path: polygon(50% 1.25%, 9.9% 20.56%, 0% 63.95%, 27.75% 98.75%, 72.25% 98.75%, 100% 63.95%, 90.1% 20.56%); }
.banner-4 h1 { text-transform: inherit; }


/* ------------------------
    Error
------------------------*/
.error-path { stroke-dasharray: 800; stroke-dashoffset: 800; animation: dash 5s linear alternate infinite; }
.error-path path { stroke: var(--themeht-primary-color) }
.error-path path:nth-child(2) { stroke: var(--themeht-primary-color) }
.error-path path:nth-child(3) { stroke: var(--themeht-secondary-color) }


/* ------------------------
    Timeline
------------------------*/
.main-timeline:before { content: ""; display: block; width: 1px; height: 100%; background: var(--themeht-border-light-color); margin: 0 auto; position: absolute; left: 0; right: 0; }
.timeline_item { display: flex; flex-flow: row wrap; justify-content: center; align-items: center; padding-top: 10px; }
.timeline-order-1 { order: 3; }
.timeline-order-2 { order: 2; left: 20px; }
.timeline-order-3 { order: 1; }
.main-timeline .timeline-icon { width: 40px; height: 40px; position: relative; right: 20px; font-size: 30px; background: var(--themeht-white-color); display: flex; align-items: center; justify-content: center; color: var(--themeht-primary-color); border-radius: 50%; z-index: 9; }
.main-timeline .date-content { width: 50%; position: relative; }
.main-timeline .date-content:before { content: ""; width: 50%; height: 1px; background: var(--themeht-border-light-color); margin: auto 0; position: absolute; right: 10px; top: 0; bottom: 0; }
.main-timeline .timeline-order-1:before { content: ""; width: 50%; height: 1px; background: var(--themeht-border-light-color); position: absolute; padding-right: 30px; margin-right: 50% !important; }
.main-timeline .date { display: flex; line-height: 1; font-weight: 700; font-size: 30px; color: var(--themeht-white-color); position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); align-items: center; justify-content: center; background: var(--themeht-primary-color); border-radius: 50%; width: 125px; height: 125px; z-index: 1; }
.main-timeline .timeline-content { padding: 20px 20px; }


@media (max-width:640px) {
    .timeline { flex-direction: column !important; }
    .main-timeline:before { margin-left: 1px; }
    .main-timeline .timeline-icon { margin: auto 2px; }
    .main-timeline .timeline-content { padding: 40px 30px; }
    .timeline-order-1 { order: 2; }
    .timeline-order-2 { order: 1; left: -1em; }
    .timeline-order-3 { order: 3; }
    .timeline-order-1b { order: 2; }
    .timeline-order-2b { order: 1; left: -1em; }
    .timeline-order-3b { order: 3; }
    .main-timeline .timeline-order-1:before { width: 100%; }
    .main-timeline .timeline-order-1b:before { width: 100%; }
    .main-timeline .timeline-order-1b:before { content: ""; width: 100%; height: 2px; background: var(--themeht-border-light-color); position: absolute; top: 0; padding-right: 30px; bottom: 0; margin-right: 50% !important; }
    .main-timeline .date { width: 70px; height: 70px; }
}
@media (max-width:350px) {
    .timeline-icon { visibility: hidden; }
    .main-timeline .date-content:before { visibility: hidden; }
    .date-content { left: -15px; }
}


/* ------------------------
    Video
------------------------*/
.video-btn{display: flex; align-items: center;}
.video-btn-icon { position: relative; display: inline-block; z-index: 9; }
.video-btn-icon > i { color: var(--themeht-primary-color); font-size: 30px; }
.video-btn span { font-weight: 700; font-size: 16px; line-height: 1; color: var(--themeht-text-color); margin-left: 10px; flex-shrink: 0}
.video-btn.style-2 { position: relative; display: inline-block; }
.video-btn.style-2 .play-btn { animation: ripple-white 1s linear infinite; width: 70px; height: 70px; line-height: 70px; border-radius: 50%; cursor: pointer; display: inline-block; text-align: center; position: relative; }
.video-btn.style-2 .play-btn i { font-size: 34px; line-height: 1; position: absolute; top: 50%; left: 50%; color: var(--themeht-white-color); -webkit-transition: 0.25s; -o-transition: 0.25s; transition: 0.2s ease-out !important; transform: translate3d(-50%, -50%, 0); }


/* ------------------------
    List Icon
------------------------*/
.list-icon.style-1 li { position: relative; display: flex; margin-bottom: 15px; align-items: center; }
.list-icon.style-1 li:last-child { margin-bottom: 0 }
.list-icon.style-1 li i { color: var(--themeht-primary-color); font-size: 20px; line-height: 1; margin-right: 10px; flex-shrink: 0; }
.list-icon.style-2 li { position: relative; display: flex; margin-bottom: 15px; align-items: center; }
.list-icon.style-2 li:last-child { margin-bottom: 0 }
.list-icon.style-2 li i { color: var(--themeht-primary-color); font-size: 20px; line-height: 1; margin-right: 10px; }


/* ------------------------
 Marquee Text
------------------------*/
.marquee-wrap { width: 100%; position: relative; overflow: hidden; display: block; }
.marquee-text { animation: marquee 40s linear infinite; position: relative; width: 100%; white-space: nowrap; }
.marquee-text span { font-size: 200px; line-height: 200px; margin: 0 30px; color: var(--themeht-text-color); font-weight: 800; text-transform: uppercase; color: #fff; text-shadow: 0 13.36px 8.896px #c4b59d, 0 -2px 1px #fff; }
.marquee-text span:nth-child(2n+2) { color: var(--themeht-white-color); text-shadow: -1px -1px 0 var(--themeht-text-color), 1px -1px 0 var(--themeht-text-color), -1px 1px 0 var(--themeht-text-color), 1px 1px 0 var(--themeht-text-color); }
.marquee-wrap:before { position: absolute; right: 0; top: 0; width: 30%; height: 100%; content: ""; z-index: 9; background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 1%, rgba(255, 255, 255, 1) 98%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#c4ef17', endColorstr='#c4ef17', GradientType=1); }
.marquee-wrap:after { position: absolute; left: 0; top: 0; width: 30%; height: 100%; content: ""; background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 99%, rgba(255, 255, 255, 0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#c4ef17', endColorstr='#c4ef17', GradientType=1); }


/* ------------------------
    Countdown
------------------------*/
.countdown{margin:50px 0; padding:50px 0; display: table; width: 100%; border-top: 2px dashed var(--themeht-border-light-color); border-bottom: 2px dashed var(--themeht-border-light-color);}
.countdown > li{ font-weight: 700; text-align: center; list-style-type: none; display: table-cell; width: auto;}
.countdown > li span{font-size:70px; font-weight:700; line-height:60px; display: inline-block;}
.countdown > li p{font-size:20px; display: inline-block; line-height:30px; margin-bottom: 0; color: var(--themeht-text-color);}
.coming-soon .subscribe-form{margin: 0 auto;}


/* ------------------------
 Shape & Animation
------------------------*/
.dash-img-box { background: var(--themeht-white-color); padding: 20px; border-radius: 24px; position: relative; margin-left: 5%; margin-right: 5%; }
.dash-img-box::before { content: ""; height: 20px; width: 110%; position: absolute; bottom: -1px; background: var(--themeht-white-color); left: -5%; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; }
.dash-box{margin-left: -250px}
.dash-box.right{margin-left: inherit; margin-right: -250px}
.animated-icon-shape { position: absolute; top: 0; width: 100%; height: 100%; left: 0; z-index: -1; }
.small-circle-animation { animation: small-animation 2s infinite linear; position: absolute; }
.animated-icon-shape img:nth-child(1) { left: 6%; top: 10%; }
.animated-icon-shape img:nth-child(2) { left: 2%; bottom: 15%; animation: small-animation2 2s infinite linear;}
.animated-icon-shape img:nth-child(3) { right: 6%; top: 5%; animation: small-animation2 2s infinite linear;}
.animated-icon-shape img:nth-child(4) { right: 2%; bottom: 20%; }
.animated-icon-shape.style-2 img:nth-child(2) { left: auto; right: 2%; bottom: 20%; }
#particles-js { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; }
.link-about { border: 1px solid var(--themeht-border-light-color); border-radius: 4px; padding: 20px 30px 20px 20px; }
.link-about span { padding: 5px 15px; background-color: var(--themeht-bg-dark-color); border-radius: 4px; color: var(--themeht-white-color); margin-right: 10px }
.link-about a { color: var(--themeht-primary-color); margin-left: 10px; font-weight: 700; text-decoration: underline !important; }
.lg-title-wrap { text-align: center; }
.text-large { font-size: 250px; font-weight: 900; line-height: 1; color: #ebe5ff; }
.image-wrap { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); }
.testimonial-sec-bg { background-image: url("../images/bg/05.webp"); background-position: 66% 87%; background-repeat: no-repeat; background-size: 1460px 1260px; }
.testimonial-sec-bg.style-2 { background-position: 96% 70%; background-size: 1170px 1260px; }
.sonar-wrapper { z-index: 0; position: absolute; right: 70px; bottom: 20%; }
.sonar-emitter { position: relative; margin: 0 auto; width: 100px; height: 100px; border-radius: 9999px; background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%); }
.sonar-wave { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 9999px; background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%); opacity: 0; z-index: -1; pointer-events: none; }
.sonar-wave { animation: sonarWave 2s linear infinite; }
.spinner { position: absolute; left: 100px; top: 30%; }
.spinner::after, .spinner::before { box-sizing: border-box; position: absolute; content: ""; width: 50px; height: 50px; top: 50%; animation: up 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; left: 50%; background: var(--themeht-primary-color); }
.spinner::after { background: var(--themeht-secondary-color); top: calc(50% - 50px); left: calc(50% - 50px); animation: down 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; }
.image-video-sec { padding: 400px 0 120px; }
.bg-dark-gradient-overlay { position: relative; overflow: hidden; z-index: 9; }
.bg-dark-gradient-overlay:before { background: -webkit-gradient(linear, left bottom, left top, color-stop(7%, #141622), to(transparent)); background: linear-gradient(to top, #141622 7%, transparent 100%); opacity: .75; position: absolute; height: 100%; width: 100%; top: 0; left: 0; content: ""; z-index: -1; }
.ht-first-letter::first-letter { font-size: 30px; line-height: 30px; padding: 8px; margin-top: 5px; border-radius: 5px; display: inline-block; float: left; font-weight: 700; margin-right: 8px; background: var(--themeht-primary-color); color: var(--themeht-white-color); }


/* ------------------------
 Clients Logo
------------------------*/

.clients-logo { text-align: center; }
.clients-logo img {width: 100px; -webkit-filter: contrast(0%); filter: contrast(0%); -webkit-transition: all 0.3s linear; -moz-transition: all 0.3s linear; -o-transition: all 0.3s linear; -ms-transition: all 0.3s linear; transition: all 0.3s linear; cursor: pointer; }
.clients-logo:hover img { -webkit-filter: none; filter: none; opacity: 1; }
.client-text { text-align: center; position: relative; }
.client-text:before { content: ''; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1; background: var(--themeht-border-light-color); width: 70%; height: 1px; }
.client-text span { background: var(--themeht-white-color); padding: 5px 40px; }
.client-swiper .swiper-wrapper { -webkit-transition-timing-function: linear !important; transition-timing-function: linear !important; position: relative; }
.client-swiper .swiper-slide { display: flex; align-items: center; width: auto !important; padding: 0 50px; }


/* ------------------------
Extra
------------------------*/
.contact-info{padding: 30px;}
.contact-info li { padding-left: 50px; padding-top: 5px; position: relative; margin-bottom: 20px; }
.contact-info li:last-child { margin-bottom: 0; }
.contact-info li i { position: absolute; left: 0; top: 0; line-height: 50px; font-size: 36px; color: var(--themeht-primary-color); display: inline-block; }
.contact-info li span { font-size: 12px; line-height: 1; color: var(--themeht-body-color); font-weight: 700; display: block; margin-bottom: 4px; text-transform: uppercase; }
.contact-info li p { margin-bottom: 0; line-height: 24px; color: var(--themeht-text-color); }
.contact-info li a { color: var(--themeht-text-color); }
.contact-info li a:hover { color: var(--themeht-primary-color); }


.form-group { margin-bottom: 20px; position: relative; }
label { font-size: 14px; line-height: 1; color: var(--themeht-text-color) }
.form-control { height: 55px; border-radius: 4px; font-size: 14px; color: var(--themeht-text-color); background-color: var(--themeht-white-color); border: 1px solid var(--themeht-border-light-color); }
textarea.form-control { height: 120px; border-radius: 4px; }
.form-control:focus { box-shadow: none; background: none; border-color: var(--themeht-primary-color); }
select.form-control { -moz-appearance: none; -webkit-appearance: none; appearance: none; height: 50px !important; color: var(--themeht-body-color); }
iframe { width: 100%; border: none; pointer-events: auto; }
.iframe-h { height: 500px !important; }
.iframe-h-2 { height: 600px !important; }
.map iframe { border: 0px; width: 100%; height: 100%; z-index: 1; -webkit-filter: brightness( 100% ) contrast( 100% ) saturate( 50% ) blur( 0px ) hue-rotate( 0deg ); -moz-filter: brightness( 100% ) contrast( 100% ) saturate( 50% ) blur( 0px ) hue-rotate( 0deg ); -ms-filter: brightness( 100% ) contrast( 100% ) saturate( 50% ) blur( 0px ) hue-rotate( 0deg ); -o-filter: brightness( 100% ) contrast( 100% ) saturate( 50% ) blur( 0px ) hue-rotate( 0deg ); filter: brightness( 100% ) contrast( 100% ) saturate( 50% ) blur( 0px ) hue-rotate( 0deg ); }
.help-block.with-errors { position: absolute; color: red; right: 15px; font-size: 10px; line-height: 14px; }
.form-control::-webkit-input-placeholder { color: var(--themeht-body-color); }
.form-control::-moz-placeholder { color: var(--themeht-body-color); }
.form-control:-ms-input-placeholder { color: var(--themeht-body-color); }
.form-control:-moz-placeholder { color: var(--themeht-body-color); }
