/* default.css */
/* color-scheme */

html {
  /* COLORS */
  
  /* UNT Brand */
  --ulight: #fff;
  --udark: black;
  --ugray: #dadada;
  --ugreen: #00853E;
  --ugreen2: #00A950;
  --ugreen3: #509E2F;
  --uboldgreen: #C4D600;
  --uboldblue: #00A9E0;
  --uboldpurple: #AD1AAC;
  --uboldgray: #53565A;
  --uboldpink: #EF4B81;
  --ubolddarkgreen: #006747;
  --usoftcyan: #B9DCD2;
  --usoftpink: #FFB1BB;
  --usoftgray: #999;
  
  /* Theme Branding */
  --html_background: #34282C;
  --body_background: #34282C;
  --background: #34282C;
  --foreground: #fff;
  --light1: #fff;
  --dark1: #000;
  --dark2: #2d2d2d;
  --dark3: #424949;
  --blue1: #003366;
  --blue2: #0067a5;
  --blue3: #4997d0;
  --blue4: #98AFC7;
  --green0: #003300;
  --green1: #186a3b;
  --green2: #27ae60;
  --green3: #C4D600;
  --orange1: #ff4500;
  --orange2: #ffa500;
  --coral1: #FF7F50;
  --red1: #C0392B;
  --red2: #e74c3c;
  --yellow1: #F4D03F;
  --yellow2: #fff44f;
  --yellow3: #e8f48c;
  --cyan1: #b9dcd2;
  --gray1: #53565A;
  --gray2: #aaa;
  --gray3: #e5e4e2;
  --olive0: #336600;
  --olive1: #558b2f;
  --olive2: #669933;
  
  /* Text Shadows */
  --text-shadow0: 1px 1px 1px transparent;
  --text-shadow1: 1px 1px 1px;
  --text-shadow2: 2px 2px 2px;
  
  /* Box Shadows */
  --box-shadow0: 0 0 0 0;
  --box-shadow1: 0 0 4px 2px;
  --box-shadow2: 0 0 6px 3px;
  --box-shadow3: 0 0 8px 4px;
  
  /* Border Radius */
  --radius-default: 4px;
  --radius-top: 4px 4px 0 0;
  --radius-bottom: 0 0 4px 4px;
  --radius-left: 4px 0 0 4px;
  --radius-right: 0 4px 4px 0;
  --radius-none: 0;
  --radius-top-left: 4px 0 0 0;
  --radius-top-right: 0 4px 0 0;
  --radius-bottom-left: 0 0 0 4px;
  --radius-bottom-right: 0 0 4px 0;
  
  /* Font Sizes */
  --font1: .85rem;
  --font2: .75rem;
  --font3: .65rem;
  
  /* Line Heights */
  --line-height1: 1.7;
  
  /* Global Defaults */
  background-color: var(--html_background);
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: var(--foreground);
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 1rem auto 1.5rem auto;
  padding: 1rem;
  box-sizing: border-box;
  font-size: var(--font1);
  background-color: var(--background);
  width: 95%;
  border-radius: var(--radius-default);
  height: 100%;
}

.header_container {
  top: 0;
  position: fixed;
  background-color: #003300;;
  margin: 0;
  border-bottom: 1px solid #53565A;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  z-index: 1000;
  height: 1rem;
}

.footer_container {
  background-color: #003300;
  margin: 0;
  border-top: 1px solid #53565A;
  position: fixed;
  bottom: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: 1rem;
  z-index: 1000;
}

p h4, h5, h6 {
  text-shadow: var(--text-shadow1) var(--dark1);
  margin: 0;
  padding: 0;
}

h1, h2, h3 {
  text-shadow: var(--text-shadow2) var(--dark1);  
  margin: 0;
  padding: 0;
}

b {
  color: var(--yellow1);
  font-weight: 600;
  text-shadow: var(--text-shadow2) var(--dark1);
}

strong {
  color: var(--orange2);
  font-weight: 600;
  text-shadow: var(--text-shadow2) var(--dark1);
 }

a {
  color: var(--blue3);
  text-shadow: var(--text-shadow1) var(--dark1);
  text-decoration: none;
}

