/*
 * Custom CSS for the Careers Page Template
 */

:root{
  --colour_yellow: #FED03D;
  --colour_green: #46914F;
  --colour_light_grey: #F5F5F5;
  --colour_border: #C9C9C9;
  --colour_font: #333333;
}

section{
  /* font-size: 18px; */
  /* color: var(--colour_font); */
  @media screen and (max-width: 800px){
    /* font-size: 14px; */
  }
  hr{
    background: var(--colour_border);
  }
}

.custom-title-bar-slider {
    height: 560px;
    width: 100%;
    background-size: cover;
    background-position: center center;
    position: relative;
    color: #fff;
    overflow: hidden;
    .slick-arrow{
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .fusion-button{
      padding: 16px 23px !important;
    }
}

.custom-title-bar-slider .slide-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 560px;
    text-align: center;
    padding: 0 100px;
    background-color: rgba(0,0,0,0.5); /* Dark overlay for text readability */
    @media screen and (max-width: 800px){
      padding: 0 40px;
    }
    &>*{
      max-width: 1050px;
    }
}

.custom-title-bar-slider h2 {
    color: #fff;
    font-size: 59px !important;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2 !important;
    @media screen and (max-width: 1300px){
      font-size: 45px !important;
    }
    @media screen and (max-width: 1000px){
      font-size: 35px !important;
    }
    @media screen and (max-width: 800px){
      font-size: 20px !important;
      line-height: 1.5em !important;
    }
}

.custom-title-bar-slider p {
    font-size: 30px;
    margin-bottom: 30px;
    margin-top: 0px;
    color: var(--colour_yellow);
    @media screen and (max-width: 1300px){
      font-size: 27px;
    }
    @media screen and (max-width: 1000px){
      font-size: 24px;
    }
    @media screen and (max-width: 800px){
      font-size: 18px;
      line-height: 1.3 !important;
    }
}

/* Slick Slider Arrow Styling */
.custom-title-bar-slider .slick-prev,
.custom-title-bar-slider .slick-next {
    z-index: 1;
    height: 50px;
    width: 50px;
    @media screen and (max-width: 800px){
      height: 43px;
      width: 43px;
      top: 36%;
    }
}

.custom-title-bar-slider .slick-prev {
    left: 25px;
    @media screen and (max-width: 800px){
      left: 0px;
    }
}

.custom-title-bar-slider .slick-next {
    right: 25px;
    @media screen and (max-width: 800px){
     right: 0px;
    }
}

.custom-title-bar-slider .slick-prev:before{
  transform: rotate(180deg);
}
.custom-title-bar-slider .slick-prev:before,
.custom-title-bar-slider .slick-next:before {
    font-size: 40px;
    color: #fff;
    opacity: 1;
    content: "";
    background: url("/wp-content/themes/avada-child/assets/images/Icon akar-arrow-right-yellow.svg");
    width: 24px;
    height: 25px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    @media screen and (max-width: 800px){
      width: 16px;
height: 19px;
    }
}

