/**
* @license
*
* Font Family: General Sans
* Designed by: Frode Helland
* URL: https://www.fontshare.com/fonts/general-sans
* © 2025 Indian Type Foundry
*
* General Sans Extralight 
* General Sans ExtralightItalic 
* General Sans Light 
* General Sans LightItalic 
* General Sans Regular 
* General Sans Italic 
* General Sans Medium 
* General Sans MediumItalic 
* General Sans Semibold 
* General Sans SemiboldItalic 
* General Sans Bold 
* General Sans BoldItalic 
* General Sans Variable (Variable font)
* General Sans VariableItalic (Variable font)

*
*/
@font-face {
  font-family: "GeneralSans-Extralight";
  src: url("./fonts/GeneralSans-Extralight.woff2") format("woff2"),
    url("./fonts/GeneralSans-Extralight.woff") format("woff"),
    url("./fonts/GeneralSans-Extralight.ttf") format("truetype");
  font-weight: 200;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: "GeneralSans-ExtralightItalic";
  src: url("./fonts/GeneralSans-ExtralightItalic.woff2") format("woff2"),
    url("./fonts/GeneralSans-ExtralightItalic.woff") format("woff"),
    url("./fonts/GeneralSans-ExtralightItalic.ttf") format("truetype");
  font-weight: 200;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: "GeneralSans-Light";
  src: url("./fonts/GeneralSans-Light.woff2") format("woff2"),
    url("./fonts/GeneralSans-Light.woff") format("woff"),
    url("./fonts/GeneralSans-Light.ttf") format("truetype");
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: "GeneralSans-LightItalic";
  src: url("./fonts/GeneralSans-LightItalic.woff2") format("woff2"),
    url("./fonts/GeneralSans-LightItalic.woff") format("woff"),
    url("./fonts/GeneralSans-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: "GeneralSans-Regular";
  src: url("./fonts/GeneralSans-Regular.woff2") format("woff2"),
    url("./fonts/GeneralSans-Regular.woff") format("woff"),
    url("./fonts/GeneralSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: "GeneralSans-Italic";
  src: url("./fonts/GeneralSans-Italic.woff2") format("woff2"),
    url("./fonts/GeneralSans-Italic.woff") format("woff"),
    url("./fonts/GeneralSans-Italic.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: "GeneralSans-Medium";
  src: url("./fonts/GeneralSans-Medium.woff2") format("woff2"),
    url("./fonts/GeneralSans-Medium.woff") format("woff"),
    url("./fonts/GeneralSans-Medium.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: "GeneralSans-MediumItalic";
  src: url("./fonts/GeneralSans-MediumItalic.woff2") format("woff2"),
    url("./fonts/GeneralSans-MediumItalic.woff") format("woff"),
    url("./fonts/GeneralSans-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: "GeneralSans-Semibold";
  src: url("./fonts/GeneralSans-Semibold.woff2") format("woff2"),
    url("./fonts/GeneralSans-Semibold.woff") format("woff"),
    url("./fonts/GeneralSans-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: "GeneralSans-SemiboldItalic";
  src: url("./fonts/GeneralSans-SemiboldItalic.woff2") format("woff2"),
    url("./fonts/GeneralSans-SemiboldItalic.woff") format("woff"),
    url("./fonts/GeneralSans-SemiboldItalic.ttf") format("truetype");
  font-weight: 600;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: "GeneralSans-Bold";
  src: url("./fonts/GeneralSans-Bold.woff2") format("woff2"),
    url("./fonts/GeneralSans-Bold.woff") format("woff"),
    url("./fonts/GeneralSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: "GeneralSans-BoldItalic";
  src: url("./fonts/GeneralSans-BoldItalic.woff2") format("woff2"),
    url("./fonts/GeneralSans-BoldItalic.woff") format("woff"),
    url("./fonts/GeneralSans-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
  font-style: italic;
}

/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 700.0;
*
* available axes:
'wght' (range from 200.0 to 700.0
*/
@font-face {
  font-family: "GeneralSans-Variable";
  src: url("./fonts/GeneralSans-Variable.woff2") format("woff2"),
    url("./fonts/GeneralSans-Variable.woff") format("woff"),
    url("./fonts/GeneralSans-Variable.ttf") format("truetype");
  font-weight: 200 700;
  font-display: swap;
  font-style: normal;
}

/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 700.0;
*
* available axes:
'wght' (range from 200.0 to 700.0
*/
@font-face {
  font-family: "GeneralSans-VariableItalic";
  src: url("./fonts/GeneralSans-VariableItalic.woff2") format("woff2"),
    url("./fonts/GeneralSans-VariableItalic.woff") format("woff"),
    url("./fonts/GeneralSans-VariableItalic.ttf") format("truetype");
  font-weight: 200 700;
  font-display: swap;
  font-style: italic;
}

/* hero */

.video-docker video {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.video-docker::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(26, 54, 58, 0.7);
  z-index: 1;
}

.normal-text {
  font-family: "GeneralSans-Semibold", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 27px;
  letter-spacing: 0;
}

.hero-main-text {
  font-family: "GeneralSans-Semibold", sans-serif;
  font-weight: 700;
  /* font-size: 50px !important; */
  /* line-height: 45px; */
  letter-spacing: 0;
}

.hero-sub-text {
  font-size: 16px;
  line-height: 20px;
  font-weight: 300;
  letter-spacing: 0;
  font-family: "GeneralSans-Light", sans-serif;
  line-height: 24px;
}

/* contact us */
.contact-us-section-title {
  font-family: "GeneralSans-Semibold", sans-serif;
  font-weight: 600;
  font-size: 35px;
  line-height: 52.5px;
  letter-spacing: 0;
}

/* Gradient border effect */
.gradient-border {
  position: relative;
}

.gradient-border::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  background: linear-gradient(90deg,
      rgba(183, 255, 100, 0.3) 0%,
      transparent 20%,
      transparent 80%,
      rgba(183, 255, 100, 0.3) 100%);
  border-radius: inherit;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: xor;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
}

/* Responsive typography */
@media (max-width: 640px) {
  .normal-text {
    font-size: 14px;
    line-height: 21px;
  }

  .hero-main-text {
    /* font-size: 36px !important; */
    /* line-height: 40px; */
  }

  .hero-sub-text {
    font-size: 14px;
    line-height: 20px;
  }

  .contact-us-section-title {
    font-size: 24px;
    line-height: 36px;
  }
}

@media (min-width: 641px) and (max-width: 768px) {
  .normal-text {
    font-size: 16px;
    line-height: 24px;
  }

  .hero-main-text {
    /* font-size: 48px; */
    /* line-height: 52px; */
  }

  .hero-sub-text {
    font-size: 16px;
    line-height: 24px;
  }

  .contact-us-section-title {
    font-size: 28px;
    line-height: 42px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .normal-text {
    font-size: 18px;
    line-height: 27px;
  }

  .hero-main-text {
    /* font-size: 72px; */
    /* line-height: 76px; */
  }

  .hero-sub-text {
    font-size: 18px;
    line-height: 27px;
  }

  .contact-us-section-title {
    font-size: 32px;
    line-height: 48px;
  }
}

@media (min-width: 1025px) {
  .normal-text {
    font-size: 18px;
    line-height: 27px;
  }

  .hero-main-text {
    /* font-size: 90px; */
    /* line-height: 90px; */
  }

  .hero-sub-text {
    font-size: 16px;
    line-height: 20px;
    font-weight: 300;
    /* letter-spacing: 0; */
    font-family: "GeneralSans-Light", sans-serif;
    /* line-height: 100%; */
    line-height: 24px;
  }

  .contact-us-section-title {
    font-size: 35px;
    line-height: 52.5px;
  }
}

/* Custom styles for the design */
body {
  font-family: "GeneralSans-Variable", "GeneralSans-Regular", sans-serif;
  font-weight: 400;
}

@keyframes spin-slow {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.animate-spin-slow {
  animation: spin-slow 20s linear infinite;
}

text {
  font-weight: 300;
}

/* Smooth transitions */
* {
  transition: all 0.3s ease;
}

/* Custom button hover effects */
button:hover {
  transform: translateY(-1px);
}

/* Animated underline for menu items */
.menu-link::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: 0px;
  left: 0;
  background-color: #2c6e7e;
  transition: width 0.3s ease-in-out;
}

.menu-link:hover::after {
  width: 100%;
}

/* Hamburger menu animation */
#hamburger-menu {
  transition: transform 0.3s ease;
}

#hamburger-menu:hover {
  transform: scale(1.1);
}

/* Dropdown menu animation */
#dropdown-menu {
  transition: all 0.3s ease-in-out;
  transform-origin: top;
}

/* Responsive adjustments */
/* @media (max-width: 640px) {
  #dropdown-menu {
    left: 3rem;
    top: 8rem;
    width: calc(60% - 20px) !important;
  }

  .video-docker {
    border-radius: 6px;
  }

  header {
    border-radius: 6px;
  }
}

@media (min-width: 641px) and (max-width: 768px) {
  #dropdown-menu {
    left: 3rem;
    top: 8rem;
    width: calc(40% - 20px) !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  #dropdown-menu {
    left: 3.7rem;
    top: 9rem;
    width: calc(20% - 20px) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  #dropdown-menu {
    left: 7.3rem;
    top: 9rem;
    width: calc(15% - 20px) !important;
  }
}

@media (min-width: 1280px) and (max-width: 1360px) {
  #dropdown-menu {
    left: 5.3rem;
    top: 9rem;
    width: calc(15% - 20px) !important;
  }
}

@media (min-width: 1361px) {
  #dropdown-menu {
    left: 7.3rem;
    top: 9rem;
    width: calc(15% - 20px) !important;
  }
} */

/* Touch-friendly interactions */
@media (hover: none) and (pointer: coarse) {
  button {
    min-height: 44px;
    min-width: 44px;
  }

  .menu-link {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* Landscape orientation adjustments */
@media (orientation: landscape) and (max-height: 500px) {
  .hero-main-text {
    /* font-size: 2.5rem !important; */
    /* line-height: 2.75rem !important; */
  }

  .hero-sub-text {
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
  }

  header {
    top: 0.5rem !important;
  }

  #dropdown-menu {
    top: 4rem !important;
  }
}

.font-italic {
  font-style: italic;
}