/**
* Template Name: Nova
* Template URL: https://bootstrapmade.com/nova-bootstrap-business-template/
* Updated: Aug 07 2024 with Bootstrap v5.3.3
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/

/*--------------------------------------------------------------
# Font & Color Variables
# Help: https://bootstrapmade.com/color-system/
--------------------------------------------------------------*/
/* Fonts */
:root {
  --default-font: "Figtree",  system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --heading-font: "Figtree",  sans-serif;
  --nav-font: "Figtree",  sans-serif;
}

/* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */
:root { 
  --background-color: #ffffff; /* Background color for the entire website, including individual sections */
  --default-color: #2b180d; /* Default color used for the majority of the text content across the entire website */
  --heading-color: #1b2f45; /* Color for headings, subheadings and title throughout the website */
  --accent-color: #56b8e6; /* Accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out */
  --surface-color: #ffffff; /* The surface color is used as a background of boxed elements within sections, such as cards, icon boxes, or other elements that require a visual separation from the global background. */
  --contrast-color: #ffffff; /* Contrast color for text, ensuring readability against backgrounds of accent, heading, or default colors. */
}

/* Nav Menu Colors - The following color variables are used specifically for the navigation menu. They are separate from the global colors to allow for more customization options */
:root {
  --nav-color: rgba(255, 255, 255, 0.6);  /* The default color of the main navmenu links */
  --nav-hover-color: #ffffff; /* Applied to main navmenu links when they are hovered over or active */
  --nav-mobile-background-color: #ffffff; /* Used as the background color for mobile navigation menu */
  --nav-dropdown-background-color: #ffffff; /* Used as the background color for dropdown items that appear when hovering over primary navigation items */
  --nav-dropdown-color: #212529; /* Used for navigation links of the dropdown items in the navigation menu. */
  --nav-dropdown-hover-color: #56b8e6; /* Similar to --nav-hover-color, this color is applied to dropdown navigation links when they are hovered over. */
}

/* Color Presets - These classes override global colors when applied to any section or element, providing reuse of the sam color scheme. */

.light-background {
  --background-color: #f6fcfe;
  --surface-color: #ffffff;
}

.dark-background {
  --background-color: #17283b;
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #254160;
  --contrast-color: #ffffff;
}

/* Smooth scroll */
:root {
  scroll-behavior: smooth;
}



/*--------------------------------------------------------------
# Custom CSS
--------------------------------------------------------------*/


.hero canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.gradient-canvas {
    --gradient-color-1: #c695f3;
    --gradient-color-2: #ff5a62;
    --gradient-color-3: #b7ebff;
    --gradient-color-4: #ffd16b;
    position: absolute;
    top: 0;
    left: 0;
    width: 0px;
    }

.gradient-word {
  display: inline-block;
  background: linear-gradient(
    135deg,
    #90e0ff 0%,
    #ff333d 33%,
    #ffcb57 66%,
    #a960ee 100% 
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% auto;
  animation: shine 7s ease-in-out infinite alternate;
  font-size: calc(1.6rem + 2.8vw);
  line-height: 1.2;
}

@keyframes shine {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: 200% center;
  }
}

/* =======================
   HERO OVERLAY STYLING
   ======================= */
.hero-overlay {
  position: relative;
  z-index: 1;
}

/* Applied ONLY below 1200px */
@media (max-width: 1199.98px) {
  .hero-overlay {
    background: rgba(255, 255, 255, 0.75); /* transparent white */
    color: #000000;
    padding: 3.2rem;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  }

  .hero-overlay h1,
  .hero-overlay p,
  .hero-overlay blockquote {
    color: #000 !important;
  }
}

/* =======================
   HEADER CENTERED ON SMALL SCREENS
   ======================= */
@media (max-width: 1199.98px) {
  header.header {
    background: #17283b; /* transparent black */
    padding: 1rem 0;
  }

  header .container-xl {
    justify-content: center !important;
    text-align: center;
  }

  .logo {
    width: 100%;
    justify-content: center;
  }

  .footer-wrapper {
    padding: 1.2rem !important;
    margin-top: 30px !important;
  }


  /* FOOTER SPACING & CENTERING */
  footer p  {
    padding-top: 0px !important;
    margin-bottom: 0.25rem;
    font-size: 12px;
    text-align: center;
  }
}



/*--------------------------------------------------------------
# General Styling & Shared Classes
--------------------------------------------------------------*/
body {
  color: var(--default-color);
  background-color: var(--background-color);
  font-family: var(--default-font) !important;
}

a {
  color: var(--accent-color);
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: color-mix(in srgb, var(--accent-color), transparent 25%);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-color);
  font-family: var(--heading-font);
}



