html { height: 100%; scroll-behavior: smooth; }

body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: var(--s-25);
	color: var(--s-900);
	font-size: 18px;
	font-family: 'Poppins', 'Open Sans', sans-serif;
	font-weight: 300;
	overflow-y: scroll;
}

* { margin: 0; padding: 0; outline: 0; }

a { color: var(--b-25); text-decoration: none; }
a img { border: 0; }

strong { font-family: 'Poppins', 'Open Sans', sans-serif; font-weight: 700; }
input, textarea, button { font-family: 'Poppins', 'Open Sans', sans-serif; }

h1, h2, h3, h4, h5 { font-family: 'Poppins', 'Open Sans', sans-serif; font-weight: 700; }

#email { position: absolute; z-index: -100; width: 1px; height: 1px; opacity: 0; }

.wrap { display: flex; flex-direction: column; justify-content: space-between; width: 100%; min-height: 100%; }
.container { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }
.content { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 0 80px; }
.content.boxed { max-width: 1420px; }
.content.boxed-2 { max-width: 1030px; }

.header { flex-shrink: 0; display: flex; width: 100%; height: 100px; }
.header .inner { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; width: 100%; height: 100px; background: var(--s-900); }
.header .content { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 40px; height: 100%; }
.header .item { flex-grow: 1; display: flex; flex-wrap: nowrap; justify-content: center; align-items: stretch; }
.header .item:first-child,
.header .item:last-child { flex-basis: 0; }
.header .item:first-child { justify-content: flex-start; }
.header .item:last-child { justify-content: flex-end; }

.header .logo { display: flex; align-items: center; }
.header .logo a { display: flex; }
.header .logo img { height: 36px; }

.header .menu { display: flex; align-items: stretch; }
.header .menu nav { display: flex; align-items: stretch; }
.header .menu nav ul { display: flex; flex-wrap: nowrap; align-items: stretch; list-style: none; text-align: center; }
.header .menu nav ul li { display: flex; align-items: stretch; position: relative; margin: 0 20px; }
.header .menu nav ul li a { transition: color 0.2s ease-in-out; display: flex; align-items: center; border-bottom: 2px solid transparent; padding: 5px 0; color: var(--s-25); font-size: 14px; font-weight: 500; line-height: 24px; text-transform: uppercase; }
.header .menu nav ul li a:hover { color: var(--s-25-t90); }
.header .menu nav ul li.active a { border-color: var(--s-25); }
.header .menu nav ul li.mobile-only { display: none; }

.header .menu nav ul li .submenu { display: none; position: absolute; z-index: 1005; top: 100%; left: 0; min-width: 100%; padding-top: 32px; }
.header .menu nav ul li:hover .submenu { display: flex; }
.header .menu nav ul li .submenu ul { flex-direction: column; box-sizing: border-box; width: 100%; background: var(--s-900); padding: 10px; }
.header .menu nav ul li .submenu ul li { justify-content: center; width: 100%; margin: 0; }
.header .menu nav ul li .submenu ul li a { border-color: transparent; text-align: center; }
.header .menu nav ul li .submenu ul li a:hover { color: var(--s-25-t90); }
.header .menu nav ul li .submenu ul li.active a { border-color: var(--s-25); }

.header .menu .mobile-menu { display: none; align-items: center; }
.header .menu .mobile-menu a { display: flex; color: var(--s-25); font-size: 24px; }
.header .menu .mobile-menu .close { display: none; position: fixed; z-index: 1150; top: 20px; right: 20px; }

.header .language { display: flex; align-items: center; width: 140px; }

.header .link { align-self: center; margin-right: 20px; color: var(--s-25); font-size: 14px; font-weight: 500; line-height: 24px; text-transform: uppercase; text-align: center; }
.header .link:hover { color: var(--s-25-t90); }

.header.transparent { position: absolute; z-index: 1000; top: 0; left: 0; }
.header.transparent .inner { background: transparent; }

.header.sticky .inner { position: fixed; z-index: 1000; top: 0; left: 0; }

.page-container { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }

