 :root {
     --accent-color: #50cb90;
     --accent-medium-dark-color: #49b983;
     --accent-dark-color: #399166;
     --background-color: #f4f4f4;
     --text-color: white;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     font-size: 16px;
     word-spacing: 0.15rem;
     scroll-behavior: smooth;
 }

 body {
     font-family: "Roboto", sans-serif;
     background: #f7f7f7;
     margin: 0;
 }

 .w-100 {
     width: 100%;
 }

 #cards .p-2-5 {
     padding: 2.5rem;
 }

 .price.pt-3 {
     padding-top: 3rem;
 }

 /* span {
     line-height: 1.7;
 } */


 /* Navbar Styling */
 .navbar {
     position: fixed;
     display: flex;
     justify-content: space-between;
     justify-items: center;
     align-items: center;
     width: 100%;
     top: 0;
     background-color: transparent;
     color: white;
     padding: 15px 0;
     z-index: 10000;
     transition: background-color 0.3s, box-shadow 0.3s, opacity 1.2s ease-in normal, top 0.3s ease;
     padding-left: 4rem;
     padding-right: 4rem;
     border-bottom: 1px solid #92c9ae23;
     opacity: 0;
 }

 .navbar.hidden {
     top: -150px;
 }

 nav {
     display: flex;
     justify-content: center;
 }

 /* Show the navigation links when the hamburger menu is clicked */
 .navbar.navbar-active nav ul {
     display: flex;
     width: 100%;
 }

 .tab {
     transition: color 0.3s ease;
 }

 .tab:hover {
     cursor: pointer;
 }

 .hamburger {
     outline: none;
     -webkit-tap-highlight-color: transparent;
     /* Remove tap highlight on mobile */
     user-select: none;
     /* Optional: prevents text selection */
     display: none;
     font-size: 30px;
     cursor: pointer;
     z-index: 1001;
 }

 /* Hamburger Lines Styling */
 .hamburger div {
     width: 35px;
     height: 3px;
     background-color: white;
     margin: 6px 0;
     transition: all 0.3s ease;
     pointer-events: none;
     /* prevents child divs from receiving tap/click events */
 }

 .hamburger div:nth-child(2) {
     width: 25px;
 }

 .navbar nav ul {
     display: flex;
     justify-content: center;
     list-style-type: none;
 }

 .navbar nav ul li {
     margin: 0 20px;
 }

 .navbar nav ul li span:hover {
     text-decoration: none;
     border-bottom: 2px solid var(--accent-medium-dark-color);
 }

 .navbar nav ul li span {
     color: white;
     text-decoration: none;
     font-weight: 400;
     font-size: .8rem;
     position: relative;
     padding-bottom: 1rem;
 }

 /* When hovering over the link, animate the opacity of the ::before element */
 .navbar nav ul li span:hover::before {
     opacity: 1;
 }

 .nav-toggle {
     display: none;
 }

 .navbar nav ul li span.active {
     color: var(--accent-color);
     border-bottom: 2px solid var(--accent-medium-dark-color);
 }

 .navbar nav ul li.dropdown {
     margin: 0 20px;
 }

 .fa-chevron-down {
     margin-left: .5rem;
 }

 .dropdown-content a.active {
     color: var(--accent-color);
 }

 /* input[type="radio"]:checked+label {
        color: var(--accent-color);
        border-bottom: 2px solid var(--accent-medium-dark-color);
        } */

 .header-contact {
     display: flex;
     flex-direction: column;
 }

 .contact-info {
     margin-bottom: 0.5rem;
 }

 .contact-section-info {
     color: inherit;
     text-decoration: none;
     cursor: pointer;
 }

 .header-contact-container {
     display: flex;
     flex-direction: row;
     align-items: center;
 }

 .phone-image {
     background-image: url(./assets/images/phone-call-icon.png);
     background-size: contain;
     background-position: center;
     background-repeat: no-repeat;
     height: 15px;
     width: 15px;
 }

 .contact-circle-phone-outer {
     width: 60px;
     height: 60px;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     margin-right: 1rem;
     border: 2px solid #399166d1;
     border-radius: 50%;
     transition: transform 0.3s ease-in-out;
 }

 .contact-circle-phone-inner {
     width: 48px;
     height: 48px;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 1px solid var(--accent-medium-dark-color);
     border-radius: 50%;
     background-color: var(--accent-medium-dark-color);
 }

 .animated {
     animation: growShrink .5s ease-in-out normal forwards;
 }


 @keyframes growShrink {
     0% {
         transform: scale(1);
     }

     50% {
         transform: scale(1.2);
     }

     100% {
         transform: scale(1);
     }
 }

 .fade-in {
     opacity: 1;
     /* display: block; */
 }

 .navbar-dark {
     background-color: #000000b5;
     backdrop-filter: blur(8px);
 }

 .header-contact span {
     line-height: 1.7;
     cursor: pointer;
 }

 video {
     width: 100%;
     padding-bottom: 2rem;
 }

 .go-button-container {
     position: relative;
     bottom: 3rem;
     background: #f7f7f7;
     padding-left: 1.5rem;
     padding-right: 1.5rem;
     height: 10rem;
     padding-top: 1rem;
     border-radius: 50%;
 }

 .button {
     cursor: pointer;
     border: none;
     background: #399166;
     color: #fff;
     width: 100px;
     height: 100px;
     border-radius: 50%;
     overflow: hidden;
     position: relative;
     display: grid;
     place-content: center;
     transition: background 300ms, transform 200ms;
     font-weight: 600;
     /* bottom: 3rem; */
 }

 .button__text {
     position: absolute;
     inset: 15px;
     animation: text-rotation 8s linear infinite;

     >span {
         position: absolute;
         transform: rotate(calc(19deg * var(--index)));
         inset: -12px;
     }
 }

 .button__circle {
     position: relative;
     width: 60px;
     height: 60px;
     overflow: hidden;
     background: white;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .button__icon {
     padding: .5rem;
 }

 .button__icon--copy {
     position: absolute;
     transform: translate(10%, -100%);
 }

 .button:hover {
     background: #141414;
 }

 .button:hover .button__icon {
     color: #000;
 }

 .button:hover .button__icon:first-child {
     transition: transform 0.3s ease-in-out;
     transform: translate(-10%, 100%);
 }

 .button:hover .button__icon--copy {
     transition: transform 0.3s ease-in-out 0.1s;
     transform: translate(0);
 }

 @keyframes text-rotation {
     to {
         rotate: 360deg;
     }
 }

 .border-with-button {
     display: flex;
     justify-content: center;
     border-radius: 80px 80px 0 0;
     background: #f7f7f7;
     width: 100%;
     overflow: visible;
     position: absolute;
     bottom: -60px;
     transform: translateZ(0);
 }

 .home-section {
     position: relative;
     width: 100%;
     height: 100vh;
     overflow: hidden;
     background: #121212;
 }

 .home-section video {
     width: 100%;
     height: 100%;
     object-fit: cover;
     position: fixed;
 }

 /* Overlay with Blur Effect */
 .home-section .overlay {
     position: absolute;
     top: 20%;
     left: -30vw;
     padding: 1rem;
     /* background: rgb(0 0 0 / 11%); */
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: flex-start;
     color: white;
     text-align: center;
     z-index: 10;
     padding-left: 2rem;
     padding-right: 2rem;
     border-top-right-radius: 30px;
     border-bottom-right-radius: 30px;
     /* backdrop-filter: blur(20px); */
 }

 .overlay {
     opacity: 0;
     /* Start invisible */
     /* transition: transform 2s ease-in normal; */
     /* Fade-in effect */
     animation: slide-right 1s ease-in forwards, opacity 2s ease-in;
 }

 @keyframes slide-right {
     from {
         transform: translateX(0);
     }

     to {
         transform: translateX(30vw);
         opacity: 1;
     }
 }

 @keyframes opacity {
     from {
         opacity: 0;
     }

     to {
         opacity: 1;
     }
 }

 .title {
     font-size: 3rem;
     font-family: 'Jost', sans-serif;
     font-weight: 400;
     /* border-bottom: 1px solid var(--accent-color); */
 }

 .card {
     opacity: 0;
     position: relative;
     width: 420px;
     padding: 3.5rem;
     padding-top: 4rem;
     padding-bottom: 2rem;
     /* space for ribbon */
     background: #fff;
     border: 1px solid #ddd;
     /* border-radius: 8px; */
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
     overflow: visible;
     box-sizing: border-box;
     z-index: 1;
     overflow-x: hidden;
     transform: translateY(50px);
     transition: all 0.5s ease-out;
 }

 .card.show {
     opacity: 1;
     transform: translateY(0);
 }

 .card.recommend::before {
     content: '';
     position: absolute;
     top: 0;
     left: -75%;
     width: 30%;
     height: 100%;
     background: linear-gradient(120deg,
             rgba(255, 255, 255, 0.00) 0%,
             rgba(255, 255, 255, 0.075) 25%,
             rgba(255, 255, 255, 0.205) 50%,
             rgba(255, 255, 255, 0.075) 75%,
             rgba(255, 255, 255, 0.00) 100%);
     transform: skewX(-15deg);
     animation: shine 3s infinite ease-in-out;
     z-index: 2;
     pointer-events: none;
 }

 @keyframes shine {
     0% {
         left: -75%;
     }

     70% {
         left: 145%;
     }

     100% {
         left: 160%;
         /* Hold this position to simulate pause */
     }
 }

 /* Optional: Staggered delay */
 .card:nth-child(1) {
     transition-delay: 0s;
 }

 .card:nth-child(2) {
     transition-delay: 0.3s;
 }

 .card:nth-child(3) {
     transition-delay: 0.6s;
 }

 .card:nth-child(4) {
     transition-delay: 0.9s;
 }

 .card:nth-child(5) {
     transition-delay: 1.2;
 }

 .ribbon {
     font-size: 28px;
     font-weight: bold;
     color: #fff;
 }

 .ribbon {
     --f: .2em;
     --r: 1em;
     position: absolute;
     right: 20px;
     top: calc(-1 * var(--f));
     padding: .2em;
     border: solid #0000;
     border-width: 0 calc(2 * var(--f)) var(--r) 0;
     background: radial-gradient(50% 100% at bottom, #0005 98%, #0000 101%) 100% 0 / calc(2 * var(--f)) var(--f) no-repeat border-box;
     background-color: white;
     border-radius: var(--f) var(--f) 0 0;
     clip-path: polygon(100% 0, 0 0, 0 100%, calc(50% - var(--f)) calc(110% - var(--r)), calc(100% - 2 * var(--f)) 100%, calc(100% - 2 * var(--f)) var(--f), 100% var(--f));
 }

 .star {
     margin-top: 10px;
     margin-left: 2px;
     margin-right: 2px;
     width: 30px;
     height: 30px;
     padding: .1rem;
     background-color: #50cb90;
     clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 81% 100%, 50% 70%, 16% 100%, 32% 57%, 2% 35%, 39% 35%);
 }

 .cards {
     display: flex;
     flex-direction: row;
     justify-content: center;
     gap: 40px;
     margin-bottom: 2.5rem;
     padding-top: 2rem;
     flex-wrap: wrap;
 }

 .recommend {
     background: #398f65;
     background: linear-gradient(90deg, rgba(57, 143, 101, 1) 0%, rgba(73, 196, 137, 1) 64%, rgba(80, 203, 144, 1) 100%);
 }

 .card.recommend p,
 .card.recommend h3 {
     color: white;

 }

 .card.recommend p {
     color: rgb(238, 238, 238);
 }

 .price {
     font-size: 2.5rem;
     color: white;
     margin-top: 1rem;
 }

 .card h3 {
     margin-bottom: 2.5rem;
     margin-top: .5rem;
     font-weight: 600;
 }

 .card span {
     margin-right: .6rem;
 }

 .card p {
     font-weight: 600;
     color: rgb(113 113 113);
     font-weight: 400;
     margin-top: 1rem;
 }

 .price.black {
     color: #202020;
 }

 .skew-box {
     display: flex;
     transform: skewX(-15deg);
     color: white;
     border: 1px solid #ffffff57;
     justify-content: center;
     cursor: pointer;
     padding: .5rem;
     position: absolute;
     bottom: 1.5rem;
     width: 70%;
     left: 15%;
     overflow: hidden;
 }

 .skew-box .content {
     display: inline-block;
     transform: skewX(15deg);
     font-size: medium;
     font-weight: bold;
     transition: color 0.5s ease;
     margin-right: 0;
 }

 .cards .skew-box.recommend {
     border: 1px solid white;
 }

 .cards .skew-box.recommend:hover {
     transition: color 0.5s ease;
     color: white;
 }

 .cards .skew-box.recommend:hover .content {
     color: var(--accent-color);
     transition: color 0.5s ease;
 }

 .cards .recommend .content {
     color: white;
 }

 .cards .content {
     color: var(--accent-medium-dark-color);
 }

 .cards .skew-box:hover .content {
     color: white;
     transition: color 0.5s ease;
 }

 .cards .skew-box {
     border: 1px solid var(--accent-color);
     transition: color 0.5s ease;
 }

 .cards .skew-box:hover {
     transition: color 0.5s ease;
     color: white;
 }

 .card>p:last-of-type {
     padding-bottom: 6rem;
 }

 .skew-box.recommend::before,
 .skew-box::before {
     content: "";
     position: absolute;
     height: 100%;
     width: 0%;
     top: 0;
     left: 0px;
     transition: all .8s;
 }

 .skew-box.recommend::before {
     background-color: rgb(255, 255, 255);
 }

 .skew-box::before {
     background-color: var(--accent-color);
 }

 .skew-box:hover::before {
     width: 100%;
 }

 .dotted-separator {
     border-bottom: 2px dotted #ccc;
     width: 100%;
     margin: 1rem 0;
     margin-bottom: 1.5rem;
 }

 /* Dropdown content (hidden by default) */
 .dropdown-content {
     display: none;
     position: absolute;
     background-color: #101010f0;
     min-width: 180px;
     box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
     z-index: 1;
     margin-top: .5rem;
 }

 /* Dropdown items */
 .dropdown-content a {
     color: #ffffff;
     padding: 12px 16px;
     text-decoration: none;
     display: block;
     font-size: .8rem;
 }

 /* Hover effects */
 .dropdown-content a:hover {
     background-color: #252525;
 }

 .dropdown:hover .dropdown-content {
     display: block;
 }

 .page-text {
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: column;
 }

 .page-content {
     display: flex;
     flex-direction: column;
     align-items: center;
     position: relative;
     background: #f7f7f7;
     padding-bottom: 8rem;
 }

 .page-container {
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 h2 {
     color: #373737;
     margin-bottom: 2rem;
     font-size: 2.5rem;
     margin-top: 2rem;
     font-weight: 400;
 }

 /* Footer Section */
 footer {
     position: relative;
     background-color: #1a1c1e;
     padding-top: 5rem;
     color: #fff;
     text-align: center;
 }

 footer .container {
     max-width: 1170px;
     margin: auto;
     padding-bottom: .5rem;
 }

 .footer-col h3 {
     font-size: 18px;
     color: #ffffff;
     text-transform: capitalize;
     margin-bottom: 35px;
     font-weight: 500;
     position: relative;
 }

 .footer-col h3::before {
     content: '';
     position: absolute;
     left: 0;
     bottom: -10px;
     background-color: var(--accent-color);
     height: 2px;
     box-sizing: border-box;
     width: 100%;
 }

 footer p {
     font-size: 14px;
     color: #b9b9b9;
     padding-top: 5rem;
 }

 footer p:nth-child(2) {
     display: flex;
     justify-content: center;
     padding: 1rem;
     color: #5e5e5e;
 }

 .footer-details {
     display: flex;
     flex-direction: column;
 }

 .footer-details span {
     margin-bottom: 0.5rem;
     color: #bbbbbb;
 }

 .row {
     display: flex;
     justify-content: center;
     flex-wrap: wrap;
 }

 ul {
     list-style: none;
 }

 .footer-col {
     width: 25%;
     padding: 0 45px;
 }

 .footer-col h4 {
     font-size: 18px;
     color: #ffffff;
     text-transform: capitalize;
     margin-bottom: 35px;
     font-weight: 500;
     position: relative;
 }

 .footer-col h4::before {
     content: '';
     position: absolute;
     left: 0;
     bottom: -10px;
     background-color: var(--accent-color);
     height: 2px;
     box-sizing: border-box;
     width: 100%;
 }

 .footer-col ul li:not(:last-child) {
     margin-bottom: 0.5rem;
 }

 .footer-col ul li a {
     font-size: 16px;
     text-transform: capitalize;
     color: #ffffff;
     cursor: pointer;
     text-decoration: none;
     color: #bbbbbb;
     display: block;
     transition: all 0.3s ease;
 }

 .footer-col ul li a:hover {
     color: #ffffff;
 }

 .footer-col .social-links a {
     display: inline-block;
     height: 40px;
     width: 40px;
     background-color: rgba(255, 255, 255, 0.2);
     margin: 0 10px 10px 0;
     text-align: center;
     line-height: 40px;
     border-radius: 50%;
     color: #ffffff;
     transition: all 0.5s ease;
 }

 .footer-col .social-links a:hover {
     color: #24262b;
     background-color: #ffffff;
 }

 .footer a {
     text-decoration: none;
     color: inherit;
 }

 .footer a:visited {
     color: inherit;
 }

 .footer a:hover {
     color: #d4d4d4;
 }

 .footer a:active {
     color: inherit;
 }

 @media (max-width: 1220px) {

     .hamburger {
         display: block;
     }

     /* Remove hover behavior on mobile */
     .dropdown,
     .dropbtn {
         display: block;
         width: 100%;
     }

     .dropdown-content {
         display: block;
         position: static;
         /* Remove absolute positioning */
         background-color: transparent;
         box-shadow: none;
         padding-left: 20px;
         margin-top: 1rem;
     }

     .dropdown-content a {
         color: #dddddd;
         padding: 10px 0;
         font-size: .9rem;
         text-transform: uppercase;
     }

     .dropbtn i {
         display: none;
         /* Optional: Hide the chevron icon on mobile */
     }

     /* .home-section .overlay {
         background: rgb(0 0 0 / 0.7);
     } */

     .column {
         width: 100%;
     }

     nav {
         justify-content: center;
         margin-top: 2rem;
     }

     /* When navbar is active, rotate and animate the hamburger lines to form an X */
     .navbar-active .hamburger div:nth-child(1) {
         transform: rotate(44deg) translateY(15px);
         /* Move down a bit more */
     }

     .navbar-active .hamburger div:nth-child(2) {
         opacity: 0;
         /* Hide the middle line */
         transform: translateX(-20px);
         /* Move it out of the view */
     }

     .navbar-active .hamburger div:nth-child(3) {
         transform: rotate(-44deg) translateY(-15px);
         margin: 9px 0;
         /* Move up a bit more */
     }

     .logo {
         display: none;
     }

     .navbar {
         justify-content: center;
         padding-left: 2rem;
         padding-right: 2rem;
     }

     .navbar-dark {
         background-color: #000000e0;
     }

     .navbar-active {
         height: 100%;
         align-items: flex-start;
     }

     /* Adjust navbar links for small screens */
     .navbar nav ul {
         display: none;
         flex-direction: column;
         /* Stack navbar items vertically */
     }

     .navbar nav ul li {
         margin: 10px 0;
         display: flex;
         justify-content: center;
         align-items: stretch;
         flex-direction: column;
     }

     .navbar nav ul li span {
         font-size: 1rem;
         border-bottom: 1px solid #c9c9c93b;
         padding-bottom: 1rem;
         padding-top: 1.1rem;
         text-transform: uppercase;
     }

     .navbar nav ul li span.active {
         color: var(--accent-color);
         border-bottom: 1px solid var(--accent-medium-dark-color);
     }

     .dropbtn {
         padding: unset;
     }
 }

 @media(max-width: 768px) {

     .header-contact-container {
         transform: scale(.9);
     }

     .home-section {
         display: none !important;
     }

     .home-section {
         height: 80vh;
     }

     .home-section video {
         height: 80%;
     }

     .home-section .overlay {
         padding: 1rem;
         padding-left: 2rem;
         padding-right: 2rem;
         border-top-right-radius: 30px;
         border-bottom-right-radius: 30px;
         width: 100%;
     }

     .title {
         font-size: 2rem;
     }

     .border-with-button {
         border-radius: 30px 30px 0 0;
         bottom: -5px;
         height: 12vh;
     }

     .go-button-container {
         bottom: 2rem;
         padding-left: .5rem;
         padding-right: .5rem;
         height: 6rem;
         padding-top: .5rem;
         border-radius: 50%;
     }

     .button {
         width: 80px;
         height: 80px;
         border-radius: 50%;
         bottom: 0;
     }

     .button__text {
         inset: 15px;
     }

     .button__circle {
         width: 50px;
         height: 50px;
         border-radius: 50%;
     }

     .page-content {
         /* margin-top: 0; */
         margin-top: 10rem;
     }

     .page-text {
         padding: 5%;
     }

     .price.pt-3 {
         padding-top: 3rem;
     }

     h2 {
         font-size: 2rem;
         margin-top: 0;
         text-align: center;
     }

     .card {
         width: 350px;
         padding: 2rem;
     }

     .cards {
         align-items: center;
         flex-direction: column;
     }

     .visualization-container,
     #visualization-menu-item {
         display: none;
     }

     .footer-col ul li a,
     .footer-details span {
         margin-bottom: .5rem;
     }

     .footer-col {
         width: 50%;
         margin-bottom: 30px;
     }
 }

 @media(max-width: 574px) {
     .footer-col {
         width: 100%;
     }
 }

 @media(max-width: 392px) {

     h2 {
         font-size: 1.4rem;
     }

     .price {
         font-size: 1.7rem;
         color: white;
     }

     .card h3 {
         margin-bottom: 2rem;
     }

     .card p,
     .skew-box .content {
         font-size: .9rem;
     }

     .footer-col ul li a,
     .footer-details span {
         font-size: .9rem;
     }
 }