html,
body {
    width: 100%;
    min-height: 100%;
    -webkit-font-smoothing: antialiased;
    position: relative;
    z-index: 0;
}

body.page-ready {
    cursor: none;
}

body.page-loading {
    cursor: wait;
}

.grain {
    background-image: url('../images/grain2.png');
    background-repeat: repeat;
    background-size: 300px;
    opacity: 0.2;
    z-index: 49;
    background-attachment: fixed;
}

.touch-device .custom-cursor {
    display: none;
}

.custom-cursor {
    width: var(--cursor-size);
    height: var(--cursor-size);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    /* mix-blend-mode: multiply; */
    background: white;
    mix-blend-mode: exclusion;
    z-index: 21;
    transition: width 0.45s var(--transition), height 0.45s var(--transition);
}

.custom-cursor.hide {
    width: 0;
    height: 0;
}

.custom-cursor.withText {
    mix-blend-mode: unset;
    mix-blend-mode: unset;
    height: auto !important;
    width: max-content !important;
    padding: 19px;
    border-radius: 5px;
    background-color: #42896b;
    color: #f1f1f1;
    transition: all 0.45s var(--transition);
}

.custom-cursor.small {
    width: calc(var(--cursor-size) / 3);
    height: calc(var(--cursor-size) / 3);
}

.custom-cursor.large {
    width: calc(var(--cursor-size) * 3);
    height: calc(var(--cursor-size) * 3);
}

.custom-cursor .text.hide {
    scale: 0;
}

.custom-cursor .text {
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: 0.8px;
}

/* CSS recommended by Lenis */
html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

.fixed-menu-wrapper {
    height: 100px;
    z-index: 20;
}

.mainNavigation {
    transform: translateY(0%);
    /* background-color: rgb(241 241 241 / 100%); */
    /* backdrop-filter: blur(15px); */
    border-bottom: 1px solid #cec9c1;
    transition: transform 650ms ease-in-out, border 0.3s ease-in-out;
}

.mainNavigation .logo img {
    max-width: 145px;
}

.mainNavigation::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(241, 241, 241, 0.4);
    left: 0;
    top: 0;
    z-index: -1;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    opacity: 0;
    transform: scale3d(1.02, 1.2, 1);
    transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1),
        transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.mainNavigation.secondary-menu::after {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

.mainNavigation .logo svg .letters {
    /* opacity: 0; */
    /* transform: translateX(-20%); */
    /* clip-path: polygon(25% 0%, 25% 0, 0 100%, 0% 100%); */
    transition: clip-path 0.35s var(--transition), opacity 0.35s var(--transition),
        transform 0.35s var(--transition);
}

.mainNavigation .logo a:hover svg .letters {
    opacity: 1;
    transform: translateX(0%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.sticky.observe {
    transition: background ease-in-out -100ms;
}

.sticky.technologies.is-pinned,
.sticky.clients.is-pinned {
    background: transparent;
}

.careers header .header-bg {
    background-color: #0e272c;
    mask-image: none;
}

.careers .header-content-wrapper {
    padding-bottom: var(--gap);
}

.careers header h2 {
    font-family: Barlow Condensed, sans-serif, ui-sans-serif, system-ui, sans-serif,
        'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}

.careers .header-content-wrapper img {
    object-fit: cover;
    height: 100%;
    border-radius: 20px;
    margin-left: auto;
}

.careers .generalApplicationButton {
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500px;
    font-family: Barlow Condensed, sans-serif, ui-sans-serif, system-ui, sans-serif,
        'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    background-color: rgb(var(--ensol-green));
    border: 1px solid rgb(var(--ensol-green));
}

.careers .generalApplicationButton:hover {
    background-color: #0e272c;
}

.careers footer::before {
    top: auto;
    height: 250px;
    bottom: 100%;
}

/* footer .company-logos a:nth-of-type(2) {
    transform: translateY(-10px);
}

footer .company-logos a:nth-of-type(1) {
    transform: translateY(9px);
}

footer .company-logos a:nth-of-type(4) {
    transform: translateY(0px) !important;
} */

nav {
    overflow: visible !important;
}

nav ul.submenu {
    white-space: nowrap;
}

nav ul.submenu li a {
    margin: 0;
    padding: 10px 0;
}

/* nav ul.submenu li:last-of-type a {
    padding-bottom: 0;
} */

#productLineMenuParent:hover .submenu {
    transform: scale(1);
}

#productLineMenuParent a svg {
    transform: rotate(0deg);
    transition: transform 300ms var(--transition);
}

#productLineMenuParent:hover a svg {
    transform: rotate(-180deg);
}
