html {
    scroll-behavior: smooth;
    overflow-y: auto;
    /*scroll-snap-type: y mandatory;*/
}

body {
    background-color: #fff;
    font-family: 'Helvetica Neue Roman', Helvetica, sans-serif !important;
    font-size: 15px;
    line-height: 24px;
    color: #000000;
    margin:0;
}

* {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: #000000;
    position: relative;
    transition: color .3s ease-in-out;
}

main a:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #000000;
    bottom: 0;
    left: 0;
    transform-origin: left;
    transform: scaleX(0);
    transition: transform .3s ease-in-out;
}

main a:hover:before {
    transform: scaleX(1);
}

img {
    width: 100%;
}

h1 {
    font-family: "CharterITCW05-Regular", Helvetica, sans-serif;
    font-size: 39px;
    line-height: 52px;
    color: #FFFFFF;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 10px;
    hyphens: auto;
    -webkit-hyphens: auto;
    -epub-hyphens: auto;
}

h2 {
    font-family: "CharterITCW05-Regular", Helvetica, sans-serif;
    font-size: 39px;
    line-height: 52px;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 30px;
}

h3 {
    font-family: "CharterITCW05-Regular", Helvetica, sans-serif;
    font-size: 26px;
    line-height: 35px;
    font-weight: 400;
    margin: 0;
}

h4 {
    margin: 0;
}

p {
    margin-top: 0;
}

ul {
    list-style: none;
    padding-left: 16px;
    margin-top: 0;
}

section {
    scroll-margin-top: 86px;
    padding-bottom: 220px;
    /*scroll-snap-stop: normal;
    scroll-snap-align: start;*/
}

.video {
    aspect-ratio: 1.77879 / 1;
}

/**
 * Wrapper.
 */
#wrapper {
    overflow: visible;
    width: 100%;
    margin: 0 auto;
}

/* Basic Grids and Containers */
.contentContainer {
    max-width: 1008px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
    position: relative;
}

.flex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 36px;
}

.flex > div {
    flex-basis: 50%;
    position: relative;
}

/* Pixels */
#pixelsLeft-lottie-container,
#pixelsRight-lottie-container {
    width: 110px;
    position: absolute;
    z-index: 200;
}

#pixelsLeft-lottie-container {
    top: 61px;
    left: -110px;
}

#pixelsRight-lottie-container {
    right: -110px;
    top: 190px;
}

/* Header */
#header {
    background-color: #464646;
    position: sticky;
    top: 0;
    z-index: 100;
    height: 87px;
}

#header.navOpenHeader {
    background-color: #FFB600 !important;
}

#header .mobileOnly {
    display: none;
}

#header .logoImage {
    filter: invert(1);
}

#header.navOpenHeader .logoImage {
    filter: invert(0);
}

#apply-button-header a {
    padding: 9px 16px;
    background-color: #FFB600;
    border-color: #FFFFFF;
    font-size: 14px;
    line-height: 19px;
}

#apply-button-header a:hover {
    background-color: #FFFFFF;
    color: #000000;
    border-color: #000000;
}

#header.navOpenHeader #apply-button-header a {
    background-color: #FFFFFF;
    color: #000000;
    border-color: #000000;
}

#header.navOpenHeader #apply-button-header a:hover {
    background-color: #000000;
    color: #FFFFFF;
    border-color: #FFFFFF;
}

#shareUsButton.mobileOnly .shareUsContainer {
    left: inherit;
    right:0;
    top:40px;
}

#shareUsButton.mobileOnly .shareUsContainer.active:after {
    bottom: inherit;
    top: -5px;
    left: inherit;
    right: 25px;
}

#shareUsButton.mobileOnly span {
    color: #FFFFFF;
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
    font-size: 10px;
    padding: 4px 0;
    line-height: 14px;
}

#header.navOpenHeader #shareUsButton.mobileOnly span {
    color:  #000000;
}

#shareUsButton.mobileOnly svg {
    width: 20px;
    fill: #FFFFFF;
}

#header.navOpenHeader #shareUsButton.mobileOnly svg {
    fill: #000000;
}

#header.navOpenHeader #shareUsButton span:before {
    background-color: #000000;
}