.hero { display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; box-sizing: border-box; width: 100%; min-height: 100vh; padding: 192px 0 60px 0; background: var(--s-900) url('/img/hero-fallback.png?1'); background-repeat: no-repeat; background-position: center center; background-size: cover; }
.hero:after { content: ""; position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-900); opacity: 0.4; }
.hero video { position: absolute; z-index: 40; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.hero .content { align-items: center; gap: 10px; position: relative; z-index: 100; color: var(--s-25); text-align: center; }
.hero .content .subtitle { font-size: 24px; font-weight: 500; line-height: 36px; }
.hero .content h1 { font-size: 54px; font-weight: 700; line-height: 60px; text-transform: uppercase; }
.hero .content p { font-size: 18px; line-height: 30px; }

.video { display: flex; width: 100%; height: calc(100vh - 100px); background: var(--s-900); }
.video video { width: 100%; height: 100%; object-fit: cover; }

.page { flex-grow: 1; display: flex; flex-direction: column; align-items: center; width: 100%; padding: 50px 0; }
.page.grey { background: var(--s-50); }
.page.grey + .page.grey { padding-top: 0; }
.page.black { background: var(--s-900); }
.page.background-1 { justify-content: center; min-height: 640px; background: url('/img/background-1.jpg') no-repeat center center; background-size: cover; }
.page.background-2 { justify-content: center; position: relative; min-height: 720px; background: url('/img/background-4.jpg') no-repeat center center; background-size: cover; }
.page.background-2:after { content: ""; position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 100%; background: var(--s-900); opacity: 0.25; }
.page.background-2 .content { position: relative; z-index: 20; }
.page.vertical-center { justify-content: center; }

.page .title { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 10px 0; }
.page .title h1,
.page .title h2 { color: var(--s-900); font-size: 36px; line-height: 48px; text-align: center; }
.page .title h1 span,
.page .title h2 span { font-weight: 100; }
.page .title .item { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 40px; }
.page .title .button { align-self: center; }

.page.background-2 .title h1 { color: var(--s-25); font-size: 48px; font-weight: 500; line-height: 60px; }
.page.background-2 .title p { margin-top: 20px; color: var(--s-25); font-size: 18px; line-height: 30px; text-align: center; }

.page.black .title h1,
.page.black .title h2 { color: var(--s-25); }

.page .title-2 { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; padding: 10px 0; }
.page .title-2 .left { display: flex; flex-wrap: nowrap; align-items: center; }
.page .title-2 .left .icon { display: flex; min-width: 26.25px; margin-right: 20px; color: var(--s-25); font-size: 30px; }
.page .title-2 .left h3 { color: var(--s-25); font-size: 24px; font-weight: 500; line-height: 36px; }
.page .title-2 .right { display: flex; align-items: center; padding-left: 20px; color: var(--s-25); font-size: 24px; font-weight: 300; line-height: 36px; }

.page .title-3 { display: flex; flex-direction: column; gap: 14px; width: 100%; padding: 10px 0 30px 0; }
.page .title-3 h1 { color: var(--s-900); font-size: 36px; font-weight: 600; line-height: 48px; }
.page .title-3 h2,
.page .title-3 h3 { color: var(--s-900); font-size: 36px; font-weight: 700; line-height: 48px; }
.page .title-3 h2 span,
.page .title-3 h3 span { font-weight: 100; }

.page .content-box-container { display: flex; flex-direction: column; width: 100%; }

.page .content-box { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 20px 30px 10px 30px; margin: 30px 0 10px 0; background: var(--s-25); }
.page .content-box-title:not(.mobile-only) + .content-box,
.page .content-timeline + .content-box { margin-top: 0; }
.page .content-box-title { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; box-sizing: border-box; width: 100%; padding: 20px 30px; margin-top: 30px; background: var(--s-25); border-bottom: 2px solid var(--s-900-t10); }
.page .content-box-title.mobile-only { display: none; }
.page .content-box-title h2 { color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; }
.page .content-box-title .item { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.page .content-box-title .item .button { align-self: center; }
.page .content-box-title .item .item { flex-direction: column; align-items: flex-start; gap: 0; }

.page .content-image { display: flex; width: 100%; padding: 10px 0 30px 0; }
.page .content-image img { width: 100%; object-fit: cover; }

.page .button-container { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; padding-top: 20px; }
.page .button-container .button { margin: 10px; }

.page .text-container { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 10px 0; }
.page .title + .text-container,
.page .content-box + .text-container { padding-top: 30px; }
.page .text-container.center { align-items: center; text-align: center; }
.page .text-container.center .button { align-self: center; }
.page .text-container h1,
.page .text-container h2 { margin: 40px 0 20px 0; color: var(--s-900); font-size: 24px; line-height: 36px; }
.page .text-container h1:first-child,
.page .text-container h2:first-child,
.page .text-container h3:first-child,
.page .text-container h4:first-child { margin-top: 0; }
.page .text-container h3 { margin: 40px 0 10px 0; color: var(--s-900); font-size: 20px; line-height: 32px; }
.page .text-container h4 { margin: 10px 0; color: var(--s-900); font-size: 18px; font-weight: 600; line-height: 30px; }
.page .text-container p { margin-bottom: 20px; color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }
.page .text-container p:last-child { margin-bottom: 0; }
.page .text-container p.footnote { font-size: 16px; line-height: 24px; }
.page .text-container p.footnote a { font-weight: 600; }
.page .text-container .button { margin-top: 20px; }
.page .text-container figure { margin-bottom: 20px; }
.page .text-container figure:last-child { margin-bottom: 0; }
.page .text-container img { max-width: 100%; }
.page .text-container ul,
.page .text-container ol { margin: 0 0 20px 25px; }
.page .text-container ul:last-child,
.page .text-container ol:last-child { margin-bottom: 0; }
.page .text-container ul li,
.page .text-container ol li { color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }
.page .text-container hr { margin: 30px 0; border-color: var(--s-900-t20); }
.page .text-container table { margin-bottom: 30px; border-spacing: 0; }
.page .text-container table:last-child { margin-bottom: 0; }
.page .text-container table tr th,
.page .text-container table tr td { padding: 10px; border: 2px solid var(--s-900-t10); border-right: 0; border-top: 0; color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }
.page .text-container table tr:first-child th,
.page .text-container table tr:first-child td { border-top: 2px solid var(--s-900-t10); }
.page .text-container table tr th:last-child,
.page .text-container table tr td:last-child { border-right: 2px solid var(--s-900-t10); }

.page .table-container { width: 100%; max-height: 1000px; overflow: auto; }
.page .text-container + .table-container { padding-top: 30px; }
.page table.table tr th,
.page table.table tr td { padding: 0 10px; }
.page table.table tr th { position: sticky; top: 0; padding-top: 10px; padding-bottom: 10px; background: var(--s-25); color: var(--s-900-t50); font-size: 14px; font-weight: 400; line-height: 20px; /*white-space: nowrap;*/ text-align: left; }
.page table.table tr th[align="right"] { text-align: right; }
.page table.table tr td { padding-top: 20px; padding-bottom: 20px; border-bottom: 2px solid var(--s-900-t10); color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }
.page table.table tr:last-child td { border-bottom: 0; }
.page table.table tr th:first-child,
.page table.table tr td:first-child { padding-left: 0; }
.page table.table tr th:last-child,
.page table.table tr td:last-child { padding-right: 0; }

.image-container { display: flex; width: 100%; }
.image-container img { width: 100%; height: 100%; object-fit: cover; }

.map-container { display: flex; width: 100%; height: 900px; background: var(--s-50); }
.map-container .map { width: 100%; height: 100%; }

.iframe-container { display: flex; width: 100%; height: 400px; background: var(--s-900); }
.iframe-container iframe { width: 100%; height: 100%; }

.quote { align-items: center; max-width: 820px; text-align: center; }
.quote .text { color: var(--s-900); font-size: 36px; font-weight: 200; line-height: 48px; }
.quote .name { margin-top: 20px; color: var(--s-900); font-size: 20px; font-weight: 300; line-height: 30px; }

.projects-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 20px 70px 0 70px; }
.projects-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.projects-overview .box { display: flex; flex-direction: column; justify-content: flex-end; position: relative; width: 100%; height: 500px; }
.projects-overview .box:after { transition: opacity 0.2s ease-in-out; opacity: 0; content: ""; position: absolute; z-index: 25; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-900-t20); }
.projects-overview .box:hover:after { opacity: 1; }
.projects-overview .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.projects-overview .box .image { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.projects-overview .box .logo { position: absolute; z-index: 30; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--s-25); font-size: 40px; font-weight: 500; line-height: 50px; text-align: center; }
.projects-overview .box .logo img { width: 300px; height: 105px; object-fit: contain; }
.projects-overview .box .details { position: relative; z-index: 40; display: flex; justify-content: space-between; align-items: flex-end; box-sizing: border-box; width: 100%; padding: 20px 30px; }
.projects-overview .box .details .text { display: flex; color: var(--s-25); font-size: 18px; font-weight: 300; line-height: 30px; }
.projects-overview .box .details .text:nth-child(2) { padding-left: 20px; }

.counters-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 40px 70px 0 70px; }
.counters-overview .item { display: flex; box-sizing: border-box; width: 25%; padding: 10px; }
.counters-overview .box { display: flex; flex-direction: column; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; height: 100%; padding: 40px; border: 2px solid var(--s-900-t10); border-radius: 20px; text-align: center; }
.counters-overview .box .number { color: var(--s-900); font-size: 72px; font-weight: 700; line-height: 84px; }
.counters-overview .box .text { margin-top: 10px; color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }

.team-overview { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: stretch; padding: 30px 60px 10px 60px; }
.team-overview .item { display: flex; box-sizing: border-box; width: 350px; padding: 20px; }
.team-overview .box { display: flex; flex-direction: column; width: 100%; }
.team-overview .box .image { display: flex; width: 100%; }
.team-overview .box .image img { width: 100%; }
.team-overview .box .details { display: flex; flex-direction: column; padding-top: 20px; }
.team-overview .box .details h3 { color: var(--s-900); font-size: 24px; font-weight: 600; line-height: 36px; }
.team-overview .box .details span { margin-top: 4px; color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }
.team-overview .box .details ul { display: flex; flex-wrap: wrap; margin-top: 10px; list-style: none; }
.team-overview .box .details ul li { display: flex; margin-right: 10px; }
.team-overview .box .details ul li:last-child { margin-right: 0; }
.team-overview .box .details ul li a { display: flex; min-height: 18px; color: var(--s-900); font-size: 18px; line-height: 18px; }

.articles-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 10px 60px 0 60px; }
.articles-overview .item { display: flex; box-sizing: border-box; width: 25%; padding: 20px 10px; }
.articles-overview .box { display: flex; flex-direction: column; gap: 24px; position: relative; width: 100%; height: 100%; }
.articles-overview .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.articles-overview .box .image { display: flex; position: relative; width: 100%; height: 280px; background: var(--s-900); }
.articles-overview .box .image:after { transition: opacity 0.2s ease-in-out; opacity: 0; content: ""; position: absolute; z-index: 25; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-900-t20); }
.articles-overview .box:hover .image:after { opacity: 1; }
.articles-overview .box .image img { position: relative; z-index: 15; width: 100%; height: 100%; object-fit: cover; }
.articles-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; gap: 14px; width: 100%; }
.articles-overview .box .details h3 { color: var(--s-900); font-size: 20px; font-weight: 600; line-height: 30px; }
.articles-overview .box .details span { color: var(--s-900); font-size: 16px; font-weight: 300; line-height: 24px; }

.image-text-container { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; padding: 10px 0; }
.title + .image-text-container { padding-top: 50px; }
.image-text-container .image { flex-grow: 1; display: flex; width: 0; }
.image-text-container .image img { width: 100%; }
.image-text-container .image iframe { width: 100%; height: 340px; }
.image-text-container .details { flex-shrink: 0; display: flex; flex-direction: column; box-sizing: border-box; width: 42%; min-width: 740px; padding-left: 80px; }
.image-text-container .details:first-child { padding: 0 80px 0 0; }
.image-text-container .details .logo { margin-bottom: 30px; color: var(--s-900); font-size: 40px; font-weight: 500; line-height: 50px; }
.image-text-container .details .logo img { height: 80px; }

