.trans, a, i, input[type="checkbox"] + label:before, input[type="submit"], input[type="reset"], .button, button, .input-group *, button *, .primary-navigation-container {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.trans-alt {
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
}

.no-underline {
  border-bottom: 0;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.right {
  float: right;
}

/* GENERAL */
html, body, input, button {
  font-family: 'Roboto',sans-serif;
}

body {
  overflow-x: hidden;
}

ul {
  list-style-type: none;
}

main {
  position: relative;
  padding-bottom: 6.25rem;
}

a {
  letter-spacing: 0.03em;
  text-decoration: none;
}

h1 {
  font-size: 3.125rem;
  letter-spacing: 0.02em;
}

h2 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 1.5625rem;
}

h3, legend {
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

h4 {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 2.25rem;
}

h5 {
  font-size: 1.125rem;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.03em;
}

@media only screen and (max-width: 1080px) {
  h1 {
    font-size: 2rem;
  }
}

hr {
  border-bottom: 0;
  margin: 1.875rem 0;
}

fieldset hr {
  margin: 1.25rem 0;
  border-top: 0.125rem solid rgba(0, 0, 0, 0.1);
}

p, .post li {
  line-height: 2rem;
}

p, .post li {
  letter-spacing: 0.03em;
  font-size: 1.25rem;
}

strong {
  font-weight: bold;
}

nav li {
  display: inline-block;
}

.post > .fas.fa-spin {
  font-size: 6.25rem;
  display: block;
  text-align: center;
  margin-top: 3.125rem;
}

.left {
  float: left;
}

.right {
  float: right;
}

.hidden {
  display: none;
}

.full-width {
  width: 100%;
}

.center {
  text-align: center;
}

@media only screen and (max-width: 1080px) {
  section.left, section.right {
    float: none;
  }
}

fieldset, .job-listings a {
  padding: 1.25rem;
  margin-bottom: 0.1875rem;
  position: relative;
}

fieldset input[type='text'], fieldset input[type='email'], fieldset input[type='url'], fieldset input[type='search'], fieldset input[type='password'], fieldset input[type='number'], fieldset select, fieldset textarea, fieldset textarea, .job-listings a input[type='text'], .job-listings a input[type='email'], .job-listings a input[type='url'], .job-listings a input[type='search'], .job-listings a input[type='password'], .job-listings a input[type='number'], .job-listings a select, .job-listings a textarea, .job-listings a textarea {
  border-bottom: 3px solid;
  border-radius: 0;
  padding-left: 0;
}

fieldset label, .job-listings a label {
  display: block;
  margin-top: 1.25rem;
}

fieldset:last-of-type {
  margin-bottom: 2.5rem;
}

legend {
  float: left;
  width: 100%;
}

input, textarea {
  display: block;
}

fieldset input[readonly="readonly"] {
  border: none;
  display: inline;
}

input[type='text'], input[type='email'], input[type='url'], input[type='search'], input[type='password'], input[type='number'], select, textarea, textarea {
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 21.875rem;
  font-family: 'Roboto',sans-serif;
  font-size: 1.375rem;
  border-radius: 1rem;
  outline: 0;
  border: 0;
  padding: 0.25rem 1.25rem;
}

input[type="checkbox"] {
  outline: 0;
  visibility: hidden;
  width: 1.25em;
  margin: 0;
  display: block;
  float: left;
  font-size: inherit;
}

input[type="checkbox"] + label {
  line-height: 1.1875rem;
  cursor: pointer;
  position: relative;
  padding-left: 1.625rem;
  margin: 1.25rem 0 1.875rem;
}

input[type="checkbox"] + label:before {
  line-height: 1rem;
  text-align: center;
  font-family: "FontAwesome";
  font-size: 0.875rem;
  content: "";
  border: 2px solid;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  position: absolute;
  left: 0;
}

input[type="checkbox"]:checked + label {
  font-weight: bold;
}

input[type="checkbox"]:checked + label:before {
  content: "\f00c";
}

input[type="color"] {
  cursor: pointer;
  background: transparent;
  height: 3.125rem;
  width: 3.125rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type="file"] {
  margin-top: 0.625rem;
}

input[type="radio"] {
  display: inline-block;
}

input[type="radio"] + label {
  display: inline;
}

input[type="submit"], input[type="reset"], .button, button {
  padding: 0.6875rem 1.875rem;
  cursor: pointer;
  outline: 0;
  border: 0;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

input[type="submit"].small, input[type="reset"].small, .button.small, button.small {
  font-weight: bold;
  font-size: 1.125rem;
  border-radius: 0.4375rem;
  height: 1.5rem;
  line-height: 1.5rem;
  padding: 0 0.625rem;
  letter-spacing: 0.03em;
}

.input-with-icon, .input-group {
  position: relative;
}

.input-with-icon i, .input-group i {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0.9375rem;
  font-size: 1.25rem;
}

.input-with-icon input, .input-group input {
  padding-left: 2.8125rem;
}

fieldset legend.input-with-icon i {
  left: 0;
}

fieldset legend.input-with-icon input {
  padding-left: 2.5rem;
}

button:disabled {
  cursor: default;
}

.thumbnail {
  display: inline-block;
  position: relative;
}

.thumbnail button {
  display: none;
  position: absolute;
  right: 0;
}

.thumbnail:hover button {
  display: inline-block;
}

select {
  display: block;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  cursor: pointer;
  background-image: url("./images/dropdown.png");
  background-repeat: no-repeat;
  background-position: 99% 1.125rem;
}

select:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

input.right {
  width: 6.25rem;
  text-align: right;
}

loader, loader:after {
  border-radius: 50%;
  width: 2em;
  height: 2em;
}

loader {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 0.25em solid rgba(255, 255, 255, 0.2);
  border-right: 0.25em solid rgba(255, 255, 255, 0.2);
  border-bottom: 0.25em solid rgba(255, 255, 255, 0.2);
  border-left: 0.25em solid #ffffff;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
  display: inline-block;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* HEADER */
html {
  padding-top: 1.25rem;
}

header .advertisement, footer .advertisement {
  margin-bottom: 2.5rem;
}

header .advertisement img, footer .advertisement img {
  max-width: 100%;
}

header, .alert {
  -webkit-box-shadow: 0px 1.25rem 1.25rem -0.625rem rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1.25rem 1.25rem -0.625rem rgba(0, 0, 0, 0.1);
  z-index: 1;
  position: relative;
}

header a {
  text-decoration: none;
}

nav.account {
  text-align: right;
  margin-bottom: 0.375rem;
}

nav.account li {
  display: inline-block;
  margin-left: 0.9375rem;
}

nav.account a {
  text-transform: uppercase;
  font-weight: bold;
}

nav.account i {
  margin-right: 0.125rem;
}

nav.account i:before {
  border-radius: 0.4375rem;
  padding: 0.25rem;
}

@media only screen and (max-width: 1080px) {
  nav.account {
    text-align: center;
    margin-bottom: 3.75rem;
    font-size: 0.875rem;
  }
}

.primary-navigation-container {
  height: 2.875rem;
  min-height: 2.875rem;
}

.primary-navigation-container .logo img {
  margin-top: -2.25rem;
}

.primary-navigation-container .hamburger-menu {
  display: none;
}

.primary-navigation-container .hamburger-icon {
  margin: 0;
  margin-top: 0.9375rem;
}

.primary-navigation-container .hamburger-icon:before {
  display: none;
}

@media only screen and (max-width: 1080px) {
  .primary-navigation-container {
    margin-top: 9.375rem;
    height: auto;
  }
  .primary-navigation-container .logo {
    position: absolute;
    top: -6.25rem;
    width: 100%;
    text-align: center;
  }
  .primary-navigation-container .primary-navigation {
    margin-top: 2.875rem;
    position: absolute;
    width: calc(100vw - 15px);
    margin-left: -10vw;
    max-height: 0;
    overflow: hidden;
    display: block;
    text-align: center;
  }
  .primary-navigation-container .primary-navigation li {
    display: block;
  }
  .primary-navigation-container .primary-navigation a {
    text-align: right;
    padding-right: 10vw;
    display: block;
  }
  .primary-navigation-container .hamburger-menu:checked ~ .primary-navigation {
    max-height: 100vh;
  }
  .primary-navigation-container .hamburger-menu:checked ~ .hamburger-icon .navicon {
    background: transparent;
  }
  .primary-navigation-container .hamburger-menu:checked ~ .hamburger-icon .navicon:before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .primary-navigation-container .hamburger-menu:checked ~ .hamburger-icon .navicon:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .primary-navigation-container .hamburger-menu:checked ~ .hamburger-icon:not(.steps) .navicon:before, .primary-navigation-container .hamburger-menu:checked ~ .hamburger-icon:not(.steps) .navicon:after {
    top: 0;
  }
  .primary-navigation-container .hamburger-icon {
    cursor: pointer;
    padding: 0.5rem 1.25rem;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    float: right;
  }
  .primary-navigation-container .hamburger-icon .navicon {
    display: block;
    height: 0.125rem;
    position: relative;
    -webkit-transition: background .2s ease-out;
    transition: background .2s ease-out;
    width: 32px;
  }
  .primary-navigation-container .hamburger-icon .navicon:before, .primary-navigation-container .hamburger-icon .navicon:after {
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
    width: 100%;
  }
  .primary-navigation-container .hamburger-icon .navicon:before {
    top: 5px;
  }
  .primary-navigation-container .hamburger-icon .navicon:after {
    top: -5px;
  }
}

nav.primary-navigation {
  margin-left: 0.625rem;
  display: inline-block;
  font-size: 1.375rem;
  line-height: 2.875rem;
  vertical-align: top;
}

nav.primary-navigation li {
  padding: 0 0.9375rem;
}

.job-search {
  float: right;
  margin-top: 0.3125rem;
}

@media only screen and (max-width: 1080px) {
  .job-search {
    width: 50vw;
    float: left;
  }
  .job-search input {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

.toolbox-container {
  margin-top: 4.375rem;
}

.toolbox {
  padding-bottom: 0.3125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.toolbox .page-title {
  display: inline-block;
  padding-bottom: 0.3125rem;
}

.toolbox .options {
  float: right;
}

.toolbox .button {
  margin-left: 0.625rem;
}

.filters {
  border-top: 0.25rem solid;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

/* BODY */
main {
  padding-top: 3.125rem;
  min-height: 37.5rem;
}

@media only screen and (max-width: 70.25rem) {
  main .body-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.post ol {
  list-style-type: decimal;
  list-style-position: inside;
}

.post ul {
  margin-top: 0.625rem;
}

.post ul li:before {
  content: '\25A0';
  margin-right: 0.625rem;
  position: absolute;
  left: 0;
  top: 0.9375rem;
  line-height: 0;
}

.post p, .post ul {
  margin-bottom: 1.875rem;
}

.post li {
  padding-left: 1.25rem;
  margin-bottom: 0.3125rem;
  position: relative;
}

.post .job-category, .user-banner {
  width: 100%;
  border-radius: 1.25rem;
  -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, color-stop(10%, transparent), color-stop(70%, black));
  -webkit-mask-image: linear-gradient(to top, transparent 10%, black 70%);
          mask-image: -webkit-gradient(linear, left bottom, left top, color-stop(10%, transparent), color-stop(70%, black));
          mask-image: linear-gradient(to top, transparent 10%, black 70%);
}

.user-banner {
  max-height: 35rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.body-container {
  position: relative;
}

.job-listings {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  list-style-type: none;
}

.job-listings h5 {
  margin: 0.625rem 0 0.125rem;
}

.job-listings a {
  cursor: pointer;
  display: block;
  border-left: 0px solid;
  overflow: auto;
}

.job-listings a:focus {
  -webkit-box-shadow: 0.4375rem 0.4375rem 0.3125rem 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0.4375rem 0.4375rem 0.3125rem 0px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
}

.job-listings p {
  font-size: 1.125rem;
  display: inline;
  margin-right: 0.625rem;
}

.job-listings p:before {
  font-family: "FontAwesome";
  font-weight: 900;
  margin-right: 0.3125rem;
}

.job-listings .location:before {
  content: "\f3c5";
}

.job-listings .company:before {
  content: "\f1ad";
}

.job-listings img {
  float: left;
  margin-right: 1.25rem;
  height: 4rem;
}

.job-listings::-webkit-scrollbar {
  width: 0.3125rem;
  margin-left: 0.3125rem;
}

.job-listings li {
  clear: both;
}

.job-listings li:last-child a {
  margin-bottom: 0;
}

@media only screen and (max-width: 70.25rem) {
  .job-listings {
    position: unset;
    margin-bottom: 2.5rem;
  }
}

.job-listings .advertisement {
  max-height: 6.25rem;
}

.job-listings .advertisement img {
  float: none;
  margin: 0;
  height: auto;
  max-width: 100%;
}

.job-listings .advertisement p {
  display: block;
  width: 100%;
}

nav.categories {
  font-size: 1.5rem;
}

nav.categories a {
  text-decoration: none;
}

.alert {
  left: -200%;
  padding: 0.9375rem 1.25rem;
  border-radius: 0.3125rem;
  margin-bottom: 2.5rem;
}

.alert h1 {
  font-size: 1.5rem;
  font-weight: bold;
}

.alert:before {
  float: left;
  font-family: "FontAwesome";
  height: 6.25rem;
  font-size: 2.5rem;
  margin-right: 1.25rem;
}

.alert.failure:before {
  content: "\f06a";
}

.alert.success:before {
  content: "\f164";
}

/* HOME */
.index-page .body-container > section, .job-listing-container .body-container > section {
  display: inline-block;
  width: 50%;
  margin-right: -0.125rem;
  vertical-align: top;
}

.index-page .post-preview, .job-listing-container .post-preview {
  padding: 0 2.1875rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 2.5rem;
}

.index-page .post-preview h2, .job-listing-container .post-preview h2 {
  margin-bottom: 0.625rem;
  line-height: 2.5rem;
}

@media only screen and (max-width: 70.25rem) {
  .index-page .body-container > section, .job-listing-container .body-container > section {
    display: block;
    width: 100%;
  }
}

/* VIEW */
.view-page section.post {
  position: relative;
}

.view-page .avatar {
  position: absolute;
  left: 2.5rem;
  top: -2.5rem;
  z-index: 1;
}

@media only screen and (max-width: 1080px) {
  .view-page .avatar {
    position: unset;
    margin-bottom: 2.5rem;
  }
}

.job-listing-container {
  padding-top: 1.25rem;
}

/* ADMIN */
a.edit {
  float: right;
  font-size: 1.25rem;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
}

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

.edit-link-details {
  display: block;
  width: 100%;
  overflow: hidden;
}

form label {
  font-size: 1.125rem;
  margin-bottom: 1.25rem;
}

#group-contents li label, .admin-page form label {
  font-size: 0.9375rem;
  margin-bottom: 0.125rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

#group-contents li input[type='text'], #group-contents li input[type='email'], #group-contents li input[type='url'], #group-contents li input[type='search'], #group-contents li input[type='password'], #group-contents li input[type='number'], #group-contents li select, #group-contents li textarea {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

nav.categories li {
  margin-bottom: 0.625rem;
  display: block;
}

nav.categories li i {
  width: 1.875rem;
}

.settings .edit i {
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
}

.settings .group {
  clear: both;
}

.settings .group ul {
  margin-bottom: 1.25rem;
}

.settings .group ul li {
  -webkit-transition: -webkit-box-shadow 0.25s;
  transition: -webkit-box-shadow 0.25s;
  transition: box-shadow 0.25s;
  transition: box-shadow 0.25s, -webkit-box-shadow 0.25s;
  display: block;
  margin-bottom: 0.0625rem;
  padding: 0.9375rem;
  font-size: 1.25rem;
}

.settings .group .sortable-ghost {
  opacity: 1;
}

.settings .group .handle {
  cursor: move;
  cursor: -webkit-grabbing;
  float: left;
  margin-right: 0.625rem;
}

.settings #group-contents, .settings .group-options {
  padding-top: 1.25rem;
}

.settings fieldset.active .edit i {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.permissions legend {
  width: unset;
  display: inline-block;
}

.sortable-ghost {
  -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);
          box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);
  z-index: 3;
  position: relative;
  opacity: 0;
  -webkit-user-drag: none !important;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important;
}

.row-toolbox i, .close-button {
  margin-left: 0.125rem;
  border-radius: 100%;
  cursor: pointer;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.row-toolbox i, .close-button:before {
  width: 2rem;
  height: 2rem;
}

.row-toolbox i {
  padding-top: 0.3125rem;
  margin-top: -0.3125rem;
}

.close-button:before, .permissions .row-toolbox i {
  margin-top: 0;
  padding-top: 0;
  display: inline-block;
  line-height: 2rem;
}

.sidebar p {
  font-weight: bold;
  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 0.625rem;
}

/* FOOTER */
footer {
  overflow: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  padding-top: 6.25rem;
  min-height: 18.75rem;
  -webkit-box-shadow: 0 0 1.25rem 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 1.25rem 0 rgba(0, 0, 0, 0.2);
}

footer .logo {
  float: left;
  margin-right: 3.125rem;
  margin-top: -2.5rem;
}

footer p, footer a {
  font-size: 1.25rem;
}

footer a {
  font-weight: bold;
}

footer .body-width {
  overflow: hidden;
}

@media only screen and (max-width: 1080px) {
  footer {
    height: auto;
    padding-bottom: 1.25rem;
  }
  footer .body-container > * {
    display: block;
    text-align: center;
    float: none;
    margin-right: 0;
    margin-bottom: 1.25rem;
  }
}

.footer-navigation li:not(:last-child):after {
  content: "|";
  margin: 0 1.25rem;
  font-size: 1.25rem;
}

.social-navigation {
  float: right;
}

.social-navigation li {
  margin-left: 1.5625rem;
}

.social-navigation a {
  font-size: 2rem;
}

@media only screen and (min-width: 71.25rem) {
  .body-width, nav.account, .toolbox, .body-container, .entry .entry-footer, .navigation-container, .site-logo.below, #colophon .site-info, .entry .entry-content > *.alignwide, .entry .entry-summary > *.alignwide, .entry-content section > * {
    max-width: 71.25rem;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  /* With sidebar */
  .sidebar.left + section > * {
    padding-left: 18.75rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .sidebar.right + section > * {
    padding-right: 18.75rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .sidebar {
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
    width: 15.625rem;
  }
  .sidebar.left {
    right: 52.5rem;
  }
  .sidebar.right {
    left: 52.5rem;
  }
}

@media only screen and (max-width: 70.25rem) {
  #secondary, .body-width, nav.account, .toolbox, .body-container, .entry .entry-footer, .navigation-container, .site-logo.below, #colophon .site-info, .entry .entry-content > *.alignwide, .entry .entry-summary > *.alignwide, .entry-content section > * {
    max-width: 80%;
    margin-left: 10%;
    margin-right: 10%;
  }
}
/*# sourceMappingURL=style.css.map */