#progress {
    width: 0;
    background-color: #FFB600;
    height: 100%;
}

.progress-bar {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 7px;
    background-color: #7D7D7D;
    margin-bottom: 7px;
    overflow: hidden;
}

#navigation {
    width: 100%;
}

.menu {
    display: flex;
    padding-left: 0;
    margin: 0;
}

.menu li {
    padding-left: 60px;
    margin-top: 5px;
}

.menu li:first-child {
    padding-left: 0;
}

.menu li a {
    font-size: 15px;
    line-height: 20px;
    color: #FFFFFF;
    display: inline-block;
}

.menu li.active a {
    color: #FFB600;
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
}

#menu-toggle {
    display: none;
}

.menu-button,
.menu-button::before,
.menu-button::after {
    display: block;
    background-color: #FFFFFF;
    position: absolute;
    height: 3px;
    width: 25px;
    transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
    border-radius: 0;
}

#header.navOpenHeader .menu-button,
#header.navOpenHeader .menu-button::before,
#header.navOpenHeader .menu-button::after {
    background-color: #000000;
}

.menu-button::before {
    content: '';
    margin-top: -8px;
}

.menu-button::after {
    content: '';
    margin-top: 8px;
}

.menu-button-container {
    display: flex;
    width: 25px;
    height: 25px;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
    margin-top: 0;
    transform: rotate(405deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
    background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
    margin-top: 0;
    transform: rotate(-405deg);
}

#mobileNavigation {
    display: none;
    background-color: #FFB600;
    height: auto;
}

#mobileNavigation .menu {
    flex-direction: column;
    padding: 20px 0 40px;
}

#mobileNavigation .menu li {
    padding-left: 0;
}

#mobileNavigation .menu li a {
    width: auto !important;
    color: #000000;
    font-size: 32px;
    line-height: 43px;
    font-family: "CharterITCW05-Regular", Helvetica, sans-serif;
}

#mobileNavigation.navOpen {
    display: block;
}

/* Hero */
#hero {
    background-color: #464646;
    padding-top: 20px;
    padding-bottom: 94px;
    transform: translateY(-20px);
    transition: transform 1s ease-in;
}

#hero.active {
    transform: translateY(0);
}

#videoHero, #hero .imageContainer {
    position: absolute;
    width: 100%;
}

/*
#videoHero.video {
   aspect-ratio: 1.48333 / 1;
}
*/

/* Introduction */

#introduction {
    padding-top: 100px;
    padding-bottom: 64px;
}
#introduction h2 b {
    font-weight: 400;
}
#introduction .flex > div {
    min-width: 50%;
}

#introduction a {
    font-weight: bold;
    display: inline-block;
}

#introduction a:hover {
    color: #FFB600;
}

#introduction a:hover:before {
    background-color: #FFB600;
}

#introduction .detailIcons span {
    display: ruby-base;
}

.detailIcons > div {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 15px;
    white-space: nowrap;
}

.detailIcons > div:first-child {
    white-space: pre-wrap;
    align-items: flex-start;
}

.detailIcons > div:first-child img {
    margin-top: 3px;
    min-width: 18px;
}

#introduction .detailIcons {
    margin-top: 82px;
}

#introduction .additionalLocations {
    text-transform: capitalize;
}

.detailIcons img {
    max-height: 18px;
    max-width: 20px;
    width: 20px;
}

.boldText {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
}

.jobSubtitle {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
    color: #FFB600;
    font-size: 19px;
    line-height: 26px;
}

/* Tasks and Profile */
#impact-skill {
    padding-top: 64px;
}
#impact-skill h2 b {
    font-weight: 400;
}
#impact-skill ul li::before {
    content: "\2022";
    color: #EB8C00;
    display: inline-block;
    width: 16px;
    margin-left: -16px;

}

#impact-skill ul li a {
    font-weight: bold;
    display: inline-block;
}

#impact-skill ul li a:hover {
    color: #FFB600;
}

#impact-skill ul li a:hover:before {
    background-color: #FFB600;
}

/* Benefits */
#benefits {
    background-color: #FFB600;
    padding-top: 64px;
    padding-bottom: 254px;
}

#benefits h2 {
    margin-bottom: 67px;
}

