/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 16px;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*
  Copyright (c) 2020 The Regents of the University of Michigan.
  All Rights Reserved. Licensed according to the terms of the Revised BSD license.
  See LICENSE.txt for details.
*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input,textarea,button,body,label{
  font: 300 16px/150% "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #333;
}
input,textarea{
  padding: 0;
  width: 100%;
}

body,header,footer{
  width: 100%;
  min-width: 320px;
  margin: 0 auto;
}
body {
  position: relative;
  min-height: 100vh;
  display: grid;
  overflow-y: scroll;
  grid-template-rows: auto 1fr auto;
  background-color: white;
  scroll-behavior: smooth;
}

header{
  top:0;
  background-color: #00274C;
  border-bottom: 4px solid #FFCB05;
  color: white;
}



header h2{
  margin: 0;
  padding-bottom: 16px;
  font-size: 1rem;
}

footer{
  bottom:0;
  padding: 1em auto;
  background-color: #00274C;
  border-top: 4px solid #FFCB05;
  color: #fff;
  text-align:left;
}

footer p{
  margin-right: 1.5em;
  margin-left: 1.5em;
  font-size: 0.7em;
  margin-top: 0.2em;
  line-height: 1.5em;
}


main{
  position: relative;
  width: 100%;
  margin:0 auto;
  margin-bottom: 2em;
  padding: 0 1em;
}

.sticky{
  position: fixed;
  background-color: white;
  z-index: 9999;
  width: 100%;
  border-bottom: 1px solid #00274C;
  max-width: 740px;
}

.definitionParagraph{
  max-width: 38rem;
}

h1 {
  line-height: 120%;
  font-weight: bold;
  font-size: 1.2em;
  color: white;
  padding: .5em 0;
}

h1 span {
  font-weight: 200;
  font-size: .6em;
}

h2 {
  font-size: 1.3em;
  font-weight: normal;
}
h3 {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 120%;
  margin-bottom: .5em;
}

p{margin-top: .5em;}



strong{font-weight: 700;}
em{font-style: italic;}
mark{
  background-color: rgba(255,203,5,0.48);
}

label{
  font-weight: bold;
  display: block;
  margin-right: 1em;
}

a{
  font-size: .8em;
  color: #00B5AF;
}

:focus{
  outline: 0;
  box-shadow: 0 0 0 2px #ffcb05, 0 0 0 3px #212b36;
  border-radius: 2px !important;
}

textarea{
  outline: none;
  border: none;
  resize: none;
  padding: 0;
}
input{
  display: inline-block;
  border:none;
  background-color: transparent;
}


.capitalize{
  text-transform: capitalize;
}
.relative{position: relative;}
.center{
  margin:0 auto;
  text-align: center;}
.right{text-align: right;}
.flex{
  display: flex;
  justify-content: space-around;
  align-items: stretch;
}
.flex-center{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.shadow{
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.09);
}
.hide{display: none;}
.invisible{
  visibility: hidden;
}
.blank{
  width: 100%;
  height: 10em;
  background-color: white;
}

.no-scroll-bar{
  -ms-overflow-style: none;
}
.no-scroll-bar::-webkit-scrollbar {
  display: none;
}
.scroll-bar{
  scrollbar-color: rebeccapurple green;
  scrollbar-width: 5px;
}

button {
  display: inline-block;
  background-color: #eee;
  border:none;
  border-radius: .3em;
  text-decoration: none;
  text-align: center;
  padding:.3em .6em;
  margin: .2em;
  cursor: pointer;
}
button:hover{
  background-color: #bbb;
}
/*current used as a key word for buttons that shows system status*/
button[class^="current"]{
  background-color: #aaa;
  color:white;
}
button[class*="dark"],button[class*="bright"]{
  border:1.5px solid #00274C;
  font-weight: 500;
}
button[class*="dark"]{
  color: white;
  background-color: #00274C;
}
button[class*="bright"]{
  color: #00274C;
  background-color: white;
}
button[class*="none"]{
  background-color: transparent;
  padding: 0;
  margin: 0;
}

