* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

body {
    background-color: #142c44f2 !important; 
    /*background-color: #3f7274;*/
    position: relative;
    font-family: "Open Sans", sans-serif;
}

a {
    color: #253256;
    text-decoration: none;
}

.main {
    width: 100%;
    height: 100vh;
    position: relative;
}
.main .nav-open-overlay {
    width: 100%;
    height: 100%;
    /* background-color: rgba(0, 0, 0, 0.25); */
    /* opacity: 0; */
    transition: all 500ms cubic-bezier(0.95, 0.05, 0.795, 0.035);
    position: absolute;
}

.main .nav-open-overlay--open {
    /* opacity: 1; */
    pointer-events: auto;
}

.logo-link {
    transform: translateY(-10em);
}

.nav {
    z-index: 30;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
    padding: 1em 0em 0;
    background-color: #000000a6;
    height: 22%;
    width: 100%;
    position: fixed;
    top: -21em;
    transform: rotate(-90deg);
    transform-origin: left top;
    transition: all 300ms cubic-bezier(0.95, 0.05, 0.795, 0.035);
}
.nav .logo-link {
    float: left;
    padding-left: 1em;
}
.nav .logo-link i {
    display: inline-block;
    color: rgba(255, 255, 255, 0.75);
    font-size: 1.8em;
    margin-left: 0.5em;
}
.nav .logo {
    background-color: white;
    padding: 3em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 10px;
    font-size: 0.75em;
    box-sizing: border-box;
    border-radius: 50%;
}
.nav .nav-toggle {
    cursor: pointer;
    float: right;
    transform: rotate(-45deg);
    transition: all 500ms cubic-bezier(0.95, 0.05, 0.795, 0.035);
}
.nav .nav-items {
    color: white;
    list-style-type: none;
    /* margin: 0; */
    padding: 0;
    padding-top: 1em;
    display: flex;
    flex-wrap: wrap;
}
.nav .nav-items li.main-level-item {
    opacity: 0;
    transform: rotateY(-180deg);
    cursor: pointer;
    display: inline-block;
    text-align: center;
    width: 33.3%;
    box-sizing: border-box;
}
.nav .nav-items li.main-level-item:hover > i {
    /* color: #1abc9c; */
    color: #3f7274;
}
.nav .nav-items li.main-level-item > span {
    display: block;
    text-align: center;
    padding: 0.5em 0;
    font-family: "Open Sans", sans-serif;
}
.nav .nav-items li.main-level-item > i {
    font-size: 1.7em;
    transition: all 0.15s ease-out;
}

.sub-nav {
    transition: all 200ms cubic-bezier(0.95, 0.05, 0.795, 0.035);
    width: 320px;
    height: 0;
    opacity: 0;
    pointer-events: none;
    padding-bottom: 1rem;
}
.sub-nav > li {
    text-align: left;
    display: block;
    transform: translateX(-15%);
    padding: 1em 0;
}
.sub-nav > li:hover > i {
    /* color: #1abc9c; */
    color: #3f7274;

}

.main-level-item--open > .sub-nav {
    height: 125px;
    pointer-events: initial;
    opacity: 1;
}

.group:after {
    content: "";
    display: table;
    clear: both;
}

.top-header {
    height: 50px;
    position: relative; 
    background-color: #60606069;
    z-index: 20;
    width: 100%;
    top: 0px;
    text-align: -webkit-center;
}

/*----- BEGIN: Nicer Scrollbars -----*/
::-webkit-scrollbar {
    width: 15px;
}
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey; 
    border-radius: 10px;
}
::-webkit-scrollbar-thumb {
    background: #cecece; 
    border-radius: 10px;
    /* -webkit-border-radius: 10px; */
}
::-webkit-scrollbar-thumb:hover {
    background: #3f7274; 
}
/*----- END: Nicer Scrollbars -----*/


#top_header_title {
    color: #fff;
    width: 25rem;
    height: 40px;
    /* border: 1px solid green; */
    /* font-weight: 900; */
    font-weight: bold;
    font-size: large;
    padding-top: 10px;
}

#top_header_right {
    position: relative;
    float: right;
    color: #fff;
    top: -35px;
    right: 10px;
    width: 10rem;
    height: 40px;
    /* border: 1px solid blue; */
    text-align: right;
}
.user-actions {
    zoom: 1.4;
    color: #fff;
    padding-top: 4px;
}

/* fieldset {
     background: #f8f8f8; 
} */

.swal2-popup {
    border-radius: 13px;
}

#container_main_area {
    text-align: -webkit-center;
    /* scale: .9; */
}

#container_main_area input, 
#container_main_area textarea, 
#container_main_area select {
    border: 3px solid #cecece;
    border-radius: 5px;
}

#container_main_area input, 
#container_main_area textarea {
    font-size: 1.5rem;
}

#container_main_area select {
    background-color: #b5c5de;
    font-size: 1rem;
}

#container_main_area input[type='radio'] {
    min-width: 1rem;
    min-height: 1rem;
}

#container_main_area input[type='checkbox'] {
   transform: scale(2.25);
   margin-left: 1.25rem;
   margin-right: 0.25rem;
}

.container.main-area { 
    display:block; 
    overflow-y:scroll;
    padding-top: 1rem;
}

#mega-nav-navigation {
    display: none;
}

.disabled {
    background-color: #a9a9a9;
}

.new-form-row {
    display: flex;
    float: left;
    padding-bottom: 1rem;
    width: 100%;
  }

  .new-form-row .new-form-field {
    /* flex-basis: 20%; */
    margin-right: 1rem;
  }

  .new-form-row .new-form-field label,
  .new-form-row .new-form-field input,
  .new-form-row .new-form-field select {
      float:left;
  }

  .new-form-row .new-form-field span.sub-label {
      float:left;
      padding-left:  10px;
      padding-right: 10px;
  }

  /* .new-form-row .new-form-field:last-child {
    margin-right: 0;
  } */

  .narrowed {
      width: 10rem;
  }

  .widened {
      width: 30rem;
  }

  #date_from, #date_to, .date-field {
        width: 165px;
  }

  .entry > td {
    padding-left:0.25rem;
    padding-right:0.25rem; 
  }

  .sort-header {
    text-decoration: underline;
    text-align: center;
}

.terminal {
    background-color: #1e1e1e; /* Dark background to resemble a terminal */
    color: #00ff00;           /* Green text to give a terminal feel */
    font-family: "Courier New", Courier, monospace; /* Monospaced font for code/terminal look */
    padding: 15px;
    border-radius: 5px;
    white-space: pre;          /* Preserves spacing and line breaks */
    overflow-x: auto;          /* Allows horizontal scrolling for long content */
    overflow-y: scroll;          /* Allows vertical scrolling for long content */
    height: 22rem;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); /* Slight shadow for depth */
}