/*
    Theme Name: Sperling Starter
    Theme URI: https://www.sperlinginteractive.com
    Description: Sperling Interactive WordPress Starter Theme
    Version: 1.0
    Author: Sperling Interactive
  Theme URI: https://www.sperlinginteractive.com
*/
/*------------------------------------*\


\*------------------------------------*/
/* global box-sizing */
*,
*:after,
*:before {
    box-sizing: border-box;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* html element 62.5% font-size for REM use */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    color: #444;
    font: 300 11px/1.4 'Montserrat', sans-serif;
}

/* clear */
.clear:before,
.clear:after {
    content: ' ';
    display: table;
}

.clear:after {
    clear: both;
}

.clear {
    *zoom: 1;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}

/* Lightspeed Lazy load fade in */
img[data-lazyloaded] {
    opacity: 0;
}

img.litespeed-loaded {
    -webkit-transition: opacity 0.5s linear 0.2s;
    -moz-transition: opacity 0.5s linear 0.2s;
    transition: opacity 0.5s linear 0.2s;
    opacity: 1;
}

a {
    text-decoration: none;
    color: #16508f;
    transition: all 0.3s;
}

a:hover {
    color: #e43e30;
}

a:focus {
    outline: 0;
}

a:hover,
a:active {
    outline: 0;
}

input:focus {
    border: 1px solid #04a4cc;
    outline: 0;
}

p,
ul,
ol {
    font-size: 1.7rem;
}

h1 {
    font-size: 3.8rem;
}

h2 {
    font-size: 3rem;
    color: #e43e30;
    margin: 25px 0 10px;
}

h3 {
    font-size: 2.3rem;
    color: #16508f;
    margin: 10px 0;
}

h4 {
    font-size: 2rem;
    font-weight: 600;
    color: #16508f;
    margin: 10px 0;
}

h5 {
    font-size: 1.8rem;
    font-weight: 600;
    margin: 10px 0;
}

h6 {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 10px 0;
}

blockquote {
    margin: 25px 0;
    padding: 25px 0 25px 5vw;
    font-style: italic;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-weight: 700;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
/* wrapper */
.wrapper {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    width: 100%;
    max-width: 2560px;
    overflow: hidden;
}

.container {
    max-width: 1280px;
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 0 20px;
    position: relative;
}

.container.small {
    max-width: 900px;
}
.container.large {
    max-width: 1850px;
}
.container-fluid {
    max-width: 1350px;
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 0 20px;
}

.per-section {
    margin: 30px 0;
}

/* header */
.header {
    position: absolute;
    z-index: 4;
    width: 100%;
    top: 0;
}

.header .logo {
    padding: 9px 0;
}

.logo-img {
    backface-visibility: hidden;
    height: auto;
    max-width: 350px;
    width: 100%;
}

/* nav */
.header-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 15px;
}

.nav-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    padding: 20px 15px;
}

.nav-wrapper .nav {
    display: none;
}

.nav ul {
    list-style-type: none;
    padding: 0;
    margin-right: 25px;
    text-align: right;
}

.nav ul li {
    display: inline-block;
    font-weight: 600;
    padding: 0 15px;
}

.nav ul li a {
    position: relative;
    color: #16508f;
    transition: all 0.3s;
}

.nav ul li a:hover {
    color: #e43e30;
}

.nav-wrapper .nav.hide-nav {
    display: none;
}

/* sidebar */
.sidebar {
}

/* footer */
.footer {
    background: #16508f;
    color: #fff;
    padding: 50px 0;
}

.footer a {
    color: #fff;
    transition: all 0.3s;
}

.footer a:hover {
    color: #e43e30;
}

.top-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding-bottom: 15px;
    border-bottom: 1px solid #fff;
}

.top-footer ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    align-items: center;
}

.top-footer ul li {
    margin: 0 7px;
}

.top-footer ul li.follow {
    font-weight: 600;
}

.top-footer ul li i.fab {
    font-size: 3rem;
}

.footer-nav ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    margin: 40px auto;
    justify-content: space-between;
}

.footer-nav ul > li {
    width: 100%;
    font-weight: 600;
    padding: 10px 5px;
}

.footer-nav ul.sub-menu {
    padding-left: 10px;
    display: block;
    max-width: none;
    margin: 10px 0;
}

.footer-nav ul.sub-menu li {
    width: 100%;
    font-weight: 400;
    padding: 3px 0;
    font-size: 1.5rem;
}

.copyright {
    text-align: center;
    font-size: 1.4rem;
    margin: 0;
}

.pagination {
    font-size: 1.7rem;
    margin-top: 30px;
}

.pagination .page-numbers {
    padding: 5px 5px 0;
    colog: #16508f;
}

.pagination .page-numbers.current {
    border-bottom: 2px solid #e43e30;
    color: #e43e30;
    font-weight: 500;
}

.embed-container {
    position: relative;
    padding-bottom: 49%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*------------------------------------*\
    BUTTONS
\*------------------------------------*/
a.btn {
    background-color: transparent;
    color: #fff;
    transition: all 250ms;
    position: relative;
    padding: 10px 20px 10px 0;
    display: inline-block;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 600;
}

a.btn:hover {
    padding: 10px 20px 10px 20px;
}

a.btn > span {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    margin-right: 5px;
}

a.btn:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #e43e30;
    transform: scaleX(0);
    transform-origin: 0% 50%;
    transition: transform 250ms ease-in-out;
}

a.btn:hover:after {
    transform: scaleX(1);
    transform-origin: 0% 50%;
}

a.btn i.far {
    font-size: 2.5rem;
    margin-right: 5px;
}

a.btn.white-btn:hover {
    color: #e43e30;
}

a.btn.white-btn:after {
    background-color: #fff;
}

a.btn.red-blue i.far {
    color: #e43e30;
}

a.btn.red-blue .btn-label {
    color: #16508f;
}

a.btn.red-blue i.far,
a.btn.red-blue .btn-label {
    transition: all 250ms;
}

a.btn.red-blue:hover i.far,
a.btn.red-blue:hover .btn-label {
    color: #fff;
}

a.red-btn,
.red-btn {
    background-color: #e43e30;
    color: #fff;
    font-weight: 500;
    display: inline-block;
    padding: 10px 35px;
    font-size: 1.6rem;
    border-radius: 5px;
    transition: all 0.4s;
}

a.red-btn:hover,
.red-btn:hover {
    background-color: #bd2417;
}

a.blue-btn,
.blue-btn {
    background-color: #16508f;
    color: #fff;
    font-weight: 500;
    display: inline-block;
    padding: 10px 35px;
    font-size: 1.6rem;
    border-radius: 5px;
    transition: all 0.4s;
}

a.blue-btn:hover,
.blue-btn:hover {
    background-color: #103a66;
}

.blue-txt {
    color: #16508f;
}
.red-txt {
    color: #e43e30;
}
.white-txt {
    color: #fff;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

/*------------------------------------*\
    HOMEPAGE
\*------------------------------------*/
.home p {
    font-weight: 500;
}
.home-header {
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    position: relative;
    padding: 15% 0;
    min-height: 500px;
    color: #fff;
    overflow: hidden;
}
video#videoBG {
    inset: 0;
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.home-header:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.22);
    z-index: 1;
}