/*////////////////////////
////  status button  ////
//////////////////////*/

.status{
  width: 12em;
  margin: 1em auto 0 auto;
}
.status button{
  width: 50%;
  min-width: 6em;
  margin: 0; /*remove inherited margin*/
  border-radius: 0;
  font-size: .8em;
}
.status button:first-child{
  border-radius: .5em 0 0 .5em;
}
.status button:last-child{
  border-radius:  0 .5em .5em 0;
}

.status button[class^="current"]{
  background-color: #00274C;
}

/*////////////////////////
////    search box   ////
//////////////////////*/

.search-box-container,.TermCardList_para{
  width: 100%;
  position: relative;
  margin:0 auto;
}
.search-box{
  width: 100%;
  position: relative;
  margin: 0;
  margin: 1rem 0;
  padding: .5em .8em;
  border-radius: 1.2em;
  border: 1.5px solid #00274C;
  background-color: white;
  z-index: 999;
}

/*/////word: search-box/////*/

.search-box input{
  flex-grow: 1; /*take all rest space*/
}
.search-box svg{
  margin-top: .25em;
  margin-left: .5em;
  min-width: 1em;
  flex-grow: 0;
}
.guess{
  position: absolute;
  padding: 0;
  top:0;
  left:0;
  border: none;
  z-index: 99;
}
.guess button{
  position: relative;
  width: 100%;
  padding: .5em .8em;
  margin: 0;
  font-size: 1em;
  line-height: 100%;
  border-radius: 0; 
  text-align: left;
  background-color: white;
}
.guess button:first-child{
  border-radius: 1.2em 1.2em 0 0;
}
.guess button:last-child{
  border-radius: 0 0 1.2em 1.2em;
}
.guess button:hover{
  background-color: #f8f8f8;
}

/*/////paragraph: search-box/////*/
.flex[class*="paragraph"]{
  flex-direction: column;
}
.search-box .box-paragraph{
  flex-grow: 1;
  display: inline-block;
  max-height: 20em;
  min-height: 15em;
  height: 80vw;
  overflow-y: scroll;
}

#under-textarea{
  width: 100%;
  white-space: pre-wrap;
  position: relative;
  color:transparent;
  padding: 0;
}
#under-textarea mark{
  color: transparent;
}
.box-paragraph textarea{
  display: inline-block;
  position: absolute;
  height: 100%;
  top:.0;
  left:0;
  z-index: 99;
  background-color: transparent;
}


.directions{
  padding: 1em;
  font-style: italic;
  color: #637381;
  border: 1px dashed #637381;
  border-radius: 10px;
}


/*//////////////////////////
////    BrowseField    ////
////////////////////////*/

.browseField{
  margin-top: 1rem;
}

/*//////////////////////////
////    TermCardList   ////
////////////////////////*/

.TermCardList_para{ /*same size as the search-box-container*/
  position: relative;/*required for getting offsetTop*/
  overflow-y: scroll;
  scroll-behavior: smooth;
  margin-top: .5em;
  overflow: auto;
}

.cardHeader{
  max-width: 75%;
}

.hasCard{
  display: block;
  padding: 0 .2em 10em .2em;
  min-width: 48%;
}

.image{
  max-height: 500px;
  max-width: 100%;
  padding: 1em 0;
}

.image-col{
  border-top: 1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 500px;
  margin-top: 1em;
}

.term-card{
  width: 100%;
  position: relative;
  padding: 1em;
  margin: .5em auto .2em auto;
  margin-bottom: 1em;
  background-color: white;
  border-radius: .5em;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
  z-index: 10;
}

.term-card-selected{
  background-color: #FFF9E6;
  /*background-color: rgba(254, 203, 5, .09);*/
  /*border:1px solid #FECB05;*/
  box-shadow: 0 1px 10px 0 rgba(254, 203, 5, 1);
}

