﻿/*

    COLORS
    --------------------

    off-white:      #f8f8f8;
    light-beige:    #efeeea;
    beige:          #e0dbd1;
    light-blue:     #5db2e3;
    blue:           #0090e3;
    dark-blue:      #071e57;
    darkest-blue:   #00154a;

*/










/*
    ----------------------------------------------------------------------------------------------------
    ====================================================================================================

                                                    DEFAULT

    ====================================================================================================
    ----------------------------------------------------------------------------------------------------
    >> Normalize
    -------------------------------------------------- */

* { box-sizing: border-box; margin: 0; padding: 0; }
html { width: 100vw; font-size: 62.5%; overflow-x: hidden; }
body { width: 100%; background: #fff; overflow-x: hidden; }
a { text-decoration: none; }
ol, ul { font-size: 0; }
li { list-style: none; }
button { background: none; border: none; border-radius: 0; cursor: pointer; }





/*  >> Reusable Classes/Components
    -------------------------------------------------- */

/* angles */

.angle { display: inline-block; position: relative; width: 2.6rem; height: 2.6rem; border: .2rem solid transparent; border-radius: 50%; }
.angle span { position: absolute; height: .2rem; }
.angle span:nth-of-type(1),
.angle span:nth-of-type(2) { top: calc(50% - .1rem); width: 41%; }

.angle.angle--down span:nth-of-type(1) { left: .4rem; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
.angle.angle--down span:nth-of-type(2) { right: .4rem; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }

.angle.blue--dark.border { border-color: #00154a; }
.angle.blue--dark span { background: #00154a; }



/* arrows */

.arrow { display: inline-block; position: relative; width: 2.5rem; height: 2.1rem; }
.arrow span { position: absolute; height: .3rem; }
.arrow span:nth-of-type(1),
.arrow span:nth-of-type(2) { width: 54%; }
.arrow span:nth-of-type(3) { width: 100%; }

.arrow.arrow--right span:nth-of-type(1) { top: .5rem; }
.arrow.arrow--right span:nth-of-type(1),
.arrow.arrow--right span:nth-of-type(2) { right: -.3rem; }
.arrow.arrow--right span:nth-of-type(2) { bottom: .5rem; }
.arrow.arrow--right span:nth-of-type(3) { top: calc(50% - .15rem); left: 0; }
.arrow.arrow--right span:nth-of-type(1),
.arrow.arrow--left span:nth-of-type(1) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
.arrow.arrow--right span:nth-of-type(2),
.arrow.arrow--left span:nth-of-type(2) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
.arrow.arrow--right span:nth-of-type(3),
.arrow.arrow--left span:nth-of-type(3) { top: calc(50% - .15rem); }
.arrow.arrow--left span:nth-of-type(1) { bottom: .5rem; }
.arrow.arrow--left span:nth-of-type(1),
.arrow.arrow--left span:nth-of-type(2) { left: -.3rem; }
.arrow.arrow--left span:nth-of-type(2) { top: .5rem; }
.arrow.arrow--left span:nth-of-type(3) { right: 0; }

.arrow.white span { background: #fff; }
.arrow.blue--light span { background: #5db2e3; }
.arrow.blue--dark span { background: #00154a; }



/* buttons */

.btn--arrow { position: absolute; width: 5.5rem; height: 4rem; background: #fff; -webkit-transition: width .2s, padding .2s; -moz-transition: width .2s; transition: width .2s, padding .2s; }
.active > .btn--arrow .arrow { margin-bottom: -.5rem; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); transform: rotate(-90deg); }



/* content width */

.area { width: 100%; max-width: 140rem; height: 100%; margin: auto; padding: 0 1.5rem; }

@media (min-width: 576px) {
    .area { padding: 0 3rem; }
}

@media (min-width: 768px) {
    .area { padding: 0 5rem; }
}

@media (min-width: 1200px) {
    .area { padding: 0 10rem; }
}



/* cross */

.cross { position: absolute; width: 3rem; height: 3rem; }
.cross span { position: absolute; top: calc(50% - .2rem); left: calc(50% - 1.5rem); width: 100%; height: .3rem; }
.cross span:nth-of-type(1) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
.cross span:nth-of-type(2) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }

.cross.white span { background: #fff; }
.cross.blue--dark span { background: #00154a; }



/* dark screen */

.dark-screen { display: block; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0, .75); cursor: pointer; }



/* flexbox */

.flexbox { display: -webkit-flex; display: flex; }
.flexbox.left { -webkit-justify-content: flex-start; justify-content: flex-start; }
.flexbox.center { -webkit-justify-content: center; justify-content: center; }
.flexbox.right { -webkit-justify-content: flex-end; justify-content: flex-end; }
.flexbox.between { -webkit-justify-content: space-between; justify-content: space-between; }
.flexbox.top { -webkit-align-items: flex-start; align-items: flex-start; }
.flexbox.middle { -webkit-align-items: center; align-items: center; }
.flexbox.bottom { -webkit-align-items: flex-end; align-items: flex-end; }
.flexbox.same-height { -webkit-align-items: stretch; align-items: stretch; }
.flexbox.wrap { -webkit-flex-wrap: wrap; flex-wrap: wrap; }



/* form elements */

.form .wrapper { width: 100%; }
.form input:not([type=checkbox]),
.form select,
.form button { height: 5rem; }
.form input,
.form textarea,
.form select { background: #fff; border: .1rem solid #00154a; }
.form input:not([type=checkbox]),
.form textarea,
.form select,
.form button { width: 100%; padding: 1rem; }
.form input[type=checkbox] { width: 2rem; height: 2rem; margin-right: 2rem; }
.form input[type=checkbox] + label { width: calc(100% - 4rem); }
.form textarea { height: 15rem; resize: none; }
.form button { background: #00154a; color: #fff; font-weight: 600; }

@media (min-width: 992px) {
    .form input:not([type=checbox]),
    .form textarea,
    .form select,
    .form button { padding: 1rem 1.5rem; }
}



/* mods (screen size) */

@media (max-width: 767px) {
    .no-padding--mobile { padding: 0; }
}

@media (min-width: 768px) {
    .mobile-only { display: none !important; }
}


/*  tabs */

.tabs { position: relative; }
.tabs .tab__header { position: relative; width: 100%; height: 9.4rem; padding: 2rem 1.5rem; cursor: pointer; }
.tabs .tab__header:nth-of-type(1),
.tabs .tab__header:nth-of-type(1) + .tab__body { background: #e0dbd1; }
.tabs .tab__header:nth-of-type(1) + .tab__body + .tab__header,
.tabs .tab__header:nth-of-type(1) + .tab__body + .tab__header + .tab__body { background: #efeeea; }
.tabs .tab__header:nth-of-type(1) + .tab__body + .tab__header + .tab__body + .tab__header,
.tabs .tab__header:nth-of-type(1) + .tab__body + .tab__header + .tab__body + .tab__header + .tab__body { background: #f8f8f8; }
.tabs .tab__header .btn--arrow { top: calc(50% - 2rem); right: 1.5rem; }
.tabs .tab__header:not(.active) + .tab__body { display: none; }

.tabs .tab__body { width: 100%; padding: 3rem 1.5rem; }
.tabs .tab__body h3 { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: .2rem solid #fff; font-weight: 600; }
.tabs .tab__body h3:nth-of-type(n+2) { margin-top: 3rem; }

.tabs .enquire-response-message { position: absolute; bottom: 0; left: 0; width: 100%; height: 12.3rem; padding: 3rem; background: #f8f8f8; text-align: center; z-index: 1; }

@media (min-width: 576px) {
    .tabs .tab__body { padding: 3rem; }
}

@media (min-width: 768px) {
    .tabs .tab__header { -webkit-align-items: flex-start !important; align-items: flex-start !important; height: 18rem; padding: 3rem; }
    .tabs .tab__header.half { width: 50%; }
    .tabs .tab__header.third { width: 33.33333%; }
    .tabs .tab__header .btn--arrow { top: initial; right: initial; bottom: 3rem; left: 3rem; }
    .tabs .tab__body { order: 4; padding: 5rem; }
}

@media (min-width: 992px) {
    .tabs .tab__header { height: 20rem; padding: 4rem 3rem; }
    .tabs .tab__body { padding: 6rem 8rem; }
    .tabs .tab__body h3 { margin-bottom: 3rem; padding-bottom: 3rem; }
    .tabs .tab__body h3:nth-of-type(n+2) { margin-top: 5rem; }
}

@media (min-width: 1200px) {
    .tabs .tab__header { padding: 4rem 5rem; height: 22rem; }
    .tabs .tab__header .btn--arrow { left: 5rem; }
    .tabs .tab__body { padding: 6rem 10rem; }
    .tabs .tab__body h3:nth-of-type(n+2) { margin-top: 8rem; }
}

@media (min-width: 1400px) {
    .tabs .tab__header { height: 23rem; }
}





/*  >> Typography
    -------------------------------------------------- */

h1, h2, h3, h4, p, a, li, input, textarea, label, button { color: #00154a; font-family: 'Raleway', Helvetica, Arial, sans-serif; }
h1 { font-size: 3rem; font-weight: 600; }
h2 { font-size: 2.4rem; font-weight: 400; }
h3 { font-size: 1.8rem; font-weight: 400; }
h4 { font-size: 1.6rem; font-weight: 400; }
p, a, li, input, select, textarea, button { font-size: 1.6rem; line-height: 2rem; }
label { font-size: 1.4rem; line-height: 1.6rem; }
span, i, em, b { color: inherit; font-size: inherit; }

@media (min-width: 576px) {
    h1 { font-size: 3.2rem; }
}

@media (min-width: 768px) {
    h1 { font-size: 3.6rem; }
    h2 { font-size: 2.8rem; }
    h3 { font-size: 2rem; }
}

@media (min-width: 992px) {
    h1 { font-size: 4rem; }
    h2 { font-size: 3.2rem; }
    h3 { font-size: 2.4rem; }
    h4 { font-size: 1.8rem; }
}

@media (min-width: 1200px) {
    h1 { font-size: 4.5rem; }
    h2 { font-size: 3.6rem; }
    h3 { font-size: 2.8rem; }
}

@media (min-width: 1400px) {
    h1 { font-size: 5rem; }
    h2 { font-size: 4rem; }
    h3 { font-size: 3rem; }
    h4 { font-size: 2rem; }
}










/*
    ----------------------------------------------------------------------------------------------------
    ====================================================================================================

                                                  HEADER

    ====================================================================================================
    ----------------------------------------------------------------------------------------------------
*/

.header { position: absolute; top: 0; left: 0; width: 100%; height: 8rem; z-index: 100; }
.header .area { height: 100%; }

.header .careers-banner { padding: 1rem; background: #ff7f00; color: #fff; font-weight: 600; text-align: center; }
.header .careers-banner .arrow { margin-left: 1rem; -webkit-transform: scale(.6); -moz-transform: scale(.6); transform: scale(.6); }

.header .burger-menu { display: block; position: relative; width: 3rem; height: 2.3rem; z-index: 1; }
.header .burger-menu span { display: block; position: absolute; left: 0; width: 100%; height: .3rem; background: #fff; }
.header .burger-menu span:nth-of-type(1) { top: 0; }
.header .burger-menu span:nth-of-type(2) { top: calc(50% - .1rem); }
.header .burger-menu span:nth-of-type(3) { bottom: 0; }

.header__logo { display: block; height: 3.5rem; }
.header__logo img { width: auto; height: 100%; }

.header__menu { display: none; position: fixed; top: 6rem; right: 0; left: 0; width: calc(100vw - 6rem); height: auto; margin: auto; background: #fff; z-index: 1; }
.header__menu .flexbox { width: 100%; height: fit-content; }
.header__menu nav { position: relative; }
.header__menu nav ul { width: 100%; height: auto; max-height: 0; overflow: hidden; -webkit-transition: max-height .2s; -moz-transition: max-height .2s; transition: max-height .2s; }
.header__menu nav button.active + ul { max-height: 20rem; }
.header__menu nav button,
.header__menu nav li,
.header__menu nav a { width: 100%; font-size: 2.5rem; font-weight: 600; line-height: 6rem; text-align: center; -webkit-transition: line-height .2s; -moz-transition: line-height .2s; transition: line-height .2s; }
.header__menu nav button,
.header__menu nav > a { background: #fff; }
.header__menu nav li a { background: #ccc; -webkit-transition: background .2s; -moz-transition: background .2s; transition: background .2s; }
.header__menu nav > a.expanded,
.header__menu nav button:hover,
.header__menu nav > a.hover { background: #efeeea; }
.header__menu nav > a:hover,
.header__menu nav > a.active { font-weight: 700; }
.header__menu nav > a.active { background: #5db2e3; color: #fff; }
.header__menu a img { width: 2rem; height: auto; margin-left: 1rem; -webkit-filter: invert(1); -moz-filter: invert(1); filter: invert(1); }
.header.active .burger-menu { z-index: 0; }

.header.active .header__menu { display: block; }

@media (max-width: 767px) {
    .header .careers-banner .arrow { display: none; }
}

@media (min-width: 768px) {
    .header .area { padding: 0 8rem; }
    .header__logo { height: 3rem; }
    .header .burger-menu { display: none; }
    .header__menu { display: block; position: relative; top: initial; right: initial; left: initial; margin: 0; width: auto; height: auto; background: transparent; }
    .header__menu nav ul { position: absolute; bottom: -11rem; left: 0; width: fit-content; }
    .header__menu nav li { margin-top: 2px; }
    .header__menu nav li a { display: block; width: 20rem !important; padding: 0 1rem; background: rgba(255,255,255,.8) !important; color: #00154a !important; line-height: 3rem !important; text-align: left; text-shadow: none !important; }
    .header__menu nav li a:hover { background: #fff !important; }
    .header__menu nav button,
    .header__menu nav a { width: fit-content !important; padding: .5rem 0; background: transparent !important; color: #fff !important; font-size: 1.3rem; line-height: 1.8rem !important; text-shadow: 0 0 1rem rgba(0,0,0, .75); }
    .header__menu nav button,
    .header__menu nav > a:not(:last-of-type) { margin-right: 1.5rem; }
    .header__menu nav button:hover,
    .header__menu nav button.active,
    .header__menu nav > a:hover,
    .header__menu nav > a.active { margin-bottom: -.2rem; border-bottom: .2rem solid #fff; }
    .header__menu a img { width: 1.4rem; margin-left: .5rem; }
    .header__menu nav > a img { -webkit-filter: invert(0); -moz-filter: invert(0); filter: invert(0); }
}

@media (min-width: 992px) {
    .header { height: 10rem; }
    .header .area { padding: 0 10rem; }
    .header__logo { height: 4.5rem; }
    .header__menu nav button,
    .header__menu nav a { font-size: 1.4rem; }
    .header__menu nav button,
    .header__menu nav > a:not(:last-of-type) { margin-right: 2rem; }
}

@media (min-width: 1200px) {
    .header .area { padding: 0 15rem; }
    .header__logo { height: 5rem; }
    .header__menu nav button,
    .header__menu nav a { font-size: 1.5rem; }
    .header__menu nav button,
    .header__menu nav > a:not(:last-of-type) { margin-right: 4rem; }
}


/*
    ----------------------------------------------------------------------------------------------------
    ====================================================================================================

                                                PAGES

    ====================================================================================================
    ----------------------------------------------------------------------------------------------------
    >> Hero
    -------------------------------------------------- */

.page:not(.home) .hero { width: 100%; height: 30rem; padding-top: 9rem; background: #00154a; }
.page:not(.home) .hero h1 { color: #fff; text-align: center; }

@media (min-width: 768px) {
    .page:not(.home) .hero { padding-top: 4rem; }
}

@media (min-width: 992px) {
    .page:not(.home) .hero { height: 40rem; padding-bottom: 1rem; }
}





/*  >> Content
    -------------------------------------------------- */

.page:not(.home) .hero + section { width: 100%; }

@media (min-width: 768px) {
    .page:not(.home) .hero + section { margin-top: -5.5rem; padding-bottom: 5rem; }
}

@media (min-width: 992px) {
    .page:not(.home) .hero + section { margin-top: -7rem; padding-bottom: 8rem; }
}

@media (min-width: 1200px) {
    .page:not(.home) .hero + section { margin-top: -7.5rem; padding-bottom: 10rem; }
}

@media (min-width: 1400px) {
    .page:not(.home) .hero + section { margin-top: -8rem; }
}





/*  >> Home
    -------------------------------------------------- */

/* hero */

.home__hero { position: relative; width: 100vw; height: 100vw; overflow: hidden; }
.home__hero * { color: #fff; text-align: center; text-shadow: 0 0 .5rem rgba(0,0,0, .75); }
.home__hero h4 { margin: 8rem 0 1rem; }
.home__hero .bg-panel { display: block; position: absolute; top: 0; right: -100rem; left: -100rem; width: auto; min-width: 100vw; height: 100%; margin: auto; z-index: -1; }
.home__hero img { display: none; position: absolute; right: 0; bottom: 4rem; left: 0; width: 5rem; margin: auto; }

@media (min-width: 576px) {
    .home__hero { height: 55vw; }
    .home__hero .bg-panel { width: 100%; height: auto; }
}

@media (min-width: 768px) {
    .home__hero h4 { margin-top: -2rem; }
    .home__hero h1 { letter-spacing: .1rem; }
    .home__hero img { bottom: 8rem; }
}

@media (min-width: 992px) {
    .home__hero { height: 60vw; }
    .home__hero h4 { margin-top: -3rem; letter-spacing: .1rem; }
    .home__hero h1 { letter-spacing: .2rem; }
    .home__hero img { bottom: 8rem; width: 6rem; }
}

@media (min-width: 1200px) {
    .home__hero { height: 55vw; }
    .home__hero h4 { margin-top: -5rem; letter-spacing: .2rem; }
    .home__hero h1 { margin-top: 1.5rem; letter-spacing: .3rem; }
    .home__hero .bg-panel { min-width: 100%; height: auto; min-height: 100%; }
    .home__hero img { bottom: 10rem; width: 8rem; }
}

@media (min-width: 1400px) {
    .home__hero { height: 45vw; }
    .home__hero h4 { margin-top: -8rem; }
    .home__hero h1 { letter-spacing: .4rem; }
    .home__hero img { bottom: 12rem; }
}



/* Company Links */

.home__company-links .link { display: block; position: relative; width: 100%; padding: 2rem 1.5rem; cursor: pointer; }
.home__company-links .link:nth-of-type(1) { background: #071e57; }
.home__company-links .link:nth-of-type(2) { background: #5db2e3; }
.home__company-links .link:nth-of-type(3) { background: #efeeea; }
.home__company-links .link:not(:nth-of-type(3)) * { color: #fff; }
.home__company-links .link h2 { margin-bottom: .3rem; }
.home__company-links .link h2,
.home__company-links .link h3 { line-height: initial; }
.home__company-links .link .btn--arrow { top: calc(50% - 2rem); right: 1.5rem; }

.home__company-links__panel { position: relative; width: 100%; padding: 0 1.5rem; }
.home__company-links__panel .cross { top: 1.5rem; right: 3rem; }
.home__company-links__panel .panel-logo { padding: 2rem 1.5rem; }
.home__company-links__panel .panel-logo img { width: 100%; max-width: 28rem; }
.home__company-links__panel .panel-logo,
.home__company-links__panel .panel-info { width: 100%; height: auto; min-height: 15rem; }
.home__company-links__panel .panel-info { padding: 3rem 0; }
.home__company-links__panel .panel-info b { display: block; margin-bottom: .5rem; }
.home__company-links__panel .panel-info span + b { margin-top: 2rem }
.home__company-links__panel .panel-info a .arrow { margin-left: 1rem; -webkit-transform: scale(.6); -moz-transform: scale(.6); transform: scale(.6); -webkit-transition: margin .2s ease-in; -moz-transition: margin .2s ease-in; transition: margin .2s ease-in; }
.home__company-links__panel .panel-info a:hover .text { text-decoration: underline; }
.home__company-links__panel .panel-info a:hover .arrow { margin: 0 -1rem 0 2rem; }

@media (max-width: 575px) {
    .home__company-links { padding: 1.5rem 0; }
}

@media (min-width: 576px) and (max-width: 767px) {
    .home__company-links { padding: 3rem 0; }
}

@media (min-width: 768px) {
    .home__company-links { margin-top: -7.2rem; padding-bottom: 3rem; }
    .home__company-links .link { width: 33.33333%; height: 16rem; -webkit-transition: width .2s; -moz-transition: width .2s; transition: width .2s; }
    .home__company-links .link.reduced { width: 32%; }
    .home__company-links .link.expanded { width: 36%; }
    .home__company-links .link h2 { margin-bottom: .1rem; }
    .home__company-links .link .btn--arrow { top: initial; right: initial; bottom: 1.5rem; left: 1.5rem; }
    .home__company-links__panel { order: 4; padding: 0; }
    .home__company-links__panel .cross { right: 1.5rem; }
    .home__company-links__panel .panel-logo { width: 33.33333%; }
    .home__company-links__panel .panel-info { width: 66.66666%; padding: 6rem 1.5rem; }
}

@media (min-width: 992px) {
    .home__company-links { margin-top: -12.2rem; padding-bottom: 5rem; }
    .home__company-links .link { height: 18rem; padding: 2rem; }
    .home__company-links .link .btn--arrow { bottom: 2rem; left: 2rem; }
    .home__company-links__panel .cross { top: 2rem; right: 2rem; }
    .home__company-links__panel .panel-logo { padding: 2rem; }
    .home__company-links__panel .panel-info { padding: 6rem 2rem; }
}

@media (min-width: 1200px) {
    .home__company-links { margin-top: -10rem; }
    .home__company-links .link { height: 22rem; padding: 3rem; }
    .home__company-links .link .btn--arrow { bottom: 3rem; left: 3rem; }
    .home__company-links__panel .cross { top: 3rem; right: 3rem; }
    .home__company-links__panel .panel-logo { padding: 3rem; }
    .home__company-links__panel .panel-info { padding: 7rem 3rem; }
}

@media (min-width: 1400px) {
    .home__company-links { margin-top: -11.8rem; padding-bottom: 5rem; }
    .home__company-links .link { height: 25rem; padding: 4rem; }
    .home__company-links .link .btn--arrow { bottom: 4rem; left: 4rem; }
    .home__company-links__panel .cross { top: 4rem; right: 4rem; }
    .home__company-links__panel .panel-logo { padding: 4rem; }
    .home__company-links__panel .panel-info { padding: 8rem 4rem; }
}



/* News */

.home__news { position: relative; padding: 3rem 0; }
.home__news .bg-panel { position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 15rem); background: #00154a; z-index: -1; }
.home__news .area .title { display: block; width: fit-content; margin: 0 auto 2.5rem; color: #fff; font-size: 1.6rem; text-align: center; }

.home__news article { position: relative; width: 100%; height: 15rem; padding: 2rem 6rem 2rem 2rem; background: #efeeea; -webkit-transition: width .2s, height .2s, background-size .2s; -moz-transition: width .2s, height .2s, background-size .2s; transition: width .2s, height .2s, background-size .2s; }
.home__news article:nth-of-type(1) { order: 0; }
.home__news article:nth-of-type(2) { order: 1; }
.home__news article:nth-of-type(3) { order: 3; }
.home__news article:nth-of-type(4) { order: 2; }
.home__news article:not(:first-of-type) { margin-top: 1rem; }
.home__news article:not(.bg-img):hover { background: #f8f8f8; }
.home__news article.bg-img:hover { background-size: 110% auto !important; }
.home__news article.bg-img * { color: #fff; text-shadow: 0 0 .5rem rgba(0,0,0, .5);  }
.home__news article .wrapper { width: 100%; height: 100%; overflow: hidden; }
.home__news article .number { font-size: 4rem; font-weight: 700; line-height: 3rem; }
.home__news article h4 { margin: .5rem 0 .8rem; font-size: 1.8rem; font-weight: 600; }
.home__news article .btn--arrow { position: absolute; top: calc(50% - 2rem); right: -.5rem; }
.home__news article a { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: background .2s; -moz-transition: background .2s; transition: background .2s; z-index: 1; }

.home__news .area > a:not(.title) { width: fit-content; margin: 2.5rem auto 0; }
.home__news .area > a:not(.title) .arrow { -webkit-transform: scale(.5); -moz-transform: scale(.5); transform: scale(.5); -webkit-transition: margin .2s; -moz-transition: margin .2s; transition: margin .2s; }
.home__news .area > a:not(.title) .arrow span:last-of-type { display: none; }
.home__news .area > a:hover .text { text-decoration: underline; }
.home__news .area > a:not(.title):hover .arrow { margin: 0 -1rem 0 1rem; }

@media (max-width: 767px) {
    .home__news article:nth-of-type(n+5),
    .home__news article h4 br,
    .home__news article.text-based h4 + p { display: none; }
}

@media (min-width: 768px) {
    .home__news .bg-panel { height: calc(100% - 17rem); }
    .home__news .area > .flexbox:not(a) { position: relative; height: 60rem; }
    .home__news article { padding: 1.5rem 1.5rem 6rem 1.5rem; }
    .home__news article:nth-of-type(1) { order: 0; }
    .home__news article:nth-of-type(2) { order: 3; }
    .home__news article:nth-of-type(3) { order: 1; }
    .home__news article:nth-of-type(4) { order: 2; }
    .home__news article:nth-of-type(5) { order: 4; }
    .home__news article:nth-of-type(6) { order: 5; }
    .home__news article:nth-of-type(7) { order: 6; position: absolute; bottom: 0; right: 0; }
    .home__news article:nth-of-type(1),
    .home__news article:nth-of-type(2),
    .home__news article:nth-of-type(7) { width: calc(50% - .5rem); }
    .home__news article:nth-of-type(3),
    .home__news article:nth-of-type(4),
    .home__news article:nth-of-type(5),
    .home__news article:nth-of-type(6) { width: calc(25% - .75rem); }
    .home__news article:nth-of-type(1),
    .home__news article:nth-of-type(3),
    .home__news article:nth-of-type(4) { height: calc(20rem - .5rem); margin-top: 0 !important; }
    .home__news article:nth-of-type(2) { height: calc(40rem - .5rem); }
    .home__news article:nth-of-type(5),
    .home__news article:nth-of-type(6),
    .home__news article:nth-of-type(7) { height: calc(20rem - .75rem); }
    .home__news article .btn--arrow { top: initial; right: initial; bottom: 1rem; left: 1.5rem; }
}

@media (min-width: 758px) and (max-width: 991px) {
    .home__news article h4 + p { font-size: 1.4rem; line-height: 1.8rem; }
}

@media (min-width: 992px) {
    .home__news.area .title { font-size: 1.8rem; }
    .home__news article h4 { margin-bottom: 0; font-size: 2rem; }
}

@media (min-width: 1200px) {
    .home__news .bg-panel { height: calc(100% - 20rem); }
    .home__news .area > .flexbox:not(a) { height: 85rem; }
    .home__news article { margin-top: 2rem !important; padding: 2rem 2rem 7rem 2rem; }
    .home__news article:nth-of-type(1),
    .home__news article:nth-of-type(2),
    .home__news article:nth-of-type(7) { width: calc(50% - 1rem); }
    .home__news article:nth-of-type(3),
    .home__news article:nth-of-type(4),
    .home__news article:nth-of-type(5),
    .home__news article:nth-of-type(6) { width: calc(25% - 1.5rem); }
    .home__news article:nth-of-type(1),
    .home__news article:nth-of-type(3),
    .home__news article:nth-of-type(4) { height: 29rem; }
    .home__news article:nth-of-type(2) { height: 54rem; }
    .home__news article:nth-of-type(5),
    .home__news article:nth-of-type(6),
    .home__news article:nth-of-type(7) { height: 26rem; }
    
    .home__news article .number { margin-top: -1rem; font-size: 7rem; line-height: 6rem; }
    .home__news article h4 { margin-bottom: 1rem; font-size: 2.8rem; }
    .home__news article .btn--arrow { bottom: 2rem; left: 2rem; }
}

@media (min-width: 1400px) {
    .home__news .area .title { font-size: 2rem; }
    .home__news article .number { margin-top: -1.5rem; font-size: 8rem; line-height: 7rem; }
    .home__news article h4 { font-size: 3rem; }
    .home__news article h4 + p { font-size: 1.8rem; line-height: 2.2rem; }
}





/*  >> About
    -------------------------------------------------- */

.about .tabs .tab__header h2 { width: calc(100% - 7rem); }
.about .tabs .tab__body > img:not(#bus) { display: block; width: 100%; max-width: 60rem; margin: 2rem auto; }
.about .tabs .tab__body ul { margin: 3rem 0; }
.about .tabs .tab__body ul:not(.timeline__header) li { width: calc(50% - .25rem); height: 6rem; padding: 1rem 1rem 1rem 0; background: #fff; border: 1px solid #0090e3; }
.about .tabs .tab__body ul:not(.timeline__header) li:nth-of-type(n+3) { margin-top: .5rem; }
.about .tabs .tab__body ul:not(.timeline__header) li img { width: auto; height: auto; max-height: 3.5rem; margin: 0; }
.about .tabs .tab__body ul:not(.timeline__header) li h3 { margin: 0; padding: 0; border: none; color: #777; font-size: 2rem; line-height: 2rem; }
.about .tabs .tab__body ul:not(.timeline__header) li h3 span { display: block; font-size: 1.2rem; line-height: 1.3rem; }
.about .tabs .tab__body h2 { text-align: center; }

.about .timeline { position: relative; width: 100%; height: 12rem; margin-bottom: 3rem; overflow-x: hidden; }
.about .timeline img { display: inline-block; position: absolute; top: calc(50% - 2.5rem);  width: auto; height: 5rem; -webkit-transition: left .5s; -moz-transition: left .5s; transition: .5s; z-index: 2; }
.about .timeline img.move-to-0 { left: 3.8rem; }
.about .timeline img.move-to-1 { left: 10.8rem; }
.about .timeline img.move-to-2 { left: 17.8rem; }
.about .timeline img.move-to-3 { left: 24.8rem; }
.about .timeline__header { position: absolute; top: calc(50% - .5rem); left: 0; width: 141rem; height: .9rem; margin: 0 !important; -webkit-transition: left .5s; -moz-transition: left .5s; transition: left .5s; }
.about .timeline__header:before { content: ''; position: absolute; top: 0; left: .5rem; width: calc(100% - 1rem); height: 100%; background: #fff; border-radius: .5rem; box-shadow: 0 0 .5rem rgba(0,0,0, .5); }
.about .timeline__header li { position: relative; margin-left: 5rem; cursor: pointer; }
.about .timeline__header li:before,
.about .timeline__header li:after { content: ''; position: absolute; top: .6rem; width: .7rem; height: .9rem; background: #fff; z-index: 1; }
.about .timeline__header li:before { left: -.5rem; }
.about .timeline__header li:after { right: -.5rem; }
.about .timeline__header li .marker { display: block; position: relative; width: 2.1rem; height: 2.1rem; background: #fff; border-radius: 50%; box-shadow: 0 0 .5rem rgba(0,0,0, .5); }
.about .timeline__header li .marker:before { content: ''; position: absolute; top: calc(50% - .2rem); width: 0; height: .3rem; background: #00154a; border-radius: .2rem; z-index: 1; }
.about .timeline__header li:nth-of-type(1) .marker:before { left: -4.2rem; }
.about .timeline__header li:nth-of-type(n+2) .marker:before { left: -6.2rem; }
.about .timeline__header li .marker:after { content: ''; display: block; position: absolute; top: calc(50% - .6rem); left: calc(50% - .6rem); width: .9rem; height: .9rem; border: .1rem solid #00154a; border-radius: 50%; }
.about .timeline__header li .date { display: block; position: absolute; right: -5rem; left: -5rem; width: fit-content; margin: auto; }
.about .timeline__header li .date:nth-of-type(odd) { top: -4rem; }
.about .timeline__header li .date:nth-of-type(even) { bottom: -4rem; }
.about .timeline__header li.active .marker:before,
.about .timeline__header li.visited .marker:before { content: ''; position: absolute; top: calc(50% - .2rem); height: .3rem; background: #00154a; border-radius: .2rem; z-index: 1; }
.about .timeline__header li.active .marker:before { -webkit-transition: width .5s ease-in-out; -moz-transition: width .5s ease-in-out; transition: width .5s ease-in-out; }
.about .timeline__header li:nth-of-type(1).active .marker:before,
.about .timeline__header li:nth-of-type(1).visited .marker:before { width: 5rem; }
.about .timeline__header li:nth-of-type(n+2).active .marker:before,
.about .timeline__header li:nth-of-type(n+2).visited .marker:before { width: 7rem; }
.about .timeline__header li.active .marker:after,
.about .timeline__header li.visited .marker:after { background: #00154a; }
.about .timeline__header li.active .date { font-weight: 700; }
.about .timeline__body button { width: 4rem; height: 4rem; border: .1rem solid #00154a; border-radius: 50%; }
.about .timeline__body button.next { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); transform: rotate(180deg); }
.about .timeline__body button span { display: inline-block; position: relative; margin-left: -.3rem; border-top: 1rem solid transparent; border-right: 1.5rem solid #00154a; border-bottom: 1rem solid transparent; }
.about .timeline__body button span:after { content: ''; position: absolute; top: calc(50% - .8rem); left: .2rem; border-top: .8rem solid transparent; border-right: 1.2rem solid #efeeea; border-bottom: .8rem solid transparent; -webkit-transition: border-color .2s; -moz-transition: border-color .2s; transition: border-color .2s; }
.about .timeline__body button:hover span:after { border-right-color: #00154a; }
.about .timeline__body__content { width: calc(100% - 11rem); }
.about .timeline__body__content > * { width: 100%; }
.about .timeline__body__content h2 { margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: .1rem solid #00154a; font-weight: 700; text-align: left !important; }
.about .timeline__body__content img { margin: 0 0 3rem !important; }
.about .timeline__body + div { margin-top: 3rem; padding: 3rem 0; border-top: .1rem solid #00154a; border-bottom: .1rem solid #00154a; }
.about .timeline__body + div > * { width: 100%; }
.about .timeline__body + div img { max-width: initial !important; margin: 0 0 3rem !important; padding: 5rem 15vw; background: #fff; }

.form--contact-info .wrapper:nth-of-type(1) { margin-top: .5rem; }

@media (max-width: 575px) {
    .about .tabs { padding: 1.5rem 0; }
}

@media (min-width: 576px) {
    .about .timeline__body__content { width: calc(100% - 15rem); }
    .about .tabs .tab__body ul:not(.timeline__header) li { padding: 1rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li img { max-height: 4rem; }
}

@media (min-width: 576px) and (max-width: 767px) {
    .about .tabs { padding: 3rem 0; }
}

@media (max-width: 767px) {
    .form--contact-info .wrapper:nth-of-type(n+2),
    .form--contact-info textarea,
    .form--contact-info button { margin-top: 1rem !important; }
}

@media (min-width: 768px) {
    .about .tabs .tab__body ul:not(.timeline__header) li { width: calc(50% - .5rem); height: 8rem; padding: 2rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li:nth-of-type(n+3) { margin-top: 1rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li img { max-height: 4rem; margin-right: .5rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li h3 { font-size: 2.2rem; font-weight: 400; line-height: 2.2rem; }
    .about .timeline__body__content { width: calc(100% - 20rem); }
    .about .timeline__body + div img { width: 25rem !important; padding: 5rem !important; }
    .about .timeline__body + div p { width: calc(100% - 28rem); }
    .form--contact-info .wrapper,
    .form--contact-info button { width: calc(50% - .75rem); }
    .form--contact-info .wrapper:nth-of-type(n+2) { margin-top: .5rem; }
    .form--contact-info .wrapper:nth-of-type(n+3),
    .form--contact-info textarea,
    .form--contact-info button { margin-top: 1.5rem !important; }
}

@media (min-width: 992px) {
    .about .tabs .tab__body > img:not(#bus) { margin: 3rem auto; }
    .about .tabs .tab__body ul:not(.timeline__header) { margin: 5rem 0; }
    .about .tabs .tab__body ul:not(.timeline__header) li { width: calc(25% - .75rem); margin-top: 0 !important; padding: .5rem; }
    .about .timeline { margin-bottom: 5rem; }
    .about .timeline__body__content img { width: 20rem !important; margin: 0 !important; }
    .about .timeline__body__content img + div { width: calc(100% - 23rem); }
    .form--contact-info .wrapper,
    .form--contact-info button { width: calc(50% - 1rem); }
    .form--contact-info .wrapper:nth-of-type(n+2) { margin-top: .5rem; }
    .form--contact-info .wrapper:nth-of-type(n+3),
    .form--contact-info textarea,
    .form--contact-info button { margin-top: 2rem !important; }
}

@media (min-width: 1200px) {
    .about .tabs .tab__body > img:not(#bus) { margin: 5rem auto; }
    .about .tabs .tab__body ul:not(.timeline__header) li { width: calc(25% - .75rem); height: 9rem; margin-top: 0 !important; padding: 1rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li img { margin-right: 0; }
    .about .tabs .tab__body ul:not(.timeline__header) li h3 { font-size: 2.4rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li h3 span { margin-bottom: .3rem; }
    .about .timeline__body__content img { width: 22rem !important; }
    .about .timeline__body__content img + div { width: calc(100% - 25rem); }
    .about .timeline__body + div { margin-top: 5rem !important; padding: 5rem 0 !important; } 
    .about .timeline__body + div img { width: 28rem !important; }
    .about .timeline__body + div p { width: calc(100% - 32rem); }
    .form--contact-info .wrapper:nth-of-type(1),
    .form--contact-info .wrapper:nth-of-type(2) { margin-top: 1rem; }
}

@media (min-width: 1400px) {
    .about .tabs .tab__body ul:not(.timeline__header) li { width: calc(25% - 1.125rem); }
    .about .tabs .tab__body ul:not(.timeline__header) li img { margin-right: .5rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li h3 { font-size: 3rem; }
    .about .tabs .tab__body ul:not(.timeline__header) li h3 span { margin-bottom: .4rem; }
    .about .timeline__body__content img { width: 25rem !important; }
    .about .timeline__body__content img + div { width: calc(100% - 30rem); }
    .about .timeline__body + div img { width: 30rem !important; }
    .about .timeline__body + div p { width: calc(100% - 35rem); }
}

label.error {  color: #5db2e3 !important; text-align: left; }



/*  >> Careers
    -------------------------------------------------- */
.careers__hero .hero__links { margin-top: 2rem; }
.careers__hero .hero__links a { width: 16rem; height: 4rem; font-size: 1.3rem; font-weight: 700; border-style: solid; border-radius: 2rem; border-width: .2rem; line-height: 4rem; -webkit-transition: background .2s, border-color .2s, color .2s; -moz-transition: background .2s, border-color .2s, color .2s; transition: background .2s, border-color .2s, color .2s; }
.careers__hero .hero__links a:nth-of-type(1) { margin-right: 2rem; background: #fff; border-color: #fff; }
.careers__hero .hero__links a:nth-of-type(2) { color: #fff; border-color: transparent; }
.careers__hero .hero__links a .icon { display: inline-block; margin-right: .7rem; border-top: .5rem solid transparent; border-bottom: .5rem solid transparent; border-left: .8rem solid #00154a; -webkit-transition: border-color .2s; -moz-transition: border-color .2s; transition: border-color .2s;  }
.careers__hero .hero__links a .arrow { margin: 0 -.5rem 0 .5rem; -webkit-transform: scale(.5); -moz-transform: scale(.5); transform: scale(.5); }
.careers__hero .hero__links a:hover { background: transparent; border-color: #fff; color: #fff; }
.careers__hero .hero__links a:hover .icon { border-left-color: #fff; }
.careers__links .area > .wrapper { padding: 2rem 1.5rem; background: #e0dbd1; }
.careers__links .intro div { width: 100%; }
.careers__links .intro h2 + p { margin: 2rem 0; }
.careers__links .intro img { width: 100%; height: auto; margin: 2rem auto 3rem; }
.careers__links h3 { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: .2rem solid #fff; font-weight: 600; }
.careers__links iframe { width: 100%; height: 52vw; margin-bottom: 3rem; }
.careers__links .images { margin-bottom: 3rem; }
.careers__links .images img { width: calc(50% - .25rem); height: auto; }
.careers__links .images img:nth-of-type(n+3) { margin-top: .5rem; }
.careers__links ul li { width: 100%; margin-top: 1rem; padding: 2rem 1.5rem; background: #ffffff; }
.careers__links ul li h3 { margin: 0; padding: 0; font-weight: 600; }
.careers__links ul li h3 + p { margin-top: 2rem; }
.careers__links ul li p,
.careers__links ul li p span { width: 100%; }
.careers__links ul li p,
.careers__links ul li a { font-size: 1.4rem; line-height: 1.6rem; }
.careers__links ul li a { width: fit-content; margin: .2rem 0; }
.careers__links ul li a:nth-of-type(1) { margin-right: 2rem; }
.careers__links ul li a:hover { text-decoration: underline; }
.careers__links ul li a img { width: 2rem; height: auto; margin-right: 1rem; }

@media (max-width: 575px) {
    .careers__links { padding: 1.5rem 0; }
}

@media (min-width: 576px) {
    .careers__links iframe { height: 54vw; }
}

@media (min-width: 576px) and (max-width: 767px) {
    .careers__links { padding: 3rem 0; }
}

@media (min-width: 768px) {
    .careers__links .area > .wrapper { padding: 3rem; }
    .careers__links iframe { height: 47vw; }
    .careers__links .images img { width: calc(25% - .375rem); margin-top: 0 !important; }
    .careers__links .images img:nth-of-type(n+5) { margin-top: .5rem !important; }
    .careers__links ul li { width: calc(33.33333% - .66666rem); margin-top: 2rem !important; }
}

@media (max-width: 991px) {
    .careers__links ul li p span { display: none; }
}

@media (min-width: 992px) {
    .careers__hero .hero__links a:nth-of-type(1) { margin-right: 3rem; }
    .careers__links .area > .wrapper { padding: 4rem 3rem; }
    .careers__links h3 { margin-bottom: 3.5rem; padding-bottom: 3rem; }
    .careers__links .intro { padding-bottom: 5rem; }
    .careers__links .intro div { width: calc(100% - 39rem); }
    .careers__links .intro img { width: 36rem; margin: 6rem 0 0; }
    .careers__links iframe { height: 49vw; margin-bottom: 5rem; }
    .careers__links .intro h2 + p { margin: 2rem 0 3rem; }
    .careers__links .intro p span { font-size: larger; }
    .careers__links .images { margin-bottom: 5rem; }
    .careers__links .images img { width: calc(25% - .75rem); }
    .careers__links .images img:nth-of-type(n+5) { margin-top: 1rem !important; }
    .careers__links ul li { padding: 2rem; }
}

@media (min-width: 1200px) {
    .careers__links .area > .wrapper { padding: 4rem 5rem 7rem; }
    .careers__links .intro div { width: calc(100% - 45rem); }
    .careers__links .intro img { width: 37rem; }
    .careers__links iframe { height: 44vw; }
    .careers__links h2 + p { margin: 3rem 0 5rem; }
    .careers__links ul li { padding: 3rem; }
    .careers__links ul li p,
    .careers__links ul li a { font-size: 1.6rem; line-height: 2rem; }
}

@media (min-width: 1400px) {
    .careers__links .intro div { width: calc(100% - 50rem); }
    .careers__links .intro img { width: 38rem; margin: 0; }
    .careers__links iframe { height: 62rem; }
    .careers__links ul li { width: calc(33.33333% - 1rem); }
}





/*  >> News + Article + Images
    -------------------------------------------------- */

/* news */

.news .article { position: relative; width: 100%; padding-bottom: 4rem; }
.news .article:nth-of-type(n+2) { margin-top: 4rem; }
.news .article__img { width: 100%; height: 20rem; }
.news .article__date { margin: 1rem 0; font-size: 1.4rem; font-weight: 600; line-height: 1.6rem; }
.news .article__title { margin-bottom: 1rem; font-weight: 600; }
.news .article__link { position: absolute; bottom: 0; left: 0; font-size: 1.3rem; font-weight: 700; line-height: 1.6rem; }
.news .article__link .arrow { -webkit-transform: scale(.45); -moz-transform: scale(.45); transform: scale(.45); -webkit-transition: margin .2s; -moz-transition: margin .2s; transition: margin .2s; }
.news .article__link .arrow span:nth-of-type(3) { display: none; }
.news .article__link:hover { text-decoration: underline; }
.news .article__link:hover .arrow { margin-left: 1rem; }

.news .newsletter .newsletter:not(.tab__header) { padding-bottom: 2rem; border-bottom: .2rem solid #fff; }
.news .newsletter .newsletter:not(.tab__header):nth-of-type(n+2) { padding-top: 2rem; }
.news .newsletter .newsletter > .flexbox { width: calc(100% - 11rem); }
.news .newsletter .newsletter > .flexbox > * { width: 100%; }
.news .newsletter .newsletter__date { font-weight: 600; }
.news .newsletter .newsletter__date,
.news .newsletter .newsletter__link { font-size: 1.4rem; line-height: 1.6rem; }
.news .newsletter .newsletter__link {  margin-top: 2.5rem; font-weight: 700; }
.news .newsletter .newsletter__link:hover { text-decoration: underline; }
.news .newsletter .newsletter__title { margin: .5rem 0 1rem !important; padding: 0 !important; border: none !important; }
.news .newsletter .newsletter__excerpt { font-size: 1.4rem; line-height: 1.6rem; }

.page.article article { width: 100%; padding: 3rem 1.5rem; background: #e0dbd1; }
.page.article article .btn--back { margin-bottom: 2rem; font-size: 1.3rem; font-weight: 700; line-height: 1.6rem; }
.page.article article .btn--back .arrow { margin-right: 1rem; -webkit-transform: scale(.5); -moz-transform: scale(.5); transform: scale(.5); -webkit-transition: margin .2s; -moz-transition: margin .2s; transition: margin .2s; }
.page.article article .btn--back:hover { text-decoration: underline; }
.page.article article .btn--back:hover .arrow { margin: 0 2rem 0 -1rem; }
.page.article article .article__date { font-size: 1.4rem; font-weight: 600; line-height: 1.6rem; }
.page.article article .article__title { margin: 1.5rem 0 2.5rem; padding-bottom: 2rem; border-bottom: .2rem solid #fff; font-weight: 600; }
.page.article article .article__img { width: 100%; height: auto; }
.page.article article h4 { margin: 2.5rem 0 1rem; font-weight: 600; text-decoration: underline; }
.page.article article .article__img + h4 { margin: 2rem 0; text-decoration: none; }
.page.article article p strong,
.page.article article p b { font-weight: 600; }
.page.article article p a { text-decoration: underline; }
.page.article article p a:hover { text-decoration: none; }


/* images */

.news .images { position: relative; }
.news .images.tab__body .thumbnail { position: relative; width: calc(50% - .25rem); height: 45.34vw; cursor: pointer; }
.news .images.tab__body .thumbnail .thumbnail-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.5); z-index: 1; }
.news .images.tab__body .thumbnail .thumbnail-screen p { color: #fff; font-weight: 600; }
.news .images.tab__body .selected-img { width: 100%; height: auto; }
.news .images.tab__body button { position: absolute; width: 4rem; height: 4rem; }
.news .images.tab__body button.images__btn--close { top: 3rem; right: 1.5rem; background: rgba(255,255,255,.5); -webkit-transition: background .2s; -moz-transition: background .2s; transition: background .2s; }
.news .images.tab__body button.images__btn--close:hover { background: #fff; }
.news .images.tab__body button.btn--slide { top: calc(50% - 2.5rem); background: #fff; border-radius: 50%; -webkit-transition: background .2s, transform .2s; -moz-transition: background .2s, transform .2s; transition: background .2s, transform .2s; }
.news .images.tab__body button.btn--slide:hover { -webkit-transform: scale(1.3); -moz-transform: scale(1.3); transform: scale(1.3); }
.news .images.tab__body button.images__btn--prev { left: -.5rem; }
.news .images.tab__body button.images__btn--next { right: -.5rem; }
.news .images.tab__body button > * { -webkit-transform: scale(.7); -moz-transform: scale(.7); transform: scale(.7); }
.news .images.tab__body:not(.zoom-in) .selected-img,
.news .images.tab__body:not(.zoom-in) button { display: none; }
.news .images.tab__body.zoom-in .thumbnail { display: none; }

@media (max-width: 575px) {
    .news__tabs, .page.article .article__content {
        padding: 1.5rem 0;
    }
    .news .images.tab__body .thumbnail:nth-of-type(odd) {
        margin-right: .5rem;
    }
    .news .images.tab__body .thumbnail:nth-of-type(n+3) {
        margin-top: .5rem;
    }
}
@media (min-width: 576px) {
    .page.article article {
        padding: 3rem;
    }
    .news .images.tab__body .thumbnail {
        width: calc(33.33333% - .33333rem);
        height: 29.42vw;
    }
    .news .images.tab__body button {
        width: 5rem;
        height: 5rem;
    }
    .news .images.tab__body button.btn--slide {
        top: calc(50% - 2.5rem);
        box-shadow: 0 0 1rem rgba(0,0,0,.1);
    }
    .news .images.tab__body button.images__btn--close {
       right: 3rem;
    }
    .news .images.tab__body button.images__btn--prev {
       left: .5rem;
    }
    .news .images.tab__body button.images__btn--next {
       right: .5rem;
    }
}
@media (min-width: 576px) and (max-width: 767px) {
    .news__tabs, .page.article .article__content {
        padding: 3rem 0;
    }
}

@media (min-width: 768px) {
    .news .article { width: calc(50% - 1rem); margin: 0 !important; }
    .news .article:nth-of-type(n+3) { margin-top: 5rem !important; }
    .page.article article { padding: 5rem; }
    .news .images.tab__body .thumbnail { height: 25.24vw; }
    .news .images.tab__body button.images__btn--close { top: 5rem; right: 5rem; }
    .news .images.tab__body button.images__btn--prev { left: 2.5rem; }
    .news .images.tab__body button.images__btn--next { right: 2.5rem; }
}

@media (min-width: 992px) {
    .news .newsletter .newsletter:not(.tab__header) { padding-bottom: 3rem; }
    .news .newsletter .newsletter:not(.tab__header):nth-of-type(n+2) { padding-top: 3rem; }
    .news .newsletter .newsletter > .flexbox > p { width: auto; }
    .news .newsletter .newsletter > .flexbox > div { width: calc(100% - 16rem); }
    .news .newsletter .newsletter__date { margin-top: .5rem; }
    .news .newsletter .newsletter__title { margin-top: 0 !important; }
    .news .newsletter .newsletter__link { margin-top: 1rem; }
    .page.article article { padding: 6rem 8rem; }
    .page.article article .btn--back { margin-bottom: 4rem; }
    .page.article article .article__title { margin: 1.5rem 0 4rem; padding-bottom: 3.5rem; }
    .page.article article .article__img + h4 { margin: 3rem 0; }
    .news .images.tab__body button.images__btn--close { top: 6rem; right: 8rem; }
    .news .images.tab__body button.images__btn--prev { left: 5.5rem; }
    .news .images.tab__body button.images__btn--next { right: 5.5rem; }
}

@media (min-width: 576px) and (max-width: 1199px) {
    .news .images.tab__body .thumbnail:not(:nth-of-type(3n+3)) { margin-right: .5rem; }
    .news .images.tab__body .thumbnail:nth-of-type(n+4) { margin-top: .5rem; }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .news .article:nth-of-type(odd) { margin-right: 2rem !important; }
}

@media (min-width: 1200px) {
    .news .article { width: calc(33.33333% - 1.33333rem); margin-right: 2rem !important; }
    .news .article:nth-of-type(3n+3) { margin-right: 0 !important; }
    .news .article__date { margin: 1.5rem 0; }
    .news .article__title { margin-bottom: 1.5rem; }
    .news .article:nth-of-type(3) { margin-top: 0 !important; }
    .page.article article { padding: 6rem 10rem; }
    .news .images.tab__body .thumbnail { width: calc(25% - .375rem); height: 16.6vw; }
    .news .images.tab__body .thumbnail:not(:nth-of-type(4n+4)) { margin-right: .5rem; }
    .news .images.tab__body .thumbnail:nth-of-type(n+5) { margin-top: .5rem; }
    .news .images.tab__body button.images__btn--close { right: 10rem; }
    .news .images.tab__body button.images__btn--prev { left: 7.5rem; }
    .news .images.tab__body button.images__btn--next { right: 7.5rem; }
}

@media (min-width: 1400px) {
    .news .newsletter .newsletter:not(.tab__header) { padding-bottom: 4rem; }
    .news .newsletter .newsletter:not(.tab__header):nth-of-type(n+2) { padding-top: 4rem; }
    .news .newsletter .newsletter > .flexbox > div { width: calc(100% - 18rem); }
    .news .images.tab__body .thumbnail { width: calc(25% - .75rem); height: 24.25rem; }
    .news .images.tab__body .thumbnail:not(:nth-of-type(4n+4)) { margin-right: 1rem; }
    .news .images.tab__body .thumbnail:nth-of-type(n+5) { margin-top: 1rem; }
}





/*  >> FAQs
    -------------------------------------------------- */

.faq__qa .area > .wrapper { padding: 2rem 1.5rem; background: #e0dbd1; }
.faq__qa .panel__header { cursor: pointer; font-weight: 600; }
.faq__qa .panel__header .text { width: calc(100% - 5rem); }
.faq__qa .panel__body { height: auto; max-height: 0; overflow: hidden; -webkit-transition: max-height .2s, padding .2s; -moz-transition: max-height .2s, padding .2s; transition: max-height .2s, padding .2s; }
.faq__qa .panel__body ul { padding: 0 1.5rem; border: .1rem solid #00154a; border-top: none; -webkit-transition: padding .2s; -moz-transition: padding .2s; transition: padding .2s; }
.faq__qa .panel__body .panel * { font-size: 1.4rem; line-height: 1.6rem; }
.faq__qa .panel__body .panel__header { padding: 1rem 0; }
.faq__qa .panel__body .panel:not(:last-of-type) .panel__body { border-bottom: .1rem solid #ccc; }
.faq__qa .panel__body .panel__body a { text-decoration: underline; }
.faq__qa .panel__body .panel__body a:hover { text-decoration: none; }

.faq__qa .panel.main { margin-top: 1.5rem; background: #fff; }
.faq__qa .panel.main > .panel__header { padding: 1.5rem; border: .1rem solid #00154a; }

.faq__qa .panel.active > .panel__header .angle { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); transform: rotate(180deg); }
.faq__qa .panel.main.active > .panel__body { max-height: 200rem; }
.faq__qa .panel.main.active > .panel__body ul { padding: 1.5rem; }
.faq__qa .panel:not(.main).active > .panel__body { max-height: 50rem; padding: 0 0 1.5rem; }

@media (min-width: 768px) {
    .faq__qa .area > .wrapper { padding: 3rem; }
    .faq__qa h2 { margin-bottom: 3rem; }
    .faq__qa .panel__body .panel * { font-size: 1.6rem; line-height: 2rem; }
}

@media (min-width: 992px) {
    .faq__qa .area > .wrapper { padding: 4rem 3rem; }
    .faq__qa .panel__body .panel__header { padding: 1.2rem 0; }
    .faq__qa .panel__body ul { padding: 0 2rem; }
    .faq__qa .panel.main { margin-top: 2rem; }
    .faq__qa .panel.main > .panel__header,
    .faq__qa .panel.main.active > .panel__body ul { padding: 2rem; }
    .faq__qa .panel:not(.main).active > .panel__body { padding-bottom: 2rem; }
}

@media (min-width: 1200px) {
    .faq__qa .area > .wrapper { padding: 4rem 5rem 7rem; }
}





/*  >> Commuters
    -------------------------------------------------- */

.commuters .routes-map { width: 100%; height: auto; }
.commuters .tab__body { position: relative; }
.commuters .tab__body ul { margin-top: 2rem; }
.commuters .tab__body ul:not(.table) { margin-bottom: 2rem; }
.commuters .tab__body ul:not(.table) li { position: relative; margin: .5rem 0; padding-left: 2rem; }
.commuters .tab__body ul:not(.table) li:before { content: ''; position: absolute; top: .8rem; left: 0; width: .5rem; height: .5rem; background: #00154a; border-radius: 50%; }
.commuters .tab__body ul.table { box-shadow: 0 0 1rem .1rem rgba(0,0,0,.2); }
.commuters .tab__body ul.table li { padding: 1.5rem; }
.commuters .tab__body ul.table li:not(.headings):nth-of-type(even) { background: #efeeea; }
.commuters .tab__body ul.table li:not(.headings):nth-of-type(odd) { background: #f8f8f8; }
.commuters .tab__body ul.table.extended li * { width: 100%; font-size: 1.6rem; }
.commuters .tab__body ul.table.extended li p { margin-top: 1rem; }
.commuters .tab__body ul li p { margin-top: 1rem; }
.commuters .tab__body ul li b { font-weight: 600; }
.commuters .tab__body ul li a { color: #0090e3; font-weight: 600; }
.commuters .tab__body ul li a:hover { text-decoration: underline; }
.commuters .tab__body h4 { font-weight: 600; }
.commuters .tab__body ul + h4 { margin-top: 3rem; }
.commuters .tab__body .side-map { display: none; position: absolute; height: auto; }

.commuters .tab__body .silverpass-content ul + img { margin-bottom: 2rem; background: #fff; }
.commuters .tab__body .silverpass-content .flexbox + .flexbox { margin-top: 3rem; padding: 2rem; background: #fff; }
.commuters .tab__body .silverpass-content .flexbox + .flexbox > img { width: 100%; max-width: 20rem; margin: 0 auto 2rem; }
.commuters .tab__body .silverpass-content .flexbox + .flexbox a { display: inline-block; width: calc(50% - .5rem); max-width: 20rem; margin-top: 2rem; }
.commuters .tab__body .silverpass-content .flexbox + .flexbox a:nth-of-type(1) { margin-right: 1rem; }
.commuters .tab__body .silverpass-content .flexbox + .flexbox a img { width: 100%; height: auto; }

@media (max-width: 575px) {
    .commuters .commuters__tabs { padding: 1.5rem 0; }
    .commuters .tab__body ul.table:not(.extended) li.headings { display: none; }
    .commuters .tab__body .silverpass-content ul { order: 2; width: 100%; }
    .commuters .tab__body .silverpass-content ul + img { order: 1; width: 100%; }
}

@media (min-width: 576px) {
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(1),
    .commuters .tab__body ul.table:not(.extended) li > a { display: block; width: fit-content; max-width: 17rem; }
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(2),
    .commuters .tab__body ul.table:not(.extended) li > p { width: calc(100% - 20rem); }
    .commuters .tab__body ul.table li > p { margin-top: 0; }
    .commuters .tab__body .silverpass-content ul { width: calc(100% - 26rem); }
    .commuters .tab__body .silverpass-content ul li { position: relative; margin-bottom: 1rem; padding-left: 2rem; font-size: 1.4rem; line-height: 1.6rem; }
    .commuters .tab__body .silverpass-content ul li:before { content: ''; display: block; position: absolute; top: .7rem; left: 0; width: .3rem; height: .3rem; background: #00154a; border-radius: 50%; }
    .commuters .tab__body .silverpass-content ul + img { width: 24rem; }
    .commuters .tab__body .silverpass-content .flexbox + .flexbox > img { margin: 0; }
    .commuters .tab__body .silverpass-content .flexbox + .flexbox p { width: calc(100% - 22rem); font-size: 1.4rem; line-height: 1.6rem; }
}

@media (min-width: 576px) and (max-width: 767px) {
    .commuters .commuters__tabs { padding: 3rem 0; }
}
@media (max-width: 767px) {
    .commuters .commuters__tabs h2 { width: calc(100% - 7rem); }
    .commuters .tab__body ul.table li * { font-size: 1.4rem; }
}

@media (min-width: 768px) {
    .commuters .tab__body ul.table + h4 { margin-top: 4rem; }
    .commuters .tab__body .side-text { width: 50%; }
    .commuters .tab__body .side-map { display: block; bottom: 7rem; right: 5rem; width: 38%; }
}

@media (max-width: 991px) {
    .commuters .tab__body ul.table.extended li.headings { display: none; }
}

@media (min-width: 992px) {
    .commuters .tab__body ul.table + h4 { margin-top: 5rem; }
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(1),
    .commuters .tab__body ul.table:not(.extended) li > a { max-width: 25rem; }
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(2),
    .commuters .tab__body ul.table:not(.extended) li > p { width: calc(100% - 28rem); }
    .commuters .tab__body ul.table.extended li * { font-size: 1.4rem; line-height: 1.7rem; margin-top: 0 !important; }
    .commuters .tab__body ul.table.extended li.headings b:nth-of-type(1),
    .commuters .tab__body ul.table.extended li.headings b:nth-of-type(2),
    .commuters .tab__body ul.table.extended li.headings b:nth-of-type(3),
    .commuters .tab__body ul.table.extended li:not(.headings) b,
    .commuters .tab__body ul.table.extended li:not(.headings) p:not(:nth-of-type(3)) { width: 17%; }
    .commuters .tab__body ul.table.extended li.headings b:nth-of-type(4),
    .commuters .tab__body ul.table.extended li:not(.headings) p:nth-of-type(3) { width: 42%; }
    .commuters .tab__body .side-text { width: calc(100% - 38rem); }
    .commuters .tab__body .side-map { width: 34rem; }
    .commuters .tab__body .silverpass-content ul { width: calc(100% - 28rem); }
    .commuters .tab__body .silverpass-content ul li { font-size: 1.6rem; line-height: 2rem; }
    .commuters .tab__body .silverpass-content ul + img { width: 25rem; }
    .commuters .tab__body .silverpass-content .flexbox + .flexbox { padding: 3rem; }
    .commuters .tab__body .silverpass-content .flexbox + .flexbox p { width: calc(100% - 23rem); font-size: 1.6rem; line-height: 2rem; }
}

@media (min-width: 1200px) {
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(1),
    .commuters .tab__body ul.table:not(.extended) li > a { max-width: 30rem; }
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(2),
    .commuters .tab__body ul.table:not(.extended) li > p { width: calc(100% - 35rem); }
    .commuters .tab__body .silverpass-content ul { width: calc(100% - 32rem); }
    .commuters .tab__body .silverpass-content ul li { margin-bottom: 2rem; }
}

@media (min-width: 1400px) {
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(1),
    .commuters .tab__body ul.table:not(.extended) li > a { max-width: 35rem; }
    .commuters .tab__body ul.table:not(.extended) li.headings b:nth-of-type(2),
    .commuters .tab__body ul.table:not(.extended) li > p { width: calc(100% - 40rem); }
    .commuters .tab__body .side-text { width: calc(100% - 42rem); }
    .commuters .tab__body .side-map { width: 37rem; }
}





/*  >> Legal
    -------------------------------------------------- */

.legal h4 { margin: 3rem 0 2rem; font-weight: 600; }
.legal b { display: inline-block; font-weight: 600; }
.legal p b { margin-bottom: .5rem; }
.legal p,
.legal ul { margin: 1.5rem 0 2rem; }
.legal ul li { margin: 1rem 0 1rem 2rem; }
.legal a { text-decoration: underline; }
.legal a:hover { font-weight: 600; }

@media (max-width: 575px) {
    .legal .tabs { padding: 1.5rem 0; }
}










/*
    ----------------------------------------------------------------------------------------------------
    ====================================================================================================

                                                  FOOTER

    ====================================================================================================
    ----------------------------------------------------------------------------------------------------
*/

.footer { padding: 5rem 0 3rem; background: #00154a; }
.footer .area > .flexbox:nth-of-type(1) { position: relative; padding-bottom: 3rem; border-bottom: 1px solid #fff; }
.footer .wrapper { width: calc(50% - 1rem); }
.footer .wrapper:nth-of-type(odd) { margin-right: 2rem; }
.footer .wrapper:nth-of-type(n+3) { margin-top: 3rem; }
.footer * { color: #fff; }
.footer h4 { padding-bottom: 1rem; font-weight: 600; }
.footer p, .footer li { margin-top: .5rem; font-size: 1.4rem; }
.footer .wrapper > a { display: block; width: 100%; max-width: 16.5rem; height: auto; line-height: 0; margin-top: 1rem; }
.footer .wrapper > a:nth-of-type(1) { margin-top: 3rem; }
.footer li a { font-size: inherit; }
.footer li.tab-link { cursor: pointer; }
.footer li.tab-link:hover, .footer li a:hover { font-weight: 600; text-decoration: underline; }
.footer img { width: 100%; max-width: 16.5rem; }
.footer img.anniversary { margin-top: 2rem; }
.footer .btn--link { position: absolute; bottom: 3rem; left: 0; width: calc(50% - 1rem); max-width: 20rem; height: 4rem; background: #fff; border-radius: .5rem; color: #00154a; font-size: 1.4rem; line-height: 4rem; -webkit-transition: opacity .2s; -moz-transition: opacity .2s; transition: opacity .2s; }
.footer .btn--link:hover { opacity: .8; }
.footer h3 { margin-top: 3rem; font-weight: 600; text-align: center; }
.footer h3 + .flexbox a:not(:first-of-type) { margin-left: 2rem; }
.footer h3 + .flexbox a { display: block; width: 4rem; height: auto; margin-top: 2rem; -webkit-transition: transform .2s; -moz-transition: transform .2s; transition: transform .2s; }
.footer h3 + .flexbox a:hover { -webkit-transform: scale(1.1); -moz-transform: scale(1.1); transform: scale(1.1); }
.footer h3 + .flexbox a img { margin: 0; }
.footer .copy { font-size: 1.2rem; opacity: .8; text-align: center; }

@media (min-width: 768px) {
    .footer .wrapper { width: calc(25% - 1.5rem); margin-top: 0 !important; }
    .footer p,
    .footer li { font-size: 1.2rem; }
    .footer h3 + .flexbox a:not(:first-of-type) { margin-left: 3rem; }
}

@media (min-width: 992px) {
    .footer .area { padding: 0 5rem; }
    .footer p,
    .footer li { font-size: 1.4rem; }
}

@media (min-width: 1200px) {
    .footer .area { padding: 0 8rem; }
}

@media (min-width: 1400px) {
    .footer .area { padding: 0 10rem; }
}


