:root {
    --blue: #038ed5;
    --blue-dark: #007bff;
    --nav-load-time: 300ms;
    --nav-link-load-time: 500ms;
    --nav-load-delay: calc(var(--nav-load-time) + var(--nav-link-load-time));
    --slide-in-load-time:500ms;
  }

body {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  h2{
    color: var(--blue);
  }

  img{
    animation: load-img var(--slide-in-load-time) ease-in var(--nav-load-delay) forwards;
    opacity: 0;
  }

  @keyframes load-img{
    0%{
      opacity: 0;
    }
    100%{
      opacity: 1;
    }
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    animation: load-headings var(--slide-in-load-time) ease-in-out var(--nav-load-delay) forwards;
    transform: translateY(-100%);
    opacity: 0;
  }
  @keyframes load-headings{
    0%{
      transform: translateY(-100%);
      opacity: 0;
    }
    100%{
      transform: translateY(0);
      opacity: 1;
    }
  }
  p{
    animation: load-paragraph var(--slide-in-load-time) ease-in-out var(--nav-load-delay) forwards;
    transform: translateY(100%);
    opacity: 0;
  }

  @keyframes load-paragraph{
    0%{
      transform: translateY(100%);
      opacity: 0;
    }
    100%{
      transform: translateY(0);
      opacity: 1;
    }
  }

  p{
    color: #555;
    line-height: 2rem;
    font-size: 1.1rem;
  }
  
  #home {
    position: relative;
    background: url('../images/cover_home.jpg') no-repeat center center/cover;
    height: 100vh;
    color: #fff;
    display: flex;
    padding-top: 70px ;
  }
  
  #home::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* background: rgba(0, 0, 0, 0.5); Adjust this for your tint color and opacity */
    /* z-index: 1; */
  }
  
  #home h1,
  #home p,
  #home .btn {
    position: relative;
    z-index: 2;
  }
  
  #home h1 {
    font-size: 3em;
    margin-bottom: 20px;
  }


  #home p {
    font-size: 1.1em;
    margin-bottom: 40px;
  }

  #home .container{
    padding-top: 3rem;
    position: relative;
  }

  .card-info{
    background: rgba(0, 0, 0, 0.5);
    border-width: .5rem;
    border-style: solid; 
    border-color: transparent transparent transparent var(--blue);
    padding: 0.5rem;
    max-width: 42rem;
    min-height: 8rem;
    animation: right-slide-in var(--slide-in-load-time) ease-in var(--nav-load-delay);
    transform: translateX(-100%);
    opacity: 0;
    animation-fill-mode: forwards;
  }

  @keyframes right-slide-in{
    0%{
      transform: translateX(-100%);
      opacity: 0;
    }
    100%{
      transform: translateX(0);
      opacity: 1;
    }
  }

  .card-info-light{
    border-width: .5rem;
    border-style: solid; 
    border-color: transparent transparent transparent var(--blue);
    padding: 0.5rem;
    animation: left-slide-in var(--slide-in-load-time) ease-in var(--nav-load-delay);
    transform: translateX(100%);
    opacity: 0;
    animation-fill-mode: forwards;
  }

  @keyframes left-slide-in{
    0%{
      transform: translateX(100%);
      opacity: 0;
    }
    100%{
      transform: translateX(0);
      opacity: 1;
    }
  }

  .card-info-right{
    background: rgba(0, 0, 0, 0.5);
    border-width: .5rem;
    border-style: solid; 
    border-color: transparent var(--blue) transparent transparent;
    padding: 0.5rem;
    max-width: 42rem;
    animation: left-slide-in var(--slide-in-load-time) ease-in var(--nav-load-delay);
    transform: translateX(100%);
    opacity: 0;
    animation-fill-mode: forwards;
  }

  .home-contact-us{
    position: absolute;
    display: flex;
    gap:1rem;
    bottom:3rem;
    right: 0;
    animation: left-slide-in var(--slide-in-load-time) ease-in var(--nav-load-delay);
    transform: translateX(100%);
    opacity: 0;
    animation-fill-mode: forwards;
    width: 100%;
  }

  .home-contact-us .card-info{
    max-width: 420px;
  }

  .home-contact-us .card-info-right{
    max-width: 420px;
  }

  #nav{
    background-color: white;
    animation: nav-load var(--nav-load-time) ease-in;
  }

  #nav .nav-item{
    animation-name: nav-link-load;
    animation-duration: var(--nav-link-load-time);
    animation-timing-function: ease-in;
    animation-delay: var(nav-load-time);
    animation-fill-mode: forwards;
    transform: scale(0);
  }

  @keyframes nav-load{
    0%{
      transform: translateY(-100%)
    }
    100%{
        transform: translateY(-0%)
    }
  }

  @keyframes nav-link-load{
    0%{
      transform: scale(0)
    }
    90%{
        transform: scale(1.1);
    }
    100%{
        transform: scale(1)
    }
  }


  #nav img{
    height: 4rem;
  }

  #nav .nav-link{
    color:#000; 
    transform-origin: bottom right;
    border-width: 3px;
    border-style: solid;
    transition: border-color 0.5s ease-out;
    border-color: transparent transparent transparent transparent;
  }
  
  #nav .nav-link:hover{
    border-width: 3px;
    border-style: solid;
    border-color: transparent transparent var(--blue) transparent;
  }

  #nav .nav-link.active{
    border-width: 3px;
    border-style: solid;
    border-color: transparent transparent var(--blue) transparent;
  }
    #nav .navbar-toggler{
      background-color: #000;
    }

  .btn-primary {
    background-color: var(--blue);
    border-color: var(--blue);
  }
  
  .btn-primary:hover {
    background-color: var(--blue-dark);
    border-color: var(--blue-dark);
  }
  
  #info .card {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    min-height: 22rem;
    position: relative;
    text-align: center;
  }

  .card-btn{
    position: absolute;
    bottom: 1rem;
  }

  #info {
    background: url('../images/leaves-bg.svg') no-repeat center center/cover;
    padding-top:5rem;
    padding-bottom: 5rem;
  }
  
  #info .card-title {
    font-size: 1.25em;
    color: var(--blue);
    border-width: 3px;
    border-style: solid;
    border-color: transparent transparent var(--blue) transparent;
    padding: 0.5rem;
    margin-bottom: 2rem;
  }
  
  #info .card-text {
    color: #555;
  }
  
  #info .btn-primary {
    background-color: black;
    border-color: black;
  }
  
  #info .btn-primary:hover {
    background-color: #333;
    border-color: #333;
  }

  #about{
    background-color: var(--blue);
    padding-top: 5rem;
    padding-bottom: 5rem;
    color: #fff;
  }

  footer{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  footer .container{
    position: relative;
  }

  footer img{
    height: 8rem;
    transform: rotateY(180deg);
  }

  .icon{
    height: 3rem;
  }

.light-text{
    color: #fff;
}

.center{
    display: flex;
    justify-content: center;
    align-items: center;
   }

/* scroll animation */
.hidden{
    opacity: 0  ;
    transition: all 2s;
}

.show{
    opacity: 1;
}

@media(prefers-reduced-motion){
    .hidden{    
        transition: none;
    }
}

#login{
  height:100vh;
  padding-top: 90px;
}

.login-form{
  background-color: red;
  text-align: center;
}

.center-form {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  height: 100%;
}