.flex_row {
  display: flex;
  flex-flow: row nowrap;
}

.flex_col {
  display: flex;
  flex-flow: column nowrap;
}

.fill {
  width: 100%;
  height: 100%;
}

:root {
  --color_1: #0097b2;
  --color_2: #126672;
  --color_3: #b8d0e6;
  --color_4: #e6eeee;
  --color_5: #fcc325;
  --color_6: #17607d;
  --color_7: #d8e3ee;
  --color_text_light: #e6eeee;
  --color_text_dark: #0e3d4f;
  --color_shadow:#387186;
  --drop_shadow: drop-shadow(0.3rem 0.3rem 0.5rem var(--color_3));
  --box_shadow: 0.3rem 0.3rem 1.1rem 0rem var(--color_3);
  --shadow_hover: 0.7rem 0.7rem 1rem 0.1rem var(--color_3);
}

@font-face {
  font-family: "Playfair";
  src: url("assets/fonts/Playfair.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
* {
  font-size: inherit;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: var(--color_4);
  font-family: "Playfair", Ubuntu;
  -webkit-font-smoothing: antialiased;
  border: 0;
}

.main {
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
  background: linear-gradient(180deg, var(--color_3) 0%, #9dc4e9 100%);
}
@media only screen and (orientation: portrait) {
  .main {
    font-size: 3.33333vw;
  }
}

.button, button {
  border-radius: 0.5rem;
  border: none;
  font-weight: bold;
  padding: 1rem;
  color: var(--color_2);
  background-color: var(--color_5);
  box-shadow: var(--box_shadow);
}
.button:focus, button:focus {
  outline: none;
}
.button:hover, button:hover {
  box-shadow: 0.7rem 0.7rem 1rem 0.1rem var(--color_shadow);
  transform: translateY(-3px);
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}

.clickable {
  cursor: pointer;
}

.fade-enter-active, .fade-leave-active {
  transition: opacity 0.2s ease;
}

.fade-enter, .fade-leave-to {
  opacity: 0;
}

.list-move,
.list-enter-active,
.list-leave-active {
  transition: transform 1s ease;
}

.list-enter-from,
.list-leave-to {
  transform: translateX(-100%);
}

.list-enter-active {
  animation: enter-animation 1.2s ease-in-out;
}

@keyframes enter-animation {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
.text {
  background-color: var(--color_3);
  vertical-align: middle;
  padding-left: 1rem;
  height: 2rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  border: none;
}

.label {
  font-weight: bold;
  justify-self: stretch;
  width: 10rem;
  color: var(--color_6);
  padding: 0.5rem;
  white-space: nowrap;
}

.input {
  width: 100%;
  font-size: 1.1rem;
  margin: 0.1rem;
  padding: 0.5rem;
  background-color: var(--color_3);
}

.icon {
  width: 100%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 1.2rem;
}

body, html {
  margin: 0;
  padding: 0;
  font-size: 1vw;
  scroll-behavior: smooth;
}
@media only screen and (orientation: landscape) and (min-width: 1280px) {
  body, html {
    font-size: 13px;
  }
}
@media only screen and (orientation: portrait) {
  body, html {
    font-size: 3vw;
  }
}

div {
  color: var(--color_3);
}
div::-webkit-scrollbar {
  width: 0.5rem;
  background-color: var(--color_3);
}
div::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: var(--color_6);
}

table {
  width: 100%;
}

td, th {
  border: 0.01rem solid var(--color_grey) _light;
  text-align: left;
  background-color: var(--color_3);
}

th {
  background-color: var(--color_3);
  color: var(--color_1);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color_1);
  font-weight: bold;
  padding: 0;
  margin: 0;
}