@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;700&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box !important;
}

.background-cover {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

body, html {
  font-family: 'Work Sans', sans-serif !important;
  box-sizing: border-box;
  -webkit-font-smoothing: subpixel-antialiased;
  backface-visibility: hidden;
  scroll-behavior: smooth;
  overflow-X: hidden;
  font-size: 15px;
  line-height: 28px;
  color: #111; 
}

::-webkit-scrollbar {
  width: 6px !important;
}

/* Track */
::-webkit-scrollbar-track {
  background: white !important;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #D29723 !important;
}

/************************
*         HEADER
************************/
.header {
  max-width: 100vw;
  width: 100vw;
  position: relative;
  background-size: cover;
  background-position: center center;
  font-size: 1rem;
  padding: 15vh 0;
  padding-bottom: 0;
  background-image: url("../assets/img/880.jpg");
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.header::after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.6);
  content: '';
}

.head {
  position: relative;
  z-index: 50;
  color: #FFF;
  width: 60vw;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 10vh;
}

.head__title {
  font-size: 3.3em;
  font-weight: 500;
  margin-bottom: 4vh;
  animation: fade 1500ms forwards;
  animation-delay: 200ms;
  opacity: 0;
}

.head__subtitle {
  font-size: 1.6em;
  line-height: 1.8em;
  font-weight: 500;
  margin-bottom: 4vh;
  animation: fade 1500ms forwards;
  animation-delay: 400ms;
  opacity: 0;
}

.head__nav {
  font-size: 1.2em;
  font-weight: 300;
  animation: fade 1500ms forwards;
  animation-delay: 600ms;
  opacity: 0;
}

.head__nav a {
  color: #FFF;
  text-decoration: none;
  display: inline-block;
}

.head__nav a:not(:last-child) {
  margin-right: 0.5em;
}

.head__nav a:hover {
  color: #D29723;
}

.head__nav span {
  margin-right: 0.5em;
}

