/* 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: 100%;
  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;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/*
@font-face {
  font-family: "Nunito";
  src: url( "/static/assets/fonts/Nunito-Black.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-BlackItalic.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-Bold.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-BoldItalic.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-ExtraBold.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-ExtraBoldItalic.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-ExtraLight.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-ExtraLightItalic.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-Italic.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-Light.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-LightItalic.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-.Mediumttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-Regular.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-SemiBold.ttf") format("truetype"),
       url( "/static/assets/fonts/Nunito-SemiBoldItalic.ttf") format("truetype"),
       url( "/static/assets/fonts/NunitoHeavy-Italic.ttf") format("truetype"),
       url( "/static/assets/fonts/NunitoHeavy-regular.ttf") format("truetype");
}
*/

body,
html {
  width: 100%;
  min-height: 100%;
  overflow-x: hidden;
  font-size: 24px;
  font-family: "Copperplate", Georgia, "Times New Roman", Times, serif;
  scrollbar-gutter: stable;
}

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;
}

:root {
  --background: #365f73;
  --emphasis: #ffcc33;
  --white: #ebebeb;
  --font-main: #0d1b2a;
  --font-secondary: #415a77;
  --font-link: #fdc500;
  --font-error: #e5383b;
  --font-main-invert: #fff;
  --font-secondary-invert: #778da9;
  --light-grey: #dbdcdc;
  --grey: #d0d4e1;
}

.container {
  min-height: 100vh;
  min-width: 100vw;
  background-color: #ebf2fa;
  font-family: sans-serif;
  color: var(--font-main);

  display: flex;
  flex-direction: column;
  align-items: center;
}

#navbar {
  padding-top: 1rem;
  width: 100%;
  display: flex;

  background-color: #365f73;
  background: linear-gradient(135deg, #324e67 0%, #365f73 100%);
  background: -moz-linear-gradient(
    315deg,
    hsla(208, 35%, 30%, 1) 0%,
    #365f73 100%
  );
  background: -webkit-linear-gradient(
    315deg,
    hsla(208, 35%, 30%, 1) 0%,
    #365f73 100%
  );
  color: var(--font-main-invert);
}

#searchbar {
  display: inline-flex;
  justify-content: space-around;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: nowrap;
}

#searchbar > input {
  border-radius: 1.625rem;
  width: 17rem;
  margin: 0px;
  height: 1.5rem;
  padding-left: 1vw;
  background-color: transparent;
  font-size: 0.75rem;
  border: none;
}

#searchbar > input::placeholder {
  color: black;
}

#searchbar > input:focus {
  background: white;
  outline: none;
}

#searchbar > button {
  width: 1rem;
  height: 1.75rem;
  margin-left: -1.5rem;
  background: none;
  border: none;
  outline: none;
}

#searchbar > button:hover {
  cursor: pointer;
}

#profile-box {
  position: relative;
}

.dropdown {
  position: absolute;
  width: 11rem;
  max-height: 16rem;
  overflow-y: scroll;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1.25rem;
  right: 3.8rem;
  border-radius: 0.2rem;
  border: 1px solid lightgrey;
  box-shadow: 1px 1px 1px lightgrey;
  background-color: #fff;
  color: var(--font-main);
  cursor: default;
  z-index:999;
}

.app-icon {
  margin: 0.25rem;
  text-align: center;
  text-decoration: none;
  border-radius: 0.25rem;
  padding: 0.5rem;
  height: 3.5rem;
  width: 3.5rem;
}

