/* NOTES ON MEDIA SIZING */

/* Example screen sizes */
/* Iphone pro max viewport width in portrait: 430px
Iphone pro width in portrait 393px;
Ipad Pro viewport width is 1366px. Viewport height is 1024px  */

/* Mininmum size to design down to typically 320px */

/* Typical breakpoint prefix	Minimum width	CSS
sm	640px	@media (min-width: 640px) { ... }
md	768px	@media (min-width: 768px) { ... }
lg	1024px	@media (min-width: 1024px) { ... }
xl	1280px	@media (min-width: 1280px) { ... }
2xl	1536px	@media (min-width: 1536px) { ... } */

/* Used Screen size breakpoints in this CSS */
/* phone: @media (max-width: 599px)
tablet-portrait: @media (min-width: 600px) and (max-width: 899px)
tablet-landscape: @media (min-width: 900px) and (max-width: 1199px)
desktop: @media (min-width: 1200px) and (max-width: 1799px)
big-desktop-up @media (min-width: 1800px) */


/* Overall layout */

:root {
  --dark-blue: #011A53;
  --off-white: #F5F5F5;
  --green: #27F59C;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  background-color: var(--dark-blue); /* Ensures a background before video loads */
  font-family: "Urbanist", sans-serif;
  color: white;
}

p {
  color: white;
  padding: 0;
  margin: 0;
}

html { 
  font-size: 16px;
}


/* Video */
.video-align {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  position: relative;
}

.video-container {
  position: fixed;  /* Keeps it in the background */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0; /* Places it behind everything */
}

/* Video */
.video-container video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 1; /* Ensures video is behind */
}

.video-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.25); /* Adjust opacity for fading effect */
  z-index: 2;
}

.landing-page {
  position: relative;
  display: flex;
  padding: 0;
  z-index: 10;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  /* margin: auto; */
}

/* Company name */
.company-name-logo {
  display: flex;
  align-items: center;
  gap: 1em;
  margin-bottom: 0px;
}

#logo {
  height: 100px;
}

.company-name-logo {
  display: flex;
  align-items: center; /* Ensures logo and text are centered along a row */
  gap: 1em; /* Space between the logo and text */
}

/* Wraps the company name and tagline */
.company-text {
  display: flex;
  flex-direction: column; /* Stack name and tagline vertically */
  align-items: flex-start; /* Left-align both elements */
  position: relative;
}

#company-name {
  font-size: 7.5rem;
  white-space: nowrap;
}

.landing-page-message {
  position: relative;
  text-align: center;
  max-width: 860px;
  width: 100%;
  margin-top: 50px;
  max-width: 80%;
}

#landing-page-strapline {
  font-size: 3.25rem;
  letter-spacing: 0px;
  text-align: center;
}

.landing-page-message p:last-child {
  margin: clamp(0px, 10vh, 150px) 0px;
  text-align: center;
  font-size: 2.25rem;
}


/* Login Buttons */

.landing-page-login {
  display: flex;
  justify-content: center; /* Center horizontally */
  align-items: center;     /* Center vertically */
  gap: 50px;                /* Space between the button and the text */
}


.button {
  color: white;
  padding: 15px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 1.5rem;
  /* margin: 4px 2px; */
  transition-duration: 0.4s;
  cursor: pointer;
  background-color: white; 
  color: var(--dark-blue); 
  border: 5px solid var(--green);
  border-radius: 20px;
  font-family: "Urbanist", sans-serif;
  /* font-weight: bold; */
  letter-spacing: 1px;
}

.button:hover {
  background-color: var(--green);
}

.landing-page-login a {
  text-decoration: none; /* Remove underline */
}

.landing-page-login p {
  font-size: 1.25rem;
  cursor: pointer;
}

.spaced-text {
  word-spacing: 10px; /* Adds space between words */
}

#landing-page-tagline {
  text-align: left;
  font-size: 3rem;
  position: absolute;
  top: 100%; /* Places it exactly below "Top Percentile" */
  left: 0; /* Ensures it aligns with the left edge of "Top Percentile" */
  letter-spacing: 8.5px;
  margin-left:30px;
  white-space: nowrap;
}


@media (min-width: 1000px) and (max-width: 1199px) {
  html{
    font-size: 14px;
  }
  #logo {
    height: 90px;
  }
  #landing-page-tagline {
    letter-spacing: 7.25px;
    margin-left: 28px;
  }
}

@media (min-width: 850px) and (max-width: 1000px) {
  html{
    font-size: 12px;
  }
  #logo {
    height: 80px;
  }
  #landing-page-tagline {
    letter-spacing: 6.5px;
    margin-left: 25px;
  }
}

@media (min-width: 775px) and (max-width: 850px) {
  html{
    font-size: 11px;
  }
  #logo {
    height: 75px;
  }
  #landing-page-tagline {
    letter-spacing: 5.75px;
    margin-left: 20px;
  }
}

@media (min-width: 700px) and (max-width: 775px) {
  html{
    font-size: 10px;
  }
  #logo {
    height: 70px;
  }
  /* .landing-page-message {
    margin-top: 0px;
  } */
  #landing-page-tagline {
    letter-spacing: 5.25px;
    margin-left: 20px;
  }
  .landing-page-message {
    margin-top:30px;
  }
}

@media (min-width: 575px) and (max-width: 700px) {
  html{
    font-size: 10px;
  }
  #logo {
    height: 60px;
  }
  .landing-page-message {
    max-width: 450px;
  }

  .landing-page-login p {
    font-size: 1.5rem;
  }
  #company-name {
    font-size: 6rem;
  }
  #landing-page-tagline {
    letter-spacing: 1.65px;
    margin-left: 15px;
  }
  .landing-page-message {
    margin-top:30px;
  }
}

@media (min-width: 475px) and (max-width: 575px) {
  html{
    font-size: 10px;
  }
  #logo {
    height: 50px;
  }
  .landing-page-message {
    max-width: 370px;
  }
  .landing-page-login p {
    font-size: 1.5rem;
  }
  #company-name {
    font-size: 5rem;
  }
  #landing-page-tagline {
    letter-spacing: -0.75px;
    margin-left: 10px;
  }
  .landing-page-message {
    margin-top:30px;
  }
}

@media (max-width: 475px) {
  html{
    font-size: 10px;
  }
  #logo {
    height: 40px;
  }
  .company-name-logo {
    max-height:100px;
  }
  .landing-page-message {
    max-width: 300px;
    font-size: 2.5rem;
  }
  .landing-page-login p {
    font-size: 1.5rem;
  }
  #company-name {
    font-size: 4rem;
  }
  #landing-page-tagline {
    letter-spacing: -0.1px;
    margin-left: 10px;
    font-size: 2.25rem;
  }
  .landing-page-message {
    margin-top: 30px;
    max-width: 80%;
  }
  #landing-page-strapline {
    max-width: 100%;
    font-size: 3rem;
  }
  .button {
    padding: 10px;
    border: 3px solid var(--green);
  }
}