/*--------------------------------------------------------------
# Global Header
--------------------------------------------------------------*/
.header {
  --background-color: rgba(255, 255, 255, 0);
  --heading-color: #ffffff;
  color: var(--default-color);
  background-color: var(--background-color);
  padding: 15px 0;
  transition: all 0.5s;
  z-index: 997;
}

.header .logo {
  line-height: 1;
}

.header .logo img {
  max-height: 80px;
  margin-right: 8px;
}

.header .logo h1 {
  font-size: 34px;
  margin: 0;
  font-weight: 700;
  color: var(--heading-color);
}

.scrolled .header {
  box-shadow: 0px 0 18px rgba(0, 0, 0, 0.1);
}

/* Global Header on Scroll
------------------------------*/
.scrolled .header {
  --background-color: rgba(23, 40, 59, 0.9);
}









/*--------------------------------------------------------------
# Global Page Titles & Breadcrumbs
--------------------------------------------------------------*/
.page-title {
  color: var(--default-color);
  background-color: var(--background-color);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 160px 0 60px 0;
  text-align: center;
  position: relative;
}

.page-title:before {
  content: "";
  background-color: color-mix(in srgb, var(--background-color), transparent 40%);
  position: absolute;
  inset: 0;
}

.page-title .container {
  position: relative;
}

.page-title h1 {
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 10px;
}

.page-title .breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-weight: 400;
}

.page-title .breadcrumbs ol li+li {
  padding-left: 10px;
}

.page-title .breadcrumbs ol li+li::before {
  content: "/";
  display: inline-block;
  padding-right: 10px;
  color: color-mix(in srgb, var(--default-color), transparent 70%);
}

/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section,
.section {
  color: var(--default-color);
  background-color: var(--background-color);
  padding: 60px 0;
  scroll-margin-top: 100px;
  overflow: clip;
}

@media (max-width: 1199px) {

  section,
  .section {
    scroll-margin-top: 66px;
  }
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.section-title {
  text-align: center;
  padding-bottom: 60px;
  position: relative;
}

.section-title h2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
}

.section-title h2:after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 3px;
  background: var(--accent-color);
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.section-title p {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
  width: 100%;
  min-height: 100vh;
  position: relative;
  padding: 120px 0 60px;
  display: flex;
  align-items: center;
}

@media (min-width: 1200px) {
  .hero:after {
    position: absolute;
    content: "";
    width: 45%;
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--background-color), transparent 15%), color-mix(in srgb, var(--background-color), transparent 15%) 100%), linear-gradient(180deg, rgb(0, 0, 0), rgb(0, 0, 0) 100%);
    top: 0;
    bottom: 0;
    z-index: 2;
    /*clip-path: polygon(0 0, 70% 0, 20% 100%, 0% 100%); */
    box-shadow: rgba(0, 0, 0, 0.09) 2px 2px 1px, rgba(0, 0, 0, 0.09) 4px 4px 2px, rgba(0, 0, 0, 0.09) 8px 8px 4px, rgba(0, 0, 0, 0.09) 16px 16px 8px, rgba(0, 0, 0, 0.09) 32px 32px 16px;
  }
}

.hero:before {
  position: absolute;
  content: "";
  /* background: color-mix(in srgb, var(--background-color), transparent 40%); */
  inset: 0;
  z-index: 2;
}

.hero img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero .container,
.hero .container-fluid {
  z-index: 3;
  position: relative;
}

.hero h1 {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
}

.hero blockquote {
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  padding-left: 20px;
  border-left: 2px solid var(--accent-color);
  margin: 40px 0;
}

.hero .btn-get-started {
  color: var(--contrast-color);
  background: var(--accent-color);
  font-family: var(--heading-font);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.5s;
}

.hero .btn-get-started:hover {
  background: color-mix(in srgb, var(--accent-color) 90%, white 15%);
}

.hero .btn-watch-video {
  font-size: 16px;
  transition: 0.5s;
  margin-left: 25px;
  color: var(--default-color);
  font-weight: 600;
}

.hero .btn-watch-video i {
  color: color-mix(in srgb, var(--default-color), transparent 50%);
  font-size: 32px;
  transition: 0.3s;
  line-height: 0;
  margin-right: 8px;
}

.hero .btn-watch-video:hover {
  color: var(--default-color);
}

.hero .btn-watch-video:hover i {
  color: var(--default-color);
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: 42px;
    line-height: 50px;
  }

  .hero .btn-get-started,
  .hero .btn-watch-video {
    font-size: 13px;
  }
}