.app-icon:hover {
  background-color: lightgrey;
}
.app-icon > i {
  font-size: 1.5rem;
  color: var(--font-secondary);
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
.app-icon > span {
  font-size: 0.5rem;
  color: var(--font-secondary);
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

.no-select {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

.no-select::selection { background-color: transparent;}

.navbar-icon {
  padding: 0.5rem;
  height: 2rem;
  width: 2rem;
  border-radius: 50%;
  transition: background-color 0.1s;
}
.navbar-icon:hover {
  background-color: #294757;
}

.navbar-item {
  text-decoration: none;
  color: var(--white);
  font-size: 1.5rem;
}

.link:hover {
  cursor: pointer;
}

.hidden {
  visibility: hidden;
}

.secondary {
  font-weight: lighter;
}

.dashboard {
  padding: 15px;
  font-size: 0.75rem;
}

table {
  font-family: Verdana, sans-serif;
  border-collapse: collapse;
}

table td,
th {
  border-bottom: 1px solid #ddd;
  padding: 0.5rem 0.25rem 0.5rem 0.25rem;
}

.table-link {
  text-decoration: none;
  font-weight: 500;
  color: steelblue;
}

.table-link:hover {
  text-decoration: underline;
}

table th {
  text-align: left;
  padding: 5px;
  font-weight: bold;
}

#at-a-glance {
  width: 100%;
  border-radius: 0.25rem;
  padding: 0.5rem;
  background-color: white;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

#at-a-glance > .greeting {
  font-size: 2rem;
  font-weight: bold;
}

#overview-box {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
}

.overview {
  height: 9rem;
  width: 7rem;
  border: 1px solid lightgrey;
  border-radius: 0.25rem;
  box-shadow: 0px 0px 2px lightgrey;
  margin: 0.25rem 0.5rem;
  padding: .5rem;
  text-align: center;
  vertical-align: bottom;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
}

.overview > table {
  font-size: 0.6rem;
  text-align: left;
  width: 100%;
  margin-bottom: 1rem;
}

.overview > table td {
  padding: 0px;
  border: none;
}

.overview:hover {
  cursor: pointer;
  box-shadow: 0px 0px 5px lightgrey;
}

.overview > i {
  color: green;
  margin-top: 1rem;
  margin-bottom: 0.75rem;
  font-size: 2rem;
}

.overview > span {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

#recent-activity,
#analytics-bar {
  border: 1px solid lightgrey;
  padding: 1rem;
  width: 100%;
  border-radius: 0.25rem;
  min-height: 10rem;
  margin-bottom: 1rem;
}

footer {
  min-height: 10rem;

  background-color: #365f73;
  background: linear-gradient(135deg, hsla(208, 35%, 30%, 1) 0%, #365f73 100%);
  background: -moz-linear-gradient(
    315deg,
    hsla(208, 35%, 30%, 1) 0%,
    #365f73 100%
  );
  background: -webkit-linear-gradient(
    315deg,
    hsla(208, 35%, 30%, 1) 0%,
    #365f73 100%
  );
  color: var(--font-main-invert);
  width: 100%;
  text-align: center;
  padding: 3rem;
}

.border-thick {
  border: 7px solid black;
}
.border-green {
  border-color: green;
}

.green-button-invert {
  background-color: white;
  color: inherit;
  border: 4px solid green;
}

.green-button-invert > i { 
  font-size: 2rem; 
  transition: font-size .25s;
}
.green-button-invert:hover > i {
  font-size: 2.5rem;
}

.h1 {
  font-size: 2.5rem;
}
.h2 {
  font-size: 2rem;
}
.h3 {
  font-size: 1.75rem;
}
.h4 {
  font-size: 1.5rem;
}
.h5 {
  font-size: 1.25rem;
}
.h6 {
  font-size: 1rem;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
  display: block;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.em { font-weight: 700; }
.italic { font-style:italic;}
.caps { text-transform:uppercase}
.small { font-size: .6rem; }

.dropdown-wrapper * {
  overflow-y: scroll;
  font-size: .55rem;
}

[x-cloak] {
  display: none !important;
}

.modal-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  z-index: 9998;
}

.modal {
  background-color: #fff;
  border-radius: 0.25rem;
  padding: 0px;
  width: 60%;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  z-index: 9999;
}

.modal-body {
  flex-grow: 2;
  padding: 1rem;
  width: 100%;
}

.modal-bottom-toolbar {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;

  width: 100%;

  border-top: 1px solid var(--grey);
  padding: 0.5rem 1rem;
}

.modal-top-toolbar {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem 1.1rem;
  padding-bottom: 0px;
}

.button {
  padding: 0.5rem 0.5rem;
  border-radius: 1.25rem;
  font-weight: bold;
  font-size: 0.75rem;
  text-transform: uppercase;
  background-color: inherit;
  transition: background-color 0.15s;
  cursor: pointer;
}

.small-button {
  padding: .25rem .5rem;
  border-radius: 3px;
  cursor: pointer;
}

.button-submit {
  border: none;
  background-color: #3874ff;
  color: white;
}

.button-submit:hover {
  background-color: #003eaa;
}

.button-dismiss {
  background-color: white;
  border: none;
  color: grey;
  font-weight: 300;
  transition: text-decoration 0.25s;
}

.button-dismiss:hover {
  text-decoration: underline;
}

.modal-form-input {
  padding: 0.75rem;
  line-height: 1;
  height: 1.5rem;
  border: none;
  margin-top: 0.5rem;
  outline: none;
  width: 100%;
}

.modal-form-input-wrapper {
  position: relative;
  padding: 0.1rem;
  border-radius: 0.25rem;
  border: 1px solid var(--grey);
  box-shadow: none;
  margin-bottom: 1rem;
  transition: border 0.25s, box-shadow 0.25s;
}
.modal-form-label {
  text-transform: uppercase;
  font-size: 0.5rem;
  color: var(--font-secondary);
  transition: font-size 0.25s;
}

.sub-label {
  text-transform: uppercase;
  font-size: 0.66rem;
  color: var(--font-secondary);
}

.modal-form-input-wrapper:focus-within {
  border: 1px solid lightblue;
  box-shadow: 0px 0px 5px var(--background);
}

.modal-form-input-wrapper:focus-within > .modal-form-label {
  font-size: 0.4rem;
}

.width-12-5 {
  width: 12.5%;
}
.width-25 {
  width: 25%;
}
.width-33 {
  width: 32.5%;
}
.width-50 {
  width: 50%;
}
.width-66 {
  width: 66%;
}
.width-75 {
  width: 75%;
}
.width-87-5 {
  width: 87.5%;
}
.width-100 {
  width: 100%;
}

.inline-block {
  display: inline-block;
}

.dropdown-wrapper {
  position:absolute;
  top: calc(100% -1px);
  left: -5px;
  right: -5px;
  background-color: white;
  border: 1px solid lightgrey;
  box-shadow: 0px 0px 5px lightgrey;
  font-size: .75rem;
  z-index: 999;
  padding: .25rem 0rem;
  border-radius: .25rem;
}

#searchResults {
  position: absolute;
  background-color: white;
  border: 1px solid lightgrey;
  box-shadow: 0px 0px 5px lightgrey;
  font-size: .75rem;
  z-index: 999;
  padding: .25rem 0rem;
  border-radius: .25rem;
}

.search-results > span {
  padding: 0.1rem 0.25rem;
}
.search-result {
  padding: 0.1rem .5rem;
  width: 100%;
  cursor: pointer;
}

.search-result:hover {
  background-color: lightgrey;
}

.modal-tab-tab {
  height: 1.5rem;
  padding: .5rem 1rem;
  border: 1px solid var(--grey);
  background-color: white;
  border-bottom: none;
  position: relative;
  display: inline-block;
  font-size: .6rem;
  cursor: pointer;
}

.modal-tab-tabs {
  display: flex;
  flex-direction: row;
}

.modal-tab-focused {
  background-color: white;
}

.modal-tab-unfocused { background-color: lightgrey;color:grey;}

.modal-tab-content {
  width: 100%;
  border-top: 1px solid var(--grey);
  padding: 1rem;
}

.modal-tab-border-crossing {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 99%;
  height: 2px;
  background-color: white;
}

.cursor-pointer {
  cursor: pointer;
}

hr { border-top: 1px solid lightgrey;}

.invisible-link {
  text-decoration: none;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

#claim_viewer {
  width: 100%;
  height: 100%;
}

#claim_info_bar{
  width: 100%;
  background-color:#365f73;
  color: white;
  padding: .5rem .25rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

#claim_viewer_r1 {
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0rem 1rem;
}

