/* Reconstructed frame layout for the original 120 / 62 / * / 40 Hellanor Autoshop frameset.
   Loaded after hellanor.css so these layout and mobile rules win the cascade. */

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: #ffffff;
}

#frameset {
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}

#overst {
  flex: 0 0 120px;
  height: 120px;
  overflow: hidden;
}

#midt {
  flex: 0 0 62px;
  height: 62px;
  overflow: hidden;
}

#main {
  flex: 1 1 auto;
  overflow: auto;
  background: #ffffff;
}

#footer {
  flex: 0 0 40px;
  height: 40px;
  overflow: hidden;
  border-top: 1px solid #aaa;
  background-color: #e9eff5;
  box-sizing: border-box;
}

/* Header (LOGO frame) */

#logo_content_wrapper {
  position: relative;
}

#logo_content_background {
  z-index: 0;
}

#logo_wrapper,
#logo_customer_info,
#logo_search {
  position: relative;
  z-index: 1;
}

#logo_menu_wrapper {
  position: relative;
  z-index: 1;
  float: none;
  background-color: #006aca;
}

.logo-search-form {
  margin: 0;
}

#logo_search_img {
  position: absolute;
  top: 2px;
  right: 5px;
  padding: 0;
  border: 0;
  background: none;
  color: #00529e;
  font: bold 11px Helvetica, Arial, Verdana, sans-serif;
  cursor: pointer;
}

#logo_admin_dropdown select,
#menucombo {
  width: 100%;
  border: 1px solid #aaa;
  background-color: #e9eff5;
  font: 11px Helvetica, Arial, Verdana, sans-serif;
}

#logo_admin_dropdown select {
  height: 22px;
}

#divdrop {
  position: relative;
}

.dropdown {
  position: relative;
}

/* Navigation frame: the consumer version contains no navigation entries. */

#navipage_wrapper {
  height: 60px;
}

/* Catalog frame */

.katopsh_table {
  width: 100%;
}

.katopsh_sidebar {
  width: 400px;
  min-width: 400px;
  background-color: #ffffff;
  vertical-align: top;
}

.katopsh_content {
  width: auto;
  min-height: 700px;
  background-color: #ffffff;
  vertical-align: top;
}

/* Footer frame fallbacks for the three icons that were never archived. */

#footer table {
  height: 39px;
}

.bodyfooter a {
  color: #00529e;
}

.bodyfooter img {
  vertical-align: middle;
}

#footerfont {
  white-space: nowrap;
}

/* The original pages were fixed-width frames; these overrides keep the same
   blocks readable on narrow viewports without introducing a different design. */

@media (max-width: 900px) {
  #frameset {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible;
  }

  #overst {
    flex: 0 0 auto;
    height: auto;
    overflow: hidden;
  }

  #midt {
    flex: 0 0 auto;
    height: 24px;
  }

  #main {
    flex: 0 0 auto;
    overflow: visible;
  }

  #footer {
    flex: 0 0 auto;
    height: auto;
    overflow: visible;
  }

  #logo_content_wrapper {
    height: auto;
    padding-bottom: 4px;
  }

  #logo_content_background {
    width: 180px;
    height: 84px;
    top: 0;
    right: 0;
    background-size: contain;
    opacity: 0.5;
  }

  #logo_wrapper {
    float: none;
    margin-left: 10px;
  }

  #logo_customer_info {
    float: none;
    padding: 8px 10px 0 10px;
    font-size: 12px;
    line-height: 1.5;
  }

  #logo_customer_info br.legacy-break {
    display: none;
  }

  #logo_content_wrapper #logo_search {
    float: none;
    width: auto;
    height: auto;
    margin: 10px 15px 6px 10px;
  }

  #divinput {
    width: 100%;
    max-width: 260px;
    box-sizing: border-box;
  }

  #TEXTFIELD2 {
    width: calc(100% - 25px);
  }

  #logo_menu_wrapper {
    height: auto;
    background-repeat: repeat-x;
  }

  #logo_menu_wrapper .menu {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
    float: none;
  }

  #logo_menu_wrapper .menu li {
    display: block;
  }

  #logo_menu_wrapper .menu li a {
    float: none;
  }

  #logo_menu_wrapper .menu li a span {
    float: none;
    display: block;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 30px;
  }

  #logo_admin_dropdown {
    float: none;
    width: 100%;
    margin: 4px 0 2px 0;
    padding: 0 10px 6px 10px;
    box-sizing: border-box;
  }

  .katopsh_table {
    display: block;
    width: 100% !important;
  }

  .katopsh_table > tbody > tr {
    display: block;
  }

  .katopsh_table > tbody > tr > td {
    display: block;
    width: 100% !important;
    padding: 0;
  }

  .katopsh_sidebar {
    width: 100% !important;
    min-width: 0;
    padding-bottom: 10px !important;
  }

  .katopsh_content {
    display: block;
    min-height: 0;
    padding-top: 10px !important;
  }

  .bodyfooter table,
  .bodyfooter tbody,
  .bodyfooter tr,
  .bodyfooter td {
    display: block;
    width: 100% !important;
  }

  .bodyfooter td {
    padding: 0;
  }

  .bodyfooter td[align="right"] {
    text-align: left !important;
  }

  .bodyfooter table {
    height: auto;
    padding: 8px 0;
  }

  #footer table {
    height: auto;
  }

  #footerfont {
    white-space: normal;
    line-height: 1.6;
  }

  .bodyfooter a {
    display: inline-block;
    margin: 6px 0 0 0;
  }
}