#benefits .grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

#benefits .grid > div {
    padding: 14px 22px;
    aspect-ratio: 302 / 211;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.25s ease-in-out;
    z-index: 1;
}

#benefits .lottie-container, #benefits #firstLottie {
    position: absolute;
    height: 100%;
    width: 100%;
    left:0;
    top: 0;
}

#benefits .lottie-container dotlottie-player {
    position: absolute;
    bottom: 0;
    width: 120% !important;
    left: -10%;
}

.benefitTitle {
    font-family: "CharterITCW05-Regular", Helvetica, sans-serif;
    font-size: 26px;
    line-height: 29px;
    color: #FFFFFF;
    display: block;
    margin-bottom: 10px;
    min-height: 58px;
}

.benefitText {
    display: block;
    color: #FFFFFF;
    font-size: 13px;
    line-height: 18px;
    visibility: hidden;
    opacity: 0;
    transition:visibility 0.3s linear,opacity 0.2s linear;
    display: none;
}

#benefit5 .benefitTitle, #benefit5 .benefitText {
    color: #000000;
}

#benefits .benefit:hover .benefitText {
    visibility: visible;
    opacity: 1;
    display: block;
}

#benefit1 {background-color: #D93954;}
#benefit2 {background-color: #E0301E;}
#benefit3 {background-color: #7D7D7D;}
#benefit4 {background-color: #EB8C00;}
#benefit5 {background-color: #DEDEDE;}
#benefit6 {background-color: #2D2D2D;}

#benefits .benefit {
    overflow: hidden;
    cursor: pointer;
    transform: scale(1);
    transition: transform 0.25s ease-in-out;
    pointer-events: none;
}

#benefits .benefit.active {
    pointer-events: auto;
}

#benefits .benefit:hover {
    transform: scale(1.15) translateZ(0);
    z-index:20;
    height: auto;
    aspect-ratio: auto;
}

#benefits .benefit:hover .lottie-container {
    visibility: hidden;
    opacity: 0;
}

#benefits .benefit:before {
    content: "";
    position: absolute;
    width: 155%;
    height: 105%;
    left: -50%;
    top: -2.5%;
    transition: transform 0.55s ease-in;
    background-color: #FFB600;
    z-index: 10;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 25% 100%);
}

#benefits .benefit.active:before {
    transform: translateX(120%);
}

#benefit1.active:before {transition-delay: 0s;}
#benefit4.active:before {transition-delay: 0.15s;}
#benefit3.active:before {transition-delay: 0.25s;}
#benefit2.active:before {transition-delay: 0.35s;}
#benefit5.active:before {transition-delay: 0.45s;}
#benefit6.active:before {transition-delay: 0.55s;}


/* Contact */
#contact {
    padding-top: 74px;
    padding-bottom: 256px;
}

#contact h2 {
    margin-bottom: 51px;
}
#contact h2 b {
    font-weight: 400;
}
#contact .imageContainer {
    position: relative;
}

#contact .imageContainer a:before {
    display: none;
}

.recruiterLinkedin {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.recruiterName {
    display: block;
    margin-top: 14px;
}

.recruiterPosition {
    display: block;
    font-size: 15px;
    line-height: 20px;
    color: #7D7D7D;
    letter-spacing: 0.15px;
}

.recruiterSlogan {
    margin-bottom: 11px;
}

.recruiterPhone {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
    display: inline-block;
    margin-bottom: 20px;
}

.recruiterPhone:before {
    background-color: #FFB600;
}

.recruiterPhone:hover {
    color: #FFB600;
}

.linksLabel {
    display: block;
    margin-bottom: 20px;
}

#contact .detailIcons a {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;

}

#contact .detailIcons a:before {
    background-color: #FFB600;
}

#contact .detailIcons a:hover {
    color: #FFB600;
}

    /* About */
#about {
    background-color: #DEDEDE;
    padding-top: 89px;
    padding-bottom: 284px;
}
#about h2 b {
    font-weight: 400;
}
#about h2 {
    margin-bottom: 38px;
}

#about .flex {
    gap: 28px;
}

#about .column-left {
    flex-basis: 65.11%;
}

#about .column-right {
    flex-basis: 34.89%;
}