.image-text-container.style-2 .details { flex-grow: 1; width: 0; }
.image-text-container.style-2 .image { flex-shrink: 0; flex-grow: 0; width: 425px; max-width: 100%; }

.icon-boxes { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 0 70px; }
.icon-boxes:not(:first-child) { padding-top: 40px; }
.icon-boxes .item { flex-grow: 1; display: flex; box-sizing: border-box; width: 25%; padding: 10px; }
.icon-boxes .box { display: flex; flex-direction: column; align-items: center; gap: 20px; box-sizing: border-box; width: 100%; height: 100%; padding: 40px; border: 2px solid var(--s-900-t10); border-radius: 20px; text-align: center; }
.icon-boxes .box .icon { display: flex; color: var(--s-900); font-size: 60px; }
.icon-boxes .box .headline { display: flex; }
.icon-boxes .box .headline h3 { color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }

.icon-items { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 0 40px; }
.icon-items .item { flex-grow: 1; display: flex; flex-direction: column; align-items: center; gap: 30px; box-sizing: border-box; width: 25%; padding: 50px 40px; text-align: center; }
.icon-items .item .icon { display: flex; color: var(--s-900); font-size: 60px; }
.icon-items .item .text { display: flex; flex-direction: column; gap: 10px; }
.icon-items .item .text h3 { color: var(--s-900); font-size: 24px; line-height: 36px; }
.icon-items .item .text p { color: var(--s-900); font-size: 18px; font-weight: 300; line-height: 30px; }

.step-boxes { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 40px 70px 20px 70px; }
.step-boxes .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.step-boxes .box { display: flex; flex-wrap: nowrap; align-items: center; gap: 30px; box-sizing: border-box; width: 100%; height: 100%; padding: 40px 40px 40px 0; border: 2px solid var(--s-900-t10); border-radius: 20px; }
.step-boxes .box .icon { flex-shrink: 0; flex-grow: 0; display: flex; justify-content: center; align-items: center; width: 60px; height: 60px; background: var(--s-900); color: var(--s-25); font-size: 30px; }
.step-boxes .box .text { flex-grow: 1; display: flex; flex-direction: column; gap: 10px; width: 0; color: var(--s-900); }
.step-boxes .box .text h3 { font-size: 16px; font-weight: 400; line-height: 30px; text-transform: uppercase; }
.step-boxes .box .text h4 { font-size: 24px; line-height: 36px; }
.step-boxes .box .text p { font-size: 18px; line-height: 30px, }

.slider { position: relative; width: 100%; height: 980px; background: var(--s-900); overflow: hidden; }
.slider.slim { height: 680px; }
.slider .slider-arrow { transition: background 0.2s ease-in-out; position: absolute; z-index: 50; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; width: 60px; height: 60px; background: var(--s-900-t50); border: 0; color: var(--s-25); font-size: 24px; cursor: pointer; }
.slider .slider-arrow:hover { background: var(--s-900-t70); }
.slider .slider-arrow.prev { left: 0; }
.slider .slider-arrow.next { right: 0; }
.slider .slick-list,
.slider .slick-track { height: 100%; }
.slider .slide { display: flex; justify-content: center; width: 100%; height: 100%; }
.slider .slide img { width: 100%; height: 100%; object-fit: contain; }

.image-text-container .slider { height: 680px; }

.social-gallery { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 20px 70px 0 70px; }
.social-gallery .item { display: flex; box-sizing: border-box; width: 25%; padding: 10px; }
.social-gallery .item a { display: flex; width: 100%; height: 100%; }
.social-gallery .item img { transition: opacity 0.2s ease-in-out; width: 100%; height: 425px; object-fit: cover; }
.social-gallery .item img:hover { opacity: 0.8; }

.data-container { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; padding: 10px 0; }
.data-container .details { display: flex; flex-direction: column; box-sizing: border-box; width: 50%; padding-right: 180px; }
.data-container .details:last-child { padding-right: 0; }
.data-container .details .buttons { display: flex; flex-wrap: wrap; margin-top: 30px; }
.data-container .details .buttons .button { margin: 10px 10px 0 0; }

.gallery-container { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; width: 100%; padding: 20px 0 10px 0; }
.gallery-container .image { display: flex; box-sizing: border-box; width: 50%; padding: 10px 0; }
.gallery-container .image:nth-child(odd):not(:last-child) { padding-right: 10px; }
.gallery-container .image:nth-child(even) { padding-left: 10px; }
.gallery-container .image.width-full { width: 100%; padding-left: 0; padding-right: 0; }
.gallery-container .image a { display: flex; width: 100%; height: 100%; }
.gallery-container .image img { width: 100%; height: 100%; object-fit: cover; }

.form-container { display: flex; flex-wrap: wrap; align-items: stretch; }
.form-container.content { flex-direction: row; padding: 20px 70px 0 70px; }
.form-container .form-item { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; width: 50%; padding: 10px; }
.form-container .form-item.width-full { width: 100%; }
.form-container .form-item .item-heading { margin-bottom: 10px; color: var(--s-900); font-size: 16px; font-weight: 300; line-height: 24px; }
.form-container .form-item .item-heading.required:after { content: " *"; color: var(--red-25); }
.form-container .form-button-item { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; width: 100%; }
.form-container .form-button-item .item-sub { display: flex; align-items: center; }
.form-container .form-button-item .item-sub:nth-child(2) { padding-left: 20px; }
.form-container .form-field-button-item { align-self: center; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; max-width: 360px; }
.form-container .form-field-button-item .item-sub { flex-basis: 200px; flex-grow: 1; display: flex; }
.form-container .form-field-button-item .item-sub:nth-child(2) { flex-basis: auto; flex-grow: 0; }

.accordion { display: flex; flex-direction: column; width: 100%; padding-top: 20px; }
.accordion .item { display: flex; width: 100%; padding: 10px 0; }
.accordion .box { transition: border-color 0.2s ease-in-out; display: flex; flex-direction: column; box-sizing: border-box; width: 100%; border: 2px solid var(--s-900-t10); }
.accordion .box:hover { border-color: var(--s-900-t20); }
.accordion .box .headline { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 30px; box-sizing: border-box; width: 100%; padding: 22px 30px; cursor: pointer; user-select: none; }
.accordion .box .headline h3 { color: var(--s-900); font-size: 24px; line-height: 36px; }
.accordion .box .headline .arrow { flex-shrink: 0; color: var(--s-900); font-size: 24px; }
.accordion .item.open .box .headline .arrow svg { transform: rotate(180deg); }
.accordion .box .text-container { padding: 0 30px 30px 30px; }
.accordion .item:not(.open) .box .text-container { display: none; }

.accordion.style-2 { padding: 50px 0 30px 0; }
.accordion.style-2 .item { padding: 0; }
.accordion.style-2 .box { background: var(--s-25); border: 0; border-bottom: 2px solid var(--s-900-t10); }
.accordion.style-2 .item:last-child .box { border-bottom: 0; }
.accordion.style-2 .box .headline { padding: 30px; }
.accordion.style-2 .box .headline h3 { font-size: 22px; line-height: 30px; }
.accordion.style-2 .box .headline .arrow { font-size: 20px; }

.toggle-boxes { display: flex; flex-direction: column; width: 100%; }
.toggle-boxes .item { display: flex; box-sizing: border-box; width: 100%; padding: 5px 0; }
.toggle-boxes .box { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; gap: 30px; box-sizing: border-box; width: 100%; padding: 30px; background: var(--s-25); text-align: left; cursor: pointer; user-select: none; }
.toggle-boxes .box .icon { flex-shrink: 0; flex-grow: 0; display: flex; align-items: center; min-height: 30px; color: var(--s-900); font-size: 30px; }
.toggle-boxes .box .text { flex-grow: 1; display: flex; flex-direction: column; gap: 10px; width: 0; color: var(--s-900); }
.toggle-boxes .box .text .headline h4 { font-size: 24px; line-height: 30px; }
.toggle-boxes .box .text .info { display: flex; flex-direction: column; }
.toggle-boxes .item:not(.open) .box .text .info { display: none; }
.toggle-boxes .box .text .info p { font-size: 18px; line-height: 30px; }
.toggle-boxes .box .arrow { flex-shrink: 0; flex-grow: 0; display: flex; align-items: center; min-height: 30px; color: var(--s-900); font-size: 20px; }
.toggle-boxes .item.open .box .arrow svg { transform: rotate(180deg); }

