:root{
  --minColWidth: 15rem;
  --gridGap: 2rem;
}

body {
  font-family: 'Roboto', sans-serif;
  font-display: swap;
  }

body {background-color: rgba(255,255,255,1);}

body.home {background-color: rgba(0,0,0,1);} 

.smol-centering {
  display: grid;
  place-content: center;
}

.smol-centering > span{
  display: grid;
  padding: 1rem;
  background-color: #000;
  color: #675883;
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: bold;
  text-align: center;
  }


.nav__bar_diary {
  top:0;
  width: 100%;
  position: sticky;
  background: navy;
  padding: 1rem;
}

.nav__items {
  display: flex;
  gap: 1rem;
}

.nav__item {
  padding: .5rem;
}

.nav__item_link, .nav__item_link:visited {
  color: white;
  text-decoration: none;
}

h1, h2, h3, h4, h5 {font-family: 'Roboto Slab', serif; font-display: swap;}

h1 {font-size: 37px; line-height: 57px;}
h2 {font-size: 29px; line-height: 45px;}
h3 {font-size: 23px; line-height: 36px;}
h4 {font-size: 16px; line-height: 24px;}

h1 {color: rgba(0,128,255,1);}

p, li, a, legend, figcaption {
  font-size: 16px;
  line-height: 24px;
  margin: 0;
}

/* used by Admiralty Diaries page for Diary Month */
.red {color: red;}

.page__wrap {
  width: 100vw;
  background: #ccc;
  }

.home {
  background: #000;
  }

.page {
  background-color: rgba(255,255,255,1);
  
  margin: 0 auto;
  padding: 1rem;

  /*max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: minmax(150px, auto);*/
  --min: 45em;
  --gap: 1rem;

  display: grid;
  grid-gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min)), 1fr));
  }

.page {
  grid-template-areas:
    "s_header s_header s_header s_header s_header"
    "s_inputs s_inputs s_inputs s_inputs s_inputs"
    "s_record s_record s_record s_record s_record";
  }

/*.page__boats_by_year {
  grid-template-areas:
    "o_years o_years o_years o_years o_years"
    "o_boats o_boats o_boats o_boats o_boats";
}  */

.search__header {
    grid-area: s_header;
    }

.search__inputs {
    grid-area: s_inputs;
    margin: 0 1rem 2rem 1rem;
    }

.search__input {
    grid-area: s_input;
    font-size: 2rem;
    padding: 1rem;
    height: 4rem;
    }

.search__record {
    grid-area: s_record;
    /*border: 1px solid rgba(0,128,255,1);*/
    margin: 0 1rem 2rem 1rem;
    padding-top: 0;
    }

.pendant__list {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(6rem, 1fr));
    gap: .5rem;
  margin-top: 1rem;
}

.pendant__list_boat {
  flex: 1;
  padding: 1rem;
}

.flotilla__pendant_list{
  margin: .5rem;
  padding: .5rem .75rem;
}

button {
  width: auto;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #f1f1f1;
  position: relative;
}

.radio__legend {
  background-color: rgba(0,128,255,1);
  color: #fff;
  text-align: center;
}

.radio__buttons {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0,128,255,1);
  margin-bottom: 1rem;
}

.radio__button {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem;
}

button:hover, [aria-selected="true"] {
  background-color: #C3D8DF;
  /*color: #476270;*/
  color: navy;
  border: 1px solid #476270;
}

button.red {
  border-color: red;
}

.record__lookup {
    height: 5rem;
    font-size: 3rem;
}

.record {
    background: #fff;
    /*border-bottom: 1px dotted navy;*/
}

.record__heading_1 {
  font-family: 'Oswald', serif;
  font-size: 36px; line-height: 58px;
  padding: 1rem 0 1rem 1rem;
  background-color: navy;
  color: #fff;
  text-align: left;
}

.record__heading_2 {
  font-family: 'Roboto Slab', serif;
  font-size: 29px; line-height: 45px;
  padding: 1rem 0 0 0.5rem;
  color: navy;
  text-align: left;
  border-top: 1px solid navy;
  margin-top: 2rem;
}

.record__heading_3 {
  font-family: 'Roboto Slab', serif;
  font-size: 16px; line-height: 24px;
  padding: 1rem 0 0 0.5rem;
  color: navy;
  text-align: left;
  margin-top: 1rem;
}

.record__list { /* record__details_list */
  padding: 1rem 1rem 2rem 1rem;
  text-align: left;
}

.record__list_items { /* record__details */
  list-style-type: none;
}

.record__list_item {
  /*border-bottom: 1px solid #f1f1f1;*/
  margin-top: .5rem;
  /*padding-bottom: .5rem;*/
  margin-left: .5rem;
  margin-right: .5rem;
  font-size: 16px; line-height: 18px;
}

.record__list_item_paragraph {
  margin-top: .5rem;
  margin-left: .5rem;
  margin-right: .5rem; 
  line-height: 24px;
}

.source {
  font-size: 0.65rem;
  color: navy;
}

.boat__pendant {
  display: block;
  padding: 1rem;
  background-color: #f1f1f1;
  color: navy;
}

details {
  color: navy;
  margin-top: 1rem;
}

.record__boat_image figcaption {
  display: block;
  text-align: center;
  width:fit-content;
  margin: 0 auto;
}

.carousel-indicator {
  padding-bottom: 1rem;
}

/* ========= Boat Construction by Year ===== */

.tabs {
  grid-area: o_years;
}

.tabs__content_wrap {
  grid-area: o_boats;
}

@media screen and (min-width: 990px) {

  .page {
    max-width: 80em;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-auto-rows: minmax(150px, auto);
    grid-template-areas:
      "s_header s_header s_header s_header s_header"
      "s_record s_record s_record s_record s_inputs";
    }

}

/* ============ Boat by Year ================ */

.builds {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.period {
  border-radius: 5px;
  padding: .5rem 1rem;
  background-color: #f1f1f1;
  color: navy;
}

.pendant {
  display: inline;
  border-radius: 5px;
  padding: .5rem 1rem;
  background-color: rgba(140,205,255,.3);
  color: navy;
}

/* ============= Casualty Charts ================== */


.charts {
  background-color: #f1f1f1;
  border: solid 1px navy;
  border-radius: 5px;
  padding: 1rem;
  margin: 2rem;
  margin-bottom: 2rem;
}

.chart {

  --min: 45em;
  --gap: 1rem;

  display: grid;
  grid-gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min)), 1fr));
  overflow:hidden;
}

.chart__info {
  
}

.chart__diagram {
  justify-self: center;
}

.chart__img {
  margin: 1rem 0;
}

.chart__list {
  
 
}

.chart__list dt {
  font-weight: 500;
  color: navy;
}

.chart__list dd {
  margin-left: 0.5em;
}

/* ======= Grid =========== */

.grid-wrap {
  padding: var(--gridGap);
  max-width: 120ch;
  margin: 1rem auto;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--minColWidth), 1fr));
  grid-gap: var(--gridGap);

  & + .grid {
    margin-top: var(--gridGap);
  }
}