:root {
    --primary-color: #1D378B;
    --primary-color-subtle: rgba(29, 73, 139, 0.3);
    --primary-color-gradient-start: rgba(29, 73, 139, 1);
    --primary-color-gradient-end: rgba(29, 73, 139, 0.75);
    --primary-color-subtle-gradient: rgba(29, 73, 139, 0.1);
    --secondary-color: #FEC208;
    --secondary-color-subtle: rgba(254, 194, 8, 0.3);
    --warning-color-subtle: #ffece8;
    --warning-color: #b12a15;
    --font-family: 'Montserrat', Helvetica, Arial, sans-serif;
    --font-weight: 450;
    --title-font-family: 'Varela Round', -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Adwaita Sans, Cantarell, Ubuntu, Roboto, Noto, Helvetica, Arial;
}

@font-face {
    font-family: 'Varela Round';
    src: url("fonts/VarelaRound-Regular-EFmIkyN.ttf") format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    src: url("fonts/Montserrat-VariableFont_wght-Ttmad5R.ttf") format('truetype');
}

@font-face {
    font-family: 'Montserrat';
    src: url("fonts/Montserrat-Italic-VariableFont_wght-npE9K0W.ttf") format('truetype');
    font-style: italic;
}

body {
    font-family: var(--font-family), sans-serif;
    font-weight: var(--font-weight);
    background-color: white;
}

main {
    min-height: 85vh;
}

.lead {
    font-weight: var(--font-weight);
}

a, a:hover, a:active {
    color: var(--primary-color);
}

button.nav-link, button.nav-link:hover {
    color: var(--primary-color);
}

.lead {
    font-size: 1.15rem;
}

.lead a,
.vacancies-table a,
.card-row a h5 {
    color: var(--primary-color);
    font-weight: bold;
    text-decoration: underline 2px var(--primary-color);
}

.lead a:hover, .lead a:active,
.vacancies-table a:hover, .vacancies-table a:active {
    color: var(--bs-black);
}

.bg-primary-gradient {
    background-image:
            linear-gradient(to top right, var(--primary-color-gradient-start), var(--primary-color-gradient-end)),
            url("../img/bg_skyline-kk-MLpJ.png");
    background-repeat: no-repeat, no-repeat;
    background-size: 100%, cover;
    background-position: right, bottom;
}

.bg-secondary-gradient {
    background-image: linear-gradient(to top right, var(--bs-white), var(--primary-color-subtle-gradient));
}

.btn-apply, a.btn-apply:hover, a.btn-apply:focus, a.btn-apply:active {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-radius: 25px;
    min-width: 250px;
}

.btn-apply:focus, .btn-apply:focus-visible {
    box-shadow:
            0 0 0 .25rem white,
            0 0 0 .50rem var(--primary-color);
}

h1, h2, h3, h4, h5 {
    font-family: var(--title-font-family), sans-serif;
}

h1, h2, h3 {
    color: var(--primary-color);
}

h1.site-title {
    color: var(--bs-white);
    font-size: 2.5rem;
    font-weight: bold;
}

h1.title {
    color: var(--bs-white);
    /*font-size: 2.5rem;*/
    font-weight: bold;
}

.site-title-container {
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding-top: 4rem;
    padding-bottom: 6rem;
}

