
/* GERAL ============= */

body, html { 
  background: #f5f5f5;
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings:
  "wdth" 100;
  font-size: 13pt;
}
* { 
  box-sizing: border-box;
}

body {
  display: grid;
  min-height: 100vh;
  grid-template-rows: auto auto 1fr auto;
}


.container {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto;
}


.trema-footer {
  background-color: #333;
  color: #fff;
  text-align: center;
  padding: 1rem;
}

.trema-homepage, .trema-main {
  padding-top: 2rem;
}



/* FIM ======================== */

/* DEBUG ============= */

.debug {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(255, 0, 0, .5);
  color: #fff;
  padding: 1rem;
  z-index: 9999;
}


/* FIM ======================== */

/* Cabeçalho ============= */

.header {
  height: 80px;
  /* padding: 1rem; */

  /* border-bottom: 1px solid #000; */
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
  background-color: #FFF;
}
.header .logo {
  width: 200px;
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}
.header .logo img { 
  height: 3rem; 
  display: block;
}

.header .nav-menu {    
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 80px;
  /* padding: 10px 20px; */
}

.header .nav-menu .main-navbar {
  list-style: none;
  margin: 0px;
  flex-basis: auto;
  flex-grow: 0;
}
.header .nav-menu .main-navbar ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex !important;
  flex-direction: row;
}

.header .nav-menu .main-navbar li a {
  display: block;
  color: #0d3280;
  text-align: center;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  /* text-size-adjust: ; */
  /* text-transform: uppercase; */
}

.header .nav-menu .main-navbar li a:hover, .header .nav-menu .main-navbar .active a {
  color: #2ab9cc;
}



/* FIM ======================== */

/* Pagina inicial - Pesquisa ============= */

.card-search-home {
  width: 100%;
}
.card-search-home .search-input-trema {
  display: grid;
  gap: 0.5rem;
  grid-column: 1fr auto;
  grid-template-columns: 1fr auto;
}
.card-search-home .search-input-group {
  position: relative;
}
.card-search-home  .search-input-group i {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #1acbe3;
}
.card-search-home .search-input-group input {
  font-size: 1.2rem;
  padding: 1.2rem;
  padding-left: 2.5rem;
  width: 100%;
  box-shadow: 0px 0px 5px -2px hsla(187, 79%, 0%, 0.3);
}

.card-search-home .search-input-group input:focus {
  box-shadow: 0px 0px 1px 4px rgba(26, 203, 227,0.3);
}

.card-search-home  button {
  box-shadow: 0px 0px 1px 2px rgba(0,0,0,0.3);
  border: none;
  outline: none;
  border-radius: 5px;
  cursor: pointer;
  border: 1px solid transparent;
  background-color: hsl(198, 70%, 20%);
  color: #fff;
  padding: 1rem 1.5rem  !important;
}

.card-search-home  button:hover {
  box-shadow: 0px 0px 1px 4px rgba(26, 203, 227,0.2);
  border: 1px solid #1acbe3;
}
.card-search-home button:focus {
  box-shadow: 0px 0px 1px 4px rgba(26, 203, 227,0.3);
}
.card-search-home input, .card-search-home select, .card-search-home textarea {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings:
  "wdth" 100;
  border: none;
  outline: none;
  border-radius: 5px;
}


/* FIM ======================== */

/* Pagina inicial ============= */

.trema-welcome-text {
  margin-top: 2rem !important;
  margin-bottom: 2rem;
  border-top: 2px solid rgba(26, 203, 227,0.3);
  padding: 2rem 1rem;
  border-bottom: 2px solid rgba(26, 203, 227,0.3);
  text-align: justify;
}
.trema-welcome-text p {
  margin-left: 1rem;
  font-size: 1rem;
  width: 60%;
  margin-left: 20%;
  text-align: center;
}

/* FIM ======================== */

/* Fix menu superior =================== */

/* Responsive Sidebar Menu */
.header .navbar-toggler {
    display: none; /* Hidden on desktop */
    border: none;
    background: transparent;
    font-size: 1.5rem;
    color: #0d3280;
}


/* Positioning the navbar off-canvas */
@media (max-width: 992px) {
    .header .navbar-toggler {
        display: block; /* Show hamburger button */
        z-index: 1051; /* Make sure it's above the overlay */
        position: relative;
    }

    .header .nav-menu .main-navbar {
        position: fixed;
        top: 0;
        left: -300px; /* Start off-screen */
        width: 300px;
        height: 100%;
        background-color: #fff;
        box-shadow: 2px 0 5px rgba(0,0,0,0.5);
        transition: left 0.3s ease-in-out;
        z-index: 1050; /* High z-index to be on top */
        padding-top: 60px;
        /* The .collapse class from Bootstrap sets display: none */
    }

    .header .main-navbar.collapsing {
        left: 0; /* Slide in */
        height: 100% !important; /* ensure it takes full height during transition */
        transition: left 0.3s ease-in-out;
    }
    
    .header .main-navbar.show {
        left: 0;
        height: 100%;
    }


    .header .nav-menu .main-navbar ul {
        display: block !important; /* Override the flex display */
    }

    .header .nav-menu .main-navbar li a {
        text-align: left;
        padding: 1rem;
        border-bottom: 1px solid #eee;
    }

}

@media (min-width: 993px) {
    /* Restore desktop view */
    .header .nav-menu .main-navbar {
        position: static;
        width: auto;
        height: auto;
        background-color: transparent;
        box-shadow: none;
        padding-top: 0;
    }

    .header .nav-menu .main-navbar ul {
        display: flex !important;
        flex-direction: row;
    }

    .header .navbar-toggler {
        display: none !important;
    }

    .navbar-collapse.collapse {
        display: flex !important;
    }
}


/* FIM ======================== */

.trema-main .secondary {
    padding: 0;
    z-index: 1;
    padding-right: 1px;
}