.home-header-content {
    height: 100%;
    display: flex;
    position: relative;
    align-items: center;
    z-index: 2;
}

.home-header-content h1 {
    font-size: 3.8rem;
}

.home-header-content h4 {
    color: #fff;
}
.home-program-slider .slick-track {
    display: flex;
}
.home-program-slider .slick-slide {
    height: auto;
    padding: 20px;
}
/* Quick Links */
.ql-page-inner {
    position: relative;
    min-height: 150px;
    max-height: 200px;
    padding: 25px;
    height: 35vw;
    display: flex;
    align-items: flex-end;
    color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.ql-page-inner:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(22, 80, 143, 0.9);
    mix-blend-mode: multiply;
}

.ql-page-inner > div {
    position: relative;
}

.ql-page-inner h2 {
    color: #fff;
    margin: 10px 0;
    font-size: 2.3rem;
}

.center-text {
    text-align: center;
}

.sub_title {
    color: #e43e30;
    font-size: 2rem;
    margin-top: 0px;
    margin-bottom: 0px;
}

.per-section.add-content p {
    margin-top: 0px;
}

.per-section.add-content {
    position: relative;
    margin-top: 200px;
    margin-bottom: 0px;
}

.per-section.add-content:before {
    content: '';
    width: 55%;
    height: 2px;
    position: absolute;
    top: -100px;
    background-color: #e43e30;
    left: 0px;
}

.per-section .section-content {
    max-width: 500px;
    margin: 0px auto;
}

.per-section.add-content.right-image:before {
    left: unset;
    right: 0px;
}

.video-box,
.video-box iframe {
    width: 100%;
}

h2.blue-h2 {
    color: #16508f;
}

.title-with-lines {
    margin-bottom: 30px;
    position: relative;
}
.title-with-lines span {
    z-index: 1;
    position: relative;
    background-color: #e7edf4;
    padding: 0px 50px;
    display: inline-block;
}

.title-with-lines:before {
    content: '';
    width: 10000px;
    height: 2px;
    background-color: #16508f;
    position: absolute;
    top: 50%;
    left: -3000px;
    margin-top: -1px;
    z-index: 0;
}

.mission-section {
    background-color: #e7edf4;
    text-align: center;
    padding-top: 200px;
    margin-top: -200px;
    padding-bottom: 50px;
    margin-bottom: 150px;
}
.mission-section ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
}
.mission-section ul li {
    padding-bottom: 25px;
    margin-bottom: 25px;
    position: relative;
}
.mission-section ul li:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.mission-section ul li p {
    color: #16508f;
}

.mission-section ul li:after {
    content: '';
    background-image: url('img/gear.svg');
    background-position: center;
    background-repeat: repeat;
    background-size: cover;
    width: 34px;
    height: 34px;
    position: absolute;
    bottom: -7px;
    left: 50%;
    margin-left: -17px;
}

.mission-section ul li:last-child:after {
    display: none;
}

.mission-section .container {
    position: relative;
}

.mission-section .container:before,
.mission-section .container:after {
    content: '';
    display: block;
    width: 250px;
    height: 250px;
    background-image: url('img/light-blue-gear.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: -425px;
    right: -290px;
    z-index: -1;
}

.mission-section .container:after {
    top: unset;
    bottom: -170px;
    right: unset;
    left: -170px;
}

.address-link a {
    color: #e43e30;
    text-decoration: underline;
}
.address-link a:hover {
    text-decoration: none;
}

.map-section .logo-text {
    color: #16508f;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.map-section .logo-text img {
    margin-top: 5px;
}

.map-section .marker-content h3 {
    font-size: 18px;
}

.map-section {
    border-top: 10px solid #e43e30;
    margin-top: 25px;
}

.gear-wrapper.map-gear {
    position: relative;
    bottom: 70px;
    margin-top: 0px !important;
}

.gear-wrapper.map-gear .gear-inner {
    text-align: right !important;
}
.gear-wrapper.map-gear img {
    position: absolute;
    top: 0;
    right: 0; /* start fully at right edge */
    max-width: 150px;
    height: 200px;

    animation: moveRightToLeftSpin 5s linear forwards;
    transform-origin: center center;
}
@keyframes moveRightToLeftSpin {
    from {
        right: 0;
        transform: rotate(0deg);
    }
    to {
        right: 100%; /* move image leftward relative to parent */
        transform: rotate(-360deg);
    }
}
.programs .left-images-right-text.column-0:before {
    display: none;
}
.programs .column-0 {
    margin-top: 0px;
}

.left-images-right-text:not(.pathways),
.left-text-right-images:not(.pathways),
.featured-blog.youth-programs {
    position: relative;
    margin-top: 200px;
    margin-bottom: 0px;
}

.left-images-right-text:not(.pathways):before,
.left-text-right-images:not(.pathways):before,
.featured-blog.youth-programs:before {
    content: '';
    width: 55%;
    height: 2px;
    position: absolute;
    top: -100px;
    background-color: #e43e30;
    left: 0px;
}

.left-images-right-text:before {
    left: unset;
    right: 0px;
}
.programs .section-content {
    max-width: 500px;
    margin: 0px auto;
}
.youth-program-card {
    background: #16508f;
    color: white;
    padding: 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.youth-program-card .title {
    font-weight: bold;
    margin-bottom: auto;
    padding-bottom: 30px;
}

.youth-program-card .content {
    position: relative;
    padding-top: 20px;
}
.youth-program-card .content:before {
    content: '';
    height: 1px;
    background: white;
    width: 40%;
    position: absolute;
    top: 0;
}
.youth-program-cards .container {
    z-index: 1;
}
@media only screen and (min-width: 769px) {
    .ql-page-inner h2 {
        font-size: 2.8rem;
    }
}

/* Additional Contents */
.img-wrapper {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
}

.img-wrapper li {
    display: inline-block;
    text-align: center;
    padding: 0 5px;
}

.img-wrapper li:first-child {
    margin-top: 100px;
    flex: 0 0 50%;
}

.section-title {
    color: #e43e30;
    margin: 0;
    font-size: 2.3rem;
}

@media only screen and (min-width: 769px) {
    .section-title {
        font-size: 2.8rem;
    }
}

.section-content h4 {
    color: #16508f;
    font-weight: 900;
    margin: 15px 0;
}

.section-content h2 {
    color: #16508f;
    font-weight: 900;
    margin: 15px 0;
    font-size: 2rem;
}

@media only screen and (min-width: 769px) {
    .section-content h2 {
        font-size: 2.5rem;
    }
}

/* Jon Opportunities */
.job-wrapper h4 {
    color: #e43e30;
    margin: 0 0 10px;
}

.job-list-wrapper .per-job {
    padding: 20px;
    height: 100%;
    min-height: 220px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

.job-list-wrapper .per-job p.date,
.job-list-wrapper .per-job .job-title,
.job-list-wrapper .per-job .job-details {
    width: 100%;
}

.job-list-wrapper .per-job .job-title a {
    color: #fff;
    transition: all 0.3s;
}

.job-list-wrapper .per-job .job-title a:hover {
    color: #e43e30;
}

.job-list-wrapper .per-job p.date {
    font-size: 1.4rem;
    text-align: right;
    font-weight: 300;
    margin: 0;
}

.job-list-wrapper .per-job p.company {
    font-size: 1.5rem;
    margin: 0;
}

.job-list-wrapper .per-job .job-details {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

.job-list-wrapper .per-job .job-details p {
    font-size: 1.4rem;
    line-height: 1;
    margin: 0;
    font-weight: 300;
}

.job-list-wrapper a.btn {
    font-size: 1.5rem;
    padding: 5px 10px 5px 0;
}

.job-list-wrapper a.btn:hover {
    padding: 5px 10px;
}

.job-list-wrapper .job-list-title {
    border: 0;
}

.job-list-title h5 {
    color: #16508f;
}

.job-list-title h5 span {
    color: #e43e30;
}

.job-opportunities a.btn i.far {
    color: #e43e30;
}

.job-opportunities a.btn:hover i.far {
    color: #fff;
}

/* Partners */
.partners-wrapper h3,
.partners-wrapper p {
    text-align: center;
}

.per-partner h4 {
    color: #16508f;
    margin: 15px 0 10px;
}

.partner-inner {
    text-align: center;
}

.home .partner-inner {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    height: 100%;
}

.home .per-partner p {
    text-align: center;
    margin-top: 0;
}

.provider-members h2 {
    text-align: center;
    margin-bottom: 30px;
}

/* NEWS/BLOGS */
.blog-title,
.job-list-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 40px;
    border-top: 2px solid #d24c3b;
    margin-bottom: 15px;
}

.latest-post,
.blog-post {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 15px 20px;
    min-height: 353px;
}

.latest-post .date,
.blog-post .date {
    position: absolute;
    color: #fff;
    top: 15px;
    right: 20px;
    margin: 0;
}

.latest-post:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(104, 132, 171);
    background: linear-gradient(180deg, rgba(104, 132, 171, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(208, 77, 64, 1) 100%);
    mix-blend-mode: multiply;
}

.per-blog:nth-child(1) .blog-post:before,
.per-blog:nth-child(3) .blog-post:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(22, 80, 143, 0.9);
    mix-blend-mode: multiply;
}

.per-blog:nth-child(2) .blog-post:before,
.per-blog:nth-child(4) .blog-post:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(228, 62, 48, 0.9);
    mix-blend-mode: multiply;
}

.post-inner {
    position: relative;
    color: #fff;
}

.post-inner h4 {
    line-height: 1.2;
    font-size: 2.4rem;
    margin: 0 0 5px;
    color: #fff;
}

.blog-post .post-inner h4 {
    font-size: 1.8rem;
    color: #fff;
}
.blog-post .post-inner p {
    font-size: 12px;
    color: white;
    line-height: 1.5;
}
.post-inner a.btn .btn-label {
    font-size: 1.6rem;
}

/*------------------------------------*\
    PAGE HEADER
\*------------------------------------*/
.page-header {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 20vw;
    position: relative;
    border-bottom: 10px solid #e43e30;
    z-index: 1;
    min-height: 350px;
}

.page-header:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #16508f;
    mix-blend-mode: multiply;
}

