@import "https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css";

@font-face {
  font-family: 'Futura PT Heavy';
  src: url('Futura PT Heavy.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Futura PT Book';
  src: url('Futura PT Book.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Freight Big Medium';
  src: url('Freight Big Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

:root {
  --bulma-arrow-color: black;
  --bulma-body-color: black;
  --bulma-link-text: black;
  --gray: #7a7676;
}

body {
  font-family: 'Futura PT Book', sans-serif;
  font-size: 16px;
  letter-spacing: 0.075em;
}

h1,
h2,
h3 {
  line-height: 1.2;
  margin-bottom: 0.5em;
}

h1 {
  font-family: 'Futura PT Heavy', sans-serif;
  letter-spacing: 0.05em;;
  text-transform: uppercase;
}

h1,
.h1 {
  font-size: 1.5rem;
}

h2,
.h2 {
  font-size: 1.25rem;
}

h3,
.h3 {
  font-size: 1rem;
}

a:hover {
  text-decoration: revert;
}

ul,
li {
  margin: revert;
  padding: revert;
}

ul {
  list-style: revert;
}

select {
  font: inherit;
}

dialog {
  max-width: 600px;
}

dialog footer {
  display: flex;
  justify-content: flex-end;;
}

#logo {
  display: block;
}

main.container {
  padding: clamp(1rem, 6vmin, 4rem);
}

.label {
  font-weight: revert;
}

.button {
  --bulma-loading-color: white;
  background-color: black;
  color: white;
}

.subdued {
  color: var(--gray);
}

/* -------------- */
/* Job posts page */
/* -------------- */

#job-posts__filters {
  column-gap: 1rem;
  display: flex;
  flex-wrap: wrap;
}

#job-posts .job-posts-per-department:not(:last-child) {
  padding-bottom: var(--bulma-block-spacing);
}

#job-posts .job-posts-per-department:not(:has(.job-post)) {
  display: none;
}

#job-posts .job-post:not(:last-child) {
  border-bottom: 1px solid #f5f5f4;
  padding-bottom: var(--bulma-block-spacing);
}

#job-posts .job-post__title {
  font-family: 'Freight Big Medium', serif;
}

/* -------------------- */
/* Single job post page */
/* -------------------- */

#job-post__content {
  margin-top: 1rem;
}

#job-post__content p:not(:last-child) {
  margin-bottom: calc(var(--bulma-block-spacing) / 2);
}

#job-post__application {
  background-color: #fbfaf5;
  margin-top: 2rem;
  padding: 2rem;
}

#job-post__application .label {
  margin-bottom: var(--bulma-label-spacing);
}

#job-post__application .label>span {
  font-size: larger;
  font-weight: bold;
  margin-right: -4px;
  padding-left: 4px;
}

#job-post__application .field:not(:has([required])) .label>span {
  visibility: hidden;
}

#job-post__application .field:not(.is-horizontal):not(:last-child) {
  margin-bottom: calc(var(--bulma-block-spacing) * 2);
}

#job-post__application .field:not(.custom)+.field.custom::before {
  background-color: var(--gray);
  content: "";
  display: block;
  height: 1px;
  margin-block: 2rem;
  opacity: 0.25;
}

#job-post__application .field:has(.file) {
  margin-inline: auto;
  max-width: 400px;
  text-align: center;
}

#job-post__application :is(.file, .file-label, .file-name) {
  flex-grow: 1;
}

#job-post__application .file-name {
  max-width: unset;
}

#job-post__application button[type="submit"] {
  display: block;
  margin-left: auto;
}
@media print, screen and (min-width: 769px) {
  #job-post__application .field-body {
    flex-grow: 3.5;
  }
}