#about .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#about .grid > div {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    padding: 17px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
   /*transform:scaleY(0);
    transform-origin: 0 100%;*/
}
.videoCookieOverlay {
    background-color:white;
    padding:20px;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
}
.videoCookieOverlay h2 {
    margin-bottom: 10px !important;
    font-size: 28px;
    display: flex;
    align-items: center;
    line-height: 34px;
}
.videoCookieOverlay span {
    text-decoration: underline;
    cursor: pointer;
}
.videoCookieOverlay svg {
    width: 28px;
    height: 24px;
    margin-right: 15px;
}
.aboutUsSlogan {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
    font-size: 19px;
    line-height: 26px;
    display: block;
    margin-top: 27px;
    margin-bottom: 16px;
}

.countup {
    font-family: "CharterITCW05-Regular", Helvetica, sans-serif;
    font-size: 40px;
    line-height: 53px;
}

#about .textBottom {
    font-size: 15px;
    line-height: 16px;
}

#about .box {
    position: relative;
}

#about .box:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 110%;
    left: 0;
    top: 0;
    transition: transform 0.55s ease;
    background-color: #DEDEDE;
}

#about .box.active:before {
    transform: translateY(-100%);
}

#about .count3 .countup:after {
    content: "%";
}

#about .count1 {background-color: #FFB600; color:#000000;}
#about .count1.active:before {transition-delay: 0s;}
#about .count2 {background-color: #D04A02; color:#FFFFFF;}
#about .count2.active:before {transition-delay: 0.15s;}
#about .count3 {background-color: #D93954; color:#FFFFFF;}
#about .count3.active:before {transition-delay: 0.3s;}
#about .count4 {background-color: #EB8C00; color:#FFFFFF;}
#about .count4.active:before {transition-delay: 0.45s;}
#about .count5 {background-color: #000000; color:#FFFFFF;}
#about .count5.active:before {transition-delay: 0.6s;}
#about .count6 {background-color: #FFFFFF; color:#000000;}
#about .count6.active:before {transition-delay: 0.75s;}

/* Location */
#offices {
    background-color: #464646;
    padding-top: 96px;
    padding-bottom: 250px;
}

#offices h2 {
    color: #FFFFFF;
}

#offices .column-left {
    flex-basis: 65.11%;
}

#offices #mapLocationBox {
    flex-basis: 34.89%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transform: translateX(-40%);
    transition: 1s ease;
    opacity: 0;
    visibility: hidden;
}

#offices #mapLocationBox.slideInRight {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
}

#mapLocationBox .locationAddress {
    font-family: "Helvetica Neue Bold";
    line-height: 20px;
    display: block;
    margin-bottom: 20px;
}

#mapLocationBox .googleMaps {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.mapLocationDetails {
    position: absolute;
    visibility: hidden;
    height: 0;
    transition: opacity 1s;
    opacity: 0;
    background-color: #FFFFFF;
    padding: 20px;
    max-width: 360px;
    margin: 0 auto;
}

.mapLocationDetails.selected {
    position: relative;
    visibility: visible;
    height: auto;
    opacity: 1;
}

#mapLocationBox .googleMaps a {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
}

#mapLocationBox .googleMaps img {
    width: 16px;
}

#offices #map {
    position: relative;
}

#offices #map .fullMapIcon {
    width: 100%;
    height: auto;
}

.mapMarkerContainer {
    /*width: 24px;
    height: 32px;*/
    width: 3.85%;
    height: 8.5%;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    cursor: pointer;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1s ease;
}

.mapMarkerContainer.mapMarkerEntry {
    opacity: 1;
}