.page-header .page-header-title {
    position: relative;
    height: 100%;
    z-index: 1;
    color: #fff;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
}
body.single-post .page-header .page-header-title {
    justify-content: center;
    text-align: center;
}

.gear-wrapper {
    position: relative;
    margin-top: -113px !important;
}

/* .gear-inner{
  text-align: right;
} */

.gear-wrapper img {
    display: inline-block;
    max-width: 150px;
    width: 100%;
    height: 200px;

    -webkit-animation: spin 5s linear forwards, moveLeftToRight 5s forwards;
    -moz-animation: spin 5s linear forwards, moveLeftToRight 5s forwards;
    -ms-animation: spin 5s linear forwards, moveLeftToRight 5s forwards;
    animation: spin 5s linear forwards, moveLeftToRight 5s forwards;

    /* -webkit-animation-fill-mode: forwards; */
    -webkit-transition: all 1s ease;
    transition: all 1s ease;

    position: relative;
}

/* Spinning the sphere using key frames */
@-moz-keyframes spin {
    100% {
        -moz-transform: rotate(360deg);
    }
}
@-webkit-keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* Move sphere from left to right */
@-moz-keyframes moveLeftToRight {
    from {
        left: 0;
    }
    to {
        left: calc(100% - 130px);
    }
}
@-ms-keyframes moveLeftToRight {
    from {
        left: 0;
    }
    to {
        left: calc(100% - 130px);
    }
}
@keyframes moveLeftToRight {
    from {
        left: 0;
    }
    to {
        left: calc(100% - 130px);
    }
}
@-webkit-keyframes moveLeftToRight {
    from {
        left: 0;
    }
    tp {
        left: calc(100% - 130px);
    }
}

.blue-bg {
    background-color: #e7edf4;
}

.dark-blue-bg {
    background-color: #16508f;
    color: #fff;
}

.red-bg {
    background-color: #e43e30;
}

.light-gray-bg {
    background-color: #efefef;
}

.gear-wrapper.blue-bg,
.top-content.blue-bg {
    margin: 0 3%;
}

.h3-heading {
    font-size: 2.3rem;
    color: #16508f !important;
    margin: 10px 0;
    font-weight: 700;
}

@media only screen and (min-width: 769px) {
    .h3-heading {
        font-size: 2.8rem;
        color: #16508f;
        margin: 10px 0;
    }
}

/*------------------------------------*\
    ABOUT
\*------------------------------------*/
.top-content {
    /* text-align: center; */
    color: #16508f;
    padding: 40px 0;
}

.top-content p {
    color: #000;
}

.about .top-content {
    padding: 40px 0 150px;
}

.top-content h2 {
    color: #16508f;
    margin: 15px 0;
}

.top-content h4 {
    color: #e43e30;
    margin: 15px 0;
}

.top-content ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}

.top-content ul li {
    position: relative;
    display: inline-block;
    margin: 5px 30px 5px 50px;
    font-size: 2rem;
    font-weight: 500;
}