.iconset{
  position: absolute;
  top: 1em;
  right: 1em;
}
.iconset button{
  background-color: transparent;
  padding: 0;
  margin: 0;
  margin-left: .8em;
}

.message-copied{
  position: relative;
}
.message-copied::before{
  content: "Copied";
  color: white;
  background-color: #00274C;
  opacity: 0;
  border-radius: 4px;
  padding:.2em .5em;
  right: -1em;
  top:-1.5em;
  position: absolute;
  z-index: 99;
  animation-name: pop;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

@keyframes pop {
  0%   {top:-1.5em; opacity:0;}
  12%  {top:-2em; opacity:.8;}
  75% {top:-2em; opacity:.8;}
  100% {top:-3em; opacity:0;}
}

/*//////////////////////////
//////    Report    //////
////////////////////////*/

.form{
  padding: 1.5em;
  margin-top: .8em;
  cursor: auto;
}

.term-card-min{
  width: 100%;
  color: rgba(33,33,33,.7);
  padding: 1em;
  margin-bottom: 1em;
  background-color: #f0f0f0;
  border-radius: .5em;
}

.form-textarea{
  flex-grow: 1;
  border:1.5px solid #aaa;
  border-radius:.5em;
  padding: .2em .5em;
  margin-bottom: .8em;
}
.form-textarea textarea{
  height: 4em;
}
.form button{
  position: relative;
  top: 0;
  width: 5em;
  margin-left: 1em;
  margin-top: 1em;
  border-radius: 10em;
  transition-property: ease-out;
  transition: box-shadow .2s;
}
.request button:hover,
.form button:hover{
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}
.form svg{
  position: absolute;
  top:1.5em;
  right: 1.5em;
  width: 1em;
}
.loading{
  cursor: wait;
  padding: 1em;
  margin-bottom: 1em;
}

.request{
  position: relative;
  top: 0;
  color: #333;
  justify-content: space-between;
  align-items: center;
}
.request button{
  position: relative;
  border-radius: 5em;
  padding:.3em 1em;
}
/*////////////////////////
////  svg & icons   /////
//////////////////////*/

svg{
  text-align: center;
  height: 1em;
  display: inline-block;
  background-color: transparent;
}

.search-icon{fill: #00274C;}

.regular-icon{
  fill: #637381;
  cursor: pointer;
}

.regular-icon:hover{fill: #01274C;}

.loading-animate{
  height:.5em;
  width: 12em;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  background-color: #01274C;
}
.loading-animate::before{
  content: "";
  background-color: #FECB05;
  width: 0px;
  left: 0;
  height: .5em;
  position: absolute;
  z-index: 99;
  animation-name: loading;
  animation-duration: 5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.headerContent{
    margin: 0 auto;
    text-align: center;
    padding: 0 1em;
  }

@keyframes loading {
  0%   {left:0px; width:1px;}
  50%  {left:0px; width:12em;}
  100% {left:12em; width:1px;}
}

@media only screen and (min-width: 600px) {
  main{
    max-width: 768px;
  }
  h1 {
    font-size: 1.5em;
  }
  
  .flex[class*="paragraph"]{
    flex-direction: row;
  }
  .TermCardList_para{ /*same size as the search-box-container*/
    max-height: 68vh;
    height: 68vh;
  }
  .search-box-container,.TermCardList_para{
    width: 50%;
  }

  .directions{
    margin: .5em 1em;
  }
  .search-box .box-paragraph{
    flex-grow: 1;
    display: inline-block;
    min-height: 20em;
    max-height: 64vh;
    height: 64vh;
    overflow-y: scroll;
  }
  .hasCard{
    padding: 0 .2em 0em 1em;
  }
  .TermCardList_word{
    padding: 0 .2em;
  }
}

@media screen and (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after {
      animation-duration: 0.001s !important;
      transition-duration: 0.001s !important;
    }
}