.legend { display: flex; justify-content: center; width: 100%; padding-top: 20px; }
.legend ul { display: flex; flex-wrap: wrap; list-style: none; }
.legend ul li { display: flex; flex-wrap: nowrap; align-items: center; margin: 10px; color: var(--s-900); font-size: 16px; font-weight: 400; line-height: 24px; text-align: center; }
.legend ul li .status { margin-right: 10px; }

.paging { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; padding: 20px 0 10px 0; }
.paging a { transition: background 0.2s ease-in-out, color 0.2s ease-in-out; flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; min-width: 48px; padding: 12px 14px; background: var(--s-900-t10); border-radius: 50%; color: var(--s-900); font-size: 14px; font-weight: 500; line-height: 24px; text-align: center; }
.paging a:hover { background: var(--s-900-t20); }
.paging a.active { background: var(--s-900); color: var(--s-25); }

.project-header { display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; box-sizing: border-box; width: 100%; min-height: calc(100vh - 100px); padding: 30px; background-color: var(--s-900); background-repeat: no-repeat; background-position: center center; background-size: cover; }
.project-header:after { content: ""; position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-900); opacity: 0.25; }
.project-header .content { flex-grow: 1; align-items: center; position: relative; z-index: 100; padding: 0; }

.project-header .logo { flex-grow: 1; display: flex; justify-content: center; align-items: center; padding: 30px 0; color: var(--s-25); font-size: 48px; font-weight: 500; line-height: 60px; text-align: center; }
.project-header .logo img { height: 80px; }

.project-header .specifications { display: flex; flex-direction: column; align-items: center; }
.project-header .specifications ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; width: 100%; list-style: none; }
.project-header .specifications ul li { display: flex; flex-wrap: nowrap; color: var(--s-25); }
.project-header .specifications ul li .icon { flex-shrink: 0; display: flex; margin-right: 20px; font-size: 24px; }
.project-header .specifications ul li .text { display: flex; flex-direction: column; }
.project-header .specifications ul li .text .value { font-size: 18px; font-weight: 500; line-height: 30px; }
.project-header .specifications ul li .text .name { font-size: 16px; font-weight: 300; line-height: 24px; }

.stages-container { display: flex; flex-wrap: wrap; gap: 40px; width: 100%; padding: 40px 0; }