.top-content ul li:before {
    content: '';
    background-image: url('img/gear.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 25px;
    width: 25px;
    position: absolute;
    left: -30px;
}

.gallery-wrapper {
    margin-top: -110px;
}

.gallery-wrapper .per-img:nth-child(odd) div {
    margin-top: 50px;
}

.about-additional-content h2 {
    color: #e43e30;
    font-size: 3.8rem;
}

.about-additional-content h4 {
    color: #16508f;
}

.about-additional-content .a-sidebar h3 {
    color: #e43e30;
    margin-bottom: 0;
    font-size: 4rem;
}

.about-additional-content .a-sidebar p {
    margin-top: 0;
}

.content-with-image {
    border-top: 1px solid #e43e30;
}
img.administered-logo {
    max-height: 50px;
    width: auto;
}
/*------------------------------------*\
    PROGRAMS
\*------------------------------------*/
.flexible-content-wrapper h2 {
    color: #e43e30;
    /* font-size: 3.2rem; */
    margin: 15px 0;
}

.flexible-content-wrapper h3 {
    /* font-size: 2.8rem; */
}

/* -- Virtual Manufacturing Training -- */
.text-left-image-right-wrapper .section-content ul {
    padding-left: 20px;
}

.text-left-image-right-wrapper .section-content ul li {
    color: #16508f;
}

.text-right-image-left-wrapper .section-content ul {
    list-style-type: none;
    padding: 0;
}

.text-right-image-left-wrapper .section-content ul li {
    position: relative;
    margin: 3px 0;
}

.text-right-image-left-wrapper .section-content ul li:before {
    content: '\f336';
    color: #16508f;
    font-size: 2rem;
    font-weight: 900;
    font-family: 'Font Awesome 5 Pro';
    margin-right: 8px;
}

.signup-form h2 {
    color: #e43e30;
    font-size: 3.2rem;
    text-align: center;
}
.signup-form h2.white-txt {
    color: white;
}

.signup-form .frm_form_field.frm_third {
    grid-column: span 12 / span 12;
}

.section-image {
    text-align: center;
}
.wage-table-section {
    overflow: auto;
}
table.wage-table {
    width: 100%;

    min-width: 1000px;
    font-size: 14px;
}
table.wage-table td:first-of-type {
    font-weight: bold;
}
table.wage-table tfoot * {
    font-size: 10px;
}
table.wage-table tfoot td {
    text-align: right;
}
table.wage-table th {
    text-align: left;
    background: #e7edf4;
}

table.wage-table th,
table.wage-table td {
    padding: 10px;
}

table.wage-table td:not(:first-of-type),
table.wage-table th:not(:first-of-type) {
    text-align: center;
    border-left: 1px solid;
}
table.wage-table tbody tr {
    border-bottom: 1px solid;
}
/* -- Free Training -- */
section.training-programs-wrap {
    padding: 50px 0;
}
#training-programs.loading {
    position: relative;
}
#training-programs.loading:before {
    content: '\f013';
    font-family: 'Font Awesome 5 pro';
    font-weight: 900;
    font-size: 3rem;
    color: #e43e30;
    display: inline-block;
    animation: fa-spin 2s infinite linear;
    z-index: 1;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    font-size: 45px;
}
#training-programs.loading:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
}
.training-programs-filter {
    background: #e7edf4;
    padding: 20px 0;
}
form#search-programs {
    font-size: 1.6rem;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-end;
    flex-direction: column;
}
form#search-programs input[type='submit'] {
    background: #e43e30;
    color: white;
    border: 0;
    display: block;
    padding: 13px 20px;
    border-radius: 10px;
}

div#clear-search {
    text-align: right;
    margin-top: 20px;
    display: none;
}
div#clear-search a {
    color: #444;
    font-style: italic;
    text-decoration: underline;
    font-size: 1.3rem;
}
form#search-programs input[type='text'],
form#search-programs select {
    width: 100%;
    padding: 10px;
}
form#search-programs label {
    color: #e43e30;
    text-transform: uppercase;
    font-weight: 600;
    flex: 1;
    width: 100%;
}

.free-training .main-content strong {
    color: #28508a;
}
.free-training .inner-content a.btn {
    font-size: 2.2rem;
}

.course-inner {
    background-color: #efefef;
    padding: 20px 30px;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

.course-inner h4 {
    margin: 15px 0;
    min-height: 70px;
}

.course-inner p {
    font-size: 1.6rem;
}

.table-wrapper .tablepress thead th {
    background-color: #e43e30;
    color: #fff;
    padding: 15px 10px;
    border: 8px solid #fff;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
}

.table-wrapper .tablepress tbody td {
    background-color: #efefef;
    color: #16508f;
    font-size: 1.6rem;
    text-align: center;
    vertical-align: middle;
    font-weight: 500;
    padding: 15px 10px;
    border-top: 5px solid #fff;
    border-bottom: 5px solid #fff;
    border-left: 8px solid #fff;
    border-right: 8px solid #fff;
}

.table-wrapper a.red-btn {
    padding: 10px;
    min-width: 80px;
    cursor: pointer;
}
.program-card {
    text-align: center;
    box-shadow: 0px 3px 6px #00000029;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.program-card h4 {
    background: #16508f;
    color: white;
    text-align: center;
    padding: 20px;
    margin: 0;
}
.program-card-content {
    background: #efefef;
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.program-card-content > :first-child {
    margin-top: 0;
}

.program-card-content > :last-child {
    margin-bottom: 0;
}
.program-card-content .city {
    color: #e43e30;
    font-weight: 600;
    text-transform: uppercase;
}
.program-card-content p.location-name {
    color: #16508f;
    font-weight: 600;
}
div#training-programs {
    margin: 50px 0;
}
.program-card-content p {
    color: #16508f;
    margin: 5px;
}
.program-card-content .red-btn {
    margin-top: auto;
}
/* -- Sign Up Modal --- */
/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0, 0, 0); /* Fallback color */
    background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    width: 80%;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s;
}

/* Add Animation */
@-webkit-keyframes animatetop {
    from {
        top: -300px;
        opacity: 0;
    }
    to {
        top: 0;
        opacity: 1;
    }
}

@keyframes animatetop {
    from {
        top: -300px;
        opacity: 0;
    }
    to {
        top: 0;
        opacity: 1;
    }
}

/* The Close Button */
.close {
    color: white;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

.modal-header {
    padding: 2px 16px;
    background-color: #16508f;
    color: white;
}

.modal-header h3 {
    color: #fff;
}

.modal-body {
    padding: 30px 25px;
}

.view-mote-cta {
    color: #e43e30;
    font-size: 12px;
    margin-top: 8px;
    display: block;
}

/* -- Individual Training -- */
.two-column-content .right-content {
    padding: 15px 25px;
    color: #fff;
    height: 100%;
}

.two-column-content .right-content a {
    color: #fff;
    text-decoration: underline;
}

.testimonials-wrapper {
    padding: 30px 10%;
}

.testimonial-slides .author {
    font-weight: 500;
    color: #16508f;
    font-style: italic;
}

.testimonial-slides .slick-next,
.testimonial-slides .slick-prev {
    top: auto;
    bottom: 0;
    color: #e43e30;
    width: auto;
    height: auto;
    padding-top: 3px;
    z-index: 1;
}

.testimonial-slides .slick-prev {
    left: auto;
    right: 25px;
    padding-right: 5px;
    border-right: 1px solid #28508a;
}

.testimonial-slides .slick-next {
    padding-left: 10px;
    right: 0;
}

.testimonial-slides .slick-prev:before {
    content: '\f053';
    color: #e43e30;
    font-size: 3.2rem;
    font-weight: 900;
    font-family: 'Font Awesome 5 Pro';
}

.testimonial-slides .slick-next:before {
    content: '\f054';
    color: #e43e30;
    font-size: 3.2rem;
    font-weight: 900;
    font-family: 'Font Awesome 5 Pro';
}

.content-with-blocks-wrapper .block-inner {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 300px;
    position: relative;
    padding: 20px 10%;
    display: flex;
    align-items: center;
}

.content-with-blocks-wrapper .block-inner:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #16508f;
    mix-blend-mode: multiply;
}