#form_generator_links, #form_pack_links {
  padding: 1rem .25rem;
}

span.modal-form-label {
  position: absolute;
  top: 0px;
  left: 3px;
  padding-top: 3px;
  padding-bottom: 5px;
  right: 0;
  background-color: white;
  z-index: 10;
}

#form_generator_links > span, #form_pack_links > span {
  margin-left: 1rem;
  margin-bottom: .25rem;
  min-width: 5rem;
  max-width: 7rem;
  font-size: .75rem;
  border: 1px solid grey;
  padding: .1rem;
  border-radius: .25rem;
  cursor: pointer;
}

#form_pack_links > span {
  min-width: 9rem;
  padding: .25rem;
}

#form_generator_links > span:hover, #form_pack_links > span:hover {
  background-color: lightgrey;
}

.data-feed {
  font-size: .75rem;
  font-family: 'Courier New', Courier, monospace;
  padding: 1rem .25rem;
  overflow-y: auto;
  margin-top:0px;
  padding-top:0px;
}

.data-feed > table {
  width: 100%;
  font-size: .60rem;
  position: relative;
  padding-top: 0px;
  margin-top: 0px;
}

.data-feed tr td {
  border-bottom: none;
  padding: 2.5px;
  padding-top: .75rem;
  padding-bottom: .75rem;
  z-index: 1
}