@keyframes fade {
  from {
    transform: translateY(150%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/************************
*       FILTERS
************************/
.filters {
    max-width: 100vw;
    width: 100vw;
    position: relative;
    z-index: 50;
    background: rgba(210, 151, 35, 0.9);
    font-size: 1rem;
    padding-top: 7vh;
    padding-bottom: 25vh;
}

.filters__container {
    width: 51.5vw;
    height: 4.63vh;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 7.96vh;
}

.filters__label {
    font-size: 1.33em;
    color: #FFF;
    font-weight: 500;
}

.filters__block {
    display: grid;
    width: 44.7vw;
    height: 100%;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2.5vw;
}

.filters__select {
    height: 100%;
    width: 100%;
    background-color: transparent;
    border: 1px solid #FFF;
    border-radius: 0.2em;
    font-size: 1.33em;
    font-weight: 300;
    padding: 1vh 0.5vw;
    color: #FFF;
}

.filters__select:focus {
    outline: none;
}

.filters__select option {
    color: #D29723;
    background-color:transparent !important;
}

/************************
*         JOBS
************************/
.jobs {
    width: 71vw;
    height: auto;
    margin: 0 auto;
    margin-top: -15vh;
    position: relative;
    z-index: 50;
    font-size: 1rem;
}

.jobs__title {
    text-align: center;
    font-size: 2.33em;
    font-weight: 500;
    color: #FFF;
}

.jobs__rows {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.5vw;
    row-gap: 7vh;
    margin-bottom: 15vh;
}

.jobs__card {
    width: 100%;
    height: auto;
    background-color: #FFF;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    padding: 2vh 1vw;
    padding-right: 2vw;
    padding-bottom: 7vh;
    position: relative;
    z-index: 100;
    transition: 1000ms ease;
}

.jobs__card:hover {
    transform: scale(1.1);
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, .15);
    z-index: 200;
}

.jobs__card:hover .jobs__card__button {
    animation: rotatingButton 1000ms ease-in-out forwards;
}

.jobs__card--first:hover {
    transform: scale(1.1) translateX(5%);
}

.jobs__card--last:hover {
    transform: scale(1.1) translateX(-5%);
}

.jobs__card__type {
    background-color: #D29723;
    border-radius: 0.25em;
    color: #FFF;
    padding: 1vh 1vw;
    font-size: 1.2em;
    font-weight: 400;
}

.jobs__card__location {
    text-transform: uppercase;
    font-size: 1.2em;
    font-weight: 400;
    margin-top: 2vh;
    margin-bottom: 2vh;
}

.jobs__card__location i {
    color: #D29723;
    font-size: 1.1em;
    margin-right: 0.5em;
}

.jobs__card__name {
    font-size: 1.73em;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 2vh;
}

.jobs__card__description {
    font-size: 1.2em;
    line-height: 1.5em;
    font-weight: 400;
}

.jobs__card__button {
    width: 2vw;
    height: 2vw;
    background-color: #D29723;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
}

.jobs__card__button img {
    width: 60%;
    height: auto;
}

@keyframes rotatingButton {
    from {
        transform: translate3d(-50%, -50%, 0) rotate(0);
    }
    30% {
        transform: translate3d(-50%, -50%, 0) rotate(-70deg);
    }
    to {
        transform: translate3d(-50%, -50%, 0) rotate(180deg);
    }
}

.jobs__view-more {
    font-weight: 500;
    font-size: 1.2em;
    line-height: 1.5em;
    text-align: center;
    margin: 0 auto;
    cursor: pointer;
    margin-bottom: 9vh;
    color: #D29723;
}
  
.jobs__view-more img {
    width: 2vw;
    animation: bounceDown 1000ms infinite;
}
  
@keyframes bounceDown {
    0%, 20%, 53%, 80%, 100% {
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transform: translate3d(0, -0.8em, 0);
    }
    40%, 43% {
        transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, 1.2em, 0);
    }
    70% {
        transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        transform: translate3d(0, 0.2em, 0);
    }
    90% {
        transform: translate3d(0, -0.6em, 0);
    }
}

/************************
*      SPONTANEOUS
************************/
.spontaneous {
    max-width: 100vw;
    width: 100vw;
    background-color: #F6F6F6;
    padding: 9vh 0;
    font-size: 1rem;
}

.spontaneous__title {
    text-align: center;
    font-size: 2.33em;
    font-weight: 500;
    color: #D29723;
    margin-bottom: 4vh;
}

.spontaneous__errors {
    width: 100%;
    background-color: rgba(210, 67, 35, .3);
    color: #D24323;
    font-size: 1.2em;
    line-height: 1.5em;
    margin: 0 auto;
    padding: 2vh 2vw;
    font-weight: 500;
    border-radius: .2em;
    margin-bottom: 2vh;
    position: relative;
    transition: opacity 1000ms ease;
}

.spontaneous__errors__close {
    position: absolute;
    right: 1vw;
    top: 1vh;
    cursor: pointer;
    font-size: 1.5em;
}

.spontaneous__errors--hide {
    display: none;
}

.spontaneous__success {
    width: 100%;
    background-color: rgba(62, 210, 35, .3);
    color: #56AF45;
    font-size: 1.2em;
    line-height: 1.5em;
    margin: 0 auto;
    padding: 2vh 2vw;
    font-weight: 500;
    border-radius: .2em;
    margin-bottom: 2vh;
    position: relative;
    transition: opacity 1000ms ease;
}

.spontaneous__success__close {
    position: absolute;
    right: 1vw;
    top: 1vh;
    cursor: pointer;
    font-size: 1.5em;
}

.spontaneous__success--hide {
    display: none;
}

.spontaneous__container {
    width: 71vw;
    margin: 0 auto;
}

.spontaneous__input-group {
    display: flex;
    justify-content: space-between;
}

.spontaneous__input {
    width: 100%;
    border: 1px solid #DDD;
    padding: 1vh 1vw;
    font-family: 'Work Sans', sans-serif !important;
    color: #111;
    background-color: #FFF;
    font-size: 1.2em;
    margin-bottom: 2vh;
    border-radius: .2em;
    line-height: inherit;
}

.spontaneous__input::placeholder {
    font-family: 'Work Sans', sans-serif !important;
    font-weight: 300;
}

.spontaneous__input:focus {
    outline: none;
    border: 1px solid #D29723;
}

.spontaneous__input--half {
    width: 35vw;
}

.spontaneous__message {
    height: 12.7vh;
    width: 100%;
    border: 1px solid #DDD;
    padding: 1vh 1vw;
    font-family: 'Work Sans', sans-serif !important;
    color: #111;
    background-color: #FFF;
    font-size: 1.2em;
    margin-bottom: 2vh;
    border-radius: .2em;
    line-height: inherit;
}

.spontaneous__message::placeholder {
    font-family: 'Work Sans', sans-serif !important;
    font-weight: 300;
}

.spontaneous__message:focus {
    outline: none;
    border: 1px solid #D29723;
}

.spontaneous__select {
    height: 100%;
    width: 35vw;
    background-color: #FFF;
    border: 1px solid #DDD;
    color: #111;
    border-radius: 0.2em;
    font-size: 1.2em;
    font-weight: 300;
    padding: 1.5vh 1vw;
    font-family: 'Work Sans', sans-serif !important;
}

.spontaneous__select:focus {
    outline: none;
}

.spontaneous__select option {
    color: #D29723;
    background-color:transparent !important;
}

.spontaneous_submit {
    border: none;
    text-transform: uppercase;
    font-size: 1em;
    padding: 2vh 2vw;
    border-radius: 2em;
    color: #FFF;
    font-weight: 400;
    letter-spacing: .1em;
    cursor: pointer;
    margin: 0 auto;
    display: block;
    background-color: transparent;
    color: #D29723;
    border: 1px solid #D29723;
    transition: 500ms ease-out;
    margin-top: 5vh;
}

.spontaneous_submit:hover {
    background-color: #D29723;
    color: #FFF;
}

.spontaneous_submit:focus {
    outline: none;
    transform: translateY(-10%);
    box-shadow: 0 20px 35px 2px rgba(0, 0, 0, 0.1);
}

.spontaneous__drag {
    width: 35vw;
    padding: 2vh 2vw;
    display: flex;
    background-color: #FFF;
    align-items: center;
    justify-content: center;
    border: 2px dashed #DDD;
    margin-bottom: 2vh;
    position: relative;
}

.spontaneous__drag__icon {
    width: 4vw;
}

.spontaneous__drag__paragraph {
    font-size: 1.2em;
    line-height: 1.5em;
    font-weight: 300;
    word-break: break-all;
}

.spontaneous__drag__paragraph strong {
    font-weight: 500;
}
.spontaneous__drag__paragraph label {
    color: #D29723;
    text-decoration: underline;
    cursor: pointer;
}

.spontaneous__drag__paragraph input[type=file] {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
}

.spontaneous__captcha-group {
    width: 20%;
}

.spontaneous__captcha__text {
    font-size: 1em;
    font-weight: 300;
}

/************************
*         FOOTER
************************/
.footer {
    max-width: 100vw;
    width: 100vw;
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    overflow: hidden;
    font-size: 1rem;
}

.footer__cover {
    background-image: url("../assets/img/15690.jpg");
    background-size: cover;
    background-position: center 70%;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    transition: 1000ms ease;
}

.footer__block {
    position: relative;
    z-index: 100;
    width: 100%;
    height: 100%;
    color: #FFF;
    padding: 15vh 10vw;
}

.footer__block:nth-child(1) {
    background: rgba(0, 0, 0, 0.7);
}

.footer__block:nth-child(2) {
    background: rgba(210, 151, 35, 0.9);
}

.footer__block:hover ~ .footer__cover {
    transform: scale(1.05);
}

.footer__why {
    font-size: 2em;
    margin-bottom: 4vh;
}

.footer__paragraph {
    font-size: 1.2em;
    line-height: 1.5em;
    font-weight: 400;
    width: 100%;
}

@media only screen and (max-width: 1366px) {
    .header {
      font-size: 0.71rem;
    }
    .filters {
      font-size: 0.71rem;
    }
    .jobs {
      font-size: 0.71rem;
    }
    .spontaneous {
      font-size: 0.71rem;
    }
    .footer {
      font-size: 0.71rem;
    }
}
  
@media only screen and (max-width: 1280px) {
    .header {
      font-size: 0.66rem;
    }
    .filters {
      font-size: 0.66rem;
    }
    .jobs {
      font-size: 0.66rem;
    }
    .spontaneous {
      font-size: 0.66rem;
    }
    .footer {
      font-size: 0.66rem;
    }
}
  
@media only screen and (max-width: 1024px) {
    .header {
      font-size: 0.53rem;
    }
    .head__title,
    .head__subtitle,
    .head__nav {
      opacity: 1;
      animation: none;
    }
    .filters {
      font-size: 0.53rem;
    }
    .jobs {
      font-size: 0.53rem;
      width: 80vw;
    }
    .jobs__card__button {
      width: 3vw;
      height: 3vw;
    }
    .jobs__card:hover,
    .jobs__card--first:hover,
    .jobs__card--last:hover {
        transform: none;
    }
    .jobs__card:hover .jobs__card__button {
        animation: none;
    }
    
    .spontaneous {
      font-size: 0.53rem;
    }
    .spontaneous__container {
      width: 80vw;
    }
    .spontaneous__input--half,
    .spontaneous__select,
    .spontaneous__drag {
      width: 39vw;
    }
    .footer {
      font-size: 0.53rem;
    }
}
  
@media only screen and (max-width: 768px) {
    .header {
      font-size: 1rem;
    }
    .head {
      width: 70vw;
    }
    .filters {
      font-size: 1rem;
    }
  
    /* .filters__container {
      width: 88vw;
      margin: 0;
      margin-left: 10vw;
      margin-bottom: 7.96vh;
    }
  
    .filters__block {
        display: grid;
        width: 70vw;
        height: 100%;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 2.5vw;
    } */
  
    .jobs {
      font-size: 1rem;
      width: 60vw;
    }
    .jobs__rows {
      grid-template-columns: 1fr;
      column-gap: 2vw;
      row-gap: 5vh;
    }
    .jobs__card {
      padding: 3vh 3vw;
      padding-bottom: 10vh;
    }  
    .jobs__card__button {
        width: 6vw;
        height: 6vw;
        transform: none;
        transform: translateX(-50%);
        top: auto;
        bottom: 0;
    }
  
    .spontaneous {
      font-size: 1rem;
    }
    .spontaneous__input-group {
      display: block;
      margin-bottom: 2vh;
    }
    .spontaneous__input--half,
    .spontaneous__select,
    .spontaneous__drag {
      width: 100%;
    }
    .spontaneous__input-group .spontaneous__input--half:last-child {
      margin-bottom: 0;
    }
    .spontaneous__captcha-group {
      width: 50%;
    }
    .footer {
      font-size: 1rem;
      display: block;
    }  
    .footer__block {
      font-size: 1em;
      width: 100%;
      padding: 10vh 15vw;
    }
}
  
@media only screen and (max-width: 420px) {
    .header {
      font-size: 0.53rem;
    }
    .filters {
      font-size: 0.53rem;
    }
    .jobs {
      font-size: 0.53rem;
    }
    .spontaneous {
      font-size: 0.53rem;
    }
    .footer {
      font-size: 0.53rem;
    }
}