.content-with-blocks-wrapper .block-inner p {
    color: #fff;
    position: relative;
}

.training-section .per-training {
    padding: 15px 30px;
}

.training-section .per-training h4 {
    margin: 10px 0;
}

.date-time {
    font-weight: bold;
}

.red-bg label.frm_primary_label {
    color: white;
}
.red-bg .with_frm_style .frm_required {
    color: white;
}
.red-bg .frm_style_formidable-style.with_frm_style .frm_submit button,
.red-bg .frm_style_formidable-style.with_frm_style .frm_submit button:active,
.red-bg .frm_style_formidable-style.with_frm_style .frm_submit button:focus {
    background: #16508f;
}
.red-bg .frm_style_formidable-style.with_frm_style .frm_submit button:hover {
    background: #144477;
}

/* -- Instructor Training -- */
.additional-content-wrapper .content-wrapper {
    padding: 20px 25px;
    height: 100%;
}

.gear-section .section-top {
    text-align: center;
}

.red-card-inner {
    color: #fff;
    padding: 30px 20px;
}

.blue-card-inner {
    color: #fff;
    padding: 30px 20px;
    position: relative;
    z-index: 1;
}

.sec-repeat p.title {
    text-align: center;
}

.red-card ul {
    list-style-type: none;
    padding: 0;
}

.red-card ul li p {
    margin: 10px 0 0;
}

.red-card .gear-icon {
    margin-top: -70px;
    padding-left: 15px;
    display: inline-block;
    position: relative;
    z-index: -1;
}

.red-card .red-bg li a {
    color: #16508f;
}

.sec-repeat .gear-icon img {
    max-width: 140px;
}

.blue-card {
    margin-top: -60px;
}

.blue-card .gear-icon {
    text-align: right;
    margin-bottom: -70px;
    padding-right: 15px;
    position: relative;
    z-index: -1;
}

.blue-card ul {
    padding-left: 20px;
}

.blue-card li {
    margin: 5px 0;
}

.blue-card li a {
    color: #e43e30;
}

.instructor-training .dark-blue-bg p a {
    color: #e43e30;
}

/*------------------------------------*\
    EMPLOYER RESOURCES
\*------------------------------------*/
.employer-resources .top-content {
    text-align: left;
}

.employer-resources .top-content-inner p,
.employer-resources .additiona-content p {
    color: #000000;
}

.employer-resources .additiona-content h5 {
    color: #e43e30;
    margin: 10px 0;
}

.employer-resources .additiona-content .right-section {
    text-align: center;
}

.employer-resources .per-section-wrapper h2 {
    margin-bottom: 5px;
}

.employer-resources .per-section-inner {
    height: 100%;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

.employer-resources .per-section-inner > div {
    width: 100%;
}

.employer-resources .per-section-inner .sec-logo {
    text-align: center;
}

.employer-resources .per-section-inner img {
    max-height: 56px;
    width: auto;
}

.employer-resources .per-section-inner h5 {
    margin: 15px 0 0;
    color: #16508f;
    font-size: 2rem;
}

.employer-resources .per-section-inner div a {
    color: #000;
    transition: all 0.3s;
}

.employer-resources .per-section-inner div a:hover {
    color: #16508f;
}

/*------------------------------------*\
    PARTNERS TEMPLATE
\*------------------------------------*/
.page-template-template-partners .partners-content-wrapper h2 {
    color: #16508f;
    margin: 10px 0;
}

.page-template-template-partners .per-partner {
    text-align: center;
    padding: 0 20px;
}

.page-template-template-partners .per-partner a {
    color: #e43e30;
    transition: all 0.3s;
}

.page-template-template-partners .per-partner a:hover {
    color: #16508f;
}

.page-template-template-partners .per-partner h6 {
    margin: 15px 0;
    font-size: 1.6rem;
    text-transform: uppercase;
}

.page-template-template-partners .per-partner img {
    max-width: 98px;
    max-height: 90px;
}

.comp-logo {
    width: 200px;
    height: 200px;
    margin: 0 auto;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('img/gear.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.logo-inner {
    background-color: #fff;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
}

.per-partner a:hover .logo-inner {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
}

.column.fake-col {
    width: 1px;
    flex-grow: 0;
    display: none;
}

.partner-companies-onr h3 {
    text-align: center;
    color: #e43e30;
}

/*------------------------------------*\
    BLOGS
\*------------------------------------*/
.blog .top-content {
    min-height: 250px;
}

.blog .latest-post-wrapper {
    margin-top: -160px;
}

.blog .latest-post {
    min-height: 500px;
}

.blog .per-blog .blog-post:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(228, 62, 48, 0.9);
    mix-blend-mode: multiply;
}

.blog .per-blog:nth-child(odd) .blog-post:before {
    background-color: rgba(22, 80, 143, 0.9);
}

.blog .per-blog:nth-child(even) .blog-post:before {
    background-color: rgba(228, 62, 48, 0.9);
}

/*------------------------------------*\
    SINGLE BLOG POST
\*------------------------------------*/
.single:not(.single-trainings) .page-header {
    border-bottom: 0;
}

.single .page-header .share-icons {
    position: absolute;
    background-color: #e43e30;
    display: flex;
    align-items: center;
    padding: 10px 20px 10px 15%;
}

.single .page-header .share-icons .label {
    font-size: 1.5rem;
    font-weight: 500;
    color: #fff;
}

.single .header-title-inner h1 {
    font-size: 3rem;
}

.single .header-title-inner p.date {
    font-size: 2rem;
    font-weight: 600;
    padding-right: 20px;
}

.single-gear-wrapper {
    display: none;
}

.single-gear-wrapper .gear-inner {
    text-align: right;
}

.single .sidebar h3 {
    margin: 20px 0 10px;
    color: #e43e30;
}

.sidebar ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.sidebar ul li {
    border-left: 5px solid #16508f;
    padding-left: 10px;
}

.sidebar ul li h6 {
    margin: 15px 0 0;
}

.sidebar ul li p {
    margin: 0;
}

/*------------------------------------*\
    Single Training
\*------------------------------------*/
.single-training-details {
    position: relative;
    background: #e7edf4;
    padding: 150px 50px 50px;
    margin-top: -83px;
    z-index: 1;
}
.training-signup-form {
    background: #16508f;
    padding: 30px;
    border-radius: 30px;
}

.training-signup-form h4,
.training-signup-form label {
    color: white !important;
}
.single-trainings .gear-wrapper {
    z-index: 2;
}
.single-trainings .page-header {
    z-index: 3;
}
.training-detail strong {
    display: block;
    color: #16508f;
}
.vertical-label-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%; /* or use specific height, e.g. 100vh, if needed */
    padding: 1rem; /* optional spacing */
}

.vertical-label {
    text-orientation: mixed;
    color: #e43e30;
    font-weight: bold;
    margin-bottom: 20px;
    white-space: nowrap;
    font-size: 2rem;
}