#main{
  padding: initial !important;
  .fusion-row{
    max-width: initial !important;
    p{
      /* line-height: 1.5; */
      @media screen and (max-width: 800px){
        /* line-height: 2.1; */
      }
    }
    .bastion-line{
      background: var(--colour_yellow);
      height: 2px;
      width: 140px;
      margin: 35px auto 40px auto;
      @media screen and (max-width: 800px){
        margin: 20px auto;
      }
      &.unique{
        margin: 35px auto 42px auto;
        @media screen and (max-width: 800px){
          margin: 20px auto 29px auto;
        }
      }
    }
    #intro{
      .inside{
        max-width: 755px;
        margin: auto;
        text-align: center;
        padding: 130px 0px;
        @media screen and (max-width: 1300px){
          padding: 100px 0px;
        }
        @media screen and (max-width: 800px){
          padding: 50px 30px;
        }
        &>*:last-child{
          margin-bottom: 0px;
        }
      }
    }
    #benefits{
      .inside{
        max-width: var(--site_width);
        margin: auto;
        text-align: center;
        padding: 0 50px 95px 50px;
        @media screen and (max-width: 800px){
          padding: 0 20px 45px 20px;
        }
        .repeater-blocks{
          display: flex;
          gap: 28px;
          flex-wrap: wrap;
          @media screen and (max-width: 800px){
            gap: 20px;
          }
          .benefit-entry{
            flex: 0 0 calc(50% - 14px);
            background: var(--colour_light_grey);
            border-radius: 16px;
            padding: 45px 45px 45px 45px;
            /* line-height: 1.5; */
            @media screen and (max-width: 800px){
              flex: 0 0 100%;
              padding: 35px 25px 35px 25px;
            }
            .heading{
              font-size: 27px;
              /* margin: 18px 0 16px 0; */
              margin: 18px 0px 9px 0;
              color: var(--colour_font);
              @media screen and (max-width: 1300px){
                font-size: 25px;
              }
              @media screen and (max-width: 1000px){
                font-size: 22px;
              }
              @media screen and (max-width: 800px){
                font-size: 18px;
                margin: 12px 0 12px 0;
              }
            }
            .icon img{
              width: 60px;
              height: auto;
            }
          }
        }
      }
    }
    #current-openings{
      margin-bottom: 95px;
      @media screen and (max-width: 800px){
        margin-bottom: 45px;
      }
    }
    .position-list{
      text-align: left;
      margin-top: 45px;
      @media screen and (max-width: 1000px){
        margin-top: 35px;
      }
      @media screen and (max-width: 800px){
        margin-top: 10px;
      }
      .labels{
        display: flex;
        padding-bottom: 25px;
        border-bottom: 2px solid var(--colour_border);
        @media screen and (max-width: 1000px){
          display: none;
        }
        .label{
          font-size: 22px;
          line-height: normal;
          font-weight: 400;
          color: var(--colour_font);
        }
      }
      .labels, .job-post{
        .position, .job-title{
          flex: 0 0 350px;
          @media screen and (max-width: 1300px){
            flex: 0 0 250px;
          }
        }
        .status, .job-status{
          flex: 0 0 290px;
          @media screen and (max-width: 1300px){
            flex: 0 0 200px;
          }
        }
        .category, .job-category{
          flex: 0 0 225px;
          @media screen and (max-width: 1300px){
            flex: 1;
          }
        }
        .apply{

        }
      }
      .job-post{
        display: flex;
        align-items: center;
        padding: 12px 0;
        position: relative;
        border-bottom: 2px solid var(--colour_border);
        @media screen and (max-width: 800px){
          border-bottom: 1px solid var(--colour_border);
        }
        .mobile, .job-view{
          display: none !important;
        }
        .job-view{
          position: absolute;
          right: 0px;
          top: 0px;
          font-size: 14px;
          font-weight: 700;
          padding: 7px 0;
          svg{
            margin-left: 7px;
            width: 15px;
            position: relative;
            top: 2px;
          }
        }
        @media screen and (max-width: 1000px){
          flex-direction: column;
          align-items: flex-start;
          gap: 6px;
          padding: 13px 0 8px 0;
          &>*{
            flex: initial !important;
          }
          .mobile, .job-view{
            display: block !important;
          }
          .desktop{
            display: none !important;
          }
        }
        .job-title{
          margin: 0px;
          font-size: 18px;
          font-weight: 700;
          letter-spacing: 0px;
          padding-right: 40px;
          line-height: normal;
          @media screen and (max-width: 1000px){
            padding-right: 0px;
            margin-bottom: 6px;
          }
          /* flex: 0 0 350px; */
        }
        .job-category{
          /* flex: 0 0 210px; */
          @media screen and (max-width: 1000px){
            display: flex;
            gap: 5px;
            /* color: var(--colour_green); */
            font-weight: 400;
            font-size: 14px;
            padding: 0px;
            .mobile{
              color: #858585;
              font-weight: 700;
            }
          }
        }
        .job-status{
          /* flex: 0 0 290px; */
          div{
            display: inline-block;
            background: rgba(70, 145, 79, 0.1);
            color: var(--colour_green);
            padding: 10px 15px;
            line-height: normal;
            @media screen and (max-width: 1000px){
              background: initial;
              color: #858585;
              font-weight: 700;
              font-size: 14px;
              padding: 0px;
              span{
                font-weight: 400;
                color: var(--colour_green);
              }
            }
          }
        }
        .job-apply{
          display: flex;
          align-items: center;
          gap: 13px;
          font-weight: 700;
          @media screen and (max-width: 1000px){
            display: none;
          }
          svg{
            path{
              transition: stroke 0.3s ease;
            }
          }
          &:hover{
            svg{
              path{
                stroke: var(--colour_yellow);
              }
            }
          }
        }
      }
    }
    #filled-openings{
      margin-bottom: 100px;
      @media screen and (max-width: 800px){
        margin-bottom: 60px;
      }
      .position-list{
        .job-post{
          .job-status{
            div{
              background: #F5F5F5;
              color: #333333;
              @media screen and (max-width: 1000px){
                background: initial;
                color: #858585;
                span{
                  color: #858585;
                }
              }
            }
          }
        }
      }
    }
    #current-openings, #filled-openings{
      padding: 0 50px;
      width: 100%;
      @media screen and (max-width: 800px){
        padding: 0 20px;
        width: 100%;
      }
      .inside{
        max-width: var(--site_width);
        margin-inline: auto;
        text-align: center;
        @media screen and (max-width: 800px){
          text-align: left;
        }
      }
    }
    #apply-form{
      position: relative;
      padding: 150px 0;
      @media screen and (max-width: 1300px){
        padding: 100px 0;
      }
      @media screen and (max-width: 800px){
        padding: 25px 0;
      }
      .background{
        &:after{
          background: rgba(0, 0, 0, 0.64);
          content: "";
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          position: absolute;
        }
        img{
          position: absolute;
          object-fit: cover;
          width: 100%;
          height: 100%;
          left: 0px;
          top: 0px;
        }
      }
      .inside{
        max-width: 745px;
        width: 100%;
        padding: 0 0 48px 0;
        margin: auto;
        position: relative;
        /* background: var(--colour_light_grey); */
        background: rgba(255,255,255,0.9);
        @media screen and (max-width: 800px){
          width: calc(100% - 50px);
          padding: 0 0 28px 0;
        }
        .header{
          text-align: center;
          background: var(--colour_yellow);
          color: var(--colour_font);
          /* padding: 35px; */
          padding: 28px 28px 27px 31px;
          margin: 0;
          @media screen and (max-width: 800px){
            padding: 20px 35px;
          }
        }
        &>*:not(.header){
          padding: 0 48px;
          @media screen and (max-width: 800px){
            padding: 0 20px;
          }
        }
        .intro-text{
          margin: 40px 0 30px 0;
          @media screen and (max-width: 800px){
            margin: 20px 0 25px 0;
          }
        }
        .wpcf7{
          margin-top: -30px;
          .form-grid{
            display: grid;
            grid-template-columns: 1fr 1fr; /* Two equal columns */
            gap: 20px; /* Space between the columns */
            @media screen and (max-width: 800px){
              display: block;
            }
            .wpcf7-form-control {
              width: 100%;
            }
          }
          p{
            margin: 0px;
          }
          label{
            margin-top: 28px;
            margin-bottom: 20px;
            display: inline-block;
            line-height: 34.05px;
          }
          span[data-name="resume-upload"] {
            margin-top: -15px;
            display: block;
          }
          .wpcf7-submit{
            margin-top: 30px !important;
          }
      }
    }
    .job-list{

    }
  }
}
}


