/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
/*  padding-top: 60px;  */
}

/* Header */
h1 {
  font-family: "Raleway";
  font-size: 40px;
  padding: 10px 5px;
  text-align: center;
  text-transform: uppercase;
/*  text-rendering: optimizeLegibility;*/
}

h1.elegantshadow {
  color:dimgrey;
  font-size: 40px;
}

/* Navigation */

nav {
  position: relative;
/*  background: #222;*/
/*  color: #fff;*/
    color: dimgrey;
    float: right;
    font-family: "Raleway";
    z-index: 10;
}

.hamburger {
  display: none;
  font-size: 2em;
  cursor: pointer;
  padding: 16px;
}

.main-menu {
  list-style: none;
    
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
/*  background: #222;*/
}

.main-menu li {
  position: relative;
}

.main-menu > li {
  padding: 16px;
}

nav a.main-menu,
.main-menu a,
.submenu a {
  color: dimgrey !important;
}

.main-menu a {
  color: dimgrey;
  text-decoration: none;
        font-size: 18px;
     font-family: "Raleway";
}

.main-menu > li > a {
    font-size: 18px;
}

.main-menu > li > a:hover,
.main-menu > li:hover > a {
/*  background-color: white!important;*/
    color: lightblue;
/*    text-decoration: underline;*/
  
}

.submenu {
    list-style: none;
  display: none;
  position: absolute;
  left: 0;
  background-color: white;
    
  min-width: 180px;
  z-index: 1000;
  flex-direction: column;
     font-family: "Raleway";
}

.sub-menu li {
  position: relative;
}

.sub-menu li a {
  padding-left: 16px; /* Add space for the bar */
  display: block;     /* Ensure the link fills the li */
}

.sub-menu li:hover > a {
    text-decoration: underline;
}

/* Target submenu links on hover */
.sub-menu li a:hover::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;           /* Thickness of the bar */
  height: 100%;         /* Full height of the menu item */
  background: white;     /* Color of the bar */
  margin-right: 10px;   /* Space between bar and text */
  border-radius: 2px;   /* Optional: rounded edges */
  position: absolute;
  left: 0;
  top: 0;
    
}

/* Ensure submenu items are positioned relative for absolute bar */
.sub-menu li {
  position: relative;
}


.has-submenu:hover > .submenu,
.has-submenu.active > .submenu {
  display: block;
}

.submenu li {
  padding: 12px 16px;
}

.submenu a {
    color: dimgrey;
}

.submenu li a:hover,
.submenu li:hover > a {
    color: lightblue;
/*  background-color: lightblue!important;*/
  
}

@media (max-width: 700px) {
  .hamburger {
    display: block;
  }
  .main-menu {
    flex-direction: column;
    display: none;
    width: 100%;
  }
  .main-menu.open {
    display: flex;
  }
  .main-menu > li {
    padding: 12px 16px;
    border-bottom: 1px solid #333;
  }
  .submenu {
    position: static;
    min-width: 100%;
/*    background: #333;*/
  }
  .submenu li {
    padding-left: 32px;
  }
}

/* Responsive Menu */
@media (max-width: 700px) {
    
.video-container {
  width: 100%;    
  aspect-ratio:1:2; /* 1:2 width to height */
  overflow: hidden;
}
    .video-container video {
/* position: absolute;*/
  width: 75vw;
  height: 60vh;
/*    min-height: 100vh;*/
    object-fit: cover;
      display: block;
}

}

/* Search */
form.example input[type=text] {
  padding: 6px;
  font-size: 18px;
  border: 1px solid grey;
  float: left;
  width: 70%;
  background: #f1f1f1;
}

form.example button {
  float: left;
  width: 20%;
  padding: 6px;
  background: #2196F3;
  color: dimgrey;
  font-size: 18px;
  border: 1px solid grey;
  border-left: none;
  cursor: pointer;
}

form.example button:hover {
  background: #0b7dda;
}

form.example::after {
  content: "";
  clear: both;
  display: table;
}

/* Video Section */
.video-container {
  position: relative;
 width: 100vw;
  height: 100vh;
  overflow: hidden;
  z-index: -1; /* keeps video behind any overlay/content */
}

.video-container video {
  width: 100vw;
  height: 100vh;
/*    min-height: 100vh;*/
    object-fit: cover;
      display: block;
}

.video-overlay-text {
  position: absolute;
  top: 8%;
  left: 40%;
  transform: translate(-50%, -50%);
  color: white;
  background: rgba(0, 0, 0, 0.5);
/*  padding: 10px 20px;*/
  border-radius: 5px;
  font-size: 30px;
  text-align: center;
  pointer-events: none;
}

/* Footer */
footer {
  text-align: center;
  padding: 16px;
  background-color: grey;
  color: white;
  font-size: 20px;
  position: relative;
  bottom: 0;
  width: 100%;
}

footer a {
  color: #00bfff;
  text-decoration: none;
  margin: 0 8px;
}

footer a:hover {
  text-decoration: underline;
}

/*New Footer Code */
/*
*/