.vertical-line {
    width: 2px;
    background-color: #e43e30;
    flex-grow: 1; /* This makes it stretch to fill remaining space */
}
.training-links a {
    color: #e43e30;
    font-weight: 600;
    text-decoration: underline;
}
.single-training-gallery .slick-slide {
    margin: 0 10px;
}
.single-training-gallery .slick-arrow,
.home-program-slider .slick-arrow {
    top: 50%;
    position: absolute;
    transform: translate(0, -50%);
    color: #e43e30;
    font-size: 3rem;
    left: 0;
    cursor: pointer;
}
.left-text-right-images.youth-programs h2 {
    color: #e43e30;
}

.single-training-gallery .slick-arrow.next,
.home-program-slider .slick-arrow.next {
    right: 0;
    left: auto;
}

.single-training-gallery,
.home-program-slider {
    padding: 0 30px;
}
/*------------------------------------*\
    Career Pathways
\*------------------------------------*/

.clipped-image-wrap {
    position: relative;
    height: 100%;
    width: 100%;
    z-index: 1;
}

.clipped-image {
    clip-path: url(#svgLeft);
    background-size: cover;
    background-position: center;
    width: 100%;
    padding-bottom: 100%;
}

.svg {
    position: absolute;
    height: 0;
    width: 0;
}

/*------------------------------------*\
    Career Pathways Template
\*------------------------------------*/
.per-level {
    position: relative;
    padding-left: 40px;
    padding-top: 30px;
    height: 100%;
}

.per-level img {
    max-width: 130px;
    position: absolute;
    top: 0;
    left: 0;
}

.per-level .per-level-inner {
    position: relative;
    color: #fff;
    height: 100%;
    padding: 25px;
}

.per-level .per-level-inner h4 {
    color: #fff;
    margin: 0 0 35px;
    font-size: 2.2rem;
}

.per-level .per-level-inner label {
    font-size: 1.7rem;
}

.per-level .per-level-inner p {
    margin: 2px 0;
    font-weight: 600;
}

.per-level .per-level-inner ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.per-level .per-level-inner .educ-level {
    border-top: 1px solid #fff;
    padding-top: 20px;
}

.qualifications-wrapper h3 {
    margin-bottom: 50px;
    text-align: center;
}

.qualifications-wrapper .per-skill {
    display: flex;
    align-items: flex-start;
    padding-right: 15px;
}

.qualifications-wrapper .per-skill img {
    margin-top: 2px;
    margin-right: 15px;
}

.qualifications-wrapper .per-skill h5 {
    margin-top: 0;
    color: #16508f;
}

/*------------------------------------*\
    CONTACT
\*------------------------------------*/
.team-member-wrapper h2 {
    text-align: center;
    margin-bottom: 40px;
}

.member {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    text-align: center;
    justify-content: center;
    margin-bottom: 15px;
}

.member .member-details {
    width: 100%;
}

.member h6 {
    margin-top: 20px;
}

.member p {
    margin: 10px 0;
}

.member img {
    border-radius: 50%;
}

/*------------------------------------*\
    JOB LISTINGS
\*------------------------------------*/
.filter-wrapper .icon-input {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.filter-wrapper label.field-label {
    width: 100%;
    color: #e43e30;
    font-size: 2.2rem;
    font-weight: 500;
    margin-bottom: 5px;
}

.filter-wrapper .icon-input input[type='text'] {
    width: 100%;
    border: 0;
    font-size: 1.6rem;
    padding: 15px;
    box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
}

.filter-wrapper .accordion-inner {
    position: relative;
}

.filter-wrapper .accordion-inner h5 {
    width: 100%;
    border: 0;
    font-size: 1.6rem;
    font-weight: 400;
    color: #444;
    line-height: 1.2;
    padding: 15px;
    margin: 0;
    cursor: pointer;
    background-color: #fff;
    box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filter-wrapper .accordion-inner h5 .fa-chevron-down,
.filter-wrapper .accordion-inner h5.active .fa-chevron-up {
    display: block;
}

.filter-wrapper .accordion-inner h5 .fa-chevron-up,
.filter-wrapper .accordion-inner h5.active .fa-chevron-down {
    display: none;
}

.filter-wrapper .accordion-inner ul {
    display: block;
    position: absolute;
    width: 100%;
    top: 50px;
    left: 0;
    padding: 10px 0;
    background-color: #fff;
    z-index: 99;
    -webkit-box-shadow: 0px 4px 8px -1px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 4px 8px -1px rgba(0, 0, 0, 0.3);
    max-height: 400px;
    overflow-y: scroll;
}

.filter-wrapper .accordion-inner ul li {
    width: 100%;
    padding: 8px 15px;
    font-size: 1.6rem;
    display: block;
    margin: 0;
}

.filter-wrapper .accordion-inner ul li .label-container {
    cursor: pointer;
}

.filter-wrapper .accordion-inner ul li:before {
    display: none;
}

.filter-wrapper .icon-input .red-btn {
    border: 0;
    padding: 15px 50px;
    border-radius: 0;
}

.red-btn {
    border: 0;
    padding: 15px 50px;
    border-radius: 0;
}
.job-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
    gap: 5px;
    flex-direction: column;
}
/*------------------------------------*\
    APPRENTICE
\*------------------------------------*/
.image-and-content h3 {
    margin: 0 0 30px;
    font-weight: 500;
}

.image-and-content h4 {
    color: #e43e30;
}

.image-and-content ol li strong {
    font-weight: 600;
}

.image-and-content .images-content {
    position: relative;
    display: none;
}
.image-and-content .images-content img {
    margin-bottom: 25px;
}
/* .image-and-content .images-content img {
  position: absolute;
} */

/* .image-and-content .images-content img:first-of-type {
  width: 190px;
} */

.image-and-content .images-content img:nth-of-type(2) {
    top: 240px;
}

.image-and-content .images-content img:nth-of-type(3) {
    right: 0;
    width: 300px;
    top: 130px;
}

@media only screen and (min-width: 1024px) {
    .image-and-content .images-content {
        display: block;
    }
}

.thumbnail-videos {
    background-color: #f2f9ff;
    position: relative;
    margin: 40px 0;
    padding: 60px 0;
    overflow: hidden;
}

.thumbnail-videos::before {
    background-image: url('img/top-gear-bg.png');
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    height: 689px;
    width: 638px;
    background-repeat: no-repeat;
}

.thumbnail-videos::after {
    background-image: url('img/bottom-gear-bg.png');
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    height: 614px;
    width: 662px;
    background-repeat: no-repeat;
}

.thumbnail-videos h2 {
    margin: 0 0 80px;
    font-size: 24px;
}
.video-iframe-wrap iframe {
    aspect-ratio: 16/9;
}
.apprentice-video-card {
    box-shadow: 0px 3px 6px #00000029;
    margin-bottom: 20px;
}

.apprentice_video_content {
    padding: 20px;
    font-size: 1.2rem;
}
.apprentice_video_content > :first-child {
    margin-top: 0;
}
.apprentice_video_content > :last-child {
    margin-bottom: 0;
}
.apprentice_video_content * {
    font-size: 1.4rem;
    color: #16508f;
    font-weight: 500;
}
.thumbnail-videos .video-content-container {
    margin-bottom: 120px;
}
.apprentice-video-cards .column + .column {
    margin-top: 10%;
}
.margined-section {
    margin: 50px 0;
}
.gear-svg-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gear-svg-wrap p {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 80%;
    left: 50%;
    margin: 0;
    text-align: center;
    font-size: clamp(16px, 1vw, 30px);
    color: white;
    font-weight: bold;
}
.featured-blog .blog-post:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(22, 80, 143, 0.9);
    mix-blend-mode: multiply;
}
.featured-blog.youth-programs .blog-post:before {
    background: linear-gradient(180deg, rgba(40, 80, 138, 1) 0%, rgba(255, 255, 255, 1) 14%, rgba(226, 141, 130, 1) 50%, rgba(210, 76, 59, 1) 100%);
}
.youth-programs-contact .red-bg {
    border-radius: 30px;
}
.occupations-list p {
    margin: 0;
    padding: 10px;
    border-bottom: 2px solid #16508f;
    font-weight: 500;
}
.thumbnail-videos .video-content-container .align-items-center {
    align-items: center;
}

.thumbnail-videos .video-content-container .row-reverse {
    flex-direction: row-reverse;
}

@media only screen and (min-width: 1024px) {
    .thumbnail-videos .video-content-container .video_content {
        padding: 0 60px;
    }
}

.regional-representative {
    margin: 120px 0 80px;
}

.regional-representative h2 {
    font-size: 28px;
    text-align: center;
}

.regional-representative .representative-cards {
    margin-top: 60px;
}

.regional-representative .representative-cards .justify-center {
    justify-content: center;
}

.regional-representative .representative-cards .cards-bordered {
    padding: 30px 40px;
    box-shadow: 0px 3px 6px #00000029;
}

.regional-representative .representative-cards .cards-bordered h5 {
    color: #16508f;
    font-size: 20px;
    margin: 0 0 10px;
}

.regional-representative .representative-cards .cards-bordered hr {
    width: 115px;
    height: 5px;
    background-color: #e43e30;
    border: unset;
    margin: 0 0 30px;
}

.regional-representative .representative-cards .cards-bordered p {
    font-size: 18px;
    margin: 0 0 30px;
    color: #16508f;
}

.regional-representative .representative-cards .cards-bordered .contact_name {
    font-weight: 700;
}

.regional-representative .representative-cards .cards-bordered a {
    display: block;
    font-size: 18px;
    color: #16508f;
}

.regional-representative .representative-cards .cards-bordered a:hover {
    color: #e43e30;
}
/*------------------------------------*\
    FAQ
\*------------------------------------*/
.ui-accordion-header {
    background: #e7edf4;
    margin: 0;
    padding: 20px;
    font-size: 2rem;
}

.ui-accordion-content {
    background: #e7edf4;
    padding: 0 20px;
}

.ui-accordion-content > :first-child {
    margin-top: 0;
}

.ui-accordion-content > :last-child {
    margin-bottom: 0;
}
.faq-item {
    background: #e7edf4;
    margin-bottom: 20px;
    box-shadow: 0px 3px 6px #00000029;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: stretch; /* Add this line */
    padding-right: 60px;
}
.faq-item:after {
    content: '+';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50px;
    background: #e43e30;
    color: white;
    font-size: 30px;
    display: flex;
    justify-content: center;
    padding-top: 12px;
    font-weight: 500;
}
.faq-item.open:after {
    content: '-';
}
.faq-item .question p {
    margin: 0;
    padding: 20px;
    color: #16508f;
    font-weight: 500;
}
.faq-item .answer {
    display: none;
}
.faq-item .answer-content {
    border-left: 2px solid;
    padding-left: 20px;
    margin: 20px;
}
.faq-item .answer-content > :first-child {
    margin-top: 0;
}

.faq-item .answer-content > :last-child {
    margin-bottom: 0;
}

.faq-item .question {
    display: flex;
}

.faq-item .question p {
    flex: 1;
}
/*------------------------------------*\
    FORMIDABLE FORMS
\*------------------------------------*/
.with_frm_style .frm_primary_label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    color: #000;
}

