/* ------------------------------------------------
  Project:   Sofeland - Modern Software & SaaS Landing Page Template
  Author:    ThemeHt
------------------------------------------------ */
/* ------------------------
    Table of Contents

  1. General
  2. Typography
  3. Helper class
  4. Text color
  5. Background color
  6. Border Radius
  7. Banner
  8. Background Position & Size
  9. Countdown
  10. Terms and Conditions
  11. Privacy Policy
  12. Clients Logo
  13. Contact
  14. Video
  15. Image Box
  16. Side Background
  17. Error Page
  18. List Icon
  19. Bg Animated Image
  20. How It Work
  21. Spinner
  22. Hexagon
  23. Timeline
  24. Other


/* ------------------------
    General
------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Zalando+Sans+SemiExpanded:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');


:root {    
    --themeht-primary-color: #502ee9;
    --themeht-text-color: #1a1a1a;
    --themeht-body-color: #444444;
    --themeht-white-color: #FFFFFF;
    --themeht-bg-dark-color: #02060b;
    --themeht-bg-light-color: #FAFAFA;
    --themeht-border-light-color: #d5d7da;
    --themeht-body-font-family: "Zalando Sans SemiExpanded", sans-serif;
    --themeht-secondary-font-family: "Outfit", sans-serif;

}

body {font-family: var(--themeht-body-font-family); font-weight: normal; font-style: normal; font-size: 15px; line-height: 1.5; color:var(--themeht-body-color); overflow-x: hidden;}


/* ------------------------
    Typography
------------------------*/
h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 10px; font-family: var(--themeht-secondary-font-family); color: var(--themeht-text-color); font-weight: 400; font-style: normal; text-transform: none; /* change if you want capitalization */ }
h1 { font-size: 60px; line-height: 70px; font-weight: 400; }
h2 { font-size: 44px; line-height: 54px; position: relative; }
h3 { font-size: 28px; line-height: 34px; font-weight: 500; }
h4 { font-size: 24px; line-height: 30px; font-weight: 500; }
h5 { font-size: 20px; line-height: 26px; font-weight: 500; }
h6 { font-size: 18px; line-height: 24px; font-weight: 500; }

/* Keep link colors in headings */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none; }

ul { margin: 0px; padding: 0px; }
u {text-decoration-style: wavy;}