.data-feed tbody tr:hover {
  background-color: #e0f0ff;
  cursor: pointer;
}

.data-feed thead tr:hover {
  cursor: auto;
}

.data-feed th {
  color: dimgrey;
  font-weight: 500;
  position: sticky;
  top: 0px;
  border-bottom: 1px solid var(--light-grey);
  z-index: 2;
  height: 2rem;
  vertical-align:bottom;
  background-color: white;
  font-weight: bold;
}

.data-feed th:hover::after{
  content: '\2b83';
  position: absolute;
  right: 1rem;
}

.seperator {
  color: var(--light-grey);
  float: right;
}

.hidden {
  /*
  * visuallyHidden class copied from HTML5 Boilerplate project:
  * https://github.com/h5bp/html5-boilerplate/blob/9d6176a26ca4b70ab64a51d7abb9d3ebaa197855/dist/css/main.css#L135
  *
  * More: http://hugogiraudel.com/2016/10/13/css-hide-and-seek
  */

  /*
  * Hide only visually, but have it available for screen readers:
  * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
  *
  * 1. For long content, line feeds are not interpreted as spaces and small width
  *    causes content to wrap 1 word per line:
  *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
  */
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap; /* 1 */
  clip-path: inset(50%);
  border: 0;
}

.upload-field {
  border: 2px dashed rgb(0, 135, 247);
  border-radius: .5rem;
  width: 100%;
  padding: 1rem;
  display: inline-block;
  text-align: center;
  cursor: pointer;
}

#file_upload {
  width: 100%;
}

.seperator:hover {
  /*cursor:col-resize;*/
  cursor:pointer;
}

#notes {
  padding: .25rem;
}

#claim_notes {
  margin-top: 1rem;
  width: 100%;
  min-height: 5rem;
  border: 1px solid lightgrey;
  font-size: 1rem;
  font-family:Arial, Helvetica, sans-serif;
  resize: vertical;
}

.wrapper {
  padding: 1rem;
}

.flex-column {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.flex-row {
  display: flex;
  flex-direction: row;
}

.flex-nowrap { flex-wrap: nowrap }
.flex-wrap { flex-wrap: wrap }
.flex-between { justify-content:space-between}
.flex-around { justify-content:space-around}
.flex-start { justify-content:flex-start}
.flex-end { justify-content:flex-end}

.menu-wrapper {
  position: absolute;
  top: 0px;
  right: 0px;
  height: auto;
  width: auto;
}

.clickMenu, .dropDownMenuContent {
  position: absolute;
  background-color: rgb(240, 240, 240);
  border: 1px solid lightgrey;
  border-radius: .25rem;
  min-width: 10rem;
  box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
  z-index: 9999;
}

.clickMenu li, .dropDownMenuContent li {
  font-size: .6rem;
  cursor: pointer;
  padding: .25rem;
  padding-left: 1rem;
}

.clickMenu li:hover, .dropDownMenuContent li:hover {
  background-color: #CCE6FF;
}

.dropDownMenuContent {
  background-color: white;
  min-width: max-content;
}

.danger { color: red; }
.absolute { position: absolute; }
.relative { position: relative; }
.capitalize{ text-transform: capitalize; }

.dropDownMenu {
  position: relative;
  display: inline-block;
  min-width: 8rem;
}
.dropDownMenu::after{
  content: '\23F7';
  position: absolute;
  right: 0px;
}

.sortingMarker { display: inline-block; width: 1rem;margin-left: .25rem;}

.tooltip::after {
  position: absolute;
  content: '';
  height: 0.5rem;
  width: 0.5rem;
  overflow: hidden;
  z-index: 13;
  background-color: white;
  border-right: 1px solid slategrey;
  border-bottom: 1px solid slategrey;
  border-bottom-right-radius: 2px;
  left: 50%;
  top: 1rem;
  translate:-45% 0;
  transform: rotateZ(45deg);
}

.tooltip-left::after{
  position: absolute;
  content: '';
  height: 0.5rem;
  width: 0.5rem;
  overflow: hidden;
  z-index: 13;
  background-color: white;
  border-right: 1px solid slategrey;
  border-top: 1px solid slategrey;
  border-top-right-radius: 2px;
  left: 100%;
  top: 50%;
  translate: -45% -45%;
  transform: rotateZ(45.0deg);
}

.tributeHighlight {
  background-color: #a7dbfc;
  cursor: pointer;
}