.title-container {
    margin-top: 2rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.vacancy-widget-container {
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.vacancies-container {
    margin-bottom: 2rem;
    padding-top: 2rem;
    padding-bottom: 1.5rem;
}

.values-client-color {
    color: #cc1081;
}

.values-loyalty-color {
    color: #9c2686;
}

.values-quality-color {
    color: #54267f;
}

.values-integrity-color {
    color: #0e69b2;
}

h2 {
    margin-bottom: 2rem;
    margin-top: 2rem;
}

h3 {
    margin-bottom: 1rem;
}

p, .vacancy-content ul {
    margin-bottom: 1.5rem;
}

strong, b {
    color: var(--primary-color);
    font-weight: bold !important;
}

li::marker {
    color: var(--secondary-color);
}

.bg-emphasis {
    background-color: var(--secondary-color-subtle);
    border: 2px solid;
    border-color: var(--secondary-color);
}

.archived-warning {
    background-color: var(--warning-color-subtle);
    color: var(--warning-color);
    border: 2px solid;
    border-color: var(--warning-color);
    border-radius: 7px;
    margin-top: -1.5rem;
}

.card {
    border: var(--bs-card-border-width) solid var(--primary-color-subtle);
}

.card-row a {
    text-decoration: none;
}

/*a:hover .card {*/
/*    box-shadow: 0 4px 6px rgba(0, 0, 0, .3);*/
/*}*/

.card-title a:hover {
    color: var(--bs-black);
}

.card-title a {
    text-decoration: underline;
}

.info-col {
    background-color: var(--primary-color);
    color: white;
    overflow-wrap: break-word;
}

.banner-nl {
    background-image: url("../img/banner_nl-fXBOZdA.jpg");
}

.banner-fr {
    background-image: url("../img/banner_fr-TwGrntg.jpg");
}

.banner {
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 200px;
}

.quote blockquote {
    color: var(--primary-color);
    font-style: italic;
}

.text-gray {
    color: var(--bs-gray-400);
}

/** navbar **/
.navbar {
    padding-bottom: 0.5rem;
    padding-top: 1.5rem;
    border-bottom: 1px solid var(--primary-color-subtle);
}

.nav-title {
    font-size: 1.1rem;
    font-weight: 600;
    text-align: left;
    line-height: 1;
    margin-right: 2rem;
}

.navbar .nav-item {
    margin-left: 1.2rem;
    margin-right: 1.2rem;
    line-height: 1.8rem;
}

.navbar .language-nav-item, .language-nav-item.nav-link {
    margin-left: 0.1rem;
    margin-right: 0.1rem;
    line-height: normal;
}

.navbar .language-nav-item .nav-link:hover {
    text-decoration: none !important;
}

.navbar .language-nav-item .nav-link.active {
    color: var(--bs-white) !important;
    background-color: var(--primary-color);
    text-decoration: none !important;
    border-radius: 25px;
}

.breadcrumb-item.active, .breadcrumb-item a, .breadcrumb-item + .breadcrumb-item::before {
    color: var(--bs-white);
}

.breadcrumb-item + .breadcrumb-item::before {
    content: var(--bs-breadcrumb-divider, "/") / "";
}

.vacancy-detail .breadcrumb-item.active,
.vacancy-detail .breadcrumb-item a,
.vacancy-detail .breadcrumb-item + .breadcrumb-item::before {
    color: var(--primary-color);
}

.breadcrumb-item a {
    text-underline-offset: 0.4rem;
}

.pagination {
    --bs-pagination-border-width: 0px;
    --bs-pagination-disabled-bg: none;
    --bs-pagination-active-bg: var(--primary-color);
    --bs-pagination-focus-bg: var(--primary-color-subtle);
    --bs-pagination-focus-color: var(--primary-color);
    --bs-pagination-focus-box-shadow: none;
    --bs-pagination-color: var(--primary-color);
    --bs-pagination-hover-color: var(--primary-color);
    --bs-pagination-hover-bg: var(--primary-color-subtle);
}

.pagination .page-item .page-link:not(.nav) {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
}

.pagination .page-item.active .page-link,
.pagination .page-item a.page-link:hover:not(.nav) {
    border-radius: 25px;
}

span.language-nav-item a {
    color: var(--bs-nav-link-color);
    text-decoration: none;
}

span.language-nav-item a.active {
    color: var(--bs-white);
    background-color: var(--primary-color);
    border-radius: 25px;
    padding: 10px;
}

.navbar-toggler, .navbar-toggler.active {
    border: none;
    box-shadow: none;
}

.navbar .nav-item .nav-link.active, .navbar .nav-item .nav-link:hover {
    color: var(--primary-color);
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 0.5rem;
}

.nav-link:focus-visible {
    box-shadow: 0 0 0 .25rem var(--primary-color);
}

.navbar-mobile .nav-item {
    margin-left: 1rem;
    margin-right: 1rem;
    margin-bottom: 1.1rem;
}

.navbar-mobile .nav-link.active, .navbar-mobile .nav-item .nav-link:hover {
    color: var(--primary-color);
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 0.5rem;
}

.frontend-navigation-header {
    border-bottom: 1px solid var(--primary-color-subtle);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
}

.nav-title-img {
    height: 2rem;
}

/** Footer **/
.footer-frontier {
    background-image: url("../img/lines_divider-3xti0HS.png");
    background-repeat: repeat-x;
    height: 44px;
    background-position: center 0;
    margin-top: -88px;
}

.footer-icon {
    height: 1.5em;
}

.footer-content {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    background-color: #f0f0f0;
}

.footer-content ul {
    list-style: none;
    padding: 0;
}

.footer-content li {
    display: inline-block;
}

footer {
    margin-top: 2rem;
}

footer a {
    text-decoration: none;
    color: var(--primary-color);
}

.footer-logo {
    max-height: 40px;
}

@media (min-width: 400px) {
    .footer-frontier {
        background-position: center -100px;
    }
}

@media (min-width: 700px) {
    .footer-frontier {
        background-position: center -200px;
    }
}

@media (min-width: 1400px) {
    .footer-frontier {
        background-position: center -300px;
    }
}

@media (min-width: 1921px) {
    .footer-frontier {
        background-position: center -400px;
    }
}

/** medium **/
@media (min-width: 768px) {
    .banner {
        min-height: 300px;
    }

    h1.site-title {
        font-size: 4.5rem;
    }
}

/** large **/
@media (min-width: 992px) {
    .footer-logo {
        max-height: 60px;
    }
}

/** xl **/
@media (min-width: 1200px) {
    .banner {
        min-height: 328px;
    }

    .bg-primary-gradient {
        background-size: 100%, 120%;
    }
}