.mapMarkerContainer.mapMarkerEntry:nth-of-type(1) {transition-delay: 0.2s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(2) {transition-delay: 0.25s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(3) {transition-delay: 0.3s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(4) {transition-delay: 0.35s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(5) {transition-delay: 0.4s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(6) {transition-delay: 0.45s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(7) {transition-delay: 0.5s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(8) {transition-delay: 0.55s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(9) {transition-delay: 0.6s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(10) {transition-delay: 0.65s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(11) {transition-delay: 0.7s;}
.mapMarkerContainer.mapMarkerEntry:nth-of-type(12) {transition-delay: 0.75s;}

.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(1),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(2),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(3),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(4),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(5),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(6),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(7),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(8),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(9),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(10),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(11),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(12),
.mapMarkerContainer.mapMarkerEntry.active:nth-of-type(13) {
    transition-delay: 1.1s;
}

.mapMarkerContainer svg {
    width: 63%;
    fill: #eb8c00;
    z-index: 10;
    position: relative;
}

#map .mapMarkerShadow {
    z-index: 5;
    position: relative;
}

#map .mapMarkerContainer.selected .mapMarkerShadow {
    z-index: 15;
}

.mapMarkerContainer .mapMarkerShadow {
    display: none;
}

.mapMarkerContainer.active {
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
    -webkit-backface-visibility: hidden;
}

.mapMarkerContainer.active svg {
    fill: #DEDEDE;
    width: 100%;
}

.mapMarkerContainer.active .mapMarkerShadow {
    display: block;
    margin-top: 5px;
}

.mapMarkerContainer.selected svg {
    fill: #FFFFFF;
    animation: mapMarkerBounce .3s ease-in-out both;
}

@keyframes mapMarkerBounce {
    from {
        opacity: 0;
        transform: translate3d(0, 20%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

#markerZurich.mapMarkerContainer {top: 14.5%; left: 56.2%;}
#markerBern.mapMarkerContainer {top: 35%; left: 33%;}
#markerZug.mapMarkerContainer {top: 23.7%; left: 55.5%;}
#markerRuggell.mapMarkerContainer {top: 26%; right: 17.7%;}
#markerGenf.mapMarkerContainer {bottom: 22%; left: 1%;}
#markerChur.mapMarkerContainer {top: 37%; right: 20%;}
#markerNeuchatel.mapMarkerContainer {top: 32%; left: 23.4%;}
#markerBasel.mapMarkerContainer {top: 5%; left: 34%;}
#markerLugano.mapMarkerContainer {bottom: 11%; right: 31.2%;}
#markerAarau.mapMarkerContainer {top: 15%; left: 43.8%;}
#markerLausanne.mapMarkerContainer {top: 55.2%; left: 13.5%;}
#markerLuzern.mapMarkerContainer {top: 29.2%; left: 50.5%;}
#markerSion.mapMarkerContainer {bottom: 22%; left: 28.8%;}
#markerStGallen.mapMarkerContainer {top: 12%; right: 21.8%;}
#markerWinterthur.mapMarkerContainer {top: 9%; left: 60.8%;}


/* Similar Jobs */
#similar-jobs {
    padding-top: 92px;
    padding-bottom: 200px;
    margin-bottom: 110px;
}

#similar-jobs .jobs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    min-height: 212px;
}

#similar-jobs .jobs a:before {
    display: none;
}

#similar-jobs .job {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    background-color: #DEDEDE;
}

#similar-jobs h4 {
    font-size: 19px;
    line-height: 25px;
    font-weight: 400;
    display: block;
    margin-bottom: 20px;
}

#similar-jobs .place-of-work {
    font-size: 16px;
    line-height: 21px;
    color: #111111;
}

#similar-jobs .link.open-jobs {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
    color: #EB8C00;
    font-size: 15px;
    line-height: 20px;
    margin-top: 40px;
    display: inline-block;
}

#similar-jobs .link.open-jobs:hover {
    color: #000000;
}

/* Footer */
#footerPseudoHolder {
    transform: translateY(174px);
    transition: transform 1.2s ease-in-out;
    z-index: 20;
}

#footerPseudoHolder.active {
    transform: translateY(0);
}

footer {
    position:sticky;
    bottom: 0;
    transform: translateY(220px);
    width: 100%;
    max-width: 972px;
    margin: 0 auto;
    background-color: #FFB600;
    padding: 22px;
    border-left: 1px solid;
    border-right: 1px solid;
    border-top: 1px solid;
    border-color: #FFFFFF;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    transition: transform 1.2s ease-in-out;
    min-height:216px;
}

footer .contentContainer {
    padding-left: 22px;
    padding-right: 22px;
}

footer.fadeInUp {
    transform: translateY(0);
}

footer.active {
    transform: translateY(0);
}

footer .footerRow1 {
    margin: 0 20px 20px;
}

.footerJobTitle {
    letter-spacing: 0.26px;
    color: #000000;
    hyphens: auto;
    -webkit-hyphens: auto;
    -epub-hyphens: auto;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.footerSharePrint {
    min-width: 145px;
    margin-top: 5px;
}

.footerSharePrint span {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
    font-size: 15px;
    line-height: 20px;
}

footer .footerRow1 > div {
    display: flex;
    flex-direction: row;
    gap:36px;
    justify-content: space-between;
}

footer .footerRow1 svg {
    max-width: 20px;
    max-height: 22px;
}

footer .footerRow2 {
    border-top: 2px solid #FFFFFF;
    padding-top: 15px;
}

footer .footerRow2 > span {
    display: block;
    font-size: 19px;
    margin-bottom: 20px;
}

footer .followUs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

footer .followUs a {
    display: flex;
}

footer .followUs img {
    width: 40px;
}

.logoImage {
    width: 64px;
}

footer #apply-button {
    margin-top: 5px;
}

.button {
    font-family: "Helvetica Neue Bold", Helvetica, sans-serif;
    display: inline-block;
    padding: 13px 28px 17px;
    border: 2px solid #000000;
    border-radius: 7px;
    font-size: 17px;
    line-height: 22px;
    transition: 0.2s ease-in-out;
    background-color: #FFFFFF;
}

.button:hover {
    background-color: #000000;
    color: white;
    border: 2px solid #FFFFFF;
}


#shareUsButton {
    cursor: pointer;
    position: relative;
    width: auto;
    line-height: 0;
}