/* single job post */
.avada-page-titlebar-wrapper{
  display: none !important;
}

#job-content{
  .inside{
    display: flex;
    gap: 120px;
    max-width: var(--site_width);
    margin: auto;
    padding: 50px 50px 95px 50px;
    @media screen and (max-width: 1250px){
      padding: 30px 50px 95px 50px;
      gap: 70px;
    }
    @media screen and (max-width: 1000px){
      gap: 55px;
      padding: 20px 50px 50px 50px;
    }
    @media screen and (max-width: 800px){
      padding: 0px 25px 25px 25px;
      flex-direction: column;
      gap: 5px;
    }
    .job-image{
      margin: 30px 0px 30px 0px;
      display: block;
      @media screen and (max-width: 800px){
        display: none;
      }
      &.mobile{
        display: none;
        margin: 0px -25px 30px -25px;
        width: 100dvw;
        max-width: initial;
        @media screen and (max-width: 800px){
          display: block;
        }
      }
    }
    .job-title{
      font-weight: 400;
      margin-top: 0px;
      @media screen and (max-width: 800px){
        display: none;
      }
    }
    .left{
      align-self: stretch;
      flex: 0 0 340px;
      padding-top: 50px;
      @media screen and (max-width: 1250px){
        padding-top: 40px;
        flex: 0 0 305px;
      }
      @media screen and (max-width: 1000px){
        flex: 0 0 260px;
      }
      @media screen and (max-width: 800px){
        padding: 0;
      }
      .sticky{
        top: 180px;
        position: sticky;
        padding-top: 24px;
        .job-title.mobile{
          display: none;
          @media screen and (max-width: 800px){
            display: block;
          }
        }
        @media screen and (max-width: 800px){
          padding: 0;
        }
        &:before{
          content: "";
          height: 2px;
          background: var(--colour_yellow);
          position: absolute;
          width: 100dvw;
          top: 0;
          right: 0;
          @media screen and (max-width: 800px){
            display: none;
          }
        }
        .heading{
          font-size: 22px;
          color: var(--colour_font);
          @media screen and (max-width: 800px){
            &.desktop{
              display: none;
            }
          }
        }
        .label{
          font-weight: 700;
        }
        .category, .hours, .wage{
          display: flex;
          gap: 6px;
          line-height: 1.6;
          margin: 10px 0;
        }
        .apply-button{
          padding-top: var(--button_padding-top,13px);
          padding-right: var(--button_padding-right,29px);
          padding-bottom: var(--button_padding-bottom,13px);
          padding-left: var(--button_padding-left,29px);
          line-height: var(--button_line_height, 1);
          font-size: var(--button_font_size, 14px);
          margin-top: 28px;
          @media screen and (max-width: 800px){
            margin-top: 8px;
          }
        }
      }
    }
    .right{
      h2{
        font-size: 27px !important;
        margin-top: 34px;
        @media screen and (max-width: 1000px){
          font-size: 24px !important;
        }
        @media screen and (max-width: 800px){
          font-size: 18px !important;
          margin-top: 25px;
        }
      }
      ul{
        @media screen and (max-width: 800px){
          margin-top: 0;
        }
      }
    }
  }
}

#content{
  margin-bottom: 0px !important;
}

.fusion-header{
  border-bottom: initial !important;
  box-shadow: initial !important;
}