a:hover {
  color: var(--yellow2);
}

a:active {
  color: var(--red1);
}

.hidden {
  display: none;
}

/* scroll-to-top */

.scroll-up {
  position: fixed;
  bottom: 1.5rem;
  right: 1.15rem;
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px; /* Optional: make the container circular */
  font-weight: 400;
  background-color: #336600;
  box-shadow: #000 0 0 1px 1px;
  /* outline: 1px solid #fff; */
  z-index: 9000;
}

.scroll-container {
  padding-bottom: 8%;
  font-size: 3rem;
  color: #fff;
}
.scroll-up a {
  margin: 0; /* Remove default margin */
  line-height: 1; /* Adjust line-height */
  text-decoration: none;

}

.scroll-up:hover .scroll-container, .scroll-container:hover, .scroll-container a:hover {
  color: #000;
}

.scroll-up:active .scroll-container, .scroll-container:active, .scroll-container a:active {
  color: yellow; 
}

.scroll-up:hover {
  background-color: yellow;
}

.scroll-up:active {
  background-color: #C0392B;
}

/* Hidden Menu */

.hidden-menu-div {
  position: fixed;
  bottom: 5rem;
  right: 1.1rem!important;
  margin: 0!important;
  z-index: 9000;
}

.hidden-menu-div {
  display: block;
}

.hidden-menu-div > div {
  margin: 0 0 .5rem 0;
}

.hidden-menu-div a {
display: block;
margin: 0 auto;
text-align: center;
text-decoration: none!important;
padding: .25rem!important;
width: 3rem;
max-width: 3rem;
height: auto;
color: transparent!important;
}

.hidden-menu-div a:link, .hidden-menu-div a:visited {
color: transparent!important;
background-color: transparent; 
padding: .2rem .5rem;
border-radius: 4px;
font-size: 2rem;
text-decoration: none;
}

.hidden-menu-div a:hover {
background-color: #336699;
color: #fff!important;
}	

.hidden-menu-div a:active {
color: yellow; 
background-color: #C0392B;
}

/* Page Layout */

.index_style  {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;

  .page_layout_row {
    display: flex;
    flex-direction: row;
    align-items: stretch; 
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1.25rem 1rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: auto;
    height: 100%; /* Ensure the parent takes the full height of its container */
  }
  
  .page_layout_column {
    display: flex;
    flex-direction: column;
    align-items: center; 
    justify-content: stretch;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: auto;
}

.page_layout_row > *, .page_layout_column > *  {
  flex: 0 0 100%; 
  height: auto; 
}

.container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: calc(25% - 1rem);
  max-width: calc(25% - 1rem);
  border-radius: 4px;
  box-sizing: border-box;
  min-height: 100%; /* Ensure the container takes the full height of its parent */
  flex-grow: 1;
}

/* Information Container */

.child_container, .form_header {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 1rem auto;
  height: 5.5rem;
  max-height: 5.5rem; 
  box-sizing: border-box;
  flex-grow: 1; 
  border-radius: var(--radius-top);
}

.top_logo {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  margin: -.5rem auto 1.5rem auto;
  padding: 0;
  gap: 0 1.5rem;

    .image_container {
      width: 6.5rem;
      max-width: 6.5rem;
      height: 6.5rem;
      max-height: 6.5rem; 
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      box-sizing: border-box;
      object-fit: contain;
      border-radius: 4px;
      padding: .25rem!important;
      margin: 0!important;
      
      img {
        background-color: transparent;
        width: 6.5rem;
        height: 6.5rem;
        max-width: 6.5rem;
        max-height: 6.5rem;
        object-fit: contain;
        padding: .25rem .4rem .25rem .25rem!important;
        margin: 0!important;
        background-color: transp;
        border-radius: 4px;
      }
    }
  .title_container {
    width: 65%;
    max-width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
    margin: 0;

    .title-box {
      width: fit-container;
      padding: .25rem .5rem .35rem .5rem;
      border-radius: 4px;

      .title, h3 {
      text-shadow: #509E2F 2px 2px 2px!important;
    }
  }
}
}