.frm_style_formidable-style.with_frm_style div.frm_description {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    color: #000;
    margin-top: 10px;
}

.with_frm_style input[type='text'],
.with_frm_style input[type='password'],
.with_frm_style input[type='email'],
.with_frm_style input[type='tel'],
.with_frm_style textarea,
.with_frm_style select {
    border: 0;
    border-radius: 5px;
    box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 5px 7px -4px rgba(0, 0, 0, 0.3);
}

.frm_style_formidable-style.with_frm_style .frm_submit button,
.frm_style_formidable-style.with_frm_style .frm_submit button:active,
.frm_style_formidable-style.with_frm_style .frm_submit button:focus {
    font-family: 'Montserrat', sans-serif;
    background-color: #e43e30;
    transition: all 0.3s;
    border: 0;
    border-radius: 5px;
    padding: 13px 50px;
    font-size: 1.5rem;
    color: #fff;
}

.frm_style_formidable-style.with_frm_style .frm_submit button:hover {
    background-color: #c22d21;
    color: #fff;
}

/*------------------------------------*\
    MEET OUR TEAM
\*------------------------------------*/
.meet-our-team .individual {
    border-bottom: 1px solid #e5e5e5;
    padding: 60px 0;
}

.meet-our-team .individual img {
    border-radius: 50%;
}

.meet-our-team .individual h2 {
    margin: 0;
}

.meet-our-team .individual h3 {
    font-size: 2.2rem;
    margin: 0;
}

.meet-our-team .individual .description {
    margin-bottom: 40px;
}

.meet-our-team .individual .email-cta {
    background-color: #e43e30;
    color: #fff;
    font-weight: 500;
    display: inline-block;
    padding: 10px 35px;
    font-size: 1.6rem;
    border-radius: 5px;
    transition: all 0.4s;
}

.meet-our-team .individual .email-cta:hover {
    background-color: #bd2417;
}

.meet-our-team .individual:first-of-type {
    padding: 0 0 60px;
}

.meet-our-team .individual:last-of-type {
    border-bottom: unset;
}

/*------------------------------------*\
    SEARCH & 404
\*------------------------------------*/

.search-results .page-header .page-header-title,
.error404 .page-header .page-header-title {
    justify-content: flex-start;
}