/* ------------------------
    Helper class
------------------------*/
p{line-height: 1.7;}
.lead{font-weight: normal; font-size: 16px; line-height: 30px;}
.o-x-hidden{overflow-x: hidden;}
.z-index-0{z-index: 0; position: relative;}
.z-index-1{z-index: 1; position: relative;}
h1 span{color:#4222e0;}
section{padding: 120px 0;}
.section-title{margin-bottom:50px; position: relative;}
.section-title p{font-size: 16px;}
.align-item-middle{display: -webkit-flex; /* Safari */  -webkit-align-items: center; /* Safari 7.0+ */  display: flex; align-items: center;}
.align-item-middle > div{width: 100%;}
.la{line-height: inherit;}
.rounded {border-radius: 10px !important;}

.font-w-3{font-weight: 300;}
.font-w-4{font-weight: 400;}
.font-w-5{font-weight: 500;}
.font-w-6{font-weight: 600;}
.font-w-7{font-weight: 700;}
.font-w-8{font-weight: 800;}
.font-w-9{font-weight: 900;}

.line-h-2{line-height: 1.6;}
.line-h-3{line-height: 1.7;}
.line-h-4{line-height: 1.8;}
.line-h-5{line-height: 1.9;}

.letter-space-1{letter-spacing: 5px;}
.letter-space-2{letter-spacing: 10px;}
.letter-space-3{letter-spacing: 15px;}


/* ------------------------
    Text color
------------------------*/
.text-theme{color:#4222e0;}
.text-black{color:var(--themeht-text-color) !important;}
.text-grey{color:var(--themeht-body-color);}
.text-rgba{color: rgba(255,255,255,0.8);}


/* ------------------------
    Background color
------------------------*/
.white-bg{background-color: var(--themeht-white-color) !important;}
.dark-bg{background-color: var(--themeht-bg-dark-color);}
.grey-bg{background-color: var(--themeht-bg-light-color);}
.theme-bg{background-color:#4222e0;}
.transparent-bg{background-color: inherit !important;}
.grediant-bg{background-image: linear-gradient(115deg,#4222e0, var(--themeht-bg-dark-color));}


/* ------------------------
    Banner
------------------------*/
[data-bg-img] { background-size: cover; background-position: center center; background-repeat: no-repeat; }
.banner-1 { padding: 250px 0 200px; position: relative; }
.banner-2 { padding: 200px 0 150px; position: relative; }
.banner-3 { padding: 250px 0 200px; position: relative; }
.banner-4 .banner-content { padding: 250px 0 300px; position: relative; }
.banner-5 { padding: 300px 0 300px; position: relative; }
.banner-6 { padding: 200px 0 200px; position: relative; }
.hero-bg { left: 0; position: absolute; top: 0; }
.banner .img-side { top: 50%; transform: translateY(-50%); left: -5%; height: auto; }
.banner h5 { background: #ffb58c; text-transform: uppercase; padding: 7px 15px; display: inline-block; border-top-left-radius: 10px; border-bottom-right-radius: 10px; }
.home-6 .banner .bnr-box { background-color: rgb(92, 46, 194); background-image: none; position: relative; z-index: 9; background-color: rgba(255, 255, 255, 0.05); border-radius: 8px; -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
.banner h6 { border-radius: 50px; border: 1px solid var(--themeht-border-light-color); background: var(--themeht-white-color); display: flex; gap: 8px; padding: 4px 16px 4px 4px; width: fit-content; align-items: center; font-size: 14px; line-height: 1.3; letter-spacing: -.28px; color: var(--themeht-bg-dark-color); font-weight: 500; }
.banner h6 span { padding: 7px 16px; -webkit-border-radius: 50px; -khtml-border-radius: 50px; -moz-border-radius: 50px; -ms-border-radius: 50px; -o-border-radius: 50px; border-radius: 50px; background-color: var(--themeht-bg-dark-color); color: var(--themeht-white-color); font-size: 14px; font-weight: 500; line-height: 1.3; letter-spacing: -.28px; }
.macbook-wrapper { margin-left: -350px; }
.macbook-wrapper img { max-width: 100%; height: auto; display: block; }

/* Responsive fix */
@media (max-width:991px) {
    .macbook-wrapper { margin-left: 0; text-align: center; margin-bottom: 30px; }
    .macbook-wrapper img { max-width: 100%; }
}
.macbook { position: relative; }
.macbook-screen { background: var(--themeht-white-color); border-radius: 18px 18px 10px 10px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); overflow: hidden; height: 600px; width: 90%; margin: 0 auto; }
.macbook-screen img { width: 100%; height: 100%; object-fit: cover; display: block; }
.macbook-bottom { position: relative; height: 30px; background: var(--themeht-white-color); border-radius: 0 0 40px 40px; margin-top: -5px; box-shadow: 0 4px 12px rgba(20, 108, 240, 0.08) }
.macbook-bottom::after { content: ""; position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); width: 80%; height: 25px; background: rgba(0, 0, 0, 0.07); border-radius: 50%; filter: blur(10px); z-index: -1; }




/* -------------------------------
   Background Position & Size
-------------------------------*/
.bg-cover{background-size: cover;}
.bg-contain{background-size: contain;}
.bg-pos-l{background-position: left;}
.bg-pos-r{background-position: right;}
.bg-pos-rt{background-position: right top;}
.bg-pos-lt{background-position: left top;}
.bg-pos-rb{background-position: right bottom;}
.bg-pos-lb{background-position: left bottom;}


/* ------------------------
    Countdown
------------------------*/
.countdown{margin:50px 0; padding:50px 0; display: table; width: 100%; border-top: 2px dashed rgba(255,255,255,0.5); border-bottom: 2px dashed rgba(255,255,255,0.5);}
.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-white-color);}
.coming-soon .subscribe-form{margin: 0 auto;}


/* ------------------------
    Terms and Conditions
------------------------*/
.terms-and-conditions p{margin-bottom:25px;}
.terms-and-conditions ul.list{margin-bottom:20px; display:block;}
.terms-and-conditions ul.list li i{padding-right:12px; font-size:15px;}


/* ------------------------
    Privacy Policy
------------------------*/
.privacy-policy p{margin-bottom:25px;}
.privacy-policy ul.list{margin-bottom:20px; display:block;}
.privacy-policy ul.list li i{padding-right:12px; font-size:15px;}


/* ------------------------
    Clients Logo
------------------------*/
.clients-logo {background: var(--themeht-white-color); padding: 30px 10px; width: 100%; text-align: center; border-radius: 10px;}
.clients-logo img{width: 150px;}

/* ------------------------
    Contact
------------------------*/
.contact-media{background: var(--themeht-white-color); text-align: center; padding: 50px 30px; border-radius: 10px; border-bottom: 3px solid#4222e0;}
[class*='col-']:nth-child(2) .contact-media{border-bottom: 3px solid#4222e0;}
.contact-media i{line-height: 70px; font-size: 70px; color:#4222e0; margin-bottom: 30px; display: inline-block;}
.contact-media span{font-size: 16px; color: var(--themeht-text-color); font-weight: 500; text-transform: uppercase; display: block; margin-bottom: 15px;}
.contact-media p{margin-bottom: 0; line-height: 24px;}
.contact-media a{color: var(--themeht-text-color);}
.contact-media a:hover{color:#4222e0;}

.form-group{margin-bottom: 20px; position: relative;}
 label{font-size: 14px; color: var(--themeht-text-color)}
.form-control{height: 50px; border-radius: 5px; font-size: 13px; color: var(--themeht-text-color); background: var(--themeht-bg-light-color); border: 1px solid transparent;}
.theme-bg .form-control .dark-bg .form-control{background: none; border:5px solid rgba(255,255,255,0.1);}
.dark-bg .form-control, .theme-bg .form-control{color: var(--themeht-white-color);}
.grey-bg .form-control{background: var(--themeht-white-color)}
textarea.form-control{height: 150px; border-radius: 5px;}
.form-control:focus{box-shadow: none; background: none; border-color:#4222e0;}
.theme-bg .form-control:focus{border-color:#4222e0;}
select.form-control {-moz-appearance: none; -webkit-appearance: none; appearance: none; height: 50px !important;}
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: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%);}

.help-block.with-errors {position: absolute; color: red; right: 15px; font-size: 10px; line-height: 14px;}

.form-control::-webkit-input-placeholder {color: #555;}
.form-control::-moz-placeholder {color: #555;}
.form-control:-ms-input-placeholder {color: #555;}
.form-control:-moz-placeholder {color: #555;}
.dark-bg .form-control::-webkit-input-placeholder,
.theme-bg .form-control::-webkit-input-placeholder {color: var(--themeht-white-color);}

.dark-bg .form-control::-moz-placeholder, .theme-bg .form-control::-moz-placeholder{color: var(--themeht-white-color);}
.dark-bg .form-control:-ms-input-placeholder, .theme-bg .form-control:-ms-input-placeholder{color: var(--themeht-white-color);}
.dark-bg .form-control:-moz-placeholder, .theme-bg .form-control:-moz-placeholder{color: var(--themeht-white-color);}


/* ------------------------
    Video
------------------------*/
.video-btn {position: relative; display: inline-block;}
.video-btn .play-btn {font-size: 30px; background:#4222e0; color: var(--themeht-white-color); line-height: 50px; width: 70px; height: 70px; border: 10px solid rgba(0,0,0,0.1); -webkit-border-radius: 100%;
 border-radius: 100%; text-align: center; cursor: pointer; z-index: 9; position: relative; display: inline-block; -webkit-transition: .15s ease-in-out; transition: .15s ease-in-out; -webkit-transition-property: color, background, border-color; transition-property: color, background, border-color; }
.video-btn-pos{position: absolute; position: absolute; left: 50%; top: 50%; width: auto !important; z-index: 99;}
.theme-bg .video-btn .play-btn, .dark-bg .video-btn .play-btn{background: var(--themeht-white-color); border-color: #ddd; color:#4222e0;}
.html5-video {height: 100%; left: 0; opacity: 1; overflow: hidden; position: absolute; top: 0; width: 100%; z-index: -2;}
.html5-video video {width: 100%;}
.video-btn .spinner-eff {left: 50%; top: 50%;}


/* ------------------------
    Image Box
------------------------*/
.img-box{background: var(--themeht-white-color); padding-top: 50px; overflow: hidden; position: relative; border-radius: 10px;}
.img-box img{width: 100%;}
.box-loader {border-radius: 100%; margin: 0 auto; position: absolute; top: 15px; left: 15px;}
.box-loader span{display: inline-block; width: 10px; height: 10px; border-radius: 100%; background:#4222e0; margin: 0 5px; opacity: 0;}
.box-loader span:nth-child(1){animation: opacitychange 1s ease-in-out infinite;}
.box-loader span:nth-child(2){animation: opacitychange 1s ease-in-out 0.33s infinite;}
.box-loader span:nth-child(3){animation: opacitychange 1s ease-in-out 0.66s infinite;}


/* ------------------------
    Side Background
------------------------*/
.image-full-left{margin-left: -300px; position: relative; z-index: 9;}
.image-full-right{margin-right: -300px; position: relative; z-index: 9;}
.banner-one-img{margin-right: -200px; position: relative; z-index: 9;}
@media (max-width:991px) {
    .image-full-left { margin-left: 0;}
    .image-full-right, .banner-one-img { margin-right: 0;}
}


/* ------------------------
    Error Page
------------------------*/
.error-page {font-size: 350px; font-weight: 500; line-height: 250px;}
.error-page > span {display: inline-block; position: relative; color:#4222e0;}
.error-page > span {display: inline-block; position: relative; vertical-align: middle;}
.error-page > span:nth-of-type(1) {color:#4222e0; animation: colordancing 4s infinite;}
.error-page > span:nth-of-type(3) {color: #00c9ff; animation: colordancing2 4s infinite;}
.error-page > span:nth-of-type(2) {width: 250px; height: 120px; border-radius: 999px;}
.error-page > span:nth-of-type(2):before,
.error-page > span:nth-of-type(2):after {border-radius: 0%; content:""; position: absolute; top: 0; left: 0; width: inherit; height: inherit; border-radius: 999px; box-shadow: inset 30px 0 0 rgba(0,201,255, 0.4),
inset 0 30px 0 rgba(5,248,161, 0.4), inset -30px 0 0 rgba(255,8,68, 0.4), inset 0 -30px 0 rgba(255,81,47, 0.4); animation: shadowsdancing 4s infinite;}
.error-page > span:nth-of-type(2):before {-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);}
.screen-reader-text {position: absolute; top: -9999em; left: -9999em;}


/* ------------------------
    List Icon
------------------------*/
.list-icon li{position: relative; padding-left: 30px;}
.list-icon li i{position: absolute; left: 0; top: 0; color:#4222e0; font-size: 22px; line-height: 20px;}
.list-icon-2 li{padding-left: 20px; position: relative;}
.list-icon-2 li:before{content: ""; background:#4222e0; position: absolute; top: 8px; left: 0; width: 10px; height: 2px; border-radius: 4px;}
.custom-li{display: inline-block;}
.custom-li li {float: left; margin-bottom: 15px; width: calc(100% / 2);}


/* ------------------------
    Bg Animated Image
------------------------*/
.info-img:before {position: absolute; left: 0; top: 0; height: 330px; width: 100%; content: ""; background-image: url(https://themeht.com/template/sofeland/ltr/images/pattern/07.png); z-index: -1;}
.bg-effect::after {background: var(--themeht-bg-light-color); top: 0; content: ""; left: 25%; position: absolute; right: 0; z-index: -1; height: 100%; border-top-left-radius: 50%;}
.bg-effect.right::after{left: 0; right: 25%; border-top-left-radius: 0; border-top-right-radius: 50%;}
.bg-effect-2::before {background: var(--themeht-white-color); top: -50px; content: ""; height: 120px; left: 0; overflow: visible; position: absolute; transform: skewY(4deg); width: 100%;}
.bg-effect-3::after {background: var(--themeht-white-color); bottom: -50px; content: ""; height: 120px; left: 0; overflow: visible; position: absolute; transform: skewY(-4deg); width: 100%;}
.bg-effect-4::after {background:#4222e0; border-bottom-left-radius: 30px; border-top-left-radius: 30px; content: ""; height: 80%; right: -20%; position: absolute; top: 10%; transform: rotate(-5deg); width: 70%; z-index: -1;}
.bg-animation {position: absolute; top: -100px; left: 0;}
.wave-shape {position: absolute; width: 100%; height: auto; left: 0; top: 0;}
.wave-bg > use {animation: move-forever 20s linear infinite;}
.wave-bg > use:nth-child(1) {animation-delay: -2s;}
.wave-bg > use:nth-child(2) {animation-delay: -2s; animation-duration: 10s;}
.wave-bg > use:nth-child(3) {animation-delay: -4s; animation-duration: 8s;}
.wave-animation {display: block; width: 100%; height: 200px; margin: 0; position: absolute; bottom: 0;}
.animated-icon-shape { position: absolute; top: 0; width: 100%; height: 100%; left: 0; z-index: -1; }
.small-circle-animation { position: absolute; }
.animated-icon-shape img:nth-child(1) { width: 60px; left: 2%; top: 20%; animation: floatRotate 6s ease-in-out infinite; }
.animated-icon-shape img:nth-child(2) { width: 100px; left: 4%; bottom: 10%; animation: small-animation2 2s infinite linear; animation: rotateIcon 10s linear infinite;}


/* ------------------------
    How It Work
------------------------*/
.work-process{position: relative;}
.work-process p{max-width: 85%; margin: 0 auto;}
.step-num {background: var(--themeht-white-color); border-radius: 50%; box-shadow: 0 12px 20px 0 rgba(117, 178, 240, 0.4); color:#4222e0; display: inline-block; font-size: 14px; font-weight: 600; height: 40px; right: 0; line-height: 40px; position: absolute; text-align: center; top: 0; width: 40px;}
.theme-bg .work-process h4, .theme-bg .work-process p{color: var(--themeht-white-color);}
.step-icon {background: var(--themeht-white-color); width:120px; height:120px; position: relative; box-shadow: rgba(0, 0, 0, 0.10) 0px 25px 50px -12px; border-radius: 50%; line-height: 120px; font-size: 40px; text-align: center; color: var(--themeht-text-color);}
.step-icon span {position: relative;}
.step-icon span::after, .step-icon span::before {border-radius: 50%; content: ""; height: 40px; position: absolute; width: 40px; z-index: -1;}
.step-icon span::after {background: #cdf3f6; height: 25px; left: -10px; top: 5px; width: 25px;}
.step-icon span::before {background: #d4f8e6; bottom: 0; right: -10px;}
.dark-bg .step-icon{color: var(--themeht-white-color); background:#4222e0;}
.dark-bg .step-desc h4{color:#4222e0;}
.dark-bg .step-desc p{color: rgba(255,255,255,0.7);}
.step-num-box{position: relative; display: inline-block; margin-bottom: 20px;}
.work-process .box-loader{position: absolute; top: 30%; right: -15%; left: inherit;}
.work-process.style-2 {padding: 0; display: flex; align-items: center;}
.work-process.style-2:before{display: none;}
.work-process.style-2 .step-num-box {margin-bottom: 0; margin-right: 30px;}
.work-process.style-2 p{max-width: auto; margin: 0;}
.work-process.style-3 {padding: 70px 30px 0;}
.work-process.style-3 .step-num {background: none; box-shadow: none; color: rgba(255, 255, 255, 0.1); font-size: 120px; height: auto; left: 50%; line-height: 120px; margin-bottom: 0; position: absolute; top: 0; transform: translateX(-50%); width: auto;}
#svg-container {position: absolute; width: 100%; left: 52%;  z-index: -1; transform: translateX(-50%); width: 75%;}
#svgC {margin: 0 auto; width: 100%;}


/* ------------------------
    Spinner
------------------------*/
.spinner-eff {position: absolute; width: 200px; height: 200px; bottom: 0;}
.spinner-eff .spinner-circle {border-radius: 100px; position: absolute; left: 0; right: 0; margin: auto; transform: scale(1); transform-origin: center center;}
.spinner-eff .circle-1 {width: 100%; height: 100%; background-color: #60f691;  top: 0; animation: pulse 1.6s linear 0s infinite;}
.spinner-eff .circle-2 {width: 66.6%; height: 66.6%; background-color: #0cca4a; top: 16.5%; animation: pulse-2 1.6s linear 0s infinite;}


/* ------------------------
    Hexagon
------------------------*/
.hexagon-bg{position: absolute; left: 50%; top: 0; width: 100%; display: flex;}
.hexagon-bg.style-2{top: 50%;}
.hexagon {position: relative; margin: 0 auto; width: 10em; height: 17.32em; border-radius: 1em/.5em; background: var(--themeht-bg-light-color); transition: opacity .5s;}
.hexagon:before, .hexagon:after {position: absolute; width: inherit; height: inherit; border-radius: inherit; background: inherit; content: '';}
.hexagon:before {-webkit-transform: rotate(60deg); transform: rotate(60deg);}
.hexagon:after {-webkit-transform: rotate(-60deg); transform: rotate(-60deg);}
.hexagon:nth-child(2n+2){margin-top: 20px;}
.hexagon-bg.style-2 .hexagon{background: #ff0844; opacity: 0.050}


/* ------------------------
    Timeline
------------------------*/
.timeline {position: relative; margin: 0 auto;}
.timeline:after {content: ''; position: absolute; width: 5px; background: var(--themeht-bg-light-color); left: 50%; top: 0; bottom: 0; margin-left: -2px;}
.timeline--first:after {top: 20px;}
.timeline-title {text-align: center; position: relative; z-index: 1; padding-bottom: 20px;}
.timeline-title h2 {background: var(--themeht-white-color); color:#4222e0; display: inline-block; padding: 10px 20px; border-radius: 10px; font-size: 24px; line-height: 30px;}
.timeline-inner {padding: 10px 30px 40px 30px; width: 50%; position: relative; background-color: inherit;}
.timeline-right {margin-left: 50%;}
.timeline-content {padding: 20px 30px; background: var(--themeht-white-color); position: relative; border-radius: 10px;}
.timeline-content h3{font-size: 20px; color: var(--themeht-text-color); font-weight: 500;}
.timeline-inner::before {content: ""; display: block; position: absolute; top: 0; right: -16px; margin: auto; height: 32px; width: 32px; border: 3px solid#4222e0; border-bottom: 3px solid transparent !important; border-radius: 50%; z-index: 9; background: var(--themeht-white-color);
-webkit-animation: loader-3-1 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite; animation: loader-3-1 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;}
.timeline-inner::after {content: ""; position: absolute; top: 0; right: -3px; margin: auto; width: 6px; height: 6px; background:#4222e0; border-radius: 50%; z-index: 9;
-webkit-animation: loader-3-2 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite; animation: loader-3-2 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;}
.timeline-right.timeline-inner::before{right: inherit; left: -16px;}
.timeline-right.timeline-inner::after{right: inherit; left: -3px;}
.timeline-content:before, .timeline-content:after{content: ""; background:#4222e0; border-radius: 10px; width: 0; height: 3px; position: absolute;}
.timeline-content:before{top: 0; left: 0;}
.timeline-content:after{bottom: 0; right: 0;}
.timeline-inner:hover .timeline-content:before, .timeline-inner:hover .timeline-content:after{width: 10%;}


/* ------------------------
    Other
------------------------*/
#canvas {width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.5;}
#confetti {width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.5; z-index: -1;}
.blink-img{position: absolute; left: 50%; top: 50%; width: 100%; z-index: -1;}
.morph-wrap {position: absolute; top: 0; left: -20%; bottom: 0; width: 70%; pointer-events: none; z-index: -1; transform: rotate(-90deg);}
.morph {position: relative; height: 130%; fill: #ffe2e1; flex: none; width: 150%;}
.login-form img{height: 100px;}
.remember-checkbox label{margin-bottom: 0;}
.round-shape {position: absolute; right: 10%; bottom: 0; height: 300px; width: 300px; border-radius: 50%; background: none; border:50px solid#4222e0; animation: heartbeat 0.5s cubic-bezier(0.245, 0.325, 0.51, 1.305) infinite alternate; opacity: 0.050;}

