/*! bulma.io v0.4.1 | MIT License | github.com/jgthms/bulma */
@-webkit-keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg);
  }
}
@keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg);
  }
}

/*! minireset.css v0.0.2 | MIT License | github.com/jgthms/minireset.css */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

button,
input,
select,
textarea {
  margin: 0;
}

html {
  box-sizing: border-box;
}

* {
  box-sizing: inherit;
}

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

img,
embed,
object,
audio,
video {
  height: auto;
  max-width: 100%;
}

iframe {
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
  text-align: left;
}

html {
  background-color: #fff;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
}

article,
aside,
figure,
footer,
header,
hgroup,
section {
  display: block;
}

body,
button,
input,
select,
textarea {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

code,
pre {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
  font-family: monospace;
}

body {
  color: #4a4a4a;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

a {
  color: #00d1b2;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: none 86ms ease-out;
  transition: none 86ms ease-out;
}

a:hover {
  color: #363636;
}

code {
  background-color: whitesmoke;
  color: #ff3860;
  font-size: 0.8em;
  font-weight: normal;
  padding: 0.25em 0.5em 0.25em;
}

hr {
  background-color: #dbdbdb;
  border: none;
  display: block;
  height: 1px;
  margin: 1.5rem 0;
}

img {
  max-width: 100%;
}

input[type="checkbox"],
input[type="radio"] {
  vertical-align: baseline;
}

small {
  font-size: 0.8em;
}

span {
  font-style: inherit;
  font-weight: inherit;
}

strong {
  color: #363636;
  font-weight: 700;
}

pre {
  background-color: whitesmoke;
  color: #4a4a4a;
  font-size: 0.8em;
  white-space: pre;
  word-wrap: normal;
}

pre code {
  -webkit-overflow-scrolling: touch;
  background: none;
  color: inherit;
  display: block;
  font-size: 1em;
  overflow-x: auto;
  padding: 1.25rem 1.5rem;
}

table {
  width: 100%;
}

table td,
table th {
  text-align: left;
  vertical-align: top;
}

table th {
  color: #363636;
}

.is-block {
  display: block;
}

@media screen and (max-width: 768px) {
  .is-block-mobile {
    display: block !important;
  }
}

@media screen and (min-width: 769px), print {
  .is-block-tablet {
    display: block !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
  .is-block-tablet-only {
    display: block !important;
  }
}

@media screen and (max-width: 999px) {
  .is-block-touch {
    display: block !important;
  }
}

@media screen and (min-width: 1000px) {
  .is-block-desktop {
    display: block !important;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1191px) {
  .is-block-desktop-only {
    display: block !important;
  }
}

@media screen and (min-width: 1192px) {
  .is-block-widescreen {
    display: block !important;
  }
}

.is-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .is-flex-mobile {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (min-width: 769px), print {
  .is-flex-tablet {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
  .is-flex-tablet-only {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (max-width: 999px) {
  .is-flex-touch {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (min-width: 1000px) {
  .is-flex-desktop {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1191px) {
  .is-flex-desktop-only {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (min-width: 1192px) {
  .is-flex-widescreen {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

.is-inline {
  display: inline;
}

@media screen and (max-width: 768px) {
  .is-inline-mobile {
    display: inline !important;
  }
}

@media screen and (min-width: 769px), print {
  .is-inline-tablet {
    display: inline !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
  .is-inline-tablet-only {
    display: inline !important;
  }
}

@media screen and (max-width: 999px) {
  .is-inline-touch {
    display: inline !important;
  }
}

@media screen and (min-width: 1000px) {
  .is-inline-desktop {
    display: inline !important;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1191px) {
  .is-inline-desktop-only {
    display: inline !important;
  }
}

@media screen and (min-width: 1192px) {
  .is-inline-widescreen {
    display: inline !important;
  }
}

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

@media screen and (max-width: 768px) {
  .is-inline-block-mobile {
    display: inline-block !important;
  }
}

@media screen and (min-width: 769px), print {
  .is-inline-block-tablet {
    display: inline-block !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
  .is-inline-block-tablet-only {
    display: inline-block !important;
  }
}

@media screen and (max-width: 999px) {
  .is-inline-block-touch {
    display: inline-block !important;
  }
}

@media screen and (min-width: 1000px) {
  .is-inline-block-desktop {
    display: inline-block !important;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1191px) {
  .is-inline-block-desktop-only {
    display: inline-block !important;
  }
}

@media screen and (min-width: 1192px) {
  .is-inline-block-widescreen {
    display: inline-block !important;
  }
}

.is-inline-flex {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

@media screen and (max-width: 768px) {
  .is-inline-flex-mobile {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media screen and (min-width: 769px), print {
  .is-inline-flex-tablet {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
  .is-inline-flex-tablet-only {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media screen and (max-width: 999px) {
  .is-inline-flex-touch {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media screen and (min-width: 1000px) {
  .is-inline-flex-desktop {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1191px) {
  .is-inline-flex-desktop-only {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

@media screen and (min-width: 1192px) {
  .is-inline-flex-widescreen {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}

.is-clearfix:after {
  clear: both;
  content: " ";
  display: table;
}

.is-pulled-left {
  float: left;
}

.is-pulled-right {
  float: right;
}

.is-clipped {
  overflow: hidden !important;
}

.is-overlay {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.has-text-centered {
  text-align: center;
}

.has-text-left {
  text-align: left;
}

.has-text-right {
  text-align: right;
}

.has-text-white {
  color: white;
}

a.has-text-white:hover, a.has-text-white:focus {
  color: #e6e6e6;
}

.has-text-black {
  color: #0a0a0a;
}

a.has-text-black:hover, a.has-text-black:focus {
  color: black;
}

.has-text-light {
  color: whitesmoke;
}

a.has-text-light:hover, a.has-text-light:focus {
  color: #dbdbdb;
}

.has-text-dark {
  color: #363636;
}

a.has-text-dark:hover, a.has-text-dark:focus {
  color: #1c1c1c;
}

.has-text-primary {
  color: #00d1b2;
}

a.has-text-primary:hover, a.has-text-primary:focus {
  color: #009e86;
}

.has-text-info {
  color: #3273dc;
}

a.has-text-info:hover, a.has-text-info:focus {
  color: #205bbc;
}

.has-text-success {
  color: #23d160;
}

a.has-text-success:hover, a.has-text-success:focus {
  color: #1ca64c;
}

.has-text-warning {
  color: #ffdd57;
}

a.has-text-warning:hover, a.has-text-warning:focus {
  color: #ffd324;
}

.has-text-danger {
  color: #ff3860;
}

a.has-text-danger:hover, a.has-text-danger:focus {
  color: #ff0537;
}

.is-hidden {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .is-hidden-mobile {
    display: none !important;
  }
}

@media screen and (min-width: 769px), print {
  .is-hidden-tablet {
    display: none !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
  .is-hidden-tablet-only {
    display: none !important;
  }
}

@media screen and (max-width: 999px) {
  .is-hidden-touch {
    display: none !important;
  }
}

@media screen and (min-width: 1000px) {
  .is-hidden-desktop {
    display: none !important;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1191px) {
  .is-hidden-desktop-only {
    display: none !important;
  }
}

@media screen and (min-width: 1192px) {
  .is-hidden-widescreen {
    display: none !important;
  }
}

.is-marginless {
  margin: 0 !important;
}

.is-paddingless {
  padding: 0 !important;
}

.is-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.box {
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
  display: block;
  padding: 1.25rem;
}

.box:not(:last-child) {
  margin-bottom: 1.5rem;
}

a.box:hover, a.box:focus {
  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #00d1b2;
}

a.box:active {
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #00d1b2;
}

.button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid transparent;
  border-radius: 3px;
  box-shadow: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1rem;
  height: 2.25em;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1.5;
  padding-bottom: calc(0.375em - 1px);
  padding-left: calc(0.625em - 1px);
  padding-right: calc(0.625em - 1px);
  padding-top: calc(0.375em - 1px);
  position: relative;
  vertical-align: top;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: white;
  border-color: #dbdbdb;
  color: #363636;
  cursor: pointer;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 0.75em;
  padding-right: 0.75em;
  text-align: center;
  white-space: nowrap;
}

.button:focus, .button.is-focused, .button:active, .button.is-active {
  outline: none;
}

.button[disabled] {
  cursor: not-allowed;
}

.button strong {
  color: inherit;
}

.button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large {
  height: 1.5em;
  width: 1.5em;
}

.button .icon:first-child:not(:last-child) {
  margin-left: calc(-0.375em - 1px);
  margin-right: 0.1875em;
}

.button .icon:last-child:not(:first-child) {
  margin-left: 0.1875em;
  margin-right: calc(-0.375em - 1px);
}

.button .icon:first-child:last-child {
  margin-left: calc(-0.375em - 1px);
  margin-right: calc(-0.375em - 1px);
}

.button:hover, .button.is-hovered {
  border-color: #b5b5b5;
  color: #363636;
}

.button:focus, .button.is-focused {
  border-color: #00d1b2;
  box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25);
  color: #363636;
}

.button:active, .button.is-active {
  border-color: #4a4a4a;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: #363636;
}

.button.is-link {
  background-color: transparent;
  border-color: transparent;
  color: #4a4a4a;
  text-decoration: underline;
}

.button.is-link:hover, .button.is-link.is-hovered, .button.is-link:focus, .button.is-link.is-focused, .button.is-link:active, .button.is-link.is-active {
  background-color: whitesmoke;
  color: #363636;
}

.button.is-link[disabled] {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}

.button.is-white {
  background-color: white;
  border-color: transparent;
  color: #0a0a0a;
}

.button.is-white:hover, .button.is-white.is-hovered {
  background-color: #f9f9f9;
  border-color: transparent;
  color: #0a0a0a;
}

.button.is-white:focus, .button.is-white.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
  color: #0a0a0a;
}

.button.is-white:active, .button.is-white.is-active {
  background-color: #f2f2f2;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: #0a0a0a;
}

.button.is-white[disabled] {
  background-color: white;
  border-color: transparent;
  box-shadow: none;
}

.button.is-white.is-inverted {
  background-color: #0a0a0a;
  color: white;
}

.button.is-white.is-inverted:hover {
  background-color: black;
}

.button.is-white.is-inverted[disabled] {
  background-color: #0a0a0a;
  border-color: transparent;
  box-shadow: none;
  color: white;
}

.button.is-white.is-loading:after {
  border-color: transparent transparent #0a0a0a #0a0a0a !important;
}

.button.is-white.is-outlined {
  background-color: transparent;
  border-color: white;
  color: white;
}

.button.is-white.is-outlined:hover, .button.is-white.is-outlined:focus {
  background-color: white;
  border-color: white;
  color: #0a0a0a;
}

.button.is-white.is-outlined.is-loading:after {
  border-color: transparent transparent white white !important;
}

.button.is-white.is-outlined[disabled] {
  background-color: transparent;
  border-color: white;
  box-shadow: none;
  color: white;
}

.button.is-white.is-inverted.is-outlined {
  background-color: transparent;
  border-color: #0a0a0a;
  color: #0a0a0a;
}

.button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined:focus {
  background-color: #0a0a0a;
  color: white;
}

.button.is-white.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: #0a0a0a;
  box-shadow: none;
  color: #0a0a0a;
}

.button.is-black {
  background-color: #0a0a0a;
  border-color: transparent;
  color: white;
}

.button.is-black:hover, .button.is-black.is-hovered {
  background-color: #040404;
  border-color: transparent;
  color: white;
}

.button.is-black:focus, .button.is-black.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
  color: white;
}

.button.is-black:active, .button.is-black.is-active {
  background-color: black;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: white;
}

.button.is-black[disabled] {
  background-color: #0a0a0a;
  border-color: transparent;
  box-shadow: none;
}

.button.is-black.is-inverted {
  background-color: white;
  color: #0a0a0a;
}

.button.is-black.is-inverted:hover {
  background-color: #f2f2f2;
}

.button.is-black.is-inverted[disabled] {
  background-color: white;
  border-color: transparent;
  box-shadow: none;
  color: #0a0a0a;
}

.button.is-black.is-loading:after {
  border-color: transparent transparent white white !important;
}

.button.is-black.is-outlined {
  background-color: transparent;
  border-color: #0a0a0a;
  color: #0a0a0a;
}

.button.is-black.is-outlined:hover, .button.is-black.is-outlined:focus {
  background-color: #0a0a0a;
  border-color: #0a0a0a;
  color: white;
}

.button.is-black.is-outlined.is-loading:after {
  border-color: transparent transparent #0a0a0a #0a0a0a !important;
}

.button.is-black.is-outlined[disabled] {
  background-color: transparent;
  border-color: #0a0a0a;
  box-shadow: none;
  color: #0a0a0a;
}

.button.is-black.is-inverted.is-outlined {
  background-color: transparent;
  border-color: white;
  color: white;
}

.button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined:focus {
  background-color: white;
  color: #0a0a0a;
}

.button.is-black.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: white;
  box-shadow: none;
  color: white;
}

.button.is-light {
  background-color: whitesmoke;
  border-color: transparent;
  color: #363636;
}

.button.is-light:hover, .button.is-light.is-hovered {
  background-color: #eeeeee;
  border-color: transparent;
  color: #363636;
}

.button.is-light:focus, .button.is-light.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
  color: #363636;
}

.button.is-light:active, .button.is-light.is-active {
  background-color: #e8e8e8;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: #363636;
}

.button.is-light[disabled] {
  background-color: whitesmoke;
  border-color: transparent;
  box-shadow: none;
}

.button.is-light.is-inverted {
  background-color: #363636;
  color: whitesmoke;
}

.button.is-light.is-inverted:hover {
  background-color: #292929;
}

.button.is-light.is-inverted[disabled] {
  background-color: #363636;
  border-color: transparent;
  box-shadow: none;
  color: whitesmoke;
}

.button.is-light.is-loading:after {
  border-color: transparent transparent #363636 #363636 !important;
}

.button.is-light.is-outlined {
  background-color: transparent;
  border-color: whitesmoke;
  color: whitesmoke;
}

.button.is-light.is-outlined:hover, .button.is-light.is-outlined:focus {
  background-color: whitesmoke;
  border-color: whitesmoke;
  color: #363636;
}

.button.is-light.is-outlined.is-loading:after {
  border-color: transparent transparent whitesmoke whitesmoke !important;
}

.button.is-light.is-outlined[disabled] {
  background-color: transparent;
  border-color: whitesmoke;
  box-shadow: none;
  color: whitesmoke;
}

.button.is-light.is-inverted.is-outlined {
  background-color: transparent;
  border-color: #363636;
  color: #363636;
}

.button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined:focus {
  background-color: #363636;
  color: whitesmoke;
}

.button.is-light.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: #363636;
  box-shadow: none;
  color: #363636;
}

.button.is-dark {
  background-color: #363636;
  border-color: transparent;
  color: whitesmoke;
}

.button.is-dark:hover, .button.is-dark.is-hovered {
  background-color: #2f2f2f;
  border-color: transparent;
  color: whitesmoke;
}

.button.is-dark:focus, .button.is-dark.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
  color: whitesmoke;
}

.button.is-dark:active, .button.is-dark.is-active {
  background-color: #292929;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: whitesmoke;
}

.button.is-dark[disabled] {
  background-color: #363636;
  border-color: transparent;
  box-shadow: none;
}

.button.is-dark.is-inverted {
  background-color: whitesmoke;
  color: #363636;
}

.button.is-dark.is-inverted:hover {
  background-color: #e8e8e8;
}

.button.is-dark.is-inverted[disabled] {
  background-color: whitesmoke;
  border-color: transparent;
  box-shadow: none;
  color: #363636;
}

.button.is-dark.is-loading:after {
  border-color: transparent transparent whitesmoke whitesmoke !important;
}

.button.is-dark.is-outlined {
  background-color: transparent;
  border-color: #363636;
  color: #363636;
}

.button.is-dark.is-outlined:hover, .button.is-dark.is-outlined:focus {
  background-color: #363636;
  border-color: #363636;
  color: whitesmoke;
}

.button.is-dark.is-outlined.is-loading:after {
  border-color: transparent transparent #363636 #363636 !important;
}

.button.is-dark.is-outlined[disabled] {
  background-color: transparent;
  border-color: #363636;
  box-shadow: none;
  color: #363636;
}

.button.is-dark.is-inverted.is-outlined {
  background-color: transparent;
  border-color: whitesmoke;
  color: whitesmoke;
}

.button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined:focus {
  background-color: whitesmoke;
  color: #363636;
}

.button.is-dark.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: whitesmoke;
  box-shadow: none;
  color: whitesmoke;
}

.button.is-primary {
  background-color: #00d1b2;
  border-color: transparent;
  color: #fff;
}

.button.is-primary:hover, .button.is-primary.is-hovered {
  background-color: #00c4a7;
  border-color: transparent;
  color: #fff;
}

.button.is-primary:focus, .button.is-primary.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25);
  color: #fff;
}

.button.is-primary:active, .button.is-primary.is-active {
  background-color: #00b89c;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: #fff;
}

.button.is-primary[disabled] {
  background-color: #00d1b2;
  border-color: transparent;
  box-shadow: none;
}

.button.is-primary.is-inverted {
  background-color: #fff;
  color: #00d1b2;
}

.button.is-primary.is-inverted:hover {
  background-color: #f2f2f2;
}

.button.is-primary.is-inverted[disabled] {
  background-color: #fff;
  border-color: transparent;
  box-shadow: none;
  color: #00d1b2;
}

.button.is-primary.is-loading:after {
  border-color: transparent transparent #fff #fff !important;
}

.button.is-primary.is-outlined {
  background-color: transparent;
  border-color: #00d1b2;
  color: #00d1b2;
}

.button.is-primary.is-outlined:hover, .button.is-primary.is-outlined:focus {
  background-color: #00d1b2;
  border-color: #00d1b2;
  color: #fff;
}

.button.is-primary.is-outlined.is-loading:after {
  border-color: transparent transparent #00d1b2 #00d1b2 !important;
}

.button.is-primary.is-outlined[disabled] {
  background-color: transparent;
  border-color: #00d1b2;
  box-shadow: none;
  color: #00d1b2;
}

.button.is-primary.is-inverted.is-outlined {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}

.button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined:focus {
  background-color: #fff;
  color: #00d1b2;
}

.button.is-primary.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: #fff;
  box-shadow: none;
  color: #fff;
}

.button.is-info {
  background-color: #3273dc;
  border-color: transparent;
  color: #fff;
}

.button.is-info:hover, .button.is-info.is-hovered {
  background-color: #276cda;
  border-color: transparent;
  color: #fff;
}

.button.is-info:focus, .button.is-info.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);
  color: #fff;
}

.button.is-info:active, .button.is-info.is-active {
  background-color: #2366d1;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: #fff;
}

.button.is-info[disabled] {
  background-color: #3273dc;
  border-color: transparent;
  box-shadow: none;
}

.button.is-info.is-inverted {
  background-color: #fff;
  color: #3273dc;
}

.button.is-info.is-inverted:hover {
  background-color: #f2f2f2;
}

.button.is-info.is-inverted[disabled] {
  background-color: #fff;
  border-color: transparent;
  box-shadow: none;
  color: #3273dc;
}

.button.is-info.is-loading:after {
  border-color: transparent transparent #fff #fff !important;
}

.button.is-info.is-outlined {
  background-color: transparent;
  border-color: #3273dc;
  color: #3273dc;
}

.button.is-info.is-outlined:hover, .button.is-info.is-outlined:focus {
  background-color: #3273dc;
  border-color: #3273dc;
  color: #fff;
}

.button.is-info.is-outlined.is-loading:after {
  border-color: transparent transparent #3273dc #3273dc !important;
}

.button.is-info.is-outlined[disabled] {
  background-color: transparent;
  border-color: #3273dc;
  box-shadow: none;
  color: #3273dc;
}

.button.is-info.is-inverted.is-outlined {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}

.button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined:focus {
  background-color: #fff;
  color: #3273dc;
}

.button.is-info.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: #fff;
  box-shadow: none;
  color: #fff;
}

.button.is-success {
  background-color: #23d160;
  border-color: transparent;
  color: #fff;
}

.button.is-success:hover, .button.is-success.is-hovered {
  background-color: #22c65b;
  border-color: transparent;
  color: #fff;
}

.button.is-success:focus, .button.is-success.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(35, 209, 96, 0.25);
  color: #fff;
}

.button.is-success:active, .button.is-success.is-active {
  background-color: #20bc56;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: #fff;
}

.button.is-success[disabled] {
  background-color: #23d160;
  border-color: transparent;
  box-shadow: none;
}

.button.is-success.is-inverted {
  background-color: #fff;
  color: #23d160;
}

.button.is-success.is-inverted:hover {
  background-color: #f2f2f2;
}

.button.is-success.is-inverted[disabled] {
  background-color: #fff;
  border-color: transparent;
  box-shadow: none;
  color: #23d160;
}

.button.is-success.is-loading:after {
  border-color: transparent transparent #fff #fff !important;
}

.button.is-success.is-outlined {
  background-color: transparent;
  border-color: #23d160;
  color: #23d160;
}

.button.is-success.is-outlined:hover, .button.is-success.is-outlined:focus {
  background-color: #23d160;
  border-color: #23d160;
  color: #fff;
}

.button.is-success.is-outlined.is-loading:after {
  border-color: transparent transparent #23d160 #23d160 !important;
}

.button.is-success.is-outlined[disabled] {
  background-color: transparent;
  border-color: #23d160;
  box-shadow: none;
  color: #23d160;
}

.button.is-success.is-inverted.is-outlined {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}

.button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined:focus {
  background-color: #fff;
  color: #23d160;
}

.button.is-success.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: #fff;
  box-shadow: none;
  color: #fff;
}

.button.is-warning {
  background-color: #ffdd57;
  border-color: transparent;
  color: rgba(0, 0, 0, 0.7);
}

.button.is-warning:hover, .button.is-warning.is-hovered {
  background-color: #ffdb4a;
  border-color: transparent;
  color: rgba(0, 0, 0, 0.7);
}

.button.is-warning:focus, .button.is-warning.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
  color: rgba(0, 0, 0, 0.7);
}

.button.is-warning:active, .button.is-warning.is-active {
  background-color: #ffd83d;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: rgba(0, 0, 0, 0.7);
}

.button.is-warning[disabled] {
  background-color: #ffdd57;
  border-color: transparent;
  box-shadow: none;
}

.button.is-warning.is-inverted {
  background-color: rgba(0, 0, 0, 0.7);
  color: #ffdd57;
}

.button.is-warning.is-inverted:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

.button.is-warning.is-inverted[disabled] {
  background-color: rgba(0, 0, 0, 0.7);
  border-color: transparent;
  box-shadow: none;
  color: #ffdd57;
}

.button.is-warning.is-loading:after {
  border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;
}

.button.is-warning.is-outlined {
  background-color: transparent;
  border-color: #ffdd57;
  color: #ffdd57;
}

.button.is-warning.is-outlined:hover, .button.is-warning.is-outlined:focus {
  background-color: #ffdd57;
  border-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}

.button.is-warning.is-outlined.is-loading:after {
  border-color: transparent transparent #ffdd57 #ffdd57 !important;
}

.button.is-warning.is-outlined[disabled] {
  background-color: transparent;
  border-color: #ffdd57;
  box-shadow: none;
  color: #ffdd57;
}

.button.is-warning.is-inverted.is-outlined {
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0.7);
  color: rgba(0, 0, 0, 0.7);
}

.button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined:focus {
  background-color: rgba(0, 0, 0, 0.7);
  color: #ffdd57;
}

.button.is-warning.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0.7);
  box-shadow: none;
  color: rgba(0, 0, 0, 0.7);
}

.button.is-danger {
  background-color: #ff3860;
  border-color: transparent;
  color: #fff;
}

.button.is-danger:hover, .button.is-danger.is-hovered {
  background-color: #ff2b56;
  border-color: transparent;
  color: #fff;
}

.button.is-danger:focus, .button.is-danger.is-focused {
  border-color: transparent;
  box-shadow: 0 0 0.5em rgba(255, 56, 96, 0.25);
  color: #fff;
}

.button.is-danger:active, .button.is-danger.is-active {
  background-color: #ff1f4b;
  border-color: transparent;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
  color: #fff;
}

.button.is-danger[disabled] {
  background-color: #ff3860;
  border-color: transparent;
  box-shadow: none;
}

.button.is-danger.is-inverted {
  background-color: #fff;
  color: #ff3860;
}

.button.is-danger.is-inverted:hover {
  background-color: #f2f2f2;
}

.button.is-danger.is-inverted[disabled] {
  background-color: #fff;
  border-color: transparent;
  box-shadow: none;
  color: #ff3860;
}

.button.is-danger.is-loading:after {
  border-color: transparent transparent #fff #fff !important;
}

.button.is-danger.is-outlined {
  background-color: transparent;
  border-color: #ff3860;
  color: #ff3860;
}

.button.is-danger.is-outlined:hover, .button.is-danger.is-outlined:focus {
  background-color: #ff3860;
  border-color: #ff3860;
  color: #fff;
}

.button.is-danger.is-outlined.is-loading:after {
  border-color: transparent transparent #ff3860 #ff3860 !important;
}

.button.is-danger.is-outlined[disabled] {
  background-color: transparent;
  border-color: #ff3860;
  box-shadow: none;
  color: #ff3860;
}

.button.is-danger.is-inverted.is-outlined {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}

.button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined:focus {
  background-color: #fff;
  color: #ff3860;
}

.button.is-danger.is-inverted.is-outlined[disabled] {
  background-color: transparent;
  border-color: #fff;
  box-shadow: none;
  color: #fff;
}

.button.is-small {
  border-radius: 2px;
  font-size: 0.75rem;
}

.button.is-medium {
  font-size: 1.25rem;
}

.button.is-large {
  font-size: 1.5rem;
}

.button[disabled] {
  background-color: white;
  border-color: #dbdbdb;
  box-shadow: none;
  opacity: 0.5;
}

.button.is-fullwidth {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.button.is-loading {
  color: transparent !important;
  pointer-events: none;
}

.button.is-loading:after {
  -webkit-animation: spinAround 500ms infinite linear;
          animation: spinAround 500ms infinite linear;
  border: 2px solid #dbdbdb;
  border-radius: 290486px;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  display: block;
  height: 1em;
  position: relative;
  width: 1em;
  position: absolute;
  left: calc(50% - (1em / 2));
  top: calc(50% - (1em / 2));
  position: absolute !important;
}

button.button,
input[type="submit"].button {
  line-height: 1;
  padding-bottom: 0.4em;
  padding-top: 0.35em;
}

.content {
  color: #4a4a4a;
}

.content:not(:last-child) {
  margin-bottom: 1.5rem;
}

.content li + li {
  margin-top: 0.25em;
}

.content p:not(:last-child),
.content dl:not(:last-child),
.content ol:not(:last-child),
.content ul:not(:last-child),
.content blockquote:not(:last-child),
.content pre:not(:last-child),
.content table:not(:last-child) {
  margin-bottom: 1em;
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  color: #363636;
  font-weight: 400;
  line-height: 1.125;
}

.content h1 {
  font-size: 2em;
  margin-bottom: 0.5em;
}

.content h1:not(:first-child) {
  margin-top: 1em;
}

.content h2 {
  font-size: 1.75em;
  margin-bottom: 0.5714em;
}

.content h2:not(:first-child) {
  margin-top: 1.1428em;
}

.content h3 {
  font-size: 1.5em;
  margin-bottom: 0.6666em;
}

.content h3:not(:first-child) {
  margin-top: 1.3333em;
}

.content h4 {
  font-size: 1.25em;
  margin-bottom: 0.8em;
}

.content h5 {
  font-size: 1.125em;
  margin-bottom: 0.8888em;
}

.content h6 {
  font-size: 1em;
  margin-bottom: 1em;
}

.content blockquote {
  background-color: whitesmoke;
  border-left: 5px solid #dbdbdb;
  padding: 1.25em 1.5em;
}

.content ol {
  list-style: decimal outside;
  margin-left: 2em;
  margin-right: 2em;
  margin-top: 1em;
}

.content ul {
  list-style: disc outside;
  margin-left: 2em;
  margin-right: 2em;
  margin-top: 1em;
}

.content ul ul {
  list-style-type: circle;
  margin-top: 0.5em;
}

.content ul ul ul {
  list-style-type: square;
}

.content dd {
  margin-left: 2em;
}

.content pre {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  padding: 1.25em 1.5em;
  white-space: pre;
  word-wrap: normal;
}

.content table {
  width: 100%;
}

.content table td,
.content table th {
  border: 1px solid #dbdbdb;
  border-width: 0 0 1px;
  padding: 0.5em 0.75em;
  vertical-align: top;
}

.content table th {
  color: #363636;
  text-align: left;
}

.content table tr:hover {
  background-color: whitesmoke;
}

.content table thead td,
.content table thead th {
  border-width: 0 0 2px;
  color: #363636;
}

.content table tfoot td,
.content table tfoot th {
  border-width: 2px 0 0;
  color: #363636;
}

.content table tbody tr:last-child td,
.content table tbody tr:last-child th {
  border-bottom-width: 0;
}

.content.is-small {
  font-size: 0.75rem;
}

.content.is-medium {
  font-size: 1.25rem;
}

.content.is-large {
  font-size: 1.5rem;
}

.input,
.textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid transparent;
  border-radius: 3px;
  box-shadow: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1rem;
  height: 2.25em;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1.5;
  padding-bottom: calc(0.375em - 1px);
  padding-left: calc(0.625em - 1px);
  padding-right: calc(0.625em - 1px);
  padding-top: calc(0.375em - 1px);
  position: relative;
  vertical-align: top;
  background-color: white;
  border-color: #dbdbdb;
  color: #363636;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  max-width: 100%;
  width: 100%;
}

.input:focus, .input.is-focused, .input:active, .input.is-active,
.textarea:focus,
.textarea.is-focused,
.textarea:active,
.textarea.is-active {
  outline: none;
}

.input[disabled],
.textarea[disabled] {
  cursor: not-allowed;
}

.input:hover, .input.is-hovered,
.textarea:hover,
.textarea.is-hovered {
  border-color: #b5b5b5;
}

.input:focus, .input.is-focused, .input:active, .input.is-active,
.textarea:focus,
.textarea.is-focused,
.textarea:active,
.textarea.is-active {
  border-color: #00d1b2;
}

.input[disabled],
.textarea[disabled] {
  background-color: whitesmoke;
  border-color: whitesmoke;
  box-shadow: none;
  color: #7a7a7a;
}

.input[disabled]::-moz-placeholder,
.textarea[disabled]::-moz-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.input[disabled]::-webkit-input-placeholder,
.textarea[disabled]::-webkit-input-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.input[disabled]:-moz-placeholder,
.textarea[disabled]:-moz-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.input[disabled]:-ms-input-placeholder,
.textarea[disabled]:-ms-input-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.input[type="search"],
.textarea[type="search"] {
  border-radius: 290486px;
}

.input.is-white,
.textarea.is-white {
  border-color: white;
}

.input.is-black,
.textarea.is-black {
  border-color: #0a0a0a;
}

.input.is-light,
.textarea.is-light {
  border-color: whitesmoke;
}

.input.is-dark,
.textarea.is-dark {
  border-color: #363636;
}

.input.is-primary,
.textarea.is-primary {
  border-color: #00d1b2;
}

.input.is-info,
.textarea.is-info {
  border-color: #3273dc;
}

.input.is-success,
.textarea.is-success {
  border-color: #23d160;
}

.input.is-warning,
.textarea.is-warning {
  border-color: #ffdd57;
}

.input.is-danger,
.textarea.is-danger {
  border-color: #ff3860;
}

.input.is-small,
.textarea.is-small {
  border-radius: 2px;
  font-size: 0.75rem;
}

.input.is-medium,
.textarea.is-medium {
  font-size: 1.25rem;
}

.input.is-large,
.textarea.is-large {
  font-size: 1.5rem;
}

.input.is-fullwidth,
.textarea.is-fullwidth {
  display: block;
  width: 100%;
}

.input.is-inline,
.textarea.is-inline {
  display: inline;
  width: auto;
}

.textarea {
  display: block;
  max-height: 600px;
  max-width: 100%;
  min-height: 120px;
  min-width: 100%;
  padding: 0.625em;
  resize: vertical;
}

.checkbox,
.radio {
  cursor: pointer;
  display: inline-block;
  line-height: 1.25;
  position: relative;
}

.checkbox input,
.radio input {
  cursor: pointer;
}

.checkbox:hover,
.radio:hover {
  color: #363636;
}

.checkbox[disabled],
.radio[disabled] {
  color: #7a7a7a;
  cursor: not-allowed;
}

.radio + .radio {
  margin-left: 0.5em;
}

.select {
  display: inline-block;
  height: 2.25em;
  position: relative;
  vertical-align: top;
}

.select:after {
  border: 1px solid #00d1b2;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.5em;
  pointer-events: none;
  position: absolute;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 0.5em;
  margin-top: -0.375em;
  right: 1.125em;
  top: 50%;
  z-index: 4;
}

.select select {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid transparent;
  border-radius: 3px;
  box-shadow: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1rem;
  height: 2.25em;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1.5;
  padding-bottom: calc(0.375em - 1px);
  padding-left: calc(0.625em - 1px);
  padding-right: calc(0.625em - 1px);
  padding-top: calc(0.375em - 1px);
  position: relative;
  vertical-align: top;
  background-color: white;
  border-color: #dbdbdb;
  color: #363636;
  cursor: pointer;
  display: block;
  font-size: 1em;
  outline: none;
  padding-right: 2.5em;
}

.select select:focus, .select select.is-focused, .select select:active, .select select.is-active {
  outline: none;
}

.select select[disabled] {
  cursor: not-allowed;
}

.select select:hover, .select select.is-hovered {
  border-color: #b5b5b5;
}

.select select:focus, .select select.is-focused, .select select:active, .select select.is-active {
  border-color: #00d1b2;
}

.select select[disabled] {
  background-color: whitesmoke;
  border-color: whitesmoke;
  box-shadow: none;
  color: #7a7a7a;
}

.select select[disabled]::-moz-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.select select[disabled]::-webkit-input-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.select select[disabled]:-moz-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.select select[disabled]:-ms-input-placeholder {
  color: rgba(54, 54, 54, 0.3);
}

.select select:hover {
  border-color: #b5b5b5;
}

.select select::-ms-expand {
  display: none;
}

.select select[disabled]:hover {
  border-color: whitesmoke;
}

.select:hover:after {
  border-color: #363636;
}

.select.is-white select {
  border-color: white;
}

.select.is-black select {
  border-color: #0a0a0a;
}

.select.is-light select {
  border-color: whitesmoke;
}

.select.is-dark select {
  border-color: #363636;
}

.select.is-primary select {
  border-color: #00d1b2;
}

.select.is-info select {
  border-color: #3273dc;
}

.select.is-success select {
  border-color: #23d160;
}

.select.is-warning select {
  border-color: #ffdd57;
}

.select.is-danger select {
  border-color: #ff3860;
}

.select.is-small {
  border-radius: 2px;
  font-size: 0.75rem;
}

.select.is-medium {
  font-size: 1.25rem;
}

.select.is-large {
  font-size: 1.5rem;
}

.select.is-disabled:after {
  border-color: #7a7a7a;
}

.select.is-fullwidth {
  width: 100%;
}

.select.is-fullwidth select {
  width: 100%;
}

.select.is-loading:after {
  -webkit-animation: spinAround 500ms infinite linear;
          animation: spinAround 500ms infinite linear;
  border: 2px solid #dbdbdb;
  border-radius: 290486px;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  display: block;
  height: 1em;
  position: relative;
  width: 1em;
  margin-top: 0;
  position: absolute;
  right: 0.625em;
  top: 0.625em;
  -webkit-transform: none;
          transform: none;
}

.label {
  color: #363636;
  display: block;
  font-size: 1rem;
  font-weight: 700;
}

.label:not(:last-child) {
  margin-bottom: 0.5em;
}

.label.is-small {
  font-size: 0.75rem;
}

.label.is-medium {
  font-size: 1.25rem;
}

.label.is-large {
  font-size: 1.5rem;
}

.help {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.help.is-white {
  color: white;
}

.help.is-black {
  color: #0a0a0a;
}

.help.is-light {
  color: whitesmoke;
}

.help.is-dark {
  color: #363636;
}

.help.is-primary {
  color: #00d1b2;
}

.help.is-info {
  color: #3273dc;
}

.help.is-success {
  color: #23d160;
}

.help.is-warning {
  color: #ffdd57;
}

.help.is-danger {
  color: #ff3860;
}

.field:not(:last-child) {
  margin-bottom: 0.75rem;
}

.field.has-addons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.field.has-addons .control {
  margin-right: -1px;
}

.field.has-addons .control:first-child .button,
.field.has-addons .control:first-child .input,
.field.has-addons .control:first-child .select select {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.field.has-addons .control:last-child .button,
.field.has-addons .control:last-child .input,
.field.has-addons .control:last-child .select select {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}

.field.has-addons .control .button,
.field.has-addons .control .input,
.field.has-addons .control .select select {
  border-radius: 0;
}

.field.has-addons .control .button:hover, .field.has-addons .control .button.is-hovered,
.field.has-addons .control .input:hover,
.field.has-addons .control .input.is-hovered,
.field.has-addons .control .select select:hover,
.field.has-addons .control .select select.is-hovered {
  z-index: 2;
}

.field.has-addons .control .button:focus, .field.has-addons .control .button.is-focused, .field.has-addons .control .button:active, .field.has-addons .control .button.is-active,
.field.has-addons .control .input:focus,
.field.has-addons .control .input.is-focused,
.field.has-addons .control .input:active,
.field.has-addons .control .input.is-active,
.field.has-addons .control .select select:focus,
.field.has-addons .control .select select.is-focused,
.field.has-addons .control .select select:active,
.field.has-addons .control .select select.is-active {
  z-index: 3;
}

.field.has-addons .control .button:focus:hover, .field.has-addons .control .button.is-focused:hover, .field.has-addons .control .button:active:hover, .field.has-addons .control .button.is-active:hover,
.field.has-addons .control .input:focus:hover,
.field.has-addons .control .input.is-focused:hover,
.field.has-addons .control .input:active:hover,
.field.has-addons .control .input.is-active:hover,
.field.has-addons .control .select select:focus:hover,
.field.has-addons .control .select select.is-focused:hover,
.field.has-addons .control .select select:active:hover,
.field.has-addons .control .select select.is-active:hover {
  z-index: 4;
}

.field.has-addons .control.is-expanded {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.field.has-addons.has-addons-centered {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.field.has-addons.has-addons-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.field.has-addons.has-addons-fullwidth .control {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.field.is-grouped {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.field.is-grouped > .control {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.field.is-grouped > .control:not(:last-child) {
  margin-bottom: 0;
  margin-right: 0.75rem;
}

.field.is-grouped > .control.is-expanded {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}

.field.is-grouped.is-grouped-centered {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.field.is-grouped.is-grouped-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (min-width: 769px), print {
  .field.is-horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.field-label .label {
  font-size: inherit;
}

@media screen and (max-width: 768px) {
  .field-label {
    margin-bottom: 0.5rem;
  }
}

@media screen and (min-width: 769px), print {
  .field-label {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 1.5rem;
    text-align: right;
  }
  .field-label.is-small {
    font-size: 0.75rem;
    padding-top: 0.375em;
  }
  .field-label.is-normal {
    padding-top: 0.375em;
  }
  .field-label.is-medium {
    font-size: 1.25rem;
    padding-top: 0.375em;
  }
  .field-label.is-large {
    font-size: 1.5rem;
    padding-top: 0.375em;
  }
}

@media screen and (min-width: 769px), print {
  .field-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 5;
        -ms-flex-positive: 5;
            flex-grow: 5;
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
  .field-body .field {
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
  .field-body .field:not(.is-narrow) {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .field-body .field:not(:last-child) {
    margin-bottom: 0;
    margin-right: 0.75rem;
  }
}

.control {
  font-size: 1rem;
  position: relative;
  text-align: left;
}

.control.has-icon .icon {
  color: #dbdbdb;
  height: 2.25em;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 2.25em;
  z-index: 4;
}

.control.has-icon .input:focus + .icon {
  color: #7a7a7a;
}

.control.has-icon .input.is-small + .icon {
  font-size: 0.75rem;
}

.control.has-icon .input.is-medium + .icon {
  font-size: 1.25rem;
}

.control.has-icon .input.is-large + .icon {
  font-size: 1.5rem;
}

.control.has-icon:not(.has-icon-right) .icon {
  left: 0;
}

.control.has-icon:not(.has-icon-right) .input {
  padding-left: 2.25em;
}

.control.has-icon.has-icon-right .icon {
  right: 0;
}

.control.has-icon.has-icon-right .input {
  padding-right: 2.25em;
}

.control.has-icons-left .input:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon {
  color: #7a7a7a;
}

.control.has-icons-left .input.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon {
  font-size: 0.75rem;
}

.control.has-icons-left .input.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon {
  font-size: 1.25rem;
}

.control.has-icons-left .input.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon {
  font-size: 1.5rem;
}

.control.has-icons-left .icon, .control.has-icons-right .icon {
  color: #dbdbdb;
  height: 2.25em;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 2.25em;
  z-index: 4;
}

.control.has-icons-left .input {
  padding-left: 2.25em;
}

.control.has-icons-left .icon.is-left {
  left: 0;
}

.control.has-icons-right .input {
  padding-right: 2.25em;
}

.control.has-icons-right .icon.is-right {
  right: 0;
}

.control.is-loading:after {
  -webkit-animation: spinAround 500ms infinite linear;
          animation: spinAround 500ms infinite linear;
  border: 2px solid #dbdbdb;
  border-radius: 290486px;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  display: block;
  height: 1em;
  position: relative;
  width: 1em;
  position: absolute !important;
  right: 0.625em;
  top: 0.625em;
}

.icon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 1.5rem;
  width: 1.5rem;
}

.icon .fa {
  font-size: 21px;
}

.icon.is-small {
  height: 1rem;
  width: 1rem;
}

.icon.is-small .fa {
  font-size: 14px;
}

.icon.is-medium {
  height: 2rem;
  width: 2rem;
}

.icon.is-medium .fa {
  font-size: 28px;
}

.icon.is-large {
  height: 3rem;
  width: 3rem;
}

.icon.is-large .fa {
  font-size: 42px;
}

.image {
  display: block;
  position: relative;
}

.image img {
  display: block;
  height: auto;
  width: 100%;
}

.image.is-square img, .image.is-1by1 img, .image.is-4by3 img, .image.is-3by2 img, .image.is-16by9 img, .image.is-2by1 img {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.image.is-square, .image.is-1by1 {
  padding-top: 100%;
}

.image.is-4by3 {
  padding-top: 75%;
}

.image.is-3by2 {
  padding-top: 66.6666%;
}

.image.is-16by9 {
  padding-top: 56.25%;
}

.image.is-2by1 {
  padding-top: 50%;
}

.image.is-16x16 {
  height: 16px;
  width: 16px;
}

.image.is-24x24 {
  height: 24px;
  width: 24px;
}

.image.is-32x32 {
  height: 32px;
  width: 32px;
}

.image.is-48x48 {
  height: 48px;
  width: 48px;
}

.image.is-64x64 {
  height: 64px;
  width: 64px;
}

.image.is-96x96 {
  height: 96px;
  width: 96px;
}

.image.is-128x128 {
  height: 128px;
  width: 128px;
}

.notification {
  background-color: whitesmoke;
  border-radius: 3px;
  padding: 1.25rem 2.5rem 1.25rem 1.5rem;
  position: relative;
}

.notification:not(:last-child) {
  margin-bottom: 1.5rem;
}

.notification a:not(.button) {
  color: currentColor;
  text-decoration: underline;
}

.notification code,
.notification pre {
  background: white;
}

.notification pre code {
  background: transparent;
}

.notification > .delete {
  position: absolute;
  right: 0.5em;
  top: 0.5em;
}

.notification .title,
.notification .subtitle,
.notification .content {
  color: inherit;
}

.notification.is-white {
  background-color: white;
  color: #0a0a0a;
}

.notification.is-black {
  background-color: #0a0a0a;
  color: white;
}

.notification.is-light {
  background-color: whitesmoke;
  color: #363636;
}

.notification.is-dark {
  background-color: #363636;
  color: whitesmoke;
}

.notification.is-primary {
  background-color: #00d1b2;
  color: #fff;
}

.notification.is-info {
  background-color: #3273dc;
  color: #fff;
}

.notification.is-success {
  background-color: #23d160;
  color: #fff;
}

.notification.is-warning {
  background-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}

.notification.is-danger {
  background-color: #ff3860;
  color: #fff;
}

.progress {
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  border-radius: 290486px;
  display: block;
  height: 1rem;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.progress:not(:last-child) {
  margin-bottom: 1.5rem;
}

.progress::-webkit-progress-bar {
  background-color: #dbdbdb;
}

.progress::-webkit-progress-value {
  background-color: #4a4a4a;
}

.progress::-moz-progress-bar {
  background-color: #4a4a4a;
}

.progress.is-white::-webkit-progress-value {
  background-color: white;
}

.progress.is-white::-moz-progress-bar {
  background-color: white;
}

.progress.is-black::-webkit-progress-value {
  background-color: #0a0a0a;
}

.progress.is-black::-moz-progress-bar {
  background-color: #0a0a0a;
}

.progress.is-light::-webkit-progress-value {
  background-color: whitesmoke;
}

.progress.is-light::-moz-progress-bar {
  background-color: whitesmoke;
}

.progress.is-dark::-webkit-progress-value {
  background-color: #363636;
}

.progress.is-dark::-moz-progress-bar {
  background-color: #363636;
}

.progress.is-primary::-webkit-progress-value {
  background-color: #00d1b2;
}

.progress.is-primary::-moz-progress-bar {
  background-color: #00d1b2;
}

.progress.is-info::-webkit-progress-value {
  background-color: #3273dc;
}

.progress.is-info::-moz-progress-bar {
  background-color: #3273dc;
}

.progress.is-success::-webkit-progress-value {
  background-color: #23d160;
}

.progress.is-success::-moz-progress-bar {
  background-color: #23d160;
}

.progress.is-warning::-webkit-progress-value {
  background-color: #ffdd57;
}

.progress.is-warning::-moz-progress-bar {
  background-color: #ffdd57;
}

.progress.is-danger::-webkit-progress-value {
  background-color: #ff3860;
}

.progress.is-danger::-moz-progress-bar {
  background-color: #ff3860;
}

.progress.is-small {
  height: 0.75rem;
}

.progress.is-medium {
  height: 1.25rem;
}

.progress.is-large {
  height: 1.5rem;
}

.table {
  background-color: white;
  color: #363636;
  margin-bottom: 1.5rem;
  width: 100%;
}

.table td,
.table th {
  border: 1px solid #dbdbdb;
  border-width: 0 0 1px;
  padding: 0.5em 0.75em;
  vertical-align: top;
}

.table td.is-narrow,
.table th.is-narrow {
  white-space: nowrap;
  width: 1%;
}

.table th {
  color: #363636;
  text-align: left;
}

.table tr:hover {
  background-color: #fafafa;
}

.table tr.is-selected {
  background-color: #00d1b2;
  color: #fff;
}

.table tr.is-selected a,
.table tr.is-selected strong {
  color: currentColor;
}

.table tr.is-selected td,
.table tr.is-selected th {
  border-color: #fff;
  color: currentColor;
}

.table thead td,
.table thead th {
  border-width: 0 0 2px;
  color: #7a7a7a;
}

.table tfoot td,
.table tfoot th {
  border-width: 2px 0 0;
  color: #7a7a7a;
}

.table tbody tr:last-child td,
.table tbody tr:last-child th {
  border-bottom-width: 0;
}

.table.is-bordered td,
.table.is-bordered th {
  border-width: 1px;
}

.table.is-bordered tr:last-child td,
.table.is-bordered tr:last-child th {
  border-bottom-width: 1px;
}

.table.is-narrow td,
.table.is-narrow th {
  padding: 0.25em 0.5em;
}

.table.is-striped tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.table.is-striped tbody tr:nth-child(even):hover {
  background-color: whitesmoke;
}

.tag {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: whitesmoke;
  border-radius: 290486px;
  color: #4a4a4a;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.75rem;
  height: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.5;
  padding-left: 0.875em;
  padding-right: 0.875em;
  white-space: nowrap;
}

.tag .delete {
  margin-left: 0.25em;
  margin-right: -0.375em;
}

.tag.is-white {
  background-color: white;
  color: #0a0a0a;
}

.tag.is-black {
  background-color: #0a0a0a;
  color: white;
}

.tag.is-light {
  background-color: whitesmoke;
  color: #363636;
}

.tag.is-dark {
  background-color: #363636;
  color: whitesmoke;
}

.tag.is-primary {
  background-color: #00d1b2;
  color: #fff;
}

.tag.is-info {
  background-color: #3273dc;
  color: #fff;
}

.tag.is-success {
  background-color: #23d160;
  color: #fff;
}

.tag.is-warning {
  background-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}

.tag.is-danger {
  background-color: #ff3860;
  color: #fff;
}

.tag.is-medium {
  font-size: 1rem;
}

.tag.is-large {
  font-size: 1.25rem;
}

.title,
.subtitle {
  word-break: break-word;
}

.title:not(:last-child),
.subtitle:not(:last-child) {
  margin-bottom: 1.5rem;
}

.title em,
.title span,
.subtitle em,
.subtitle span {
  font-weight: 300;
}

.title strong,
.subtitle strong {
  font-weight: 500;
}

.title .tag,
.subtitle .tag {
  vertical-align: middle;
}

.title {
  color: #363636;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.125;
}

.title strong {
  color: inherit;
}

.title + .highlight {
  margin-top: -0.75rem;
}

.title:not(.is-spaced) + .subtitle {
  margin-top: -1.5rem;
}

.title.is-1 {
  font-size: 3rem;
}

.title.is-2 {
  font-size: 2.5rem;
}

.title.is-3 {
  font-size: 2rem;
}

.title.is-4 {
  font-size: 1.5rem;
}

.title.is-5 {
  font-size: 1.25rem;
}

.title.is-6 {
  font-size: 1rem;
}

.subtitle {
  color: #4a4a4a;
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.25;
}

.subtitle strong {
  color: #363636;
}

.subtitle:not(.is-spaced) + .title {
  margin-top: -1.5rem;
}

.subtitle.is-1 {
  font-size: 3rem;
}

.subtitle.is-2 {
  font-size: 2.5rem;
}

.subtitle.is-3 {
  font-size: 2rem;
}

.subtitle.is-4 {
  font-size: 1.5rem;
}

.subtitle.is-5 {
  font-size: 1.25rem;
}

.subtitle.is-6 {
  font-size: 1rem;
}

.block:not(:last-child) {
  margin-bottom: 1.5rem;
}

.container {
  position: relative;
}

@media screen and (min-width: 1000px) {
  .container {
    margin: 0 auto;
    max-width: 960px;
    width: 960px;
  }
  .container.is-fluid {
    margin: 0 20px;
    max-width: none;
    width: auto;
  }
}

@media screen and (min-width: 1192px) {
  .container {
    max-width: 1152px;
    width: 1152px;
  }
}

@media screen and (min-width: 1384px) {
  .container {
    max-width: 1344px;
    width: 1344px;
  }
}

.delete {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-color: rgba(10, 10, 10, 0.2);
  border: none;
  border-radius: 290486px;
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  height: 20px;
  outline: none;
  position: relative;
  vertical-align: top;
  width: 20px;
}

.delete:before, .delete:after {
  background-color: white;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
          transform: translateX(-50%) translateY(-50%) rotate(45deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.delete:before {
  height: 2px;
  width: 50%;
}

.delete:after {
  height: 50%;
  width: 2px;
}

.delete:hover, .delete:focus {
  background-color: rgba(10, 10, 10, 0.3);
}

.delete:active {
  background-color: rgba(10, 10, 10, 0.4);
}

.delete.is-small {
  height: 16px;
  width: 16px;
}

.delete.is-medium {
  height: 24px;
  width: 24px;
}

.delete.is-large {
  height: 32px;
  width: 32px;
}

.fa {
  font-size: 21px;
  text-align: center;
  vertical-align: top;
}

.heading {
  display: block;
  font-size: 11px;
  letter-spacing: 1px;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.highlight {
  font-weight: 400;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
}

.highlight:not(:last-child) {
  margin-bottom: 1.5rem;
}

.highlight pre {
  overflow: auto;
  max-width: 100%;
}

.loader {
  -webkit-animation: spinAround 500ms infinite linear;
          animation: spinAround 500ms infinite linear;
  border: 2px solid #dbdbdb;
  border-radius: 290486px;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  display: block;
  height: 1em;
  position: relative;
  width: 1em;
}

.number {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: whitesmoke;
  border-radius: 290486px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1.25rem;
  height: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 1.5rem;
  min-width: 2.5em;
  padding: 0.25rem 0.5rem;
  text-align: center;
  vertical-align: top;
}

.card-header {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.card-header-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #363636;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-weight: 700;
  padding: 0.75rem;
}

.card-header-icon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.75rem;
}

.card-image {
  display: block;
  position: relative;
}

.card-content {
  padding: 1.5rem;
}

.card-footer {
  border-top: 1px solid #dbdbdb;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.card-footer-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.75rem;
}

.card-footer-item:not(:last-child) {
  border-right: 1px solid #dbdbdb;
}

.card {
  background-color: white;
  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
  color: #4a4a4a;
  max-width: 100%;
  position: relative;
}

.card .media:not(:last-child) {
  margin-bottom: 0.75rem;
}

.level-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.level-item .title,
.level-item .subtitle {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .level-item:not(:last-child) {
    margin-bottom: 0.75rem;
  }
}

.level-left,
.level-right {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.level-left .level-item:not(:last-child),
.level-right .level-item:not(:last-child) {
  margin-right: 0.75rem;
}

.level-left .level-item.is-flexible,
.level-right .level-item.is-flexible {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.level-left {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (max-width: 768px) {
  .level-left + .level-right {
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 769px), print {
  .level-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.level-right {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (min-width: 769px), print {
  .level-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.level {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.level:not(:last-child) {
  margin-bottom: 1.5rem;
}

.level code {
  border-radius: 3px;
}

.level img {
  display: inline-block;
  vertical-align: top;
}

.level.is-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.level.is-mobile .level-left,
.level.is-mobile .level-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.level.is-mobile .level-left + .level-right {
  margin-top: 0;
}

.level.is-mobile .level-item:not(:last-child) {
  margin-bottom: 0;
}

.level.is-mobile .level-item:not(.is-narrow) {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

@media screen and (min-width: 769px), print {
  .level {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .level > .level-item:not(.is-narrow) {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}

.media-left,
.media-right {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.media-left {
  margin-right: 1rem;
}

.media-right {
  margin-left: 1rem;
}

.media-content {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  text-align: left;
}

.media {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
}

.media .content:not(:last-child) {
  margin-bottom: 0.75rem;
}

.media .media {
  border-top: 1px solid rgba(219, 219, 219, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 0.75rem;
}

.media .media .content:not(:last-child),
.media .media .control:not(:last-child) {
  margin-bottom: 0.5rem;
}

.media .media .media {
  padding-top: 0.5rem;
}

.media .media .media + .media {
  margin-top: 0.5rem;
}

.media + .media {
  border-top: 1px solid rgba(219, 219, 219, 0.5);
  margin-top: 1rem;
  padding-top: 1rem;
}

.media.is-large + .media {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.menu {
  font-size: 1rem;
}

.menu-list {
  line-height: 1.25;
}

.menu-list a {
  border-radius: 2px;
  color: #4a4a4a;
  display: block;
  padding: 0.5em 0.75em;
}

.menu-list a:hover {
  background-color: whitesmoke;
  color: #00d1b2;
}

.menu-list a.is-active {
  background-color: #00d1b2;
  color: #fff;
}

.menu-list li ul {
  border-left: 1px solid #dbdbdb;
  margin: 0.75em;
  padding-left: 0.75em;
}

.menu-label {
  color: #7a7a7a;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.menu-label:not(:first-child) {
  margin-top: 1em;
}

.menu-label:not(:last-child) {
  margin-bottom: 1em;
}

.message {
  background-color: whitesmoke;
  border-radius: 3px;
  font-size: 1rem;
}

.message:not(:last-child) {
  margin-bottom: 1.5rem;
}

.message.is-white {
  background-color: white;
}

.message.is-white .message-header {
  background-color: white;
  color: #0a0a0a;
}

.message.is-white .message-body {
  border-color: white;
  color: #4d4d4d;
}

.message.is-black {
  background-color: #fafafa;
}

.message.is-black .message-header {
  background-color: #0a0a0a;
  color: white;
}

.message.is-black .message-body {
  border-color: #0a0a0a;
  color: #090909;
}

.message.is-light {
  background-color: #fafafa;
}

.message.is-light .message-header {
  background-color: whitesmoke;
  color: #363636;
}

.message.is-light .message-body {
  border-color: whitesmoke;
  color: #505050;
}

.message.is-dark {
  background-color: #fafafa;
}

.message.is-dark .message-header {
  background-color: #363636;
  color: whitesmoke;
}

.message.is-dark .message-body {
  border-color: #363636;
  color: #2a2a2a;
}

.message.is-primary {
  background-color: #f5fffd;
}

.message.is-primary .message-header {
  background-color: #00d1b2;
  color: #fff;
}

.message.is-primary .message-body {
  border-color: #00d1b2;
  color: #021310;
}

.message.is-info {
  background-color: #f6f9fe;
}

.message.is-info .message-header {
  background-color: #3273dc;
  color: #fff;
}

.message.is-info .message-body {
  border-color: #3273dc;
  color: #22509a;
}

.message.is-success {
  background-color: #f6fef9;
}

.message.is-success .message-header {
  background-color: #23d160;
  color: #fff;
}

.message.is-success .message-body {
  border-color: #23d160;
  color: #0e301a;
}

.message.is-warning {
  background-color: #fffdf5;
}

.message.is-warning .message-header {
  background-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}

.message.is-warning .message-body {
  border-color: #ffdd57;
  color: #3b3108;
}

.message.is-danger {
  background-color: #fff5f7;
}

.message.is-danger .message-header {
  background-color: #ff3860;
  color: #fff;
}

.message.is-danger .message-body {
  border-color: #ff3860;
  color: #cd0930;
}

.message-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #4a4a4a;
  border-radius: 3px 3px 0 0;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1.25;
  padding: 0.5em 0.75em;
  position: relative;
}

.message-header a,
.message-header strong {
  color: inherit;
}

.message-header a {
  text-decoration: underline;
}

.message-header .delete {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 0.75em;
}

.message-header + .message-body {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: none;
}

.message-body {
  border: 1px solid #dbdbdb;
  border-radius: 3px;
  color: #4a4a4a;
  padding: 1em 1.25em;
}

.message-body a,
.message-body strong {
  color: inherit;
}

.message-body a {
  text-decoration: underline;
}

.message-body code,
.message-body pre {
  background: white;
}

.message-body pre code {
  background: transparent;
}

.modal-background {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  background-color: rgba(10, 10, 10, 0.86);
}

.modal-content,
.modal-card {
  margin: 0 20px;
  max-height: calc(100vh - 160px);
  overflow: auto;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 769px), print {
  .modal-content,
  .modal-card {
    margin: 0 auto;
    max-height: calc(100vh - 40px);
    width: 640px;
  }
}

.modal-close {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-color: rgba(10, 10, 10, 0.2);
  border: none;
  border-radius: 290486px;
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  height: 20px;
  outline: none;
  position: relative;
  vertical-align: top;
  width: 20px;
  background: none;
  height: 40px;
  position: fixed;
  right: 20px;
  top: 20px;
  width: 40px;
}

.modal-close:before, .modal-close:after {
  background-color: white;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
          transform: translateX(-50%) translateY(-50%) rotate(45deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.modal-close:before {
  height: 2px;
  width: 50%;
}

.modal-close:after {
  height: 50%;
  width: 2px;
}

.modal-close:hover, .modal-close:focus {
  background-color: rgba(10, 10, 10, 0.3);
}

.modal-close:active {
  background-color: rgba(10, 10, 10, 0.4);
}

.modal-close.is-small {
  height: 16px;
  width: 16px;
}

.modal-close.is-medium {
  height: 24px;
  width: 24px;
}

.modal-close.is-large {
  height: 32px;
  width: 32px;
}

.modal-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: calc(100vh - 40px);
  overflow: hidden;
}

.modal-card-head,
.modal-card-foot {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: whitesmoke;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 20px;
  position: relative;
}

.modal-card-head {
  border-bottom: 1px solid #dbdbdb;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.modal-card-title {
  color: #363636;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 1.5rem;
  line-height: 1;
}

.modal-card-foot {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  border-top: 1px solid #dbdbdb;
}

.modal-card-foot .button:not(:last-child) {
  margin-right: 10px;
}

.modal-card-body {
  -webkit-overflow-scrolling: touch;
  background-color: white;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  overflow: auto;
  padding: 20px;
}

.modal {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  position: fixed;
  z-index: 20;
}

.modal.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.nav-toggle {
  cursor: pointer;
  display: block;
  height: 3.25rem;
  position: relative;
  width: 3.25rem;
}

.nav-toggle span {
  background-color: #4a4a4a;
  display: block;
  height: 1px;
  left: 50%;
  margin-left: -7px;
  position: absolute;
  top: 50%;
  -webkit-transition: none 86ms ease-out;
  transition: none 86ms ease-out;
  -webkit-transition-property: background, left, opacity, -webkit-transform;
  transition-property: background, left, opacity, -webkit-transform;
  transition-property: background, left, opacity, transform;
  transition-property: background, left, opacity, transform, -webkit-transform;
  width: 15px;
}

.nav-toggle span:nth-child(1) {
  margin-top: -6px;
}

.nav-toggle span:nth-child(2) {
  margin-top: -1px;
}

.nav-toggle span:nth-child(3) {
  margin-top: 4px;
}

.nav-toggle:hover {
  background-color: whitesmoke;
}

.nav-toggle.is-active span {
  background-color: #00d1b2;
}

.nav-toggle.is-active span:nth-child(1) {
  margin-left: -5px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.nav-toggle.is-active span:nth-child(2) {
  opacity: 0;
}

.nav-toggle.is-active span:nth-child(3) {
  margin-left: -5px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}

@media screen and (min-width: 769px), print {
  .nav-toggle {
    display: none;
  }
}

.nav-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.5;
  padding: 0.5rem 0.75rem;
}

.nav-item a {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.nav-item img {
  max-height: 1.75rem;
}

.nav-item .tag:first-child:not(:last-child) {
  margin-right: 0.5rem;
}

.nav-item .tag:last-child:not(:first-child) {
  margin-left: 0.5rem;
}

@media screen and (max-width: 768px) {
  .nav-item {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.nav-item a,
a.nav-item {
  color: #7a7a7a;
}

.nav-item a:hover,
a.nav-item:hover {
  color: #363636;
}

.nav-item a.is-active,
a.nav-item.is-active {
  color: #363636;
}

.nav-item a.is-tab,
a.nav-item.is-tab {
  border-bottom: 1px solid transparent;
  border-top: 1px solid transparent;
  padding-bottom: calc(0.75rem - 1px);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: calc(0.75rem - 1px);
}

.nav-item a.is-tab:hover,
a.nav-item.is-tab:hover {
  border-bottom-color: #00d1b2;
  border-top-color: transparent;
}

.nav-item a.is-tab.is-active,
a.nav-item.is-tab.is-active {
  border-bottom: 3px solid #00d1b2;
  color: #00d1b2;
  padding-bottom: calc(0.75rem - 3px);
}

@media screen and (min-width: 1000px) {
  .nav-item a.is-brand,
  a.nav-item.is-brand {
    padding-left: 0;
  }
}

.nav-left,
.nav-right {
  -webkit-overflow-scrolling: touch;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 100%;
  overflow: auto;
}

@media screen and (min-width: 1192px) {
  .nav-left,
  .nav-right {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
  }
}

.nav-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  white-space: nowrap;
}

.nav-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.nav-center {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .nav-menu.nav-right {
    background-color: white;
    box-shadow: 0 4px 7px rgba(10, 10, 10, 0.1);
    left: 0;
    display: none;
    right: 0;
    top: 100%;
    position: absolute;
  }
  .nav-menu.nav-right .nav-item {
    border-top: 1px solid rgba(219, 219, 219, 0.5);
    padding: 0.75rem;
  }
  .nav-menu.nav-right.is-active {
    display: block;
  }
}

.nav {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background-color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.25rem;
  position: relative;
  text-align: center;
  z-index: 10;
}

.nav > .container {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 3.25rem;
  width: 100%;
}

.nav.has-shadow {
  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1);
}

.pagination {
  font-size: 1rem;
  margin: -0.25rem;
}

.pagination.is-small {
  font-size: 0.75rem;
}

.pagination.is-medium {
  font-size: 1.25rem;
}

.pagination.is-large {
  font-size: 1.5rem;
}

.pagination,
.pagination-list {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.pagination-previous,
.pagination-next,
.pagination-link,
.pagination-ellipsis {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid transparent;
  border-radius: 3px;
  box-shadow: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1rem;
  height: 2.25em;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1.5;
  padding-bottom: calc(0.375em - 1px);
  padding-left: calc(0.625em - 1px);
  padding-right: calc(0.625em - 1px);
  padding-top: calc(0.375em - 1px);
  position: relative;
  vertical-align: top;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 1em;
  padding-left: 0.5em;
  padding-right: 0.5em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0.25rem;
  text-align: center;
}

.pagination-previous:focus, .pagination-previous.is-focused, .pagination-previous:active, .pagination-previous.is-active,
.pagination-next:focus,
.pagination-next.is-focused,
.pagination-next:active,
.pagination-next.is-active,
.pagination-link:focus,
.pagination-link.is-focused,
.pagination-link:active,
.pagination-link.is-active,
.pagination-ellipsis:focus,
.pagination-ellipsis.is-focused,
.pagination-ellipsis:active,
.pagination-ellipsis.is-active {
  outline: none;
}

.pagination-previous[disabled],
.pagination-next[disabled],
.pagination-link[disabled],
.pagination-ellipsis[disabled] {
  cursor: not-allowed;
}

.pagination-previous,
.pagination-next,
.pagination-link {
  border-color: #dbdbdb;
  min-width: 2.25em;
}

.pagination-previous:hover,
.pagination-next:hover,
.pagination-link:hover {
  border-color: #b5b5b5;
  color: #363636;
}

.pagination-previous:focus,
.pagination-next:focus,
.pagination-link:focus {
  border-color: #00d1b2;
}

.pagination-previous:active,
.pagination-next:active,
.pagination-link:active {
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
}

.pagination-previous[disabled],
.pagination-next[disabled],
.pagination-link[disabled] {
  background-color: #dbdbdb;
  border-color: #dbdbdb;
  box-shadow: none;
  color: #7a7a7a;
  opacity: 0.5;
}

.pagination-previous,
.pagination-next {
  padding-left: 0.75em;
  padding-right: 0.75em;
  white-space: nowrap;
}

.pagination-link.is-current {
  background-color: #00d1b2;
  border-color: #00d1b2;
  color: #fff;
}

.pagination-ellipsis {
  color: #b5b5b5;
  pointer-events: none;
}

.pagination-list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .pagination {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pagination-previous,
  .pagination-next {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
  .pagination-list li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
}

@media screen and (min-width: 769px), print {
  .pagination-list {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .pagination-previous {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .pagination-next {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .pagination {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .pagination.is-centered .pagination-previous {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .pagination.is-centered .pagination-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .pagination.is-centered .pagination-next {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .pagination.is-right .pagination-previous {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .pagination.is-right .pagination-next {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .pagination.is-right .pagination-list {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.panel {
  font-size: 1rem;
}

.panel:not(:last-child) {
  margin-bottom: 1.5rem;
}

.panel-heading,
.panel-tabs,
.panel-block {
  border-bottom: 1px solid #dbdbdb;
  border-left: 1px solid #dbdbdb;
  border-right: 1px solid #dbdbdb;
}

.panel-heading:first-child,
.panel-tabs:first-child,
.panel-block:first-child {
  border-top: 1px solid #dbdbdb;
}

.panel-heading {
  background-color: whitesmoke;
  border-radius: 3px 3px 0 0;
  color: #363636;
  font-size: 1.25em;
  font-weight: 300;
  line-height: 1.25;
  padding: 0.5em 0.75em;
}

.panel-tabs {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.panel-tabs a {
  border-bottom: 1px solid #dbdbdb;
  margin-bottom: -1px;
  padding: 0.5em;
}

.panel-tabs a.is-active {
  border-bottom-color: #4a4a4a;
  color: #363636;
}

.panel-list a {
  color: #4a4a4a;
}

.panel-list a:hover {
  color: #00d1b2;
}

.panel-block {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #363636;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 0.5em 0.75em;
}

.panel-block input[type="checkbox"] {
  margin-right: 0.75em;
}

.panel-block > .control {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  width: 100%;
}

.panel-block.is-wrapped {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.panel-block.is-active {
  border-left-color: #00d1b2;
  color: #363636;
}

.panel-block.is-active .panel-icon {
  color: #00d1b2;
}

a.panel-block,
label.panel-block {
  cursor: pointer;
}

a.panel-block:hover,
label.panel-block:hover {
  background-color: whitesmoke;
}

.panel-icon {
  display: inline-block;
  font-size: 14px;
  height: 1em;
  line-height: 1em;
  text-align: center;
  vertical-align: top;
  width: 1em;
  color: #7a7a7a;
  margin-right: 0.75em;
}

.panel-icon .fa {
  font-size: inherit;
  line-height: inherit;
}

.tabs {
  -webkit-overflow-scrolling: touch;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
  overflow-x: auto;
  white-space: nowrap;
}

.tabs:not(:last-child) {
  margin-bottom: 1.5rem;
}

.tabs a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #dbdbdb;
  color: #4a4a4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: -1px;
  padding: 0.5em 1em;
  vertical-align: top;
}

.tabs a:hover {
  border-bottom-color: #363636;
  color: #363636;
}

.tabs li {
  display: block;
}

.tabs li.is-active a {
  border-bottom-color: #00d1b2;
  color: #00d1b2;
}

.tabs ul {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #dbdbdb;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.tabs ul.is-left {
  padding-right: 0.75em;
}

.tabs ul.is-center {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 0.75em;
  padding-right: 0.75em;
}

.tabs ul.is-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-left: 0.75em;
}

.tabs .icon:first-child {
  margin-right: 0.5em;
}

.tabs .icon:last-child {
  margin-left: 0.5em;
}

.tabs.is-centered ul {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.tabs.is-right ul {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.tabs.is-boxed a {
  border: 1px solid transparent;
  border-radius: 3px 3px 0 0;
}

.tabs.is-boxed a:hover {
  background-color: whitesmoke;
  border-bottom-color: #dbdbdb;
}

.tabs.is-boxed li.is-active a {
  background-color: white;
  border-color: #dbdbdb;
  border-bottom-color: transparent !important;
}

.tabs.is-fullwidth li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.tabs.is-toggle a {
  border: 1px solid #dbdbdb;
  margin-bottom: 0;
  position: relative;
}

.tabs.is-toggle a:hover {
  background-color: whitesmoke;
  border-color: #b5b5b5;
  z-index: 2;
}

.tabs.is-toggle li + li {
  margin-left: -1px;
}

.tabs.is-toggle li:first-child a {
  border-radius: 3px 0 0 3px;
}

.tabs.is-toggle li:last-child a {
  border-radius: 0 3px 3px 0;
}

.tabs.is-toggle li.is-active a {
  background-color: #00d1b2;
  border-color: #00d1b2;
  color: #fff;
  z-index: 1;
}

.tabs.is-toggle ul {
  border-bottom: none;
}

.tabs.is-small {
  font-size: 0.75rem;
}

.tabs.is-medium {
  font-size: 1.25rem;
}

.tabs.is-large {
  font-size: 1.5rem;
}

.column {
  display: block;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  padding: 0.75rem;
}

.columns.is-mobile > .column.is-narrow {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

.columns.is-mobile > .column.is-full {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 100%;
}

.columns.is-mobile > .column.is-three-quarters {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 75%;
}

.columns.is-mobile > .column.is-two-thirds {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 66.6666%;
}

.columns.is-mobile > .column.is-half {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 50%;
}

.columns.is-mobile > .column.is-one-third {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 33.3333%;
}

.columns.is-mobile > .column.is-one-quarter {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 25%;
}

.columns.is-mobile > .column.is-offset-three-quarters {
  margin-left: 75%;
}

.columns.is-mobile > .column.is-offset-two-thirds {
  margin-left: 66.6666%;
}

.columns.is-mobile > .column.is-offset-half {
  margin-left: 50%;
}

.columns.is-mobile > .column.is-offset-one-third {
  margin-left: 33.3333%;
}

.columns.is-mobile > .column.is-offset-one-quarter {
  margin-left: 25%;
}

.columns.is-mobile > .column.is-1 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 8.33333%;
}

.columns.is-mobile > .column.is-offset-1 {
  margin-left: 8.33333%;
}

.columns.is-mobile > .column.is-2 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 16.66667%;
}

.columns.is-mobile > .column.is-offset-2 {
  margin-left: 16.66667%;
}

.columns.is-mobile > .column.is-3 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 25%;
}

.columns.is-mobile > .column.is-offset-3 {
  margin-left: 25%;
}

.columns.is-mobile > .column.is-4 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 33.33333%;
}

.columns.is-mobile > .column.is-offset-4 {
  margin-left: 33.33333%;
}

.columns.is-mobile > .column.is-5 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 41.66667%;
}

.columns.is-mobile > .column.is-offset-5 {
  margin-left: 41.66667%;
}

.columns.is-mobile > .column.is-6 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 50%;
}

.columns.is-mobile > .column.is-offset-6 {
  margin-left: 50%;
}

.columns.is-mobile > .column.is-7 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 58.33333%;
}

.columns.is-mobile > .column.is-offset-7 {
  margin-left: 58.33333%;
}

.columns.is-mobile > .column.is-8 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 66.66667%;
}

.columns.is-mobile > .column.is-offset-8 {
  margin-left: 66.66667%;
}

.columns.is-mobile > .column.is-9 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 75%;
}

.columns.is-mobile > .column.is-offset-9 {
  margin-left: 75%;
}

.columns.is-mobile > .column.is-10 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 83.33333%;
}

.columns.is-mobile > .column.is-offset-10 {
  margin-left: 83.33333%;
}

.columns.is-mobile > .column.is-11 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 91.66667%;
}

.columns.is-mobile > .column.is-offset-11 {
  margin-left: 91.66667%;
}

.columns.is-mobile > .column.is-12 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 100%;
}

.columns.is-mobile > .column.is-offset-12 {
  margin-left: 100%;
}

@media screen and (max-width: 768px) {
  .column.is-narrow-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .column.is-full-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-three-quarters-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-two-thirds-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.6666%;
  }
  .column.is-half-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-one-third-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-three-quarters-mobile {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-mobile {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-mobile {
    margin-left: 50%;
  }
  .column.is-offset-one-third-mobile {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-mobile {
    margin-left: 25%;
  }
  .column.is-1-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 8.33333%;
  }
  .column.is-offset-1-mobile {
    margin-left: 8.33333%;
  }
  .column.is-2-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 16.66667%;
  }
  .column.is-offset-2-mobile {
    margin-left: 16.66667%;
  }
  .column.is-3-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-3-mobile {
    margin-left: 25%;
  }
  .column.is-4-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.33333%;
  }
  .column.is-offset-4-mobile {
    margin-left: 33.33333%;
  }
  .column.is-5-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 41.66667%;
  }
  .column.is-offset-5-mobile {
    margin-left: 41.66667%;
  }
  .column.is-6-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-offset-6-mobile {
    margin-left: 50%;
  }
  .column.is-7-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 58.33333%;
  }
  .column.is-offset-7-mobile {
    margin-left: 58.33333%;
  }
  .column.is-8-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.66667%;
  }
  .column.is-offset-8-mobile {
    margin-left: 66.66667%;
  }
  .column.is-9-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-offset-9-mobile {
    margin-left: 75%;
  }
  .column.is-10-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 83.33333%;
  }
  .column.is-offset-10-mobile {
    margin-left: 83.33333%;
  }
  .column.is-11-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 91.66667%;
  }
  .column.is-offset-11-mobile {
    margin-left: 91.66667%;
  }
  .column.is-12-mobile {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-offset-12-mobile {
    margin-left: 100%;
  }
}

@media screen and (min-width: 769px), print {
  .column.is-narrow, .column.is-narrow-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .column.is-full, .column.is-full-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-three-quarters, .column.is-three-quarters-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-two-thirds, .column.is-two-thirds-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.6666%;
  }
  .column.is-half, .column.is-half-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-one-third, .column.is-one-third-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter, .column.is-one-quarter-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
    margin-left: 66.6666%;
  }
  .column.is-offset-half, .column.is-offset-half-tablet {
    margin-left: 50%;
  }
  .column.is-offset-one-third, .column.is-offset-one-third-tablet {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
    margin-left: 25%;
  }
  .column.is-1, .column.is-1-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 8.33333%;
  }
  .column.is-offset-1, .column.is-offset-1-tablet {
    margin-left: 8.33333%;
  }
  .column.is-2, .column.is-2-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 16.66667%;
  }
  .column.is-offset-2, .column.is-offset-2-tablet {
    margin-left: 16.66667%;
  }
  .column.is-3, .column.is-3-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-3, .column.is-offset-3-tablet {
    margin-left: 25%;
  }
  .column.is-4, .column.is-4-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.33333%;
  }
  .column.is-offset-4, .column.is-offset-4-tablet {
    margin-left: 33.33333%;
  }
  .column.is-5, .column.is-5-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 41.66667%;
  }
  .column.is-offset-5, .column.is-offset-5-tablet {
    margin-left: 41.66667%;
  }
  .column.is-6, .column.is-6-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-offset-6, .column.is-offset-6-tablet {
    margin-left: 50%;
  }
  .column.is-7, .column.is-7-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 58.33333%;
  }
  .column.is-offset-7, .column.is-offset-7-tablet {
    margin-left: 58.33333%;
  }
  .column.is-8, .column.is-8-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.66667%;
  }
  .column.is-offset-8, .column.is-offset-8-tablet {
    margin-left: 66.66667%;
  }
  .column.is-9, .column.is-9-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-offset-9, .column.is-offset-9-tablet {
    margin-left: 75%;
  }
  .column.is-10, .column.is-10-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 83.33333%;
  }
  .column.is-offset-10, .column.is-offset-10-tablet {
    margin-left: 83.33333%;
  }
  .column.is-11, .column.is-11-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 91.66667%;
  }
  .column.is-offset-11, .column.is-offset-11-tablet {
    margin-left: 91.66667%;
  }
  .column.is-12, .column.is-12-tablet {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-offset-12, .column.is-offset-12-tablet {
    margin-left: 100%;
  }
}

@media screen and (min-width: 1000px) {
  .column.is-narrow-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .column.is-full-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-three-quarters-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-two-thirds-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.6666%;
  }
  .column.is-half-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-one-third-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-three-quarters-desktop {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-desktop {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-desktop {
    margin-left: 50%;
  }
  .column.is-offset-one-third-desktop {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-desktop {
    margin-left: 25%;
  }
  .column.is-1-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 8.33333%;
  }
  .column.is-offset-1-desktop {
    margin-left: 8.33333%;
  }
  .column.is-2-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 16.66667%;
  }
  .column.is-offset-2-desktop {
    margin-left: 16.66667%;
  }
  .column.is-3-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-3-desktop {
    margin-left: 25%;
  }
  .column.is-4-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.33333%;
  }
  .column.is-offset-4-desktop {
    margin-left: 33.33333%;
  }
  .column.is-5-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 41.66667%;
  }
  .column.is-offset-5-desktop {
    margin-left: 41.66667%;
  }
  .column.is-6-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-offset-6-desktop {
    margin-left: 50%;
  }
  .column.is-7-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 58.33333%;
  }
  .column.is-offset-7-desktop {
    margin-left: 58.33333%;
  }
  .column.is-8-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.66667%;
  }
  .column.is-offset-8-desktop {
    margin-left: 66.66667%;
  }
  .column.is-9-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-offset-9-desktop {
    margin-left: 75%;
  }
  .column.is-10-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 83.33333%;
  }
  .column.is-offset-10-desktop {
    margin-left: 83.33333%;
  }
  .column.is-11-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 91.66667%;
  }
  .column.is-offset-11-desktop {
    margin-left: 91.66667%;
  }
  .column.is-12-desktop {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-offset-12-desktop {
    margin-left: 100%;
  }
}

@media screen and (min-width: 1192px) {
  .column.is-narrow-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .column.is-full-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-three-quarters-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-two-thirds-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.6666%;
  }
  .column.is-half-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-one-third-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-three-quarters-widescreen {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-widescreen {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-widescreen {
    margin-left: 50%;
  }
  .column.is-offset-one-third-widescreen {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-widescreen {
    margin-left: 25%;
  }
  .column.is-1-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 8.33333%;
  }
  .column.is-offset-1-widescreen {
    margin-left: 8.33333%;
  }
  .column.is-2-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 16.66667%;
  }
  .column.is-offset-2-widescreen {
    margin-left: 16.66667%;
  }
  .column.is-3-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .column.is-offset-3-widescreen {
    margin-left: 25%;
  }
  .column.is-4-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.33333%;
  }
  .column.is-offset-4-widescreen {
    margin-left: 33.33333%;
  }
  .column.is-5-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 41.66667%;
  }
  .column.is-offset-5-widescreen {
    margin-left: 41.66667%;
  }
  .column.is-6-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .column.is-offset-6-widescreen {
    margin-left: 50%;
  }
  .column.is-7-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 58.33333%;
  }
  .column.is-offset-7-widescreen {
    margin-left: 58.33333%;
  }
  .column.is-8-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.66667%;
  }
  .column.is-offset-8-widescreen {
    margin-left: 66.66667%;
  }
  .column.is-9-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .column.is-offset-9-widescreen {
    margin-left: 75%;
  }
  .column.is-10-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 83.33333%;
  }
  .column.is-offset-10-widescreen {
    margin-left: 83.33333%;
  }
  .column.is-11-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 91.66667%;
  }
  .column.is-offset-11-widescreen {
    margin-left: 91.66667%;
  }
  .column.is-12-widescreen {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .column.is-offset-12-widescreen {
    margin-left: 100%;
  }
}

.columns {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}

.columns:last-child {
  margin-bottom: -0.75rem;
}

.columns:not(:last-child) {
  margin-bottom: 0.75rem;
}

.columns.is-centered {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.columns.is-gapless {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}

.columns.is-gapless:last-child {
  margin-bottom: 0;
}

.columns.is-gapless:not(:last-child) {
  margin-bottom: 1.5rem;
}

.columns.is-gapless > .column {
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 769px), print {
  .columns.is-grid {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .columns.is-grid > .column {
    max-width: 33.3333%;
    padding: 0.75rem;
    width: 33.3333%;
  }
  .columns.is-grid > .column + .column {
    margin-left: 0;
  }
}

.columns.is-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.columns.is-multiline {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.columns.is-vcentered {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 769px), print {
  .columns:not(.is-desktop) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 1000px) {
  .columns.is-desktop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.tile {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: block;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content;
}

.tile.is-ancestor {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}

.tile.is-ancestor:last-child {
  margin-bottom: -0.75rem;
}

.tile.is-ancestor:not(:last-child) {
  margin-bottom: 0.75rem;
}

.tile.is-child {
  margin: 0 !important;
}

.tile.is-parent {
  padding: 0.75rem;
}

.tile.is-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.tile.is-vertical > .tile.is-child:not(:last-child) {
  margin-bottom: 1.5rem !important;
}

@media screen and (min-width: 769px), print {
  .tile:not(.is-child) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .tile.is-1 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 8.33333%;
  }
  .tile.is-2 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 16.66667%;
  }
  .tile.is-3 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 25%;
  }
  .tile.is-4 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 33.33333%;
  }
  .tile.is-5 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 41.66667%;
  }
  .tile.is-6 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 50%;
  }
  .tile.is-7 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 58.33333%;
  }
  .tile.is-8 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 66.66667%;
  }
  .tile.is-9 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 75%;
  }
  .tile.is-10 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 83.33333%;
  }
  .tile.is-11 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 91.66667%;
  }
  .tile.is-12 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}

.hero-video {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  overflow: hidden;
}

.hero-video video {
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
}

.hero-video.is-transparent {
  opacity: 0.3;
}

@media screen and (max-width: 768px) {
  .hero-video {
    display: none;
  }
}

.hero-buttons {
  margin-top: 1.5rem;
}

@media screen and (max-width: 768px) {
  .hero-buttons .button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .hero-buttons .button:not(:last-child) {
    margin-bottom: 0.75rem;
  }
}

@media screen and (min-width: 769px), print {
  .hero-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .hero-buttons .button:not(:last-child) {
    margin-right: 1.5rem;
  }
}

.hero-head,
.hero-foot {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.hero-body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 3rem 1.5rem;
}

@media screen and (min-width: 1192px) {
  .hero-body {
    padding-left: 0;
    padding-right: 0;
  }
}

.hero {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background-color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.hero .nav {
  background: none;
  box-shadow: 0 1px 0 rgba(219, 219, 219, 0.3);
}

.hero .tabs ul {
  border-bottom: none;
}

.hero.is-white {
  background-color: white;
  color: #0a0a0a;
}

.hero.is-white a:not(.button),
.hero.is-white strong {
  color: inherit;
}

.hero.is-white .title {
  color: #0a0a0a;
}

.hero.is-white .subtitle {
  color: rgba(10, 10, 10, 0.9);
}

.hero.is-white .subtitle a:not(.button),
.hero.is-white .subtitle strong {
  color: #0a0a0a;
}

.hero.is-white .nav {
  box-shadow: 0 1px 0 rgba(10, 10, 10, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-white .nav-menu {
    background-color: white;
  }
}

.hero.is-white a.nav-item,
.hero.is-white .nav-item a:not(.button) {
  color: rgba(10, 10, 10, 0.7);
}

.hero.is-white a.nav-item:hover, .hero.is-white a.nav-item.is-active,
.hero.is-white .nav-item a:not(.button):hover,
.hero.is-white .nav-item a:not(.button).is-active {
  color: #0a0a0a;
}

.hero.is-white .tabs a {
  color: #0a0a0a;
  opacity: 0.9;
}

.hero.is-white .tabs a:hover {
  opacity: 1;
}

.hero.is-white .tabs li.is-active a {
  opacity: 1;
}

.hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {
  color: #0a0a0a;
}

.hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {
  background-color: #0a0a0a;
  border-color: #0a0a0a;
  color: white;
}

.hero.is-white.is-bold {
  background-image: -webkit-linear-gradient(309deg, #e6e6e6 0%, white 71%, white 100%);
  background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-white.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #e6e6e6 0%, white 71%, white 100%);
    background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-white .nav-toggle span {
    background-color: #0a0a0a;
  }
  .hero.is-white .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-white .nav-toggle.is-active span {
    background-color: #0a0a0a;
  }
  .hero.is-white .nav-menu .nav-item {
    border-top-color: rgba(10, 10, 10, 0.2);
  }
}

.hero.is-black {
  background-color: #0a0a0a;
  color: white;
}

.hero.is-black a:not(.button),
.hero.is-black strong {
  color: inherit;
}

.hero.is-black .title {
  color: white;
}

.hero.is-black .subtitle {
  color: rgba(255, 255, 255, 0.9);
}

.hero.is-black .subtitle a:not(.button),
.hero.is-black .subtitle strong {
  color: white;
}

.hero.is-black .nav {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-black .nav-menu {
    background-color: #0a0a0a;
  }
}

.hero.is-black a.nav-item,
.hero.is-black .nav-item a:not(.button) {
  color: rgba(255, 255, 255, 0.7);
}

.hero.is-black a.nav-item:hover, .hero.is-black a.nav-item.is-active,
.hero.is-black .nav-item a:not(.button):hover,
.hero.is-black .nav-item a:not(.button).is-active {
  color: white;
}

.hero.is-black .tabs a {
  color: white;
  opacity: 0.9;
}

.hero.is-black .tabs a:hover {
  opacity: 1;
}

.hero.is-black .tabs li.is-active a {
  opacity: 1;
}

.hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {
  color: white;
}

.hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {
  background-color: white;
  border-color: white;
  color: #0a0a0a;
}

.hero.is-black.is-bold {
  background-image: -webkit-linear-gradient(309deg, black 0%, #0a0a0a 71%, #181616 100%);
  background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-black.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, black 0%, #0a0a0a 71%, #181616 100%);
    background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-black .nav-toggle span {
    background-color: white;
  }
  .hero.is-black .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-black .nav-toggle.is-active span {
    background-color: white;
  }
  .hero.is-black .nav-menu .nav-item {
    border-top-color: rgba(255, 255, 255, 0.2);
  }
}

.hero.is-light {
  background-color: whitesmoke;
  color: #363636;
}

.hero.is-light a:not(.button),
.hero.is-light strong {
  color: inherit;
}

.hero.is-light .title {
  color: #363636;
}

.hero.is-light .subtitle {
  color: rgba(54, 54, 54, 0.9);
}

.hero.is-light .subtitle a:not(.button),
.hero.is-light .subtitle strong {
  color: #363636;
}

.hero.is-light .nav {
  box-shadow: 0 1px 0 rgba(54, 54, 54, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-light .nav-menu {
    background-color: whitesmoke;
  }
}

.hero.is-light a.nav-item,
.hero.is-light .nav-item a:not(.button) {
  color: rgba(54, 54, 54, 0.7);
}

.hero.is-light a.nav-item:hover, .hero.is-light a.nav-item.is-active,
.hero.is-light .nav-item a:not(.button):hover,
.hero.is-light .nav-item a:not(.button).is-active {
  color: #363636;
}

.hero.is-light .tabs a {
  color: #363636;
  opacity: 0.9;
}

.hero.is-light .tabs a:hover {
  opacity: 1;
}

.hero.is-light .tabs li.is-active a {
  opacity: 1;
}

.hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {
  color: #363636;
}

.hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {
  background-color: #363636;
  border-color: #363636;
  color: whitesmoke;
}

.hero.is-light.is-bold {
  background-image: -webkit-linear-gradient(309deg, #dfd8d8 0%, whitesmoke 71%, white 100%);
  background-image: linear-gradient(141deg, #dfd8d8 0%, whitesmoke 71%, white 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-light.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #dfd8d8 0%, whitesmoke 71%, white 100%);
    background-image: linear-gradient(141deg, #dfd8d8 0%, whitesmoke 71%, white 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-light .nav-toggle span {
    background-color: #363636;
  }
  .hero.is-light .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-light .nav-toggle.is-active span {
    background-color: #363636;
  }
  .hero.is-light .nav-menu .nav-item {
    border-top-color: rgba(54, 54, 54, 0.2);
  }
}

.hero.is-dark {
  background-color: #363636;
  color: whitesmoke;
}

.hero.is-dark a:not(.button),
.hero.is-dark strong {
  color: inherit;
}

.hero.is-dark .title {
  color: whitesmoke;
}

.hero.is-dark .subtitle {
  color: rgba(245, 245, 245, 0.9);
}

.hero.is-dark .subtitle a:not(.button),
.hero.is-dark .subtitle strong {
  color: whitesmoke;
}

.hero.is-dark .nav {
  box-shadow: 0 1px 0 rgba(245, 245, 245, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-dark .nav-menu {
    background-color: #363636;
  }
}

.hero.is-dark a.nav-item,
.hero.is-dark .nav-item a:not(.button) {
  color: rgba(245, 245, 245, 0.7);
}

.hero.is-dark a.nav-item:hover, .hero.is-dark a.nav-item.is-active,
.hero.is-dark .nav-item a:not(.button):hover,
.hero.is-dark .nav-item a:not(.button).is-active {
  color: whitesmoke;
}

.hero.is-dark .tabs a {
  color: whitesmoke;
  opacity: 0.9;
}

.hero.is-dark .tabs a:hover {
  opacity: 1;
}

.hero.is-dark .tabs li.is-active a {
  opacity: 1;
}

.hero.is-dark .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a {
  color: whitesmoke;
}

.hero.is-dark .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-dark .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {
  background-color: whitesmoke;
  border-color: whitesmoke;
  color: #363636;
}

.hero.is-dark.is-bold {
  background-image: -webkit-linear-gradient(309deg, #1f1919 0%, #363636 71%, #463f3f 100%);
  background-image: linear-gradient(141deg, #1f1919 0%, #363636 71%, #463f3f 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-dark.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #1f1919 0%, #363636 71%, #463f3f 100%);
    background-image: linear-gradient(141deg, #1f1919 0%, #363636 71%, #463f3f 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-dark .nav-toggle span {
    background-color: whitesmoke;
  }
  .hero.is-dark .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-dark .nav-toggle.is-active span {
    background-color: whitesmoke;
  }
  .hero.is-dark .nav-menu .nav-item {
    border-top-color: rgba(245, 245, 245, 0.2);
  }
}

.hero.is-primary {
  background-color: #00d1b2;
  color: #fff;
}

.hero.is-primary a:not(.button),
.hero.is-primary strong {
  color: inherit;
}

.hero.is-primary .title {
  color: #fff;
}

.hero.is-primary .subtitle {
  color: rgba(255, 255, 255, 0.9);
}

.hero.is-primary .subtitle a:not(.button),
.hero.is-primary .subtitle strong {
  color: #fff;
}

.hero.is-primary .nav {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-primary .nav-menu {
    background-color: #00d1b2;
  }
}

.hero.is-primary a.nav-item,
.hero.is-primary .nav-item a:not(.button) {
  color: rgba(255, 255, 255, 0.7);
}

.hero.is-primary a.nav-item:hover, .hero.is-primary a.nav-item.is-active,
.hero.is-primary .nav-item a:not(.button):hover,
.hero.is-primary .nav-item a:not(.button).is-active {
  color: #fff;
}

.hero.is-primary .tabs a {
  color: #fff;
  opacity: 0.9;
}

.hero.is-primary .tabs a:hover {
  opacity: 1;
}

.hero.is-primary .tabs li.is-active a {
  opacity: 1;
}

.hero.is-primary .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a {
  color: #fff;
}

.hero.is-primary .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-primary .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
  background-color: #fff;
  border-color: #fff;
  color: #00d1b2;
}

.hero.is-primary.is-bold {
  background-image: -webkit-linear-gradient(309deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%);
  background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-primary.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%);
    background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-primary .nav-toggle span {
    background-color: #fff;
  }
  .hero.is-primary .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-primary .nav-toggle.is-active span {
    background-color: #fff;
  }
  .hero.is-primary .nav-menu .nav-item {
    border-top-color: rgba(255, 255, 255, 0.2);
  }
}

.hero.is-info {
  background-color: #3273dc;
  color: #fff;
}

.hero.is-info a:not(.button),
.hero.is-info strong {
  color: inherit;
}

.hero.is-info .title {
  color: #fff;
}

.hero.is-info .subtitle {
  color: rgba(255, 255, 255, 0.9);
}

.hero.is-info .subtitle a:not(.button),
.hero.is-info .subtitle strong {
  color: #fff;
}

.hero.is-info .nav {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-info .nav-menu {
    background-color: #3273dc;
  }
}

.hero.is-info a.nav-item,
.hero.is-info .nav-item a:not(.button) {
  color: rgba(255, 255, 255, 0.7);
}

.hero.is-info a.nav-item:hover, .hero.is-info a.nav-item.is-active,
.hero.is-info .nav-item a:not(.button):hover,
.hero.is-info .nav-item a:not(.button).is-active {
  color: #fff;
}

.hero.is-info .tabs a {
  color: #fff;
  opacity: 0.9;
}

.hero.is-info .tabs a:hover {
  opacity: 1;
}

.hero.is-info .tabs li.is-active a {
  opacity: 1;
}

.hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {
  color: #fff;
}

.hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {
  background-color: #fff;
  border-color: #fff;
  color: #3273dc;
}

.hero.is-info.is-bold {
  background-image: -webkit-linear-gradient(309deg, #1577c6 0%, #3273dc 71%, #4366e5 100%);
  background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-info.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #1577c6 0%, #3273dc 71%, #4366e5 100%);
    background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-info .nav-toggle span {
    background-color: #fff;
  }
  .hero.is-info .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-info .nav-toggle.is-active span {
    background-color: #fff;
  }
  .hero.is-info .nav-menu .nav-item {
    border-top-color: rgba(255, 255, 255, 0.2);
  }
}

.hero.is-success {
  background-color: #23d160;
  color: #fff;
}

.hero.is-success a:not(.button),
.hero.is-success strong {
  color: inherit;
}

.hero.is-success .title {
  color: #fff;
}

.hero.is-success .subtitle {
  color: rgba(255, 255, 255, 0.9);
}

.hero.is-success .subtitle a:not(.button),
.hero.is-success .subtitle strong {
  color: #fff;
}

.hero.is-success .nav {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-success .nav-menu {
    background-color: #23d160;
  }
}

.hero.is-success a.nav-item,
.hero.is-success .nav-item a:not(.button) {
  color: rgba(255, 255, 255, 0.7);
}

.hero.is-success a.nav-item:hover, .hero.is-success a.nav-item.is-active,
.hero.is-success .nav-item a:not(.button):hover,
.hero.is-success .nav-item a:not(.button).is-active {
  color: #fff;
}

.hero.is-success .tabs a {
  color: #fff;
  opacity: 0.9;
}

.hero.is-success .tabs a:hover {
  opacity: 1;
}

.hero.is-success .tabs li.is-active a {
  opacity: 1;
}

.hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {
  color: #fff;
}

.hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {
  background-color: #fff;
  border-color: #fff;
  color: #23d160;
}

.hero.is-success.is-bold {
  background-image: -webkit-linear-gradient(309deg, #12af2f 0%, #23d160 71%, #2ce28a 100%);
  background-image: linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-success.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #12af2f 0%, #23d160 71%, #2ce28a 100%);
    background-image: linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-success .nav-toggle span {
    background-color: #fff;
  }
  .hero.is-success .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-success .nav-toggle.is-active span {
    background-color: #fff;
  }
  .hero.is-success .nav-menu .nav-item {
    border-top-color: rgba(255, 255, 255, 0.2);
  }
}

.hero.is-warning {
  background-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}

.hero.is-warning a:not(.button),
.hero.is-warning strong {
  color: inherit;
}

.hero.is-warning .title {
  color: rgba(0, 0, 0, 0.7);
}

.hero.is-warning .subtitle {
  color: rgba(0, 0, 0, 0.9);
}

.hero.is-warning .subtitle a:not(.button),
.hero.is-warning .subtitle strong {
  color: rgba(0, 0, 0, 0.7);
}

.hero.is-warning .nav {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-warning .nav-menu {
    background-color: #ffdd57;
  }
}

.hero.is-warning a.nav-item,
.hero.is-warning .nav-item a:not(.button) {
  color: rgba(0, 0, 0, 0.7);
}

.hero.is-warning a.nav-item:hover, .hero.is-warning a.nav-item.is-active,
.hero.is-warning .nav-item a:not(.button):hover,
.hero.is-warning .nav-item a:not(.button).is-active {
  color: rgba(0, 0, 0, 0.7);
}

.hero.is-warning .tabs a {
  color: rgba(0, 0, 0, 0.7);
  opacity: 0.9;
}

.hero.is-warning .tabs a:hover {
  opacity: 1;
}

.hero.is-warning .tabs li.is-active a {
  opacity: 1;
}

.hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {
  color: rgba(0, 0, 0, 0.7);
}

.hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {
  background-color: rgba(0, 0, 0, 0.7);
  border-color: rgba(0, 0, 0, 0.7);
  color: #ffdd57;
}

.hero.is-warning.is-bold {
  background-image: -webkit-linear-gradient(309deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%);
  background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-warning.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%);
    background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-warning .nav-toggle span {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .hero.is-warning .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-warning .nav-toggle.is-active span {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .hero.is-warning .nav-menu .nav-item {
    border-top-color: rgba(0, 0, 0, 0.2);
  }
}

.hero.is-danger {
  background-color: #ff3860;
  color: #fff;
}

.hero.is-danger a:not(.button),
.hero.is-danger strong {
  color: inherit;
}

.hero.is-danger .title {
  color: #fff;
}

.hero.is-danger .subtitle {
  color: rgba(255, 255, 255, 0.9);
}

.hero.is-danger .subtitle a:not(.button),
.hero.is-danger .subtitle strong {
  color: #fff;
}

.hero.is-danger .nav {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 768px) {
  .hero.is-danger .nav-menu {
    background-color: #ff3860;
  }
}

.hero.is-danger a.nav-item,
.hero.is-danger .nav-item a:not(.button) {
  color: rgba(255, 255, 255, 0.7);
}

.hero.is-danger a.nav-item:hover, .hero.is-danger a.nav-item.is-active,
.hero.is-danger .nav-item a:not(.button):hover,
.hero.is-danger .nav-item a:not(.button).is-active {
  color: #fff;
}

.hero.is-danger .tabs a {
  color: #fff;
  opacity: 0.9;
}

.hero.is-danger .tabs a:hover {
  opacity: 1;
}

.hero.is-danger .tabs li.is-active a {
  opacity: 1;
}

.hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {
  color: #fff;
}

.hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {
  background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {
  background-color: #fff;
  border-color: #fff;
  color: #ff3860;
}

.hero.is-danger.is-bold {
  background-image: -webkit-linear-gradient(309deg, #ff0561 0%, #ff3860 71%, #ff5257 100%);
  background-image: linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%);
}

@media screen and (max-width: 768px) {
  .hero.is-danger.is-bold .nav-menu {
    background-image: -webkit-linear-gradient(309deg, #ff0561 0%, #ff3860 71%, #ff5257 100%);
    background-image: linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%);
  }
}

@media screen and (max-width: 768px) {
  .hero.is-danger .nav-toggle span {
    background-color: #fff;
  }
  .hero.is-danger .nav-toggle:hover {
    background-color: rgba(10, 10, 10, 0.1);
  }
  .hero.is-danger .nav-toggle.is-active span {
    background-color: #fff;
  }
  .hero.is-danger .nav-menu .nav-item {
    border-top-color: rgba(255, 255, 255, 0.2);
  }
}

@media screen and (min-width: 769px), print {
  .hero.is-medium .hero-body {
    padding-bottom: 9rem;
    padding-top: 9rem;
  }
}

@media screen and (min-width: 769px), print {
  .hero.is-large .hero-body {
    padding-bottom: 18rem;
    padding-top: 18rem;
  }
}

.hero.is-fullheight {
  min-height: 100vh;
}

.hero.is-fullheight .hero-body {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.hero.is-fullheight .hero-body > .container {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}

.section {
  background-color: white;
  padding: 3rem 1.5rem;
}

@media screen and (min-width: 1000px) {
  .section.is-medium {
    padding: 9rem 1.5rem;
  }
  .section.is-large {
    padding: 18rem 1.5rem;
  }
}

.footer {
  background-color: whitesmoke;
  padding: 3rem 1.5rem 6rem;
}
/*# sourceMappingURL=bulma.css.map */