.search-results .page-header,
.error404 .page-header {
    max-height: 300px;
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/
.img-container {
    text-align: center;
}

/*------------------------------------*\
    ACF GOOGLE MAP
\*------------------------------------*/

.acf-map {
    width: 100%;
    height: 100%;
    min-height: 400px;
    max-height: 600px;
    border: #ccc solid 1px;
    margin: 0px 0 0px 0px;
}

/* Fixes potential theme css conflict. */
.acf-map img {
    max-width: inherit !important;
}

a.btn.red-blue.hero-spec-button {
    background-color: rgba(22, 80, 143, 0.9);
    /* mix-blend-mode: multiply; */
}

a.btn.red-blue.hero-spec-button * {
    color: white;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (min-width: 320px) {
    .per-partner-wrapper {
        width: 100%;
    }
}

@media only screen and (min-width: 480px) {
    .footer-nav ul > li {
        width: 50%;
    }

    .per-partner-wrapper {
        width: 50%;
    }

    .red-card .gear-icon {
        padding-left: 20px;
    }

    .blue-card .gear-icon {
        padding-right: 20px;
    }

    .sec-repeat .gear-icon img {
        max-width: 150px;
    }
}

@media only screen and (min-width: 769px) {
    h1 {
        font-size: 4rem;
    }

    h2 {
        font-size: 3.5rem;
        color: #e43e30;
        margin: 25px 0 10px;
    }

    h3 {
        font-size: 2.8rem;
        color: #16508f;
        margin: 10px 0;
    }

    h4 {
        font-size: 2.5rem;
        font-weight: 600;
        color: #16508f;
        margin: 10px 0;
    }

    h5 {
        font-size: 2rem;
        font-weight: 600;
        margin: 10px 0;
    }

    h6 {
        font-size: 1.7rem;
        font-weight: 600;
        margin: 10px 0;
    }

    .home-header-content h1 {
        font-size: 4.8rem;
    }

    .nav-wrapper {
        padding: 20px 30px 20px 25px;
    }

    .header-nav {
        padding-left: 30px;
    }

    .home .per-partner p {
        text-align: left;
    }

    /* Move sphere from left to right */
    @-moz-keyframes moveLeftToRight {
        from {
            left: 0;
        }
        to {
            left: calc(100% - 200px);
        }
    }
    @-ms-keyframes moveLeftToRight {
        from {
            left: 0;
        }
        to {
            left: calc(100% - 200px);
        }
    }
    @keyframes moveLeftToRight {
        from {
            left: 0;
        }
        to {
            left: calc(100% - 200px);
        }
    }
    @-webkit-keyframes moveLeftToRight {
        from {
            left: 0;
        }
        tp {
            left: calc(100% - 200px);
        }
    }

    .gear-inner {
        text-align: left;
    }

    .per-blog:nth-child(1) .blog-post:before,
    .per-blog:nth-child(4) .blog-post:before {
        background-color: rgba(22, 80, 143, 0.9);
    }

    .per-blog:nth-child(2) .blog-post:before,
    .per-blog:nth-child(3) .blog-post:before {
        background-color: rgba(228, 62, 48, 0.9);
    }

    .top-footer {
        justify-content: space-between;
    }

    .footer-nav ul > li {
        width: 33.33%;
    }

    .a-content {
        padding-right: 30px;
    }

    .text-right-image-left-wrapper .section-content {
        padding-left: 30px;
    }

    .columns.reversed {
        flex-flow: row-reverse;
    }

    .title-content-right .content-wrapper {
        padding-left: 30px;
    }

    .page-template-template-partners .columns.reversed {
        flex-flow: column;
    }

    .single article {
        padding-right: 30px;
    }

    .single .sidebar {
        padding-left: 30px;
    }

    .ql-page-inner {
        padding: 15px;
    }

    .career-pathways-wrapper .columns {
        margin-top: -30px;
    }

    .career-pathways-wrapper .columns:first-child {
        margin-top: 0;
    }

    .career-pathways-wrapper .columns .content-container {
        padding-left: 30px;
    }

    .career-pathways-wrapper .columns.reversed .content-container {
        padding-right: 30px;
    }

    .top-footer {
        flex-wrap: nowrap;
    }

    .gear-wrapper {
        margin-top: -117px !important;
    }

    .gear-wrapper img {
        max-width: 200px;
    }

    .red-card-inner {
        min-height: 310px;
    }

    .blue-card-inner {
        min-height: 430px;
    }

    .employer-resources .top-content-inner,
    .employer-resources .additiona-content {
        padding: 0 25px;
    }

    .top-content ul {
        justify-content: center;
    }

    .single .header-title-inner h1 {
        font-size: 4rem;
    }

    .single-gear-wrapper {
        margin-top: -95px;
    }

    .single-gear-wrapper .gear-inner img {
        max-width: 180px;
        width: 100%;
        height: auto;
    }

    .modal-content {
        width: 60%;
    }
    .vertical-label {
        writing-mode: vertical-rl;
    }
    .occupations-list {
        column-count: 2;
        column-gap: 3vw;
    }
    .margined-section {
        margin: 100px 0;
    }
    form#search-programs {
        flex-direction: row;
    }
    div#clear-search {
        padding-right: 117px;
    }
    .training-programs-filter {
        padding: 30px 50px;
    }
    .filter-wrapper .icon-input,
    .job-filter-buttons {
        flex-direction: row;
    }
}

@media only screen and (min-width: 1024px) {
    .single-jobs .page-header-title {
        display: flex;
        justify-content: space-between;
    }

    .section-content {
        padding-left: 10px;
    }

    /* .home .img-wrapper{
    margin-top: 170px;
  } */

    .partner-inner {
        text-align: left;
    }

    .per-partner p {
        text-align: left;
    }

    .per-section {
        margin: 60px 0;
    }

    .footer-nav ul > li {
        width: 25%;
    }

    .signup-form .frm_form_field.frm_third {
        grid-column: span 4 / span 4;
    }

    .column.fake-col {
        display: block;
    }

    .media-left-content-right .content-wrapper {
        padding-left: 30px;
    }

    .media-right-content-left .content-wrapper {
        padding-right: 30px;
    }

    .page-template-template-partners .columns.reversed {
        flex-flow: row-reverse;
    }

    .single .header-title-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .single .header-title-inner h1 {
        width: 80%;
    }

    .ql-page-inner {
        padding: 25px;
    }

    .career-pathways-wrapper .columns {
        margin-top: -120px;
    }

    .career-pathways-wrapper .columns:first-child {
        margin-top: 0;
    }

    .nav-wrapper {
        background-color: #fff;
    }

    .modal-content {
        width: 50%;
    }
}

@media only screen and (min-width: 1140px) {
    .header-nav {
        padding-left: 3%;
    }

    .logo-img {
        height: 80px;
    }
    .nav-wrapper .nav {
        display: block;
    }
}

@media only screen and (min-width: 1280px) {
}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
    background: #04a4cc;
    color: #fff;
    text-shadow: none;
}

::-webkit-selection {
    background: #04a4cc;
    color: #fff;
    text-shadow: none;
}

::-moz-selection {
    background: #04a4cc;
    color: #fff;
    text-shadow: none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {
}

.bypostauthor {
}

/*------------------------------------*\
    PRINT
\*------------------------------------*/
@media print {
    * {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: ' (' attr(href) ')';
    }

    abbr[title]:after {
        content: ' (' attr(title) ')';
    }

    .ir a:after,
    a[href^='javascript:']:after,
    a[href^='#']:after {
        content: '';
    }

    pre,
    blockquote {
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    .nav,
    .sidebar,
    .home-slider,
    #respond {
        display: none;
    }

    @page {
        margin: 2cm;
    }
}
