/* normalize */
html { font-family: sans-serif; line-height: 1.15; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { background-color: transparent; }
a:active, a:hover { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
dfn { font-style: italic; }
mark { background: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border-style: none; }
svg:not(:root) { overflow: hidden; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { overflow: auto; font-family: monospace, monospace; font-size: 1em; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; border-radius: 0;}
select { border-radius: 0;}
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box; border-radius: 0; -webkit-appearance: none !important; cursor:pointer;}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
input[type="submit"]{-webkit-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s;}
legend { border: 0;  padding: 0; }
textarea { overflow: auto; }
optgroup { font-weight: bold; }
table { border-collapse: collapse; border-spacing: 0;}
td, th { padding: 0; }
::-moz-selection {background: #b7e6f8; text-shadow: none; }
audio, canvas, iframe, svg, video { vertical-align: middle; }
img { vertical-align: top; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { resize: vertical; }
.hidden, .invisible { display: none !important; }
.clearfix:before, .clearfix:after { content: " ";  display: table; }
.clearfix:after, .clear { clear: both; }
/* nur safari */
* {-webkit-tap-highlight-color: rgba(0,0,0,0);}
svg:not(:root) { overflow: hidden; }

/* allgemein */
* { margin:0; padding:0; border:0; }
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html,body { height:100%; width:100%; }
html { font-size:100%; scroll-behavior: smooth; }
a {text-decoration:none; transition:all 0.3s ease-out; display:inline-block; }
a:hover {color:#000;}
*:focus  { outline: 0; }
ul, ol { margin: 0; padding: 0 ; }
nav ul { list-style: none; list-style-image: none; }
.content-text ul {list-style-type: square;}
.content-text ul li {margin-left:15px;}
.transit, input.submit, a img, a h2 { transition:all 0.3s ease-out;}

/* fonts */
@font-face {font-display: swap; font-family: 'test_the_futurebold'; font-style: normal; src: url('../../files/system/css/fonts/the-future-bold.woff2') format('woff2'); }
/* istok-web-regular */
@font-face { font-display: swap; font-family: 'Istok Web'; font-style: normal; font-weight: 400; src: url('../../files/system/css/fonts/istok-web-v24-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Istok Web'; font-style: italic; font-weight: 400; src: url('../../files/system/css/fonts/istok-web-v24-latin-italic.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Istok Web'; font-style: normal; font-weight: 700; src: url('../../files/system/css/fonts/istok-web-v24-latin-700.woff2') format('woff2'); }

@font-face { font-family: 'icons'; src:  url('../../files/system/css/fonts/icons.eot'); src:  url('../../files/system/css/fonts/icons.eot#iefix') format('embedded-opentype'), url('../../files/system/css/fonts/icons.ttf') format('truetype'),     url('../../files/system/css/fonts/icons.woff') format('woff'), url('../../files/system/css/fonts/icons.svg') format('svg'); font-weight: normal; font-style: normal; font-display: block; }
[class^="icon-"], [class*=" icon-"], .icon { font-family: 'icons' !important; speak: never; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1;   -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.icon-about:before { content: "\e900"; }
.icon-arrow:before { content: "\e901"; }
.icon-backlogo1:before { content: "\e902"; }
.icon-backlogo2:before { content: "\e903"; }
.icon-bricks:before { content: "\e904"; }
.icon-commercial:before { content: "\e905"; }
.icon-commercial2:before { content: "\e906"; }
.icon-contact:before { content: "\e907"; }
.icon-education:before { content: "\e908"; }
.icon-education2:before { content: "\e909"; }
.icon-home:before { content: "\e90a"; }
.icon-hospital:before { content: "\e90b"; }
.icon-hospital2:before { content: "\e90c"; }
.icon-image-arrow:before { content: "\e90d"; }
.icon-image-arrow2:before { content: "\e90e"; }
.icon-jobs:before { content: "\e90f"; }
.icon-logo:before { content: "\e910"; }
.icon-logo2:before { content: "\e911"; }
.icon-mobility:before { content: "\e912"; }
.icon-mobility2:before { content: "\e913"; }
.icon-news:before { content: "\e914"; }
.icon-pencils:before { content: "\e915"; }
.icon-people:before { content: "\e916"; }
.icon-pizza:before { content: "\e917"; }
.icon-privat:before { content: "\e918"; }
.icon-privat2:before { content: "\e919"; }
.icon-projects:before { content: "\e91a"; }
.icon-residental:before { content: "\e91b"; }
.icon-residental2:before { content: "\e91c"; }
.icon-xmprdo:before { content: "\e91d"; }

/* root */ 
:root {	
	--padding45:0 45px;
	--padding85:0 85px;
	--margin_top120:120px;
	--margin_top160:160px;
	--padding_intro:0 45px 0 85px;
   	--grey:#1A1D1F;
	--hover:#ccc;
	--black:#000000;
}
a {color:#000; }
body {color:#000; background:#fff; font-family: "Istok Web", sans-serif; font-size:.875rem; line-height:1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;	font-smoothing: antialiased; }
.wrapper { width: 100%; min-height: 100vh;}
body.nav_active {overflow:hidden;}
b, strong, .bold { font-weight: "700"; }
.wide {max-width:1610px; margin:0 auto; position:relative; padding:var(--padding45); }
.center {max-width:1610px; margin:0 auto; position:relative; padding:var(--padding45); }
.center_intro {max-width:1610px; margin:0 auto; position:relative; padding:var(--padding_intro); }
.hidden { display: none; }
.padding144 {padding:var(--padding144);}
.margin120 {margin-top:var(--margin_top120);}

h1 { font-family:'test_the_futurebold'; font-size: 4.5rem;  text-transform:uppercase; }
h2 { font-family:'test_the_futurebold'; font-size: 3rem;  text-transform:uppercase; margin-bottom:48px;}
h3, h2.h3 { font-family: 'Istok Web'; font-size:1.5rem; font-weight:400; text-transform:uppercase; }
h4 { font-family: 'Istok Web';font-size:2rem; font-weight:400; font-weight: 700; }

/* header */
header {position:fixed; z-index:100; top:0; width:100%; height:100px; transition: transform .5s .01s ease-in-out; padding-top:40px; background:#fff; }
header .logo:hover {transform: scale(1.075);}
header .logo {position:relative; float:left; cursor:pointer; margin-right:60px; padding:8px 0; top:-8px; -webkit-transition: all 0.4s; transition: all 0.4s;}
header .logo:before {position:absolute; top:33px; left:29px; content: ""; width:5px; height:5px; background:#000; -webkit-transition: all 0.4s; transition: all 0.4s;}
header .logo:after {position:absolute; top:0; left:94px; content: ""; width:5px; height:5px; background:#000; -webkit-transition: all 0.4s; transition: all 0.4s;}
header .logo:hover:before {top:0; left:47px;}
header .logo:hover:after {top:33px; left:77px;}
.down header { transform: translate3d(0, -100px, 0); }
.up header { transform: translate3d(0, 0, 0); background:#fff; box-shadow: 0px 0px 8px 2px rgba(0,0,0,.1);}

/* navigation */
.navigation {float:left;  }
.navigation .menu { font-size:1rem; line-height:1.1; font-weight:700; padding-top:8px; }
.navigation .menu a {position:relative; padding-right:25px;}
.navigation .menu a:before { content: ""; position: absolute; z-index:-1; width:0%; height:2px; bottom: 0px; right: 25px; background-color:#000; visibility: hidden; transition: all 0.25s ease-in-out 0s;  }
.navigation .menu a:hover:before, .navigation .menu .trail a:before {width:calc(100% - 25px); visibility: visible;}
.navigation .menu li {display:inline; margin-left:56px;}
.navigation .menu li:first-child {margin-left:0;}
.navigation .menu li span {position:relative; padding-right:25px; display:inline-block;}
.navigation .menu li span:before { content: ""; position: absolute; z-index:-1; height:2px; bottom: 0; right: 25px; background-color:#000; width:calc(100% - 25px); visibility: visible; transition: all 0.25s ease-in-out 0s;  }
.navigation .menu li a:after, .navigation .menu li span:after {content: ""; font-family: 'icons'; position: absolute; right:0; font-size:.85rem;}
.navigation .menu li.about a:after, .navigation .menu li.about span:after {content: url('../../files/system/images/icons/about.svg'); width:15px; top:-2px;}
.navigation .menu li.projects a:after, .navigation .menu li.projects span:after {content: url('../../files/system/images/icons/projects.svg'); width:18px; top:-9px;}
.navigation .menu li.jobs a:after, .navigation .menu li.jobs span:after {content: url('../../files/system/images/icons/jobs.svg'); width:14px; top:-2px;}
.navigation .menu li.news a:after, .navigation .menu li.news span:after {content: url('../../files/system/images/icons/news.svg'); width:15px; top:-2px;}
.navigation .menu li.contact a:after, .navigation .menu li.contact span:after {content: url('../../files/system/images/icons/contact.svg'); width:16px; top:-1px;}

.mod_changelanguage {position:absolute; right:45px; top:5px; font-size:.9rem;}
.mod_changelanguage li {display:inline; margin-left:6px;}
.mod_changelanguage li.active, .mod_changelanguage li a:hover {font-weight:700;}

/* hamburger mobile */
.hamburger { position:absolute;  z-index:100; right:36px; top:2px; width:42px; height:42px; display:none; cursor: pointer; background:transparent; -webkit-transition: all 0.4s; transition: all 0.4s;}
.hamburger:hover {}
.hamburger .line { display: block; background: #000; width:42px; height: 4px; position: absolute; left: 0; -webkit-transition: all 0.4s; transition: all 0.4s;}
.hamburger .line.line-1 { top: 0px;left:0px;}
.hamburger .line.line-3 {top: 14px;left:0px;}
.hamburger.active .line-1 {  transform: translateY(7px) translateX(0) rotate(45deg); }
.hamburger.active .line-3 {  transform: translateY(-7px) translateX(0) rotate(-45deg); }

/* main */
main {position:relative; z-index:2; padding-top:120px;}
img {max-width:100%; height:auto;}

.fade_in { opacity: 0; transition:all .5s ease-out;}
.fade_in_slow { opacity: 0; transition:all .5s ease-out .75s;}
.fade_out { opacity: 1; transition:all .5s ease-out;}
.fade_left { transition:all .5s ease-out; transform: translateX(-10px); opacity: 0; }
.fade_right { transition:all .5s ease-out; transform: translateX(10px); opacity: 0; }
.fade_up { transition:all .5s ease-out; transform: translateY(10px); opacity: 0; }
.show.fade_in, .show.fade_in_slow, .show.fade_left, .show.fade_right, .show.fade_up { transform: translate(0px,0px) scale(1.0) rotate(0deg)!important; opacity: 1!important; }
.show.fade_out { opacity: 0!important; }

/* footer */
footer {background:#000; color:#fff; padding:50px 0 75px; margin-top:var(--margin_top120);}
.addresses {display: flow-root; margin:60px 0;}
footer .address {float:left; margin-right:36px;}
footer a, footer a:hover { color:#fff;}
footer a:hover { text-decoration:underline;}
nav.legal li {display:inline;}
nav.legal li:first-child { padding-right:5px;}
nav.legal li:first-child:after {content:"/"; margin-left:5px;}
.footer-logo {position:absolute; right:45px; bottom:0px; -webkit-transition: all 0.4s; transition: all 0.4s;}
.footer-logo:hover {transform: scale(1.075);}
.footer-logo:before {position:absolute; top:58px; left:69px; content: ""; width:10px; height:10px; background:#fff; -webkit-transition: all 0.4s; transition: all 0.4s;}
.footer-logo:after {position:absolute; top:-17px; left:224px; content: ""; width:10px; height:10px; background:#fff; -webkit-transition: all 0.4s; transition: all 0.4s;}
.footer-logo:hover:before {top:-17px; left:111px;}
.footer-logo:hover:after { top:58px; left:181px; }

.mobile_transparent_menu {position:fixed; top:0; left:0; width:100%; height:100%; z-index:90; background:rgba(0,0,0,.75); display:none;}
.nav_active .mobile_transparent_menu { display:block;}

/* responsive schnickschnack */
/* nav break */
@media (min-width: 1280px) {
	body {font-size:.875rem; }	
}
@media (max-width: 1280px) {
	:root {	
		--margin_top160:120px;
	}
}
@media (max-width: 1024px) {
	.navigation .menu li {margin-left:36px;}
	
}
@media (max-width: 961px) { 
	:root {	
		--padding45:0 36px;	
		--padding85:0 36px;	
	}
	header { height:80px; padding-top:30px; }
	.hamburger {display:block; }
	.navigation {position:fixed; float:none; z-index:90; top:0; right:-201px; width:200px; padding:70px 24px 48px; background:#fff; font-size:1.5rem; -webkit-transition:all 0.5s ease-out;  transition:all 0.5s ease-out; }
	.navigation.is-active { right:0;}
	.navigation .menu li {display:block; margin:20px 0;}
	.mod_changelanguage {position:relative; right:auto; top:25px; font-size:.9rem;}
	.mod_changelanguage li {margin:0 6px 0 0;}
	h1 {font-size: 4rem;}
}
@media (max-width: 800px) {
	h1 {font-size: 3.5rem;}
	h2 {font-size: 2.5rem; margin-bottom:36px;}
}

@media (max-width: 600px) { 	
	:root {
		--padding45:0 21px;
		--padding85:0 21px;
		--margin_top120:80px;
		--margin_top160:80px;
	}
	.hamburger {right:21px; }
	h1 { font-size: 3rem; }
	.mod_newsreader h1 {font-size: 2.5rem;}
	h2 { font-size: 2rem; }
	h3 { font-size:1.375rem; }
	.footer-logo {position:relative; right:auto; left:-35px; bottom:auto; margin-top:60px; transform: scale(.75);}
	.footer-logo:hover {transform: scale(.75);}
}
@media (max-width: 500px) { 
	
}
@media (max-width: 400px) { 
	h1 {font-size: 2.5rem;}
	h2 {font-size: 1.75rem;}
}
@media (max-height:500px) and (orientation: landscape) {

} 
/* print */
@media print {
	body {font-size:0.9em;}
	header, footer {display:none;}
	.print_button {display:none !important;}
	.print {visibility:visible;}
    *, *:before, *:after, *:first-letter, *:first-line { background: transparent !important;color: #000 !important; box-shadow: none !important; text-shadow: none !important; }
    a,a:visited { text-decoration: underline;}
    a[href]:after {content: " (" attr(href) ")"; }
    abbr[title]:after {content: " (" attr(title) ")";}
	a[href^="#"]:after, a[href^="javascript:"]:after {  content: ""; }
    pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
    thead { display: table-header-group;}
    tr,img {page-break-inside: avoid;}
    img {max-width: 100% !important; }
    p,h2,h3 {orphans: 3;widows: 3;}
    h2, h3 {page-break-after: avoid;}
}
/* all */
a.button, button.submit {font-weight:700; padding:10px 25px; border:2px solid #000; text-decoration:none !important;}
a.button:hover, button.submit:hover {background:#000; color:#fff;}
a.arrow {position:relative; font-weight:700;}
a.arrow:after {position:relative; font-family: 'icons'; content: "\e901"; margin-left:10px; top:0px; font-size:.75rem; -webkit-transition: all 0.4s; transition: all 0.4s;}
a.arrow:hover:after {margin-left:20px;}

main .content-text a { text-decoration:underline; }
main .content-text a:hover {text-decoration:none;}

/* home */
.intro_inner {display:grid; grid-template-columns:75% 25%; gap:24px; width:calc(100% - 24px); }
.project_link {position:relative; padding-bottom:24px;}
.project_link img {position:relative; width:100%; height:auto; -webkit-transition: all 0.4s; transition: all 0.4s;}
.project_link:hover img {width:calc(100% + 16px); max-width:calc(100% + 16px);}
.project_link .title {position:absolute; top:16px; left:10px;max-width:calc(100% - 20px); }
.project_link h3 { display:inline-block; font-size:1.375rem; background:#fff; padding:3px 40px 1px 3px; text-transform:none; -webkit-transition: all 0.4s; transition: all 0.4s;} 
.no-touchevents .project_link:hover h3 {font-weight:700; padding:3px 50px 1px 3px;}
.project_link h3:after {position:absolute; right:10px; top:10px; content: "\e90d"; font-family: 'icons'; font-weight:400; font-size:.6rem;}
.no-touchevents .project_link:hover h3:after {content: "\e90e"; font-weight:400; font-size:.6rem; top:10px;}

.welcome {position:relative; min-height:500px; display: flow-root;}
.welcome-text {position:relative; z-index:1; padding-top:170px; }
.welcome .big { position:absolute; top:70px; right:0; width:50%; height:auto; aspect-ratio:1/1; overflow:hidden;}
.welcome .big img { position:absolute; width:100%; height:100%; object-fit: cover;}
.welcome h1 {position:relative; top:160px; display:inline; z-index:10; background:#fff; line-height:1.3; padding:0px 15px 0 0; }
.welcome-text {width:50%; padding-right:16px; margin-top:20px;}
.latest_project a {}

.services-box {margin-top:var(--margin_top160);}
.xxxservices {display:grid; grid-template-columns: repeat(3, 1fr); gap:96px 72px; align-items: stretch; }
.services { position:relative; }
.service { position:relative; text-align:center; float:left; width:29%; margin-right:5%; }
.services .service:nth-child(3){ margin-right:0;}
.services .service:nth-child(4) {margin-left:17.5%; margin-top:80px;}
.services .service:nth-child(5) {margin-top:80px;}
.service p {padding:0 50px; margin-top:10px;}
.service-image {position:relative; height:80px; margin-bottom:16px;}
.service-image img {position:absolute; bottom:0; left:50%; margin-left:-30px; -webkit-transition: all 0.4s; transition: all 0.4s;}
.commercial .service-image img {margin-left:-37px;}
.service-image .img1 {opacity:1;}
.service-image .img2 {opacity:0;}
.service:hover .service-image .img1 {opacity:0;}
.service:hover .service-image .img2 {opacity:1;}

.all-projects {margin:48px 0; position:relative;}
.index .all-projects .project_link:nth-child(1) {padding-top:500px;}
.index .all-projects .project_link:nth-child(2) {padding-top:320px;}
.index .all-projects .project_link:nth-child(3) {padding-top:150px;}
.index .all-projects .project_link:nth-child(1) .title {top:516px;}
.index .all-projects .project_link:nth-child(2) .title {top:336px;}
.index .all-projects .project_link:nth-child(3) .title {top:166px;}

.figures {display:grid; grid-template-columns: repeat(4, 1fr); gap:96px 56px; font-size: 1rem;}
.figures .number {font-family: "test_the_futurebold"; font-size: 4rem; font-weight: 700; line-height:1;}
.figures .category {font-family: "test_the_futurebold"; font-size: 3rem; font-weight: 700; line-height:1;}
.figure {position:relative; padding-top:80px;}
.figure:after { position:absolute; z-index:-1; top:-80px; font-family: 'icons'; font-size:180px; color:#e6e6e6;}
.figure1:after {content: "\e916"; top:-50px; left:70px;}
.figure2:after {content: "\e917"; top:-120px; right:auto; left:-30px; font-size:220px;}
.figure3:after {content: "\e915"; right:auto; left:-70px;}
.figure4:after {content: "\e904"; top:-60px;}
.figure2 {margin-top:20px;}
.figure2 {margin-top:70px;}
.figure4 {margin-top:90px;}

/* about */
.intro {position:relative; }
.intro .big { position:absolute; right:0; width:48%; top:0; height:auto; aspect-ratio:1/1; overflow:hidden;}
.intro .big img {position:absolute; width:100%; height:100%; object-fit:cover; }
.intro h1 {position:relative; top:150px; display:inline; z-index:10; background:#fff; line-height:1.3; padding:0px 15px 0 0; }
.intro-text {position:relative; top:180px; z-index:1; width:50%; padding-right:16px; }
.intro_links {margin-top:48px;}
.intro_links a.arrow {margin-left:24px; text-decoration:none !important; }
.intro .small { position:relative; width:22%; height:auto; aspect-ratio:1/1; overflow:hidden; margin-top:140px; margin-left:28%;}
.intro.no_links .small{margin-top:220px;}
.intro .small img { position:absolute; width:100%; height:100%; object-fit:cover;}
.values { display: grid; grid-template-columns: auto 50%; gap: 96px;}

.all-team {display:grid; grid-template-columns: repeat(3, 1fr); gap:16px;}
.team {position:relative;}
.team .image { position:relative; width:100%; height:auto; aspect-ratio:4/3; overflow:hidden;}
.team .image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit: cover; transition: all 0.4s; transition: all 0.4s;}
.team .image img.team1 {opacity:1;}
.team .image img.team2 {opacity:0;}
.team_name {position:absolute; bottom:0px; padding:16px; opacity:1; transition: all 0.4s;}
.team_name h3 {display:inline; background:#fff; font-size:1.5rem; font-weight:700; font-family:'test_the_futurebold'; padding:5px 5px 0; text-transform:none;}
.team_name .position {font-size:1rem; padding-left:5px;}
.team_hover { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.5); opacity:0; transition: all 0.4s;}
.team_hover .description {position:absolute; bottom:0px; padding:21px; color:#fff; font-size:1rem;  }
.team:hover .image img.team1 {opacity:0;}
.team:hover .image img.team2 {opacity:1;}
.XXXteam:hover .team_name {opacity:0;}
.XXXteam:hover .team_hover {opacity:1;}

/* project */
.project-data {display:grid; grid-template-columns: repeat(5, 1fr); gap:24px; align-items: stretch; margin:100px 0; }
.project-data h3 {margin-bottom:10px;}
.project-data p {font-size:1rem; font-weight:700; color:#4E4E4E;}
.project-description div.content-text {margin-bottom:48px;}
.project-description div.full-image {margin-bottom:68px;}
.project-description h2 {margin-bottom:16px; line-height:1.2;}
.project-description .content-text {display: flow-root;}

.media--right figure {float:right; margin:0 0 20px 30px;}
.media--right figure img {max-width:620px;}
.media--left figure {float:left; margin:0 30px 20px 0;}
.values.media--left figure {float:none; margin:0;}
.media--left figure img {max-width:620px;}
.values.media--left figure img {max-width:100%; width:100%;}
.full-image {width:calc(100% + 170px); margin-left:-85px;}
.full-image img {width:100%; height:auto;}

/* jobs */
.all-jobs .button {margin-top:36px;}
.joblinks a {display:block; position:relative; border:2px solid #000; margin-bottom:16px; padding:16px 0 16px 20px;}
.joblinks a h3 {  font-size:1.25rem; font-weight:700; text-transform:none; padding-right:100px; }
.joblinks a .more { position:absolute; right:20px; top:0; padding-right:40px; font-weight:700; line-height:64px; }
.joblinks a .more:after {position:absolute; font-family: 'icons'; content: "\e901"; font-weight:700; right:10px; top:-1px; font-size:.8rem; -webkit-transition: all 0.4s; transition: all 0.4s;}
.joblinks a:hover .more:after {right:0px;}
.more-job-list {display:none;}
.job-description {margin-top:40vw; max-width:680px;}
.job-description h3 {margin-bottom:16px;}
.intro.job-offer .intro-text h2 {margin-bottom:0; display:inline; background:#fff; padding:0 10px 0 0;}
.mod_form {margin-top:80px; width:350px;}
input, textarea, select {border-bottom:2px solid #000; width:100%; min-height:40px;}
textarea {padding-top:15px;}
::placeholder { color: #4E4E4E; }
.widget-textarea label, .widget-text label {display:none;}
.widget-upload {margin-top:20px;}
.widget-upload label {position:relative; font-weight:700; line-height:30px; padding-right:25px;}
.widget-upload label:after { position:absolute; right:0; top:-4px; content:url(../../files/system/images/upload.png); width:20px; height:15px; }
.widget-upload input { border-bottom:none; min-height:auto; color:#666; }
button.submit {margin-top:36px; background:transparent;}
input::file-selector-button {padding:10px 20px; border:2px solid #000; background:transparent; cursor:pointer;}
input::file-selector-button:hover {background:#666; border:2px solid #666; color:#fff;}
.widget-select, .widget-checkbox {position:relative;}
.widget-select {border-bottom:2px solid #000;}
.widget-select label { display:none;}
.widget-select.active label {color: #fff;}
.widget-select select { position:relative; display: block; padding: 0; outline: none; background:transparent; border:0; left:-5px;}
.widget-select select{ color: #4E4E4E; }
select:has(option[value=""]:checked) { color: #4E4E4E; text-indent:-1px; padding:0px; outline: none; }
.widget-explanation {margin-top:36px;}
.widget-checkbox legend {display:none;}
.widget-checkbox input {float:left; }
.widget-checkbox label {left:0;}
.widget-explanation a:hover {text-decoration:underline;}

.checkbox_container {margin-top:10px;}
.checkbox_container span [type="checkbox"] + label { position: absolute; }
.checkbox_container span [type="checkbox"] { position: relative; width:20px; height:20px; min-height:20px; left: 0; top:0; z-index: 0; -webkit-appearance: none; border:2px solid #000; }
.checkbox_container span [type="checkbox"] + label::before { width: 20px; height: 20px; background-color: transparent; display: block; content: ""; float: left; margin-right: 5px; z-index: 5;   position: relative; }
input[type="checkbox"]:checked+label::before { background-color: #000; }

/* news */
.news-post {position:relative; margin-bottom:100px; display: flow-root;}
.news-post:last-child {margin-bottom:20px;}
.news-post:nth-child(odd) .news-image { float:left; margin:0 48px 20px 0; }
.news-post:nth-child(even) .news-image { float:right; margin:0 0 20px 48px;}
.news-image {width:33%;}
.news-image img {width:100%; height:auto;}
.news-post .headline {margin:10px 0;}
.news-post h2 { display:inline; margin:0; background:#fff; padding:0px 10px 0; line-height:1.2;}
.news-post:nth-child(even) h2 {padding:0;}
.news-post:nth-child(odd) .headline {position:relative; left:-20%; ;}
.new-info {text-transform:uppercase; margin-top:36px; display: flow-root; font-size:1rem;}
.news-date {float:left;}
.news-author {float:right;}

/* standard */
.content-left {float:left; width:60%;}
.content-right {float:right; width:35%;}
a.mail_us { color: #000; font-family:'test_the_futurebold'; font-size: 2rem; font-weight: 700; text-transform: uppercase; margin:48px 0; text-decoration:none; }
a.mail_us:hover {text-decoration:underline;}
.standard { background: url("../../files/system/images/back_logo.png") no-repeat; background-position: right 0; }
.content-right h2 {margin:7px 0 0;}
.ce_form {margin-top:80px; width:350px;}

@media (min-width: 1700px) { 
	.job-description {margin-top:640px; }
}
@media (min-width: 1400px) { 
	.index .xintro {padding-bottom:50px;}
}
@media (max-width: 1700px) { 
	.full-image {width:calc(100% + 90px); margin-left:-45px;}
}
@media (max-width: 1500px) { 
	.service p {padding:0;}
}
@media (max-width: 1200px) { 
	.index .all-projects .project_link:nth-child(1) {padding-top:300px;}
	.index .all-projects .project_link:nth-child(2) {padding-top:150px;}
	.index .all-projects .project_link:nth-child(3) {padding-top:0px;}
	.index .all-projects .project_link:nth-child(1) .title {top:316px;}
	.index .all-projects .project_link:nth-child(2) .title {top:166px;}
	.index .all-projects .project_link:nth-child(3) .title {top:16px;}
	.media--right figure img, .media--left figure img {max-width:45vw;}
	.service { width:49%; margin-right:0; padding:40px;}
	.services .service:nth-child(3){ margin-right:0;}
	.services .service:nth-child(4) {margin-left:0; margin-top:0;}
	.services .service:nth-child(5) {margin-top:0;}
}
@media (max-width: 1024px) { 
	.index .all-projects .project_link:nth-child(1) {padding-top:100px;}
	.index .all-projects .project_link:nth-child(2) {padding-top:0px;}
	.index .all-projects .project_link:nth-child(1) .title {top:116px;}
	.index .all-projects .project_link:nth-child(2) .title {top:16px;}
	.figures {display:grid; grid-template-columns: repeat(2, 1fr); }
	.figure3 {margin-left:70px;}
	.intro .small { left:-16px;}
	.values { display: grid; grid-template-columns: auto 60%; gap: 48px;}
	.all-team {display:grid; grid-template-columns: repeat(2, 1fr); gap:16px;}
	.project-data {display:grid; grid-template-columns: repeat(3, 1fr); gap:48px 24px; }
	.intro.job-offer .headline { position:relative; }
	.intro.job-offer .headline h1 {top:0;}
	.intro.job-offer .intro-text { top:24px;}
	.job-description {margin-top:35vw; }
}
@media (max-width: 960px) { 
	.intro_inner {display:block; width:100%;}
	.intro_inner .latest_project {display:none;}
	.welcome {padding-top:0;}
	.welcome h1 {top:0;}
	.welcome .big {position:relative; width:70%; float:right; top:-70px; right:-36px;}
	.intro .big { right:-36px; }
	.welcome-text {position:relative; float:left; width:100%; min-height:auto; padding:0; margin-top:-36px; }
	.welcome .content-text {width:100%; padding-right:0; margin-top:0px;}
	.intro .small { margin-left:40%; }
	.full-image {width:calc(100% + 72px); margin-left:-36px;}
	.service { width:100%; margin-right:0; padding:40px 20%;}
}
@media (max-width: 800px) { 
	.intro h1 {top:0px; }
	.intro .headline {position:absolute; top:0;}
	.intro .big { width:60vw; }
	.intro .small { position:absolute; width:35vw; margin:0 !important; left:-36px; top:40vw; }
	.intro-text { width:100%; margin:0; padding:50vw 0 180px;}
	.about .intro-text { padding:40vw 0 180px;}
	.intro.job-offer .intro-text {padding:0;}
	.job-description {margin-top:50vw; }
	.news-post:nth-child(odd) .news-image { float:left; margin:0 24px 10px 0; }
	.news-post:nth-child(even) .news-image { float:right; margin:0 0 10px 24px;}
	.content-left {float:none; width:100%;}
	.content-right {display:none;}
}
@media (max-width: 600px) {
	.welcome .big { top:-60px; right:-21px;}
	.intro .big { right:-21px; }
	.services {display:grid; grid-template-columns: repeat(1, 1fr); gap:48px 0; margin:20px 0 100px;padding:0 24px;}
	.service { padding:0;}
	.index .all-projects .project_link:nth-child(1) {padding-top:0px;}
	.index .all-projects .project_link:nth-child(1) .title {top:16px;}
	.all-projects {width:90%; left:5%;}
	.list-projects .button {margin-left:5%;}
	.figures {display:grid; grid-template-columns: repeat(1, 1fr); }
	.figure {text-align:center; margin-top:0;}
	.figure:after {left:40%; right:auto;}
	.figure2:after {left:20%; }
	.figure3:after {left:10%; }
	.figure3 {margin-left:0;}
	.values { display: block; }
	.values img { margin-bottom:48px; }
	.all-team {display:grid; grid-template-columns: repeat(1, 1fr); gap:16px;}
	.intro .small { display:block; left:-21px;}
	.intro-text { padding:30vw 0 180px;}
	.projects .intro-text { padding:40vw 0 180px;}
	.project-data {display:grid; grid-template-columns: repeat(2, 1fr); }
	.media--right figure, .media--left figure {float:none; margin:0 0 36px 0;}
	.float-right img {max-width:100%;}
	.media--right figure img, .media--left figure img {max-width:100%;}
	.full-image {width:calc(100% + 42px); margin-left:-21px;}
	.intro.job-offer .intro-text { width:calc(100vw - 42px); margin:0; padding:0; top:auto; position:relative; bottom:-48px;}

}
@media (max-width: 500px) {
	.intro-text { padding:30vw 0 180px;}
	.mod_newsreader .intro-text { padding:0 0 180px;}
	.about .intro-text { padding:15vw 0 180px;}
	.news-image {width:100%;}
	.news-post:nth-child(odd) .news-image { float:none; margin:0 0 24px 0; }
	.news-post:nth-child(even) .news-image { float:none; margin:0 0 24px 0;}
	.news-post:nth-child(odd) .headline {position:relative; left:0; width:100%;}
	.news-post h2 {padding:0;}
	.job-description {margin-top:40vw; }
	.mod_form {margin-top:80px; width:100%;}
	.projects .intro-text { padding:30vw 0 180px;}
}
@media (max-width: 400px) {
	.intro-text { padding:10vw 0 180px;}
	.ce_form {width:100%;}
	.job-description {margin-top:30vw;}
	.project-data {display:grid; grid-template-columns: repeat(1, 1fr); }
}
