:disabled {
    pointer-events: none;
}


:focus {
    outline: none;
}


:root {
    --color--white: #FFFFFF;
    --color--white-transparent-70: #FFFFFFB3;
    --color--bright-grey: #E7E7E7;
    --color--light-grey: #B7B7B7;
    --color--medium-grey: #959595;
    --color--dark-grey: #666666;
    --color--black: #000000;
    --color--green: #6DB641;

    --viewport--width: calc(100vw - var(--scrollbar--width));

    --container--width: calc(var(--viewport--width) - 100px);
}




::placeholder {
    color: var(--color--medium-grey);
}




::-moz-focus-inner {
    border: none;
}


::-moz-placeholder {
    opacity: 1;
}




a {
    color: inherit;
    text-decoration: none;
}


body {
    background-color: var(--color--white);
    color: var(--color--dark);
    font-family: "Montserrat";
    font-size: 21px;
    margin: 0;
}


button {
    background-color: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
}


html[__scroll-disabled] {
    overflow-y: hidden;
}


input[type="email"],
input[type="tel"],
input[type="text"] {
    background-color: transparent;
    border-bottom: 1px solid var(--color--medium-grey);
    border-left: 0;
    border-right: 0;
    border-top: 0;
    box-sizing: border-box;
    font: inherit;
    padding: 30px 0 28px;
    width: 100%;
}

input[type="checkbox"] {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
}


img:not(.loaded) {
    background-color: #B7B7B7;
}


label {
    display: block;
}


p {
    line-height: 30px;
}


svg {
    display: block;
    fill: currentColor;
    pointer-events: none;
}


textarea {
    background-color: transparent;
    border-bottom: 1px solid var(--color--medium-grey);
    border-left: 0;
    border-right: 0;
    border-top: 0;
    box-sizing: border-box;
    display: block;
    font: inherit;
    line-height: 30px;
    padding: 30px 0 28px;
    resize: vertical;
    width: 100%;
}


ul {
    line-height: 30px;
}




.site-container {
    margin-left: auto;
    margin-right: auto;
    width: var(--container--width);
}


.site-image.placeholder {
    filter: blur(10px);
    transform: scale(1.1);
}




.site-header {
    position: relative;
    z-index: 3;
    pointer-events: none;
}

.site-header .container {
    align-items: center;
    display: flex;
    height: 120px;
    justify-content: space-between;
}

.site-header nav {
    font-weight: 600;
}

.site-header nav > ul {
    display: flex;
}

.site-header nav > ul > li:not(:last-child) {
    margin-right: 80px;
}

.site-header .item-target {
    border-bottom: 2px solid transparent;
    display: inline-flex;
    pointer-events: all;
    white-space: break-spaces;
}

.site-header .item-target:hover {
    border-color: var(--color--green);
    letter-spacing: 2px;
}

.site-header ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.site-header .dropdown {
    position: relative;
}

.site-header .dropdown:hover ul {
    display: block;
}

.site-header .dropdown ul {
    display: none;
    font-weight: 400;
    left: 0;
    position: absolute;
    pointer-events: auto;
}

.site-header .options a {
    border-bottom: 2px solid transparent;
}

.site-header .options a:hover {
    border-color: var(--color--green);
    letter-spacing: 2px;
}

.site-header .dropdown .links.en {
    width: 346px;
}

.site-header .dropdown .options {
    width: 120px;
}

.site-header button {
    padding: 0;
}

.site-header span {
    pointer-events: none;
}

.site-header .home.en {
    width: 75px;
}

.site-header .why-us.en {
    width: 169px;
}

.site-header .solutions.en {
    width: 232px;
}

.site-header .about-us.en {
    width: 118px;
}

.site-header .contact.en {
    width: 101px;
}


.site-header .languages {
    display: flex;
    justify-content: flex-end;
    width: 176px;
}

.site-header .language {
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: left;
}

.site-header .language svg:last-child {
    position: absolute;
    transform: scale(0);
}

