/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

a:link {
  color: #ff5555;
}

a:visited {
  color: #ff4444;
}

a:active {
  color: #ff4444;
}

:root {
  --navbar-height: 48px;
  --navbar-text-color: #e3e3e3;
  --navbar-text-hover: #ffffff;
  
  --color-top-edge: #777777;
  --color-gloss-light: #666666;
  --color-gloss-dark: #555555;
  --color-bottom-edge: #444444;
}

table, th, td {
  border: 1px solid #dddddd;
  border-collapse: collapse;
  padding: 10px;
}

hr {
  border: 1px solid #dddddd;
}

body {
  margin: 0;
  padding-top: 0;
  font-family: "Ubuntu", Helvetica, Arial, sans-serif;
  background-image: url("/images/graylinen.png");
  background-repeat: repeat; 
  background-color: #4a4a4a;  
}

.floating-navbar {
  position: absolute;       
  top: 16px;                  
  left: 50%;                  
  transform: translateX(-50%); 
  width: 980px;            
  max-width: 95%;             
  height: var(--navbar-height);
  z-index: 1000;
  box-sizing: border-box;
  overflow: hidden;
  
  border-radius: 5px;          
  
  background: linear-gradient(
    to bottom,
    var(--color-top-edge) 0%,
    var(--color-gloss-light) 49%,
    var(--color-gloss-dark) 50%, 
    var(--color-bottom-edge) 100%
  );
  
  border-top: 1px solid #3a3a3a;
  border-left: 1px solid #3a3a3a;
  border-right: 1px solid #3a3a3a;
  border-bottom: 1px solid #242424;
  
  box-shadow: 
    inset 0 1px 0 rgba(255, 255, 255, 0.2), 
    0 4px 12px rgba(0, 0, 0, 0.35);
}

.nav-container {
  height: 100%;
  padding: 0px;
}

.nav-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  width: 100%;
}

/* Vertical Divider Lines */
.nav-item {
  display: flex;
  align-items: center;
  justify-content: center; 
  height: 100%;
  width: 105px;
  flex-shrink: 0; 
  position: relative;
  box-sizing: border-box;
  border-right: 1px solid #333333;
}

.nav-item a {
  color: var(--navbar-text-color);
  text-decoration: none;
  font-size: 14px; 
  font-weight: 500;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.6);
  transition: color 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.nav-item a:hover {
  color: var(--navbar-text-hover);
}

.content-wrapper {
  max-width: 980px; 
  margin: 80px auto 40px auto;
  padding: 30px;
  background-color: #ffffff;
  box-sizing: border-box;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); 
}

.content-wrapper h1 {
  color: #222222;
  margin-top: 0;
}

.content-wrapper p {
  color: #444444;
  line-height: 1.6;
  font-size: 18px; 
}

@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
  .floating-navbar {
    width: 95% !important;
    top: 10px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    
    border-top: 1px solid #3a3a3a !important;
    border-left: 1px solid #3a3a3a !important;
    border-right: 1px solid #3a3a3a !important;
    border-bottom: 1px solid #242424 !important;
    
    overflow-x: auto !important; 
    scrollbar-width: none; 
  }
  
  .floating-navbar::-webkit-scrollbar {
    display: none;
  }

  .floating-navbar .nav-menu {
    padding: 0 !important;
    margin: 0 !important;
    height: 48px !important;  
    min-height: 48px !important;
    max-height: 48px !important;
    display: flex !important;
    align-items: center !important; 
    justify-content: flex-start !important;
    width: auto !important; 
  }
  .nav-item {
    width: 105px !important; 
    height: 100% !important;
  }
  .nav-item a {
    font-size: 14px !important; 
  }
  .content-wrapper {
    width: 95% !important;
    margin: 70px auto 20px auto !important;
    padding: 20px !important;
  }
}