/* Structural styles formerly supplied by the WorkScout parent theme. */
html { overflow-y: scroll; }
body {
    background: #fff;
    color: #666;
    font-family: Poppins, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 27px;
    margin: 0;
    overflow-x: hidden;
}
#wrapper { background: #fff; }
img { height: auto; max-width: 100%; }
ol, ul { padding: 0; }
p { margin: 0 0 15px; }
.container, .container-fluid { box-sizing: border-box; position: relative; }
.clearfix::before, .clearfix::after, .container::before, .container::after { content: ""; display: table; }
.clearfix::after, .container::after { clear: both; }
#titlebar { margin-bottom: 0; position: relative; }
.navigation.posts-navigation { clear: both; width: 100%; }
.navigation.posts-navigation .nav-previous { float: left; }
.navigation.posts-navigation .nav-next { float: right; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #f1f1f1; clip: auto !important; clip-path: none; color: #21759b; display: block; height: auto; left: 5px; padding: 15px 23px 14px; top: 5px; width: auto; z-index: 100000; }

/* WorkScout's clearfix kept this legacy, page-sized decoration hidden. */
.page-template-template-home .home-page-container::after {
    visibility: hidden !important;
}

/* Form controls previously normalised by WorkScout's base stylesheet. */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
textarea,
select {
    background-color: #fcfcfc;
    border: 1px solid #e0e0e0;
    box-sizing: border-box;
    color: #707070;
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin: 0;
    max-width: 100%;
    outline: none;
    padding: 14px 18px;
    width: 100%;
}

textarea { min-height: 90px; }
label, legend { display: block; }
input[type="checkbox"] { display: inline-block; }

/* Application form compatibility with current WP Job Manager markup. */
.single-job_listing .apply-popup .job-manager-application-form::after {
    clear: both;
    content: "";
    display: table;
}

.single-job_listing .apply-popup .job-manager-application-form fieldset {
    box-sizing: border-box;
}

.single-job_listing .apply-popup .job-manager-application-form fieldset > label,
.single-job_listing .apply-popup .job-manager-application-form fieldset > .field {
    float: none;
    width: 100%;
}

.single-job_listing .apply-popup .job-manager-application-form fieldset > .field {
    padding-left: 16px;
}

.single-job_listing .apply-popup .job-manager-application-form .wpgdpr > .field {
    padding-left: 0;
}

.single-job_listing .apply-popup .fieldset-file-upload .fake-upload-btn {
    box-sizing: border-box;
    display: block;
    float: none !important;
    width: 100%;
}

.single-job_listing .apply-popup .fieldset-file-upload > .field::after {
    clear: both;
    content: "";
    display: table;
}

.single-job_listing .apply-popup .job-manager-application-form > p:has(input[type="submit"]) {
    box-sizing: border-box;
    float: right;
    margin: 0;
    padding-left: 16px;
    width: 50%;
}

.single-job_listing .apply-popup .job-manager-application-form > p:has(input[type="submit"]) input[type="submit"] {
    margin-left: 0;
}

.single-job_listing .apply-popup .job-manager-application-form input[type="text"],
.single-job_listing .apply-popup .job-manager-application-form input[type="email"],
.single-job_listing .apply-popup .job-manager-application-form input[type="tel"],
.single-job_listing .apply-popup .job-manager-application-form input[type="url"] {
    min-height: 47px;
}

.single-job_listing .apply-popup .application-upload {
    background: #12386b;
    border: 3px dashed #3366ff;
    color: #fff;
    cursor: pointer;
    display: block;
    padding: 12px;
    width: 100%;
}

.single-job_listing .apply-popup .application-upload:hover,
.single-job_listing .apply-popup .application-upload:focus-within {
    background: #002c5a;
}

.single-job_listing .apply-popup .application-upload input[type="file"] {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.single-job_listing .apply-popup .application-upload__title,
.single-job_listing .apply-popup .application-upload__help {
    color: #fff;
    display: block;
}

.single-job_listing .apply-popup .application-upload__help {
    font-size: 14px;
    margin-top: 20px;
}

.single-job_listing .apply-popup .fieldset-file-upload > .description {
    display: none;
}

@media (max-width: 767px) {
    .single-job_listing .apply-popup .job-manager-application-form fieldset {
        float: none;
        width: 100%;
    }
}

/* Homepage image panels: replace layout assumptions previously supplied upstream. */
.page-template-template-home .sector-list li,
.page-template-template-home .content-split .blue,
.page-template-template-home .more-than .bg,
.page-template-template-home .more-than .join,
.page-template-template-home .more-than .lfw .bg {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.page-template-template-home .sector-list li,
.page-template-template-home .content-split,
.page-template-template-home .more-than .join,
.page-template-template-home .more-than .lfw {
    isolation: isolate;
    overflow: hidden;
}

@media (min-width: 1281px) {
    .page-template-template-home .content-split {
        align-items: stretch;
        display: flex;
    }

    .page-template-template-home .content-split > .vc_col-sm-6 {
        float: none;
        width: 50%;
    }

    .page-template-template-home .content-split > .vc_col-sm-6 > .vc_column-inner,
    .page-template-template-home .content-split > .vc_col-sm-6 > .vc_column-inner > .wpb_wrapper {
        height: 100%;
    }
}

@media (max-width: 767px) {
    .page-template-template-home #wrapper #banner {
        background-image: url("../images/banner/hp-banner-m.jpg") !important;
        background-position: center center !important;
    }

    .page-template-template-home .sector-list li {
        background-position: center 35%;
    }
}

/* Homepage hero: the retired background video may survive in cached markup. */
.page-template-template-home #wrapper #banner {
    background-image: url("../images/banner/hp-banner.jpg") !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100vh;
    overflow: hidden;
    position: relative;
}

.page-template-template-home #wrapper #banner > video {
    display: none !important;
}

.page-template-template-home #wrapper #banner::before {
    z-index: 1;
}

.page-template-template-home #wrapper #banner > .container-fluid {
    opacity: 1;
    visibility: visible;
    z-index: 3;
}

.page-template-template-home #main-header {
    opacity: 1;
    visibility: visible;
    z-index: 20;
}