#shareUsButton:hover span, #emailPrintWrapper a:hover span, #cookieSettings a:hover span {
    color: #FFFFFF;
}

#shareUsButton span, #emailPrintWrapper span, #cookieSettings span {
    position: relative;
    transition: color .3s ease-in-out;
}

#shareUsButton span:before, #emailPrintWrapper span:before, #cookieSettings span:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
    bottom: 0;
    left: 0;
    transform-origin: left;
    transform: scaleX(0);
    transition: transform .3s ease-in-out;
}

#shareUsButton:hover span:before, #emailPrintWrapper a:hover span:before, #cookieSettings a:hover span:before {
    transform: scaleX(1);
}

#shareUsButton, #emailPrintWrapper div a , #cookieSettings div a {
    display: flex;
    align-items: center;
    gap: 15px;
}

#shareUsButton span, #emailPrintWrapper div a span, #cookieSettings div a span {
    font-size: 16px;
    line-height: 26px;
}

#shareUsButton svg {
    overflow: visible;
}
#cookieSettings {
    margin-top: 20px;
}
#cookieSettings svg {
    max-width: 25px;
    max-height: 25px;
    width: 21px;
    height: 18px;
}
#cookieSettings div a {
    gap:5px;
}
.shareUsContainer {
    background-color: #262624;
    border: 1px solid #262624;
    cursor: initial;
    left: 0;
    padding: 12px 10px;
    position: absolute;
    top: -58px;
    visibility: hidden;
    z-index: -1;
    width: 220px;
    line-height: 18px;
    border-radius: 5px;
}

.shareUsContainer.active {
    top: -58px;
    left: 0;
    visibility: visible;
    width: 200px;
    animation: fadeInPros .3s ease-in-out both;
    z-index: 999;
}

@keyframes fadeInPros {
    from {
        opacity: 0;
        transform: translate3d(0, 20%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.shareUsContainer.active:after {
    content: "";
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    background-color: #262624;
    display: inline-block;
    position: absolute;
    bottom: -5px;
    left: 25px;
}

svg:not(:root) {
    overflow: visible;
}

#shareUsItemWrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}




/* MEDIA QUERIES */
@media screen and (max-width: 1220px) {
    #pixelsLeft-lottie-container, #pixelsRight-lottie-container {
        width: 40px;
    }
    #pixelsLeft-lottie-container {
        top: 87px;
        left: 0;
    }
    #pixelsRight-lottie-container {
        right: 0;
    }
}