.site-header .language .item-wrapper {
    display: block;
    pointer-events: none;
    width: 120px;
}


.site-header .menu-button {
    display: none;
}




.home-page .introduction {
    height: 100vh;
    margin: -120px 0 0 0;
    overflow: hidden;
    position: relative;
}

.home-page .introduction img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    pointer-events: none;
}

.home-page .introduction .hover {
    position: absolute;
    left: 0;
    overflow: hidden;
    top: 0;
    bottom: 0;
    pointer-events: none;
}

.home-page .introduction .hover-inner {
    position: absolute;
    height: 100vh;
    width: var(--viewport--width);
}

.home-page .introduction .hover::after {
    content: "";
    height: 100%;
    width: 1px;
    background-color: #fff;
    right: 0;
    top: 0;
    position: absolute;
}

.home-page .introduction .container {
    display: flex;
    height: 100%;
    position: relative;
    pointer-events: none;
}

.home-page .introduction h1 {
    font-size: 40px;
    font-weight: 400;
    margin: auto 0 64px;
    pointer-events: none;
}

.home-page .introduction span {
    font-weight: 600;
}


.home-page .why-us {
    overflow: hidden;
    padding-top: 160px;
    position: relative;
}

.home-page .why-us img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.home-page .why-us .container {
    position: relative;
}

.home-page .why-us header {
    margin-bottom: 48px;
    text-align: center;
}

.home-page .why-us header h2 {
    font-size: 70px;
    font-weight: 400;
    margin: 0 0 24px;
}

.home-page .why-us header h2 span {
    font-weight: 700;
}

.home-page .why-us header p {
    margin: 0;
}

.home-page .why-us header p span {
    font-weight: 600;
}

.home-page .why-us .container > p {
    margin-top: 0;
}

.home-page .why-us .container > p:nth-child(2) span {
    font-weight: 600;
}

.home-page .why-us .container > p:not(:last-of-type) {
    margin-bottom: 24px;
}

.home-page .why-us .container > p:last-of-type {
    margin-bottom: 64px;
}

.home-page .why-us .features {
    display: grid;
    grid-column-gap: 48px;
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 64px;
}

.home-page .why-us .features h3 {
    margin: 0 0 24px;
}

.home-page .why-us ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.home-page .why-us .action {
    display: flex;
    justify-content: flex-end;
}

.home-page .why-us .action a {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
}

.home-page .why-us .action a:hover svg,
.home-page .why-us .action a:hover span span {
    color: var(--color--green);
}

.home-page .why-us .action svg {
    height: auto;
    margin-bottom: 4px;
}

.home-page .why-us .action .icon.en {
    width: 78px;
}

.home-page .why-us .action a > span {
    display: block;
    font-size: 12px;
    position: relative;
    text-align: right;
    text-transform: uppercase;
    width: calc((var(--container--width) - (48px * 3)) / 4);
}

