@charset "UTF-8";
/* ---------------------------------- elements ---------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@200;300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap");
/* ---------------------------------- main ---------------------------------- */
body {
  margin: 0;
  padding: 0;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 16px;
  color: #00202C; }
  @media only screen and (min-width: 2500px) {
    body {
      font-size: 20px; } }
  @media only screen and (min-width: 3400px) {
    body {
      font-size: 32px; } }

.squared {
  border-radius: 0.25em; }

.rounded {
  border-radius: 5px; }

.circular {
  border-radius: 50em; }

img {
  width: 100%; }

/* ---------------------------------- typo ---------------------------------- */
.text-left {
  text-align: left; }

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

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

.text-justify {
  text-align: justify; }

.text-uppercase {
  text-transform: uppercase; }

.text-lowercase {
  text-transform: lowercase; }

.text-capitalize {
  text-transform: capitalize; }

p, p.lead {
  display: block;
  font-size: 1em;
  line-height: 1.5em;
  margin: 0 0 1em 0; }
  p.lead {
    font-size: 1.25em; }

h1, h2, h3, h4, h5, h6 {
  display: block;
  margin: 0 0 .65em 0;
  font-weight: bold;
  line-height: 1.25em; }

h1 {
  font-size: 3.75em; }

h2 {
  font-size: 2.25em; }

h3 {
  font-size: 1.75em; }

h4 {
  font-size: 1.5em; }

h5 {
  font-size: 1.35em; }

h6 {
  font-size: 1.25em; }

/* ---------------------------------- typo tags ---------------------------------- */
code {
  font-family: Consolas, "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", Monaco, "Courier New", monospace;
  color: #00202C;
  background: #dedede;
  padding: .125em .4em;
  border-radius: .25em;
  line-height: 1.5em; }

kbd {
  font-family: Consolas, "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", Monaco, "Courier New", monospace;
  color: #f4f5f8;
  background: #00202C;
  padding: .125em .4em;
  border-radius: .25em;
  line-height: 1.5em; }

abbr {
  border-bottom: 1px dotted #00202C;
  cursor: help; }

mark {
  background-color: #DAEFFF; }

del, s {
  text-decoration: line-through; }

ins {
  text-decoration: none;
  border-bottom: 1px solid #067df7; }

small {
  font-size: 0.85em; }

address {
  font-style: normal;
  margin: 0 0 1.2em 0;
  line-height: 1.5em; }

blockquote {
  border-left: 1px solid #dedede;
  margin: 0 0 0 .2em;
  padding-left: 1em; }
  blockquote footer {
    margin-top: -.8em; }
  blockquote footer:before {
    content: "— "; }

ul, ol {
  margin: 0;
  padding: 0 .25em .5em 1.5em; }
  ul li, ol li {
    padding: 0 0 .5em .15em; }

/* ---------------------------------- buttons and links ---------------------------------- */
a, a:visited {
  text-decoration: underline; }

a:hover, a:active {
  text-decoration: none; }

a.primary, p.primary {
  color: #067df7; }

a.secondary, p.secondary {
  color: #3e2eda; }

a.default, p.default {
  color: #dedede; }

a.success, p.success {
  color: #2cb978; }

a.error, p.error {
  color: #c82f2f; }

a.warning, p.warning {
  color: #c8b726; }

a.dark, p.dark {
  color: #00202C; }

a.light, p.light {
  color: #f4f5f8; }

.button {
  display: inline-block;
  width: auto;
  text-align: center;
  text-decoration: none;
  margin-bottom: 0.2em;
  transition: .3s;
  padding: .65em 1.75em .75em 1.75em;
  letter-spacing: .025em;
  font-weight: 400; }

.button.primary {
  background: #20C66C;
  border: 1px solid #20C66C;
  color: #00202C; }

.button.primary.ghost {
  background: none !important;
  color: #20C66C; }
  .button.primary.ghost:hover {
    border-color: #20C66C;
    color: #00202C;
    background-color: #20C66C !important; }

.button.secondary {
  background: #431BE8;
  border: 1px solid #431BE8;
  color: #f4f5f8; }

.button.secondary.ghost {
  background: none !important;
  color: #431BE8; }
  .button.secondary.ghost:hover {
    border-color: #431BE8;
    color: #f4f5f8;
    background-color: #431BE8 !important; }

.button.default {
  background: #dedede;
  border: 1px solid #dedede;
  color: #00202C; }

.button.default.ghost {
  background: none !important;
  color: #dedede; }
  .button.default.ghost:hover {
    border-color: #dedede;
    color: #00202C;
    background-color: #dedede !important; }

.button.success {
  background: #2cb978;
  border: 1px solid #2cb978;
  color: #f4f5f8; }

.button.success.ghost {
  background: none !important;
  color: #2cb978; }
  .button.success.ghost:hover {
    border-color: #2cb978;
    color: #f4f5f8;
    background-color: #2cb978 !important; }

.button.error {
  background: #c82f2f;
  border: 1px solid #c82f2f;
  color: #f4f5f8; }

.button.error.ghost {
  background: none !important;
  color: #c82f2f; }
  .button.error.ghost:hover {
    border-color: #c82f2f;
    color: #f4f5f8;
    background-color: #c82f2f !important; }

.button.warning {
  background: #c8b726;
  border: 1px solid #c8b726;
  color: #f4f5f8; }

.button.warning.ghost {
  background: none !important;
  color: #c8b726; }
  .button.warning.ghost:hover {
    border-color: #c8b726;
    color: #f4f5f8;
    background-color: #c8b726 !important; }

.button.dark {
  background: #00202C;
  border: 1px solid #00202C;
  color: #f4f5f8; }

.button.dark.ghost {
  background: none !important;
  color: #00202C; }
  .button.dark.ghost:hover {
    border-color: #00202C;
    color: #f4f5f8;
    background-color: #00202C !important; }

.button.light {
  background: #f4f5f8;
  border: 1px solid #f4f5f8;
  color: #00202C; }

.button.light.ghost {
  background: none !important;
  color: #f4f5f8; }
  .button.light.ghost:hover {
    border-color: #f4f5f8;
    color: #00202C;
    background-color: #f4f5f8 !important; }

.button.xs {
  font-size: 0.85em; }

.button.sm {
  font-size: 1em; }

.button.md {
  font-size: 1.125em; }

.button.lg {
  font-size: 1.25em; }

.button.xl {
  font-size: 1.5em; }

.button-group {
  display: inline-flex;
  margin-bottom: 1em;
  max-width: 100%;
  overflow-x: scroll; }
  .button-group a.button {
    margin: 0;
    float: left;
    border-right: 1px solid rgba(0, 0, 0, 0.25); }
  .button-group a.button:last-child {
    border-right: none; }

.button-group::-webkit-scrollbar {
  display: none; }

.button-group {
  -ms-overflow-style: none;
  scrollbar-width: none; }

.button-group.squared .button:first-child {
  border-radius: 0.25em 0 0 0.25em; }

.button-group.squared .button:last-child {
  border-radius: 0 0.25em 0.25em 0; }

.button-group.rounded .button:first-child {
  border-radius: 0.5em 0 0 0.5em; }

.button-group.rounded .button:last-child {
  border-radius: 0 0.5em 0.5em 0; }

.button-group.circular .button:first-child {
  border-radius: 50em 0 0 50em; }

.button-group.circular .button:last-child {
  border-radius: 0 50em 50em 0; }

/* ---------------------------------- tables ---------------------------------- */
table {
  width: 100%;
  margin: 0;
  border-collapse: collapse; }
  table tr, table th, table td {
    margin: 0;
    text-align: left;
    padding: .5em; }
  table tr {
    border-bottom: 1px solid #dedede; }
  table tr:last-child, table td:last-child {
    border-bottom: none; }

.table-lg tr, .table-lg th, .table-lg td {
  padding: 1em; }

.table-striped tr:nth-child(even) {
  background: #dedede; }

.table-hover tr {
  transition: .5s; }
.table-hover tr:hover {
  background: #dedede; }

/* ---------------------------------- forms ---------------------------------- */
form label {
  display: inline-block;
  font-size: 1em;
  margin: 0 0 .5em 0; }
form input[type=text], form input[type=date], form input[type=time], form input[type=tel], form input[type=email], form input[type=password], form input[type=url], form input[type=search], form input[type=month], form input[type=week], form input[type=number], form input[type=datetime], form input[type=datetime-local] {
  font-family: "IBM Plex Sans", sans-serif;
  background: #f4f5f8;
  width: 100%;
  display: block;
  border: 1px solid #dedede;
  padding: .5em 0 .5em 0;
  font-size: clamp(16px, 1em, 1em);
  margin-bottom: 1em;
  text-indent: .5em; }
form input[type=text].error, form input[type=date].error, form input[type=time].error, form input[type=tel].error, form input[type=email].error, form input[type=password].error, form input[type=url].error, form input[type=search].error, form input[type=month].error, form input[type=week].error, form input[type=number].error, form input[type=datetime].error, form input[type=datetime-local].error, form input[type=range].error, form input[type=color].error, form textarea.error {
  border: 1px solid #c82f2f;
  box-shadow: 0px 0px 0.15em #c82f2f;
  color: #c82f2f; }
form input[type=text].success, form input[type=date].success, form input[type=time].success, form input[type=tel].success, form input[type=email].success, form input[type=password].success, form input[type=url].success, form input[type=search].success, form input[type=month].success, form input[type=week].success, form input[type=number].success, form input[type=datetime].success, form input[type=datetime-local].success, form input[type=range].success, form input[type=color].success, form textarea.success {
  border: 1px solid #2cb978;
  box-shadow: 0px 0px 0.15em #2cb978;
  color: #2cb978; }
form input[type=file].error {
  color: #c82f2f; }
form input[type=file].success {
  color: #2cb978; }
form textarea {
  font-family: "IBM Plex Sans", sans-serif;
  background: #f4f5f8;
  width: -moz-calc(100% - .5em);
  width: -webkit-calc(100% - .5em);
  width: calc(100% - .5em);
  display: block;
  border: 1px solid #999;
  padding: .5em 0 .5em .5em;
  margin-bottom: 1em;
  font-size: clamp(16px, 1em, 1em);
  min-height: 6em;
  resize: none; }
form input[type=text]:focus, form input[type=date]:focus, form input[type=time]:focus, form input[type=tel]:focus, form input[type=email]:focus, form input[type=password]:focus, form input[type=url]:focus, form input[type=search]:focus, form input[type=month]:focus, form input[type=week]:focus, form input[type=number]:focus, form input[type=datetime]:focus, form input[type=datetime-local]:focus, form textarea:focus {
  border: 1px solid #067df7;
  box-shadow: 0px 0px 0.15em #067df7;
  color: #00202C;
  outline: 0; }
form button:focus {
  box-shadow: none;
  outline: 0; }
form input.button, form button {
  font-family: "IBM Plex Sans", sans-serif;
  cursor: pointer;
  padding-top: auto !important;
  outline: 0;
  display: inline-block; }
form input[type="submit"] {
  box-shadow: none;
  outline: 0;
  border: none; }
form input[type=color] {
  display: block;
  border: none;
  cursor: crosshair;
  margin-left: 0;
  padding: 0;
  background: none;
  width: 2.5em;
  height: 2.5em; }
form input[type=color]:focus {
  outline: none; }
form input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  border: none;
  padding: 1em 0 1em 0;
  background: none;
  margin: 0 0 1em 0; }
form input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none; }
form input[type=range]:focus {
  outline: none; }
form input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent; }
form input[type=range]::-webkit-slider-thumb {
  margin-top: -0.2em;
  -webkit-appearance: none;
  border: none;
  height: 1em;
  width: 1em;
  border-radius: 50%;
  background: #067df7;
  cursor: pointer;
  box-shadow: none; }
form input[type=range]::-moz-range-thumb {
  margin-top: -0.2em;
  box-shadow: none;
  border: none;
  height: 1em;
  width: 1em;
  border-radius: 50%;
  background: #067df7;
  cursor: pointer; }
form input[type=range]::-ms-thumb {
  margin-top: -0.2em;
  box-shadow: none;
  border: none;
  height: 1em;
  width: 1em;
  border-radius: 50%;
  background: #067df7;
  cursor: pointer; }
form input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: .5em;
  cursor: pointer;
  box-shadow: none;
  background: #dedede;
  border-radius: .25em;
  border: none; }
form input[type=range]:focus::-webkit-slider-runnable-track {
  background: #dedede; }
form input[type=range]::-moz-range-track {
  width: 100%;
  height: .5em;
  cursor: pointer;
  box-shadow: none;
  background: #dedede;
  border-radius: .25em;
  border: none; }
form input[type=range]::-ms-track {
  width: 100%;
  height: .5em;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 0;
  color: transparent; }
form input[type=range]::-ms-fill-lower {
  background: #dedede;
  border: none;
  border-radius: .25em;
  box-shadow: none; }
form input[type=range]:focus::-ms-fill-lower {
  background: #dedede; }
form input[type=range]::-ms-fill-upper {
  background: #dedede;
  border: none;
  border-radius: .25em;
  box-shadow: none; }
form input[type=range]:focus::-ms-fill-upper {
  background: #dedede; }
form input[type=file] {
  max-width: 100%;
  display: block;
  margin-bottom: 1em; }
form input[type="file"]::-webkit-file-upload-button {
  font-family: "IBM Plex Sans", fallback-font;
  max-width: 100%;
  padding: .42em 1em .42em 1em;
  background-color: #f4f5f8;
  border: 1px solid #00202C;
  color: #00202C;
  border-radius: 0;
  font-size: 15px;
  cursor: pointer; }
form input[type="file"]::-webkit-file-upload-button:hover {
  box-shadow: inset 0px 40px 40px 40px rgba(0, 0, 0, 0.07); }
form input[type="file"]::-webkit-file-upload-button:focus {
  box-shadow: none;
  box-shadow: inset 0px 40px 40px 40px rgba(0, 0, 0, 0.07);
  outline: 0;
  border-color: #00202C; }
form ::placeholder {
  color: #aaaaaa;
  font-style: italic; }