@media screen and (max-width: 1007px) {
    header .contentContainer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 87px;
        gap: 15px;
    }

    .headerMobileRightContainer {
        display: inline-flex;
        column-gap: 0;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap
    }

    .headerMobileRightContainer #apply-button-header, .headerMobileRightContainer #shareUsButton{
        margin-right: 20px;
    }

    #navigation, .progress-bar {
        visibility: hidden;
        height:0;
        width:0;
        overflow: hidden;
    }
    .progress-bar {
        display: none;
    }


    #header .mobileOnly {
        display: block;
    }

    #header #shareUsButton.mobileOnly {
        display: flex;
        gap: 10px;
    }

    #navigation .menu {
        visibility: hidden;
        height: 0;
        overflow:hidden;
    }

    #similar-jobs {
        padding-bottom: 0;
        margin-bottom: 70px;
    }

    footer, #footerPseudoHolder {
        position: relative !important;
        min-height: auto;
    }

    footer {
        padding: 40px 36px;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

    footer .contentContainer {
        padding: 0;
    }

    footer .footerRow1 {
        display: none;
    }

    footer .footerRow2 {
        padding-top: 0;
        border-top: 0;
    }
}

@media screen and (min-width: 973px) {
    #benefits {
        padding-bottom: 0;
        min-height: 860px;
    }

    #benefit1:hover, #benefit3:hover {
        margin-top: -50px;
    }
    #benefit4:hover {
        margin-top: -120px;
    }
}

@media screen and (max-width: 972px) {
    html {
        scroll-snap-type: none;
    }

    #benefits .grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 841px) {
    #hero .column-right {
        min-height: 140px;
    }
}

@media screen and (max-width: 840px) {
    .flex {
        flex-direction: column;
    }

    #contact .flex {
        flex-direction: row;
    }

    #hero .flex, #introduction .flex {
        flex-direction: column-reverse;
    }

    #videoHero, #hero .imageContainer {
        position: relative;
        margin-bottom: -40%;
    }

    #introduction {
        padding-top: 30vw;
    }

    #introduction .detailIcons {
        display: flex;
        flex-wrap: wrap;
        margin-top: 0 !important;
        column-gap: 30px;
    }

    #about .grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    #contact .recruiterSlogan br {
        display: none;
    }
}

@media screen and (max-width: 680px) {
    h2 {
        font-size: 28px;
        line-height: 37px;
    }

    #pixelsLeft-lottie-container, #pixelsRight-lottie-container {
        width: 36px;
    }
    .contentContainer {
        padding-left: 36px;
        padding-right: 36px;
    }

    #benefits h2 {
        padding-left: 36px;
        padding-right: 36px;
        margin-bottom: 40px;
    }

    section, #contact, #about, #offices {
        padding-bottom: 50px;
    }

    #benefits, #introduction {
        padding-bottom: 0;
        background-color: #FFFFFF;
    }

    #benefits .contentContainer {
        padding-left: 0;
        padding-right: 0;
    }

    #benefits .grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap:0;
    }

    #similar-jobs .jobs {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    #benefits .grid > div {
        aspect-ratio: auto;
        min-height: 200px;
        padding: 22px 36px
    }

    #benefits .benefit:hover {
        transform: scale(1);
    }

    #benefits .lottie-container, #benefits #firstLottie {
        width: 70%;
        left: inherit;
        top: inherit;
        right: 36px;
        bottom: 0;
    }

    #benefits .benefitText {
        font-size: 15px;
        line-height: 24px;
    }

    #benefits .benefitTitle {
        min-height: 38px;
    }
}

@media screen and (max-width: 550px) {
    #about .grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #contact .flex {
        flex-direction: column;
    }

    .headerMobileRightContainer #shareUsButton span {
        display: none;
    }

    #shareUsButton.mobileOnly .shareUsContainer {
        right: -23px;
    }
}

@media screen and (max-width: 450px) {
    .logoImage {
        width: 48px;
    }

    footer .followUs img {
        width: 32px;
    }
}

@media screen and (max-width: 380px) {
    header .contentContainer {
        padding-left: 15px;
        padding-right: 15px;
    }

    h1 {
        font-size: 32px;
        line-height: 42px;
    }
}

@media only screen {
    .printOnly {
        display: none !important;
    }
}