.home-page .why-us .action a > span::after {
    background-color: var(--color--light-grey);
    bottom: 0;
    content: "";
    display: flex;
    height: 1px;
    margin: auto 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.home-page .why-us .action span span {
    background-color: var(--color--white);
    padding-left: 12px;
    position: relative;
    z-index: 1;
}


.home-page .solutions {
    margin-bottom: 160px;
    padding-top: 160px;
}

.home-page .solutions h2 {
    font-size: 70px;
    font-weight: inherit;
    margin: 0 0 48px;
    text-align: center;
}

.home-page .solutions h2 span {
    font-weight: 700;
}

.home-page .solutions ul {
    display: flex;
    list-style-type: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
}

.home-page .solutions li {
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
}

.home-page .solutions li:first-child {
    left: calc(-1 * (var(--viewport--width) / 4.5));
    width: calc(var(--viewport--width) / 1.7);
    z-index: 2;
}

.home-page .solutions li:nth-child(2) {
    left: calc(-1 * (var(--viewport--width) / 2.1));
    width: calc(var(--viewport--width) / 1.7);
    z-index: 1;
}

.home-page .solutions li:last-child {
    left: calc(-1 * (var(--viewport--width) / 1.38));
    width: calc(var(--viewport--width) / 1.8);
}

.home-page .solutions li:hover h3 {
    letter-spacing: 2px;
}

.home-page .solutions li:hover img:first-child {
    opacity: 0;
}

.home-page .solutions li:hover img:last-child {
    opacity: 1;
}

.home-page .solutions li:first-child h3 {
    padding-left: calc((var(--viewport--width) / 4.5) + 50px);
}

.home-page .solutions li:last-child h3 {
    padding-right: 50px;
    text-align: right;
}

.home-page .solutions li:nth-child(2) h3 {
    text-align: right;
}

.home-page .solutions h3 {
    font-weight: 400;
    font-size: 30px;
    margin: 0;
}

.home-page .solutions .media-collection {
    overflow: hidden;
    padding-top: 62.182%;
    pointer-events: none;
    position: relative;
}

.home-page .solutions img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.home-page .solutions img:last-child {
    opacity: 0;
}


.home-page .feature-block .inner {
    overflow: hidden;
    position: relative;
}

.home-page .feature-block[__active] {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    padding-top: 0;
    overflow-y: auto;
    z-index: 5;
}

.home-page .feature-block.transparent[__active] {
    background-color: var(--color--white);
}

.home-page .feature-block.grey[__active] {
    background-color: var(--color--dark-grey);
}

.home-page .feature-block[__active] header,
.home-page .feature-block[__active] .details,
.home-page .feature-block[__active] .more,
.home-page .feature-block[__active] .default-image {
    display: none;
}

.home-page .feature-block[__active] .features-image.desktop {
    display: block;
}

.home-page .solar-film.feature-block[__active] .inner,
.home-page .energy-integrated.feature-block[__active] .inner {
    position: static;
    padding: 48px 0;
}

.home-page .solar-film.feature-block[__active] .full-picture-toggler,
.home-page .energy-integrated.feature-block[__active] .full-picture-toggler {
    position: static;
}

.home-page .feature-block .features-image {
    display: none;
    object-fit: contain;
    position: static;
}

.home-page .solar-film.feature-block[__active] .features-image,
.home-page .energy-integrated.feature-block[__active] .features-image {
    margin-bottom: 48px;
    width: calc(100% - 50px);
}

.home-page .feature-block img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.home-page .feature-block header {
    background-color: var(--color--white-transparent-70);
    padding: 0 50px 64px;
    position: relative;
}

.home-page .feature-block header h2 {
    font-size: 60px;
    font-weight: inherit;
    margin: 0 0 16px;
}

.home-page .feature-block header h2 span {
    font-weight: 700;
}

.home-page .feature-block header p {
    color: var(--color--dark-grey);
    font-size: 30px;
    margin: 0;
}

.home-page .feature-block .details {
    border-bottom: 51px solid var(--color--white-transparent-70);
    position: relative;
}

.home-page .feature-block .details .text {
    background-color: var(--color--white-transparent-70);
    padding: 0 50px;
}

.home-page .feature-block .details .text span {
    font-weight: 700;
}

.home-page .feature-block .details p {
    margin-top: 0;
}
.home-page .feature-block .details p:not(:last-of-type) {
    margin-bottom: 24px;
}

.home-page .feature-block .details p:last-of-type {
    margin-bottom: 0;
}

.home-page .feature-block .details .action {
    border-bottom: 12px solid var(--color--white-transparent-70);
    bottom: -96px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    left: 0;
    position: absolute;
    right: 0;
}

.home-page .feature-block .details .action[__active] {
    transform: scale(0);
}

.home-page .feature-block .details .action::before {
    background-color: var(--color--white-transparent-70);
    content: "";
    height: 100%;
}

.home-page .feature-block .details .action button {
    color: var(--color--white);
    font-weight: 600;
    padding: 4px 0 4px 12px;
    text-align: left;
    text-transform: lowercase;
}

.home-page .feature-block .details .action button {
    align-items: center;
    display: flex;
}

.home-page .feature-block .details .action button:hover .label {
    letter-spacing: 2px;
}

.home-page .feature-block .details .action span:not(:first-child) {
    background-color: var(--color--green);
    border: 1px solid var(--color--white);
    border-radius: 50%;
    display: block;
    height: 16px;
    pointer-events: none;
    width: 16px;
}

.home-page .feature-block .details .action .label {
    pointer-events: none;
}

.home-page .feature-block .details .action .label.en {
    width: 117px;
}

.home-page .feature-block .details .action span:nth-child(2) {
    margin: 0 8px 0 22px;
}

.home-page .feature-block .details .action span:nth-child(3) {
    margin-right: 8px;
}

.home-page .feature-block .more {
    background-color: var(--color--white-transparent-70);
    padding: 0 50px 64px;
    position: relative;
    transform: scale(0);
}

.home-page .feature-block .more[__active] {
    transform: scale(1);
}

.home-page .feature-block .more[__active] ul {
    display: block;
}

.home-page .feature-block .more h3 {
    margin: 0 0 16px;
}

.home-page .feature-block .more ul {
    list-style-type: none;
    margin: 0 0 64px;
    padding: 0;
}

.home-page .feature-block .more .action {
    color: var(--color--medium-grey);
    display: flex;
    justify-content: center;
}

.home-page .feature-block .more .action button {
    align-items: center;
    display: flex;
    font-weight: 600;
    text-transform: lowercase;
}

.home-page .feature-block .more .action button:hover {
    letter-spacing: 2px;
}

.home-page .feature-block .more .action svg {
    margin-left: 16px;
}


.home-page .feature-block .full-picture-toggler {
    bottom: 48px;
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
}

.home-page .feature-block .full-picture-toggler[__hidden] {
    transform: scale(0);
}

.home-page .feature-block .full-picture-toggler .has-background {
    background-color: var(--color--white-transparent-70);
}

.home-page .feature-block[__active] .full-picture-toggler button:first-child {
    display: none;
}

.home-page .feature-block[__active] .full-picture-toggler button:last-child {
    display: flex;
}

.home-page .feature-block .full-picture-toggler button {
    align-items: center;
    color: var(--color--medium-grey);
    display: flex;
    padding: 4px 12px;
    text-transform: lowercase;
}

.home-page .feature-block .full-picture-toggler button:hover {
    letter-spacing: 2px;
}

.home-page .feature-block.grey .full-picture-toggler button {
    color: var(--color--medium-grey);
}

.home-page .feature-block.transparent .full-picture-toggler button {
    color: var(--color--white);
}

.home-page .feature-block .full-picture-toggler button:last-child {
    color: var(--color--white);
    display: none;
}

.home-page .feature-block .full-picture-toggler svg {
    margin-left: 16px;
}


.home-page .solar-film,
.home-page .energy-integrated {
    padding-top: 144px;
}

.home-page .complete-solutions header:before {
    content: "";
    display: block;
    height: 144px;
}


.home-page .about-us {
    display: grid;
    grid-template-columns: 40% 15% 45%;
}

.home-page .about-us h2 {
    font-size: 60px;
    font-weight: 400;
    margin-bottom: 112px;
}

.home-page .about-us span {
    font-weight: 700;
}

.home-page .about-us .content {
    padding: 144px 0 0 50px;
    position: relative;
    width: calc(100% + 15%);
    z-index: 1;
}

.home-page .about-us .media-wrapper {
    grid-column-start: span 2;
}

.home-page .about-us .media {
    overflow: hidden;
    padding-top: 89.932%;
    position: relative;
}

.home-page .about-us .media img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.home-page .about-us p {
    margin-top: 0;
}
.home-page .about-us p:not(:last-of-type) {
    margin-bottom: 24px;
}

.home-page .about-us p:last-of-type {
    margin-bottom: 0;
}


.home-page .contact {
    margin-bottom: 160px;
    padding-top: 160px;
}

.home-page .contact h2 {
    font-size: 60px;
    margin: 0 0 61px;
}

.home-page .contact .inner {
    display: flex;
    justify-content: space-between;
}

.home-page .contact .text {
    padding-top: 83px;
    width: calc(100% - 40px);
}

.home-page .contact ul {
    border-bottom: 1px solid var(--color--medium-grey);
    border-top: 1px solid var(--color--medium-grey);
    list-style-type: none;
    margin: 0;
    padding: 25px 80px 22px 0;
}

.home-page .contact li {
    display: grid;
    grid-column-gap: 16px;
    grid-template-columns: repeat(3, 1fr);
}

.home-page .contact li span:first-child {
    font-weight: 600;
}

.home-page .contact .form {
    width: calc(100% - 40px);
}

.home-page .contact .textarea {
    position: relative;
}

.home-page .contact .resize {
    bottom: 0;
    position: absolute;
    right: 0;
}

.home-page .contact .consent {
    align-items: center;
    border-bottom: 1px solid var(--color--medium-grey);
    color: var(--color--medium-grey);
    cursor: pointer;
    display: flex;
    line-height: 30px;
    padding: 30px 0 28px;
    position: relative;
}

.home-page .contact .consent:hover svg {
    color: var(--color--black);
}

.home-page .contact .consent input:checked + svg path:first-child {
    transform: scale(1);
}

.home-page .contact .consent svg {
    flex-shrink: 0;
    margin-right: 12px;
}

.home-page .contact .consent path:first-child {
    transform: scale(0);
}

.home-page .contact button {
    border-bottom: 1px solid var(--color--medium-grey);
    border-left: 1px solid var(--color--medium-grey);
    border-right: 1px solid var(--color--medium-grey);
    color: var(--color--dark-grey);
    font-weight: 500;
    margin-bottom: 24px;
    padding: 12px 12px;
    width: 224px;
}

.home-page .contact button .label.en {
    width: 92px;
}

.home-page .contact button:hover {
    background-color: var(--color--green);
    color: var(--color--white);
    letter-spacing: 2px;
}

.home-page .contact p {
    color: var(--color--medium-grey);
    font-size: 15px;
    margin: 0;
}

.home-page .contact a {
    text-decoration: underline;
}

.home-page .contact a:hover {
    color: var(--color--black);
}

.home-page .contact .response {
    border: 1px solid transparent;
    font-weight: 600;
    margin: 32px 0 0;
    padding: 11px 16px 7px;
}

.home-page .contact .response.success {
    border-color: #4BB543;
    background-color: #4BB5431F;
    color: #4BB543;
}

.home-page .contact .response.error {
    border-color: #FF9494;
    background-color: #FF94941F;
    color: #FF9494;
}


.site-footer {
    background-color: var(--color--bright-grey);
    font-size: 15px;
    padding: 50px 0 35px 0;
}

.site-footer a:hover {
    color: var(--color--medium-grey);
}

.site-footer .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.site-footer .about svg {
    margin-bottom: 24px;
}

.site-footer .about p:first-of-type {
    margin-bottom: 8px;
    margin-top: 0;
}

.site-footer .about p:last-of-type {
    margin-bottom: 0;
    margin-top: 0;
}

.site-footer .about span {
    font-weight: 600;
}

.site-footer .info {
    list-style-type: none;
    margin: 0;
    padding: 0;
    line-height: 30px;
    text-align: center;
}
.site-footer .info li:first-child {
    margin-bottom: 16px;
}

.site-footer .links {
    list-style-type: none;
    margin: 0;
    padding: 0;
    line-height: 30px;
    text-align: right;
}

.site-footer .links li:nth-last-child(2) {
    margin-bottom: 20px;
}

.site-footer .links li:last-child {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}

.site-footer .links li:last-child a:first-child {
    margin-right: 20px;
}


.grecaptcha-badge {
    visibility: hidden;
}
