*
{
  margin: 0 auto;
  padding: 0;
}

body, html
{
  min-height: 100vh;
  position: relative;
  background-size: cover; 
  background-position: center;
  background-repeat: no-repeat;
  
  overflow-x: hidden;
  font-family: 'Genos';
}

.home-page
{
  background-image: url(assets/bg-dark.png);
}

.sub-page
{
  background-color: black;
}

.header-img 
{
  width: 25%;
  display: block;
  margin: 0 auto;
  padding-top: 7rem;
}

.text-img{
  width: 30%;
  display: block;
  margin: 0 auto;
}

.img-gallery{
  margin-top: 2rem;
  text-align: center;
  width:95%;
}

.img-gallery > div{
  columns: 3;
  gap: 1.25rem;
  padding: 1.25rem;
}

.img-gallery img
{
  display: block;
  width:100%;
  border-radius: 5px;
  margin-bottom: 1.25rem;

}

h1{
  font-size: 5rem;
  font-weight: 300;
  color: white;
  padding-top: 3rem;
  display: flex;
  justify-content: center;
  text-align: center;
}

.promo
{
  padding-top: 10rem;
  display: flex;
}

h2
{
  font-size: 1.5rem;
  font-weight: 300;
  color: #737373;
  text-align: center;
}

.promo-text{
  color: #737373;
  font-size: 1.5rem;
  font-weight: 300;
  text-decoration: none;
}

.promo-text:hover
{
  text-decoration: line-through;
}


.card{
  display: flex;
  flex-direction: row;
  justify-items: flex-start;
  width: 75%;
  padding-top: 5rem;
}

.card img{
  width: 35%;
}

.card-text
{
  font-size: 2rem;
  color: white;
  font-family: 'GFS Neohellenic';
  max-width: 600px;
  text-align: center;
}

.card h1{
  font-size: 4rem;
  font-weight: 300;
  color: white;
  font-family: 'GFS Neohellenic';
}

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

nav
{
  background-color: black;
}

nav ul
{
  width: 100%;
  list-style: none;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

nav li
{
  height: 50px;

}

nav a
{
  height: 100%;
  padding: 0 30px;
  text-decoration: none;
  display: flex;
  align-items: center;
  color: white;
  border: 0.50px solid transparent;
  transition: border-color 0.2s ease;
  font-size: 2rem;
  font-weight: 300;
  text-align: center;
}

a.active 
{
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}

.nav-image img {
  height: 65px;
  width: auto;
}

.nav-image a:hover {
  border-color: transparent !important;
}

nav a:hover
{
  border-color: white;
}

.nav-bg{
  background-image: url("assets/navbg.gif");
}

.sidebar
{
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 250px;
  z-index: 999;
  background-color: rgba(0, 0, 0, 0.457);
  backdrop-filter: blur(10px);
  display: none;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.sidebar li{
  width:100%;
}

.sidebar img{
  padding-right: 35rem;
}

.sidebar a
{
  width:100%;  
}

.menu-button
{
  display: none;
}

.sub-scroll-wrap
{
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
  background-image: url("assets/navbg.gif");
}

.scroll-wrap 
{
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
  background: black;
}

.scroll {
  display: flex;
  white-space: nowrap;
  animation: scroll 20s linear infinite;
}

.scroll span 
{
  padding-right: 1.5rem;
  font-size: 1.2rem;
  font-weight: 150;
  color: white;
}

.scroll-wrap:hover .scroll 
{
  animation-direction: reverse;
}

.sub-scroll-wrap:hover .scroll 
{
  animation-direction: reverse;
}

@keyframes scroll 
{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media(max-width: 1000px)
{

  h2{
    font-size: 1.75rem;
  }

  .promo
  {
    padding: 5rem;
    display: flex;
    flex-direction: column;
  }

  a{
    font-size: 1.10rem;
  }
  .card{
    display: block;
    flex-direction: column;
    justify-content: center;
    justify-items: center;
    align-items: center;
    
  }
  .card img{
    width: 100%;
  }

  .card h1{
    font-size:4rem;
  }
  .card-text
  {
    font-size: 2rem;
    padding-top: 2rem;
  }
}
@media(max-width: 800px)
{
  .scroll {
    display: flex;
    white-space: nowrap;
    animation: scroll 5s linear infinite;
  }

  .hideOnMobile
  {
    display: none;
  }

  .menu-button
  {
    display: block;
  }

  .header-img 
  {
    width: 60%;
    display: block;
    margin: 0 auto;
  }
  .text-img
  {
    width: 75%;
    display: block;
    margin: 0 auto;
  }

  .img-gallery > div{
  columns: 1;
  }

  .img-gallery{
  margin-top: 1rem;
  text-align: center;

}

  h1{
    padding-top: 20px;
    font-size: 3rem;
  }

  h2{
    font-size: 1.10rem;
  }

  .promo
  {
    padding: 2rem;
    display: flex;
    flex-direction: column;
  }

  a{
    font-size: 1.10rem;
  }

  .card{
    display: block;
  }

  .card img{
    width: 100%
  }

  .card h1{
    font-size:4rem;
  }
  .card-text
  {
    font-size: 1.25rem;
    padding-top: 1rem;
  }

}

@media(max-width: 400px)
{
  .sidebar
  {
    width: 100%
  }
}