.stages-timeline-container { flex-grow: 1; flex-basis: 0; display: flex; flex-direction: column; max-width: 100%; }
.stages-timeline-container .stage-item { display: flex; flex-wrap: nowrap; gap: 40px; width: 570px; max-width: 100%; }
.stages-timeline-container .stage-item .column { flex-grow: 1; display: flex; flex-direction: column; position: relative; padding-top: 40px; }
.stages-timeline-container .title-3 + .stage-item .column,
.stages-timeline-container .stage-item:first-child .column { padding-top: 0; overflow: hidden; }
.stages-timeline-container .stage-item .column:first-child { flex-shrink: 0; flex-grow: 0; }
.stages-timeline-container .stage-item .column:first-child:before { content: ""; position: absolute; z-index: 10; top: -18px; left: 50%; transform: translateX(-50%); width: 4px; height: 100%; background: var(--s-900-t10); }
.stages-timeline-container .stage-item:last-child .column:first-child:before { height: 58px; }
.stages-timeline-container .stage-item.completed .column:first-child:before { background: var(--s-900); }
.stages-timeline-container .stage-item .number { display: flex; justify-content: center; align-items: center; position: relative; z-index: 20; box-sizing: border-box; min-width: 48px; min-height: 48px; padding: 8px 14px; background: #999 /*var(--s-900-t40)*/; color: var(--s-25); font-size: 24px; font-weight: 700; line-height: 32px; text-align: center; }
.stages-timeline-container .stage-item.completed .number { background: var(--s-900); }
.stages-timeline-container .stage-item .headline { display: flex; margin-top: 4px; }
.stages-timeline-container .stage-item .headline h3 { color: var(--s-900); font-size: 24px; font-weight: 700; }
.stages-timeline-container .stage-item .date { margin-top: 4px; color: var(--s-900); font-size: 18px; line-height: 24px; }
.stages-timeline-container .stage-item .progress { display: flex; align-items: center; position: relative; box-sizing: border-box; width: 100%; height: 36px; margin-top: 22px; padding: 0 12px; background: var(--s-900-t10); }
.stages-timeline-container .stage-item .progress:after { content: ""; position: absolute; top: 0; left: 0; width: var(--bar-width); height: 100%; background: var(--s-900); }
.stages-timeline-container .stage-item .progress span { position: relative; z-index: 10; color: var(--s-25); font-size: 16px; font-weight: 700; line-height: 24px; }

.stages-gallery-container { flex-grow: 1; flex-basis: 0; display: flex; flex-direction: column; max-width: 100%; }
.stages-gallery-container .stage-item { display: flex; flex-direction: column; width: 100%; padding-bottom: 24px; }
.stages-gallery-container .stage-item:last-child { padding-bottom: 0; }
.stages-gallery-container .stage-item .headline { display: flex; margin-bottom: 16px; }
.stages-gallery-container .stage-item .headline h3 { color: var(--s-900); font-size: 24px; font-weight: 700; }
.stages-gallery-container .stage-item .images { display: flex; flex-wrap: nowrap; gap: 16px; width: 100%; }
.stages-gallery-container .stage-item .images .image { display: flex; position: relative; width: 232px; max-width: 100%; height: 148px; }
.stages-gallery-container .stage-item .images .image .img { display: flex; }
.stages-gallery-container .stage-item .images .image .img img { width: 100%; height: 100%; object-fit: cover; }
.stages-gallery-container .stage-item .images .image .overlay-button { position: absolute; z-index: 20; top: 50%; right: 0; transform: translateY(-50%); padding: 12px 16px; background: var(--s-900-t75); color: var(--s-25); font-size: 16px; font-weight: 600; line-height: 24px; }

.content-timeline { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 30px 30px 0 30px; background: var(--s-25); border-bottom: 2px solid var(--s-900-t10); }
.content-timeline:last-child { border-bottom: 0; }
.content-timeline .content-timeline-inner { display: flex; flex-direction: column; min-width: 100%; padding-bottom: 30px; overflow-x: auto; }
.content-timeline .stages { display: flex; flex-wrap: nowrap; justify-content: center; align-items: stretch; width: 100%; }
.content-timeline .item { flex-grow: 0; flex-shrink: 0; display: flex; flex-direction: column; width: 300px; text-align: center; }
.content-timeline .item .row { display: flex; flex-direction: column; align-items: center; gap: 5px; position: relative; box-sizing: border-box; width: 100%; overflow: hidden; }
.content-timeline .item .row:first-child { flex-grow: 1; justify-content: center; padding: 0 20px 58px 20px; }
.content-timeline .item .row:first-child:after { content: ""; position: absolute; z-index: 10; bottom: 20px; left: 50%; transform: translateX(-50%); width: 2px; height: 20px; background: var(--s-900-t10); }
.content-timeline .item .row:last-child:before,
.content-timeline .stages:nth-child(1) .item:first-child .row:last-child:after,
.content-timeline .stages:nth-child(1) .item:last-child .row:last-child:after { content: ""; position: absolute; z-index: 10; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 51%; height: 4px; background: #E5E5E5 /*var(--s-900-t10)*/; }
.content-timeline .stages:nth-child(1) .item:first-child .row:last-child:after,
.content-timeline .stages:nth-child(1) .item:last-child .row:last-child:after { transform: translateY(-50%); }
.content-timeline .stages:nth-child(1) .item:first-child .row:last-child:after { left: 0; }
.content-timeline .stages:nth-child(1) .item:last-child .row:last-child:after { right: 0; }
.content-timeline .item.completed .row:last-child:before,
.content-timeline .stages:nth-child(1) .item.completed:first-child .row:last-child:after,
.content-timeline .stages:nth-child(1) .item.completed:last-child .row:last-child:after { background: var(--s-900); }
.content-timeline .item .headline { display: flex; }
.content-timeline .item .headline h3 { color: var(--s-900); font-size: 20px; font-weight: 700; line-height: 24px; }
.content-timeline .item .date { color: var(--s-900); font-size: 16px; line-height: 24px; }
.content-timeline .item .number { display: flex; justify-content: center; align-items: center; position: relative; z-index: 20; box-sizing: border-box; min-width: 40px; min-height: 40px; padding: 4px 10px; background: #999999 /*var(--s-900-t40)*/; color: var(--s-25); font-size: 20px; font-weight: 700; line-height: 20px; text-align: center; }
.content-timeline .item.completed .number { background: var(--s-900); }

.content-timeline .stages:nth-child(1) .row:last-child { margin-bottom: -20px; }

.content-timeline .stages:nth-child(2) .item { flex-direction: column-reverse; }
.content-timeline .stages:nth-child(2) .item .row:last-child { margin-top: -20px; }
.content-timeline .stages:nth-child(2) .item .row:first-child { padding-bottom: 0; padding-top: 58px; }
.content-timeline .stages:nth-child(2) .item .row:first-child:after { bottom: auto; top: 20px; }

.content-timeline .item.dummy-item .row:first-child:after { display: none; }
.content-timeline .item.dummy-item .row:last-child { height: 40px; }
.content-timeline .item.dummy-item .row:last-child:before { left: 0; transform: translateY(-50%); }
.content-timeline .stages:nth-child(1) .item.dummy-item:last-child .row:last-child:after { display: none; }

.footer { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; width: 100%; border-top: 2px solid var(--s-900-t10); }

.footer .columns { flex-direction: row; flex-wrap: nowrap; align-items: stretch; padding: 75px; }
.footer .columns .item { flex-basis: 0; flex-grow: 1; flex-shrink: 1; display: flex; flex-direction: column; padding: 5px; }

.footer .columns .logo { display: flex; margin-bottom: 40px; }
.footer .columns .logo a { display: flex; }
.footer .columns .logo img { height: 36px; }

.footer .columns .language { display: flex; width: 140px; margin-top: 40px; }

.footer .columns .headline { display: flex; width: 100%; margin-bottom: 10px; }
.footer .columns .headline h5 { color: var(--s-900); font-size: 18px; font-weight: 700; line-height: 30px; }

.footer .columns .list { display: flex; width: 100%; }
.footer .columns .list ul { display: flex; flex-direction: column; gap: 10px; width: 100%; list-style: none; }
.footer .columns .list ul li { color: var(--s-900); font-size: 18px; font-weight: 400; line-height: 30px; }
.footer .columns .list ul li a { transition: color 0.2s ease-in-out; color: var(--s-900); }
.footer .columns .list ul li a:hover { color: var(--s-900-t70); }
.footer .columns .list ul li a.underline { text-decoration: underline; }

.footer .columns .socials { flex-grow: 1; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; margin-top: 20px; }
.footer .columns .socials ul { display: flex; flex-wrap: wrap; width: 100%; list-style: none; }
.footer .columns .socials ul li { margin: 20px 20px 0 0; }
.footer .columns .socials ul li:last-child { margin-right: 0; }
.footer .columns .socials ul li a { transition: color 0.2s ease-in-out; color: var(--s-900); font-size: 30px; }
.footer .columns .socials ul li a:hover { color: var(--s-900-t70); }

.footer .columns .form-container { padding: 5px 0 0 0; }
.footer .columns .form-container .form-item { width: 100%; padding: 5px 0; }
.footer .columns .form-container .form-item .checkbox-container { padding: 10px 0; }
.footer .columns .success { padding: 0; }
.footer .columns .success .outer { padding-bottom: 0; }
.footer .columns .success .inner { min-height: 228px; }

.footer .bottom-bar { align-items: center; padding: 20px 70px; border-top: 2px solid var(--s-900-t10); }
.footer .bottom-bar ul { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; text-align: center; }
.footer .bottom-bar ul li { margin: 10px; color: var(--s-900); font-size: 14px; font-weight: 400; line-height: 24px; }
.footer .bottom-bar ul li a { transition: color 0.2s ease-in-out; color: var(--s-900); }
.footer .bottom-bar ul li a:hover { color: var(--s-900-t70); }

.mobile-tip { display: flex; flex-wrap: nowrap; align-items: center; color: var(--s-900); font-size: 16px; font-weight: 400; line-height: 24px; }
.mobile-tip .icon { margin-left: 10px; }

.status { flex-shrink: 0; display: flex; box-sizing: border-box; width: 12px; height: 12px; border: 1px solid var(--s-900-t25); }
.status.green { background: var(--s-25); }
.status.orange { background: var(--s-800); }
.status.red { background: var(--s-900); }

.checkbox-container { display: flex; flex-wrap: nowrap; }
.checkbox-container input { display: none; }
.checkbox-container .checkbox { flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 24px; height: 24px; background: var(--s-25); border: 2px solid var(--s-900-t10); cursor: pointer; }
.checkbox-container .checkbox span { display: none; color: var(--s-25); font-size: 14px; }
.checkbox-container input.error + .checkbox { border-color: var(--red-25); }
.checkbox-container input:checked + .checkbox { background: var(--s-900); border-color: var(--s-900); }
.checkbox-container input:checked + .checkbox span { display: flex; }
.checkbox-container .checkbox-label { padding-left: 20px; color: var(--s-900); font-size: 16px; font-weight: 300; line-height: 24px; cursor: pointer; user-select: none; }
.checkbox-container .checkbox-label a { font-weight: 500; }

.input { box-sizing: border-box; width: 100%; height: 48px; padding: 0 16px; background: var(--s-25); border: 2px solid var(--s-900-t10); color: var(--s-900); font-size: 16px; font-weight: 400; line-height: 24px; }
.input:focus { border-color: var(--s-900-t20); }
.input.error { border-color: var(--red-25); }

.textarea { box-sizing: border-box; width: 100%; height: 144px; padding: 12px 16px; background: var(--s-25); border: 2px solid var(--s-900-t10); color: var(--s-900); font-size: 16px; font-weight: 400; line-height: 24px; resize: none; }
.textarea:focus { border-color: var(--s-900-t20); }
.textarea.error { border-color: var(--red-25); }

.button { transition: background 0.2s ease-in-out, color 0.2s ease-in-out; align-self: flex-start; flex-shrink: 0; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; box-sizing: border-box; padding: 10px 20px; background: var(--s-900); border: 2px solid var(--s-900); border-radius: 24px; color: var(--s-25); font-size: 14px; font-weight: 500; line-height: 24px; text-transform: uppercase; cursor: pointer; }
.button:hover { background: var(--s-900-t80); }

.button.small { padding: 6px 14px; border-radius: 20px; }

.button.white { background: var(--s-25); border-color: var(--s-900); color: var(--s-900); }
.button.white:hover { background: var(--s-900); color: var(--s-25); }

.button.black { background: var(--s-900); border-color: var(--s-25); color: var(--s-25); }
.button.black:hover { background: var(--s-25); color: var(--s-900); }

.button .icon { flex-shrink: 0; display: flex; margin-left: 10px; }
.button .icon.before { margin-left: 0; margin-right: 10px; }

.sticky-button { position: fixed; z-index: 1050; bottom: 20px; right: 20px; display: flex; }
.sticky-button a { transition: background 0.2s ease-in-out; display: flex; justify-content: center; align-items: center; width: 60px; height: 60px; background: #25D366; border-radius: 50%; color: var(--s-25); font-size: 30px; }
.sticky-button a:hover { background: #075E54; }

.sticky-navigation { display: flex; position: fixed; z-index: 1100; top: 360px; right: 0; padding: 10px; background: var(--s-25); box-shadow: 0px 4px 20px 0px var(--s-900-t25); }
.sticky-navigation ul { display: flex; flex-direction: column; align-items: center; width: 100%; }
.sticky-navigation ul li { display: flex; justify-content: center; align-items: center; position: relative; width: 30px; height: 30px; cursor: pointer; }
.sticky-navigation ul li button { transition: width 0.2s ease-in-out, height 0.2s ease-in-out, background 0.2s ease-in-out; display: flex; justify-content: center; align-items: center; width: 8px; height: 8px; background: var(--s-900-t25); border: 0; border-radius: 50%; cursor: pointer; }
.sticky-navigation ul li button .icon { display: none; color: var(--s-900); font-size: 20px; }
.sticky-navigation ul li:hover button { width: 10px; height: 10px; background: var(--s-900-t50); }
.sticky-navigation ul li.active button { width: 16px; height: 16px; background: var(--s-900); }
.sticky-navigation ul li .tooltip { display: none; position: absolute; top: 50%; right: 100%; transform: translateY(-50%); margin-right: 26px; padding: 6px 12px; background: var(--s-900); color: var(--s-25); font-size: 12px; font-weight: 600; line-height: 24px; text-transform: uppercase; text-align: center; white-space: nowrap; user-select: none; }
.sticky-navigation ul li .tooltip:after { content: ""; position: absolute; left: 100%; top: 50%; height: 0; width: 0; margin-top: -6px; border: 6px solid transparent; border-left-color: var(--s-900); pointer-events: none; }
.sticky-navigation ul li:hover .tooltip { display: flex; }

.cookie-modal { display: flex; flex-direction: column; position: fixed; z-index: 2000; bottom: 20px; left: 20px; box-sizing: border-box; width: 480px; max-width: calc(100% - 40px); padding: 40px; background: var(--s-900); }
.cookie-modal .headline { margin-bottom: 20px; color: var(--s-25); font-size: 36px; font-weight: 700; line-height: 48px; }
.cookie-modal .text { margin-bottom: 30px; color: var(--s-25); font-size: 16px; font-weight: 300; line-height: 28px; }
.cookie-modal .text a { color: var(--s-25); text-decoration: underline; }
.cookie-modal .buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.cookie-modal .buttons .link { color: var(--s-25); font-size: 14px; font-weight: 500; line-height: 24px; text-transform: uppercase; text-align: center; }

.modal { display: flex; flex-direction: column; justify-content: center; align-items: center; position: fixed; z-index: 1990; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-900-t25); overflow: auto; }
.modal-box { display: flex; flex-direction: column; box-sizing: border-box; width: 930px; max-width: 100%; max-height: 100%; padding: 20px; background: var(--s-25); }
.modal-box .modal-content { flex-grow: 1; display: flex; flex-direction: column; }
.modal-box .content { padding: 0 10px; }
.modal-box .title { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; width: 100%; padding: 10px 0; }
.modal-box .title h2 { color: var(--s-900); font-size: 36px; line-height: 48px; }
.modal-box .title h2 span { font-weight: 100; }
.modal-box .title .close { display: flex; align-items: center; min-height: 48px; color: var(--s-900); font-size: 36px; background: transparent; border: 0; cursor: pointer; }
.modal-box .success { padding-top: 20px; }

.success { display: none; width: 100%; padding: 50px 0 10px 0; }
.success .outer { display: flex; flex-direction: column; align-items: center; box-sizing: border-box; width: 100%; padding: 10px 0; }
.success .inner { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; box-sizing: border-box; width: 100%; min-height: 410px; padding: 40px; border: 2px solid var(--s-900-t10); }
.success .icon { margin-bottom: 20px; color: var(--s-900-t50); font-size: 60px; }
.success p { color: var(--s-900); font-size: 16px; font-weight: 300; line-height: 24px; }

.errors { display: flex; width: 100%; }
.errors ul { display: flex; flex-direction: column; width: 100%; list-style: none; }
.errors ul li { padding: 0 10px; color: var(--red-25); font-size: 16px; font-weight: 400; line-height: 24px; }

.fancybox-show-thumbs .fancybox-inner { right: 0; bottom: 104px; }
.fancybox-thumbs.fancybox-thumbs-x { top: auto; width: 100%; background: transparent; text-align: center; }
.fancybox-thumbs.fancybox-thumbs-x .fancybox-thumbs__list { display: inline-block; }
.fancybox-thumbs.fancybox-thumbs-x .fancybox-thumbs__list a::before { border: 3px solid var(--b-25); }

html[dir=rtl] .header .logo { margin-right: 0; margin-left: 40px; }
html[dir=rtl] .header .link { margin-right: 0; margin-left: 20px; }
html[dir=rtl] .page .title-2 .left .icon { margin-right: 0; margin-left: 20px; }
html[dir=rtl] .page .title-2 .right { padding-left: 0; padding-right: 20px; }
html[dir=rtl] .page table.table tr th { text-align: right; }
html[dir=rtl] .page table.table tr th[align="right"],
html[dir=rtl] .page table.table tr td[align="right"] { text-align: left; }
html[dir=rtl] .page table.table tr th:first-child,
html[dir=rtl] .page table.table tr td:first-child { padding-right: 0; padding-left: 10px; }
html[dir=rtl] .page table.table tr th:last-child,
html[dir=rtl] .page table.table tr td:last-child { padding-left: 0; padding-right: 10px; }
html[dir=rtl] .page table.table tr th { text-align: right; }
html[dir=rtl] .projects-overview .box .details .text:nth-child(2) { padding-left: 0; padding-right: 20px; }
html[dir=rtl] .team-overview .box .details ul li { margin-right: 0; margin-left: 10px; }
html[dir=rtl] .team-overview .box .details ul li:last-child { margin-left: 0; }
html[dir=rtl] .image-text-container .details { padding-left: 0; padding-right: 80px; }
html[dir=rtl] .image-text-container .details:first-child { padding-right: 0; padding-left: 80px; }
html[dir=rtl] .step-boxes .box { padding-right: 0; padding-left: 40px; }
html[dir=rtl] .data-container .details { padding-right: 0; padding-left: 180px; }
html[dir=rtl] .data-container .details .buttons .button { margin-right: 0; margin-left: 10px; }
html[dir=rtl] .data-container .details .buttons .button:last-child { margin-left: 0; }
html[dir=rtl] .form-container .form-button-item .item-sub:nth-child(2) { padding-left: 0; padding-right: 20px; }
html[dir=rtl] .project-header .specifications ul li .icon { margin-right: 0; margin-left: 20px; }
html[dir=rtl] .gallery-container .image:nth-child(odd):not(:last-child) { padding-right: 0; padding-left: 10px; }
html[dir=rtl] .gallery-container .image:nth-child(even) { padding-left: 0; padding-right: 10px; }
html[dir=rtl] .mobile-tip .icon { margin-left: 0; margin-right: 10px; transform: scaleX(-1); }
html[dir=rtl] .toggle-boxes .box { text-align: right; }
html[dir=rtl] .content-timeline .stages:nth-child(1) .item:first-child .row:last-child:after { left: auto; right: 0; }
html[dir=rtl] .content-timeline .stages:nth-child(1) .item:last-child .row:last-child:after { right: auto; left: 0; }
html[dir=rtl] .content-timeline .item.dummy-item .row:last-child:before { left: auto; right: 0; }
html[dir=rtl] .legend ul li .status { margin-right: 0; margin-left: 10px; }
html[dir=rtl] .footer .columns .socials ul li { margin-right: 0; margin-left: 20px; }
html[dir=rtl] .footer .columns .socials ul li:last-child { margin-left: 0; }
html[dir=rtl] .checkbox-container .checkbox-label { padding-left: 0; padding-right: 20px; }
html[dir=rtl] .button .icon { margin-left: 0; margin-right: 10px; }
html[dir=rtl] .button .icon.before { margin-right: 0; margin-left: 10px; }
html[dir=rtl] .sticky-navigation { right: auto; left: 0; }
html[dir=rtl] .sticky-navigation ul li .tooltip { right: auto; left: 100%; margin-right: 0; margin-left: 26px; }
html[dir=rtl] .sticky-navigation ul li .tooltip:after { left: auto; right: 100%; border-left-color: transparent; border-right-color: var(--s-900); }
html[dir=rtl] .fancybox-thumbs__list a { float: right; }

@media (max-width: 1918px) {
    .slider.slim { height: 36vw; }
    .image-text-container .slider { height: 36vw; }
}

@media (max-width: 1400px) {
    .content { padding-left: 40px; padding-right: 40px; }
    .counters-overview { padding-left: 30px; padding-right: 30px; }
    .icon-boxes { padding-left: 30px; padding-right: 30px; }
    .projects-overview { padding-left: 30px; padding-right: 30px; }
    .articles-overview { padding-left: 30px; padding-right: 30px; }
    .team-overview { padding-left: 20px; padding-right: 20px; }
    .image-text-container .details { min-width: 500px; padding-left: 40px; }
    .social-gallery { padding-left: 30px; padding-right: 30px; }
    .data-container .details { padding-right: 40px; }
    .form-container.content { padding-left: 30px; padding-right: 30px; }
    .footer .columns { padding-left: 35px; padding-right: 35px; }
    .footer .bottom-bar { padding-left: 30px; padding-right: 30px; }
    
    html[dir=rtl] .image-text-container .details { padding-right: 40px; }
    html[dir=rtl] .data-container .details { padding-left: 40px; }
}

@media (max-width: 1300px) {
    .icon-items .item { width: 50%; }
    .step-boxes .item { width: 50%; }
}

@media (max-width: 1140px) {
    .projects-overview .box { height: 44vw; }
    
    .social-gallery .item img { height: 36vw; }
}

@media (max-width: 1000px) {
    .content { padding-left: 10px; padding-right: 10px; }
    
    .header { height: 80px; }
    .header .inner { height: 80px; }
    .header .item { flex-grow: 0; }
    .header .item:first-child,
    .header .item:last-child { flex-basis: auto; }
    .header .item:first-child { flex-grow: 1; }
    
    .header .logo img { height: 26px; }
    
    .header .menu nav { display: none; justify-content: center; align-items: center; position: fixed; z-index: 1100; top: 0; left: 0; width: 100%; height: 100%; overflow-y: auto; background: var(--s-900); }
    .header .menu nav.visible { display: flex; }
    .header .menu nav ul { flex-direction: column; }
    .header .menu nav ul li { flex-direction: column; }
    .header .menu nav ul li a { font-size: 18px; line-height: 34px; }
    .header .menu nav ul li.mobile-only { display: flex; }
    
    .header .menu nav ul li .submenu { display: flex; position: relative; z-index: 1005; top: auto left: auto; min-width: 100%; padding: 0 0 20px 0; }
    .header .menu nav ul li .submenu ul { padding: 0; }
    .header .menu nav ul li .submenu ul li { justify-content: flex-start; }
    .header .menu nav ul li .submenu ul li a { font-size: 16px; line-height: 30px; text-align: left; }
    
    .header .menu .mobile-menu { display: flex; }
    .header .menu nav.visible + .mobile-menu .close { display: flex; }
    
    .header .link { display: none; }
    
    .hero img { height: 50px; }
    .hero .content h1 { font-size: 28px; line-height: 36px; }
    
    .video { height: 56vw; }
    
    .page { padding: 20px 0; }
    .page.background-1 { min-height: 60vw; }
    .page.background-2 { min-height: 60vw; }
    
    .page .title h1,
    .page .title h2 { font-size: 26px; line-height: 38px; }
    .page .title .item { gap: 10px; }
    
    .page.background-2 .title h1  { font-size: 26px; line-height: 38px; }
    .page.background-2 .title p { margin-top: 10px; font-size: 16px; line-height: 22px; }
    
    .page .title-2 .left h3 { font-size: 20px; line-height: 28px; }
    .page .title-2 .left .icon { min-width: 19.25px; margin-right: 10px; font-size: 22px; }
    .page .title-2 .right { font-size: 20px; line-height: 28px; }
    
    .page .title-3 { gap: 10px; padding-bottom: 10px; }
    .page .title-3 h1 { font-size: 26px; line-height: 34px; }
    .page .title-3 h2,
    .page .title-3 h3 { font-size: 20px; line-height: 28px; }
    
    .page .title + .text-container { padding-top: 10px; }
    .page .text-container h2 { margin: 20px 0 10px 0; font-size: 18px; line-height: 26px; }
    .page .text-container p { margin-bottom: 10px; font-size: 14px; line-height: 20px; }
    .page .text-container .button { margin-top: 5px; }
    
    .page .button-container { padding-top: 10px; }
    
    .page .table-container { max-height: 600px; }
    .page table.table tr th { padding-top: 5px; padding-bottom: 5px; font-size: 14px; line-height: 24px; }
    .page table.table tr td { padding-top: 10px; padding-bottom: 10px; font-size: 14px; line-height: 24px; }
    
    .page .content-box { margin-top: 10px; }
    
    .page .content-box-title.mobile-only + .content-box { margin-top: 0; }
    .page .content-box-title.mobile-only { display: flex; }
    
    .page .content-image { padding-bottom: 20px; }
    
    .counters-overview { padding: 10px 5px 0 5px; }
    .counters-overview .item { flex-grow: 1; flex-basis: 200px; width: auto; padding: 5px; }
    .counters-overview .box { padding: 20px; }
    .counters-overview .box .number { font-size: 50px; line-height: 64px; }
    .counters-overview .box .text { margin-top: 5px; font-size: 14px; line-height: 20px; }
    
    .icon-boxes { padding: 10px 5px 0 5px; }
    .icon-boxes:not(:first-child) { padding-top: 10px; }
    .icon-boxes .item { flex-grow: 1; flex-basis: 200px; width: auto; padding: 5px; }
    .icon-boxes .box { padding: 20px; }
    .icon-boxes .box .icon { font-size: 50px; }
    .icon-boxes .box .headline h3 { font-size: 14px; line-height: 20px; }
    
    .icon-items { padding: 10px 5px 0 5px; }
    .icon-items .item { flex-grow: 1; flex-basis: 200px; width: auto; padding: 25px; }
    .icon-items .item .icon { font-size: 50px; }
    .icon-items .item .text h3 { font-size: 18px; line-height: 26px; }
    .icon-items .item .text p { font-size: 14px; line-height: 20px; }
    
    .step-boxes { padding: 10px 5px 0 5px; }
    .step-boxes .item { flex-grow: 1; flex-basis: 360px; width: auto; padding: 5px; }
    .step-boxes .box { gap: 20px; padding: 20px 20px 20px 0; }
    .step-boxes .box .icon { width: 50px; height: 50px; font-size: 22px; }
    .step-boxes .box .text h3 { font-size: 14px; line-height: 26px; }
    .step-boxes .box .text h4 { font-size: 20px; line-height: 32px; }
    .step-boxes .box .text p { font-size: 15px; line-height: 28px, }
    
    .projects-overview { padding: 10px 5px 0 5px; }
    .projects-overview .item { flex-grow: 1; width: 50%; padding: 5px; }
    .projects-overview .box .logo { font-size: 26px; line-height: 30px; }
    
    .articles-overview { padding: 10px 5px 0 5px; }
    .articles-overview .item { flex-grow: 1; width: 50%; padding: 10px 5px; }
    .articles-overview .box { gap: 14px; }
    .articles-overview .box .image { height: 28vw; }
    .articles-overview .box .details { gap: 6px; }
    
    .team-overview { padding: 10px 5px 0 5px; }
    .team-overview .item { padding: 5px; }
    .team-overview .box .details { padding: 10px 0; }
    .team-overview .box .details h3 { font-size: 20px; line-height: 26px; }
    .team-overview .box .details span { margin-top: 0; font-size: 15px; line-height: 24px; }
    
    .image-text-container { flex-direction: column; }
    .title + .image-text-container { padding-top: 20px; }
    .image-text-container .image { order: 1; width: 100%; }
    .image-text-container .details { order: 2; align-items: center; width: 100%; min-width: 0; padding-left: 0; padding-top: 20px; text-align: center; }
    .image-text-container .details .logo { font-size: 26px; line-height: 30px; }
    .image-text-container .details .button { align-self: center; }
    
    .image-text-container .details:first-child { padding-right: 0; padding-top: 20px; }
    
    .image-text-container .slider { height: 56vw; }
    
    .image-text-container.style-2 .details { width: 100%; }
    
    .slider { height: 56vw; }
    .slider.slim { height: 56vw; }
    
    .social-gallery { padding: 10px 5px 0 5px; }
    .social-gallery .item { padding: 5px; }
    
    .data-container { flex-direction: column-reverse; }
    .data-container .details { width: 100%; padding-right: 0; padding-bottom: 20px; }
    .data-container .details .logo { font-size: 26px; line-height: 30px; }
    .data-container .details .buttons { margin-top: 10px; }
    
    .quote .text { font-size: 24px; line-height: 32px; }
    .quote .name { margin-top: 10px; font-size: 16px; line-height: 24px; }
    
    .form-container.content { padding-left: 5px; padding-right: 5px; }
    .form-container .form-item { padding: 5px; }
    .form-container .form-item .item-heading { margin-bottom: 5px; }
    
    .legend { padding-top: 5px; }
    
    .map-container { height: 70vw; }
    
    .project-header .logo { font-size: 28px; line-height: 36px; }
    .project-header .specifications ul { gap: 20px; }
    .project-header .specifications ul li .icon { margin-right: 10px; font-size: 20px; }
    .project-header .specifications ul li .text .value { font-size: 16px; line-height: 24px; }
    .project-header .specifications ul li .text .name { font-size: 14px; line-height: 20px; }
    
    .gallery-container { padding: 0; }
    .gallery-container .image:nth-child(odd):not(:last-child) { padding-right: 5px; }
    .gallery-container .image:nth-child(even) { padding-left: 5px; }
    
    .accordion { padding-top: 10px; }
    .accordion .item { padding: 5px 0; }
    .accordion .box .headline { gap: 20px; padding: 14px 20px; }
    .accordion .box .headline h3 { font-size: 18px; line-height: 26px; }
    .accordion .box .headline .arrow { font-size: 20px; }
    .accordion .box .text-container { padding: 0 20px 20px 20px; }
    
    .accordion.style-2 { padding: 20px 0 10px 0; }
    .accordion.style-2 .box .headline { padding: 20px; }
    .accordion.style-2 .box .headline h3 { font-size: 18px; line-height: 26px; }
    .accordion.style-2 .box .headline .arrow { font-size: 16px; }
    
    .toggle-boxes .box { gap: 20px; padding: 20px; }
    .toggle-boxes .box .icon { min-height: 26px; font-size: 22px; }
    .toggle-boxes .box .text .headline h4 { font-size: 18px; line-height: 26px; }
    .toggle-boxes .box .text .info p { font-size: 14px; line-height: 24px; }
    .toggle-boxes .box .arrow { min-height: 26px; font-size: 16px; }
    
    .project-header { min-height: calc(100vh - 140px); }
    
    .stages-container { padding: 20px 0; }
    
    .stages-timeline-container .stage-item { gap: 20px; }
    .stages-timeline-container .stage-item .headline h3 { font-size: 18px; }
    .stages-timeline-container .stage-item .date { margin-top: 0; font-size: 14px; line-height: 20px; }
    .stages-timeline-container .stage-item .progress { margin-top: 14px; }
    .stages-timeline-container .stage-item .number { min-width: 40px; min-height: 40px; padding: 4px 10px; font-size: 20px; line-height: 26px; }
    
    .stages-gallery-container .stage-item { padding-bottom: 14px; }
    .stages-gallery-container .stage-item .headline h3 { font-size: 18px; }
    .stages-gallery-container .stage-item .images { gap: 8px; }
    
    .content-timeline .item .headline h3 { font-size: 16px; line-height: 20px; }
    .content-timeline .item .date { font-size: 15px; line-height: 22px; }
    
    .footer .columns { flex-wrap: wrap; padding: 20px 5px; }
    .footer .columns .item { flex-basis: 50%; align-items: center; box-sizing: border-box; }
    .footer .columns .headline { justify-content: center; text-align: center; }
    .footer .columns .list ul { align-items: center; text-align: center; }
    .footer .columns .logo { margin-bottom: 20px; }
    .footer .columns .logo img { height: 24px; }
    .footer .columns .language { margin-top: 20px; }
    .footer .columns .headline h5 { font-size: 14px; line-height: 20px; }
    .footer .columns .list ul { gap: 5px; }
    .footer .columns .list ul li { font-size: 14px; line-height: 20px; }
    .footer .columns .socials { margin-top: 10px; }
    .footer .columns .socials ul { justify-content: center; }
    .footer .columns .socials ul li { margin: 10px 10px 0 10px; }
    .footer .columns .socials ul li:last-child { margin-right: 10px; }
    .footer .columns .socials ul li a { font-size: 20px; }
    
    .footer .bottom-bar { padding: 10px 5px; }
    .footer .bottom-bar ul li { margin: 2.5px 5px; }
    
    .checkbox-container .checkbox-label { padding-left: 10px; }
    
    .sticky-navigation { position: sticky; top: auto; bottom: 0; box-sizing: border-box; width: 100%; padding: 15px; }
    .sticky-navigation ul { flex-direction: row; flex-wrap: nowrap; justify-content: space-evenly; align-items: stretch; }
    .sticky-navigation ul li button { width: auto; height: auto; background: transparent; border-radius: 0; }
    .sticky-navigation ul li:hover button,
    .sticky-navigation ul li.active button { width: auto; height: auto; background: transparent; }
    .sticky-navigation ul li button .icon { display: flex; }
    .sticky-navigation ul li:hover .tooltip { display: none; }
    
    .sticky-button { bottom: 10px; right: 10px; }
    .sticky-button.push-up { bottom: 70px; }
    
    .cookie-modal { bottom: 0; left: 0; width: 100%; max-width: 100%; padding: 20px; }
    .cookie-modal .headline { margin-bottom: 10px; font-size: 24px; line-height: 32px; }
    .cookie-modal .text { margin-bottom: 20px; font-size: 14px; line-height: 22px; }
    .cookie-modal .buttons { gap: 10px; }
    
    .modal-box { width: 100%; height: 100%; }
    .modal-box .modal-content { overflow: auto; }
    .modal-box .title h2 { font-size: 26px; line-height: 38px; }
    .modal-box .title .close { min-height: 38px; font-size: 26px; }
    
    html[dir=rtl] .page .title-2 .left .icon { margin-left: 10px; }
    html[dir=rtl] .image-text-container .details { padding-right: 0; }
    html[dir=rtl] .image-text-container .details:first-child { padding-left: 0; }
    html[dir=rtl] .step-boxes .box { padding-left: 20px; }
    html[dir=rtl] .data-container .details { padding-left: 0; }
    html[dir=rtl] .gallery-container .image:nth-child(odd):not(:last-child) { padding-left: 5px; }
    html[dir=rtl] .gallery-container .image:nth-child(even) { padding-right: 5px; }
    html[dir=rtl] .footer .columns .socials ul li { margin: 10px 10px 0 10px; }
    html[dir=rtl] .footer .columns .socials ul li:last-child { margin-left: 10px; }
    html[dir=rtl] .checkbox-container .checkbox-label { padding-right: 10px; }
}

@media (max-width: 600px) {
    .form-container .form-item { width: 100%; }
    .form-container .form-button-item { flex-direction: column; align-items: flex-start; }
    .form-container .form-button-item .item-sub { width: 100%; }
    .form-container .form-button-item .item-sub:nth-child(2) { padding-left: 0; padding-top: 10px; }
    .form-container .form-button-item .checkbox-container { padding-top: 10px; padding-bottom: 10px; }
    .form-container .form-button-item .button { width: 100%; }
    
    html[dir=rtl] .form-container .form-button-item .item-sub:nth-child(2) { padding-right: 0; }
}

@media (max-width: 600px) {
    .page .title-2 { flex-direction: column; align-items: center; }
    .page .title-2 .left h3 { text-align: center; }
    .page .title-2 .right { padding-left: 0; text-align: center; }
    
    .projects-overview .item { width: 100%; }
    .projects-overview .box { height: 264px; }
    
    .articles-overview .item { width: 100%; }
    .articles-overview .box .image { height: 52vw; }
    
    .social-gallery .item { width: 50%; }
    .social-gallery .item img { height: 140px; }
    
    .footer .columns .item { flex-basis: 100%; }
}

@media (max-width: 300px) {
    .social-gallery .item { width: 100%; }
}

@media (max-height: 600px) {
    .modal-box .modal-content { overflow: auto; }
}