.child_container {
  .image_container {
    width: 35%;
    max-width: 35%;
    height: 5.5rem;
    max-height: 5.5rem; 
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin: 0;
    object-fit: contain;
    border-radius: 4px 0 0 0;
    padding: .5rem!important;
    
    img {
      background-color: transparent;
      width: 4.5rem;
      height: 4.5rem;
      max-width: 4.5rem;
      max-height: 4.5rem;
      object-fit: contain;
    }
  }
}

.form_header {
  padding: .25rem 0!important;
  .image_container {
    width: 35%;
    max-width: 35%;
    height: 4rem;
    max-height: 4rem; 
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin: 0;
    object-fit: contain;
    border-radius: 4px 0 0 0;
    padding: .5rem!important;
    
    img {
      background-color: transparent;
      width: 3.5rem;
      height: 3.5rem;
      max-width: 3.5rem;
      max-height: 3.5rem;
      object-fit: contain;

    }
  }
}

.title_container {
      width: 65%;
      max-width: 65%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      box-sizing: border-box;
      margin: 0;

      .title-box {
        width: fit-container;
        padding: .25rem .5rem .35rem .5rem;
        border-radius: 4px;
      }
  }

  .content {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: justify;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border-radius: var(--radius-right);
    height: 100%;

  p {
    padding: 0 .75rem .5rem .75rem!important;
    text-shadow: var(--text-shadow1) var(--dark1);
    margin: 0;
  }
  
  p:last-child {
    padding: 0 .5rem 1rem .5rem;
  }

}  /* END: .content */

/* Form */

form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding: .25rem 1.5rem .5rem 1.5rem;
  box-sizing: border-box;
  height: 100%;

  .form_group {
    width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin: 0 0 .35rem 0;
        text-shadow: var(--text-shadow2) var(--dark1);
        font-size: .75rem;
  }
  

  .inputs {
    text-align: left;
  }
  
  label, input, button {
  border: none;
  outline: none;
  box-sizing: border-box;
  }
  
  label {
  width: 35%;
  max-width: 35%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  }
  
  select {
  display: flex;
  align-items: center;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  outline: none; 
  width: 65%;
  max-width: 65%;
  box-sizing: border-box;
  color: #333;
  padding: .1rem .5rem;
  line-height: var(--line-height1);
  }
  
  option {
  width: 100%;
  box-sizing: border-box;
  }
  
  .dropdown_list {
  position: relative; /* Ensure relative positioning for absolute children */
  cursor: pointer;
  width: 65%;
  max-width: 65%;
  color: #000 ;
  padding: 0;
  margin: 0;
  text-shadow: none;
  }
  
  .dropdown_toggle {
  padding: .1rem .25rem;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 5px;
  list-style-type: none;
  }
  
  .dropdown_menu {
  position: absolute; /* Absolute positioning to float the menu */
  top: 100%; /* Position the dropdown directly below the toggle */
  left: 0;
  background-color: white;
  border: 1px solid #ccc;
  width: 100%;
  max-height: 150px; /* Adjust max height as needed */
  overflow-y: auto;
  display: none; /* Initially hidden */
  z-index: 1000; /* High z-index to ensure it appears above other elements */
  list-style-type: none;
  padding: .25rem 0;
  margin: .25rem 0 0 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Optional: Add shadow for better visibility */
  }
  
  .dropdown_item {
  padding: .1rem 0 .1rem .25rem;
  cursor: pointer;
  }
  
  .dropdown_item:hover {
  background-color: #e0e0e0;
  }
  
  .selected {
  background-color: #d0d0d0;
  }
}

  .button_container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    width: 100%;
    box-sizing: border-box;
    flex-grow: 1;
       
      button {
        all: unset;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        width: 15%;
        cursor: pointer;
        font-weight: 600;
        transition: 0.5s;
        padding: .25rem .65rem .3rem .75rem;
        border-radius: 4px;
        margin: .5rem 0;
      }

      button:focus {
        outline: revert;
      }

      a {
        text-decoration: none;
        border-radius: 4px;
        padding: .125rem;
      }

  }
}

.form_blurb {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: justify;
  padding: .25rem 0;
  height: 4rem;
  max-height: 4rem;
  font-size: .70rem;
}

.app_title {
  font-size: 1.1rem;
}