@charset "UTF-8";

*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
    height: 100%;
    font-size: 10px;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    margin: 0;
    padding: 0;
    font-family: 'exo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--color-text);
    background-color: var(--color-background);
}

h1, h2, h3, h4, h5, h6, p, figure, pre, table, fieldset, hr, ul, ol, dl, blockquote {
    margin-bottom: 24px;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 300;
    line-height: 1.2;
    color: #FD6500;
}

h1 {
    font-size: 5rem;
    font-size: 4rem;
}

.heading-gray, h2, h3, h4, h5, h6 {
    font-size: 4rem;
    font-size: 3.2rem;
    padding-top: 24px;
}

h2.label,
h3.label {
    margin: 0;
    padding: 0;
    font-weight: 300;
    font-size: 1.76rem;
    line-height: 1.5;
    color: var(--color-white);
}
h2.underline { padding-bottom:4px; border-bottom: 1px solid var(--border-color, #E0E0E0); font-size:24px; text-transform:uppercase; color:#c0c0c0; font-weight:300; }


p.summary,
p.summary strong { font-weight: 500; color: #909090;  }

strong, b { font-weight: 400; color: #707070; }
em { font-style:italic; }

video {
  width: 100% !important;
  height:auto !important;
  margin-top:24px;
}
.wp-video { width:100% !important; }

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}


a, a:before, a:after, a .text, .nav .state, a .icon { 
	-webkit-transition:all .2s ease-out; 
	   -moz-transition:all .2s ease-out; 
	     -o-transition:all .2s ease-out; 
	    -ms-transition:all .2s ease-out; 
	        transition:all .2s ease-out;
}

a,
a:link,
a:visited {
    font-weight: 400;
    color: var(--color-nav-link);
    text-decoration: none;
}

a:focus {
    /* outline: thin dotted; */
}

a:active,
a:hover {
    outline: 0;
    color: var(--color-nav-link-hover);
}

a:before, a:after { pointer-events:none; }

a img { border:0; }
a > img { display:block; }

a[data-icon] {
    position: relative;
    display: inline-block;
    margin: 0 0 8px 0;
    padding: 0 0 0 30px;
}
a[data-icon]:before {
	content:'\e900';
	position: absolute;
    top: 3px;
    left:0;
	display: block;
    width:16px;
    height: 24px;
    vertical-align: baseline;
	font-family: Icon; 
	font-size: 16px; 
	font-weight: normal;
	line-height: inherit;
	text-align: center; 
	color: var(--color-primary);
}
a[data-icon="location"]:before { content:'\e90c'; top:1px; font-size:17px; }
a[data-icon="phone"]:before { content:'\e912'; top:1px; font-size:17px; }
a[data-icon="fax"]:before { content:'\e909'; top:4px; }
a[data-icon="email"]:before { content:'\e90d'; top:4px; font-size:16px; }
a[data-icon="intern"]:before { content:'\e900'; top:5px; font-size:13px; }
a[data-icon="extern"]:before { content:'\e91c'; top:4px; font-size:15px; }
a[data-icon="document"]:before { content:'\e903'; top:2px; font-size:13px; }
a[data-icon="download"]:before { content:'\e906'; font-size: 15px; }
a[data-icon="note"]:before { content:'\e90b'; top:2px; font-size: 16px; }

dl,
ol,
ul {
    margin: 0;
    padding: 0;
    border: none;
    list-style: none;
}

article ul,
article ol {
    margin: 0 0 24px 0;
    padding: 0 0 0 32px;
}
article ul { list-style: disc outside none; } 
article ol { list-style: decimal outside none; }


img {
    max-width: 100%;
    height: auto;
    font-size: 10px;
    line-height: 1.2;
}
img[data-fit="none"] { object-fit: none; }
img[data-fit="fill"] { object-fit: fill; }
img[data-fit="contain"] { object-fit: contain; }
img[data-fit="cover"] { object-fit: cover; }
img[data-fit="scale-down"] { object-fit: scale-down; }
img[data-pos="0"] { object-position: unset; }
img[data-pos="1"] { object-position: TOP LEFT; }
img[data-pos="2"] { object-position: TOP CENTER; }
img[data-pos="3"] { object-position: TOP RIGHT; }
img[data-pos="4"] { object-position: CENTER LEFT; }
img[data-pos="5"] { object-position: CENTER CENTER; }
img[data-pos="6"] { object-position: CENTER RIGHT; }
img[data-pos="7"] { object-position: BOTTOM LEFT; }
img[data-pos="8"] { object-position: BOTTOM CENTER; }
img[data-pos="9"] { object-position: BOTTOM RIGHT; }

video {
    width: 100%;
    height: auto;
    margin-top: 24px;
}
.wp-video {
    /* INLINE STYLE ? */
    width:100% !important;
}

.at-text:not(:focus):not(:active) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.hidden {
    display: none;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}


/* LAYOUT */
.layout {
    max-width: 1440px;
    margin: 0 auto;
    border: 0px dotted #F0F;
}

/* HEADER */
#header {
    position: relative;
    padding: 64px 0 0 0;    
}
body:not(.stage) #header {
    height: auto;
}


/* NAVIGATION LOGO */
#logo  {
    position: relative;
    display: block;
    width: 220px;
}

#logo > img.logo {
    display: block;
    width: 100%;
}

/* NAVIGATION */
.nav-sticky #navigation {
    /*background-color: rgba(255,255,255,0.95);*/
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
}
.nav-sticky #stage .mouse,
.nav-sticky #stage .control-nav {
    opacity: 0;
}
#navigation {
    position: fixed; top: 0; left: 0; z-index: 100;
    display: block;
    width: 100%;
    height: 64px;
    __transition: background-color 0.3s;
    background-color: var(--color-background);
}

#navigation > .layout {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: inherit;
    height: inherit;
    padding: 0 16px;
}

/**/
	#navigation-overlay { position:fixed; top:0; right:0; bottom:0; left:0; z-index:100; pointer-events:none; }
	#navigation-overlay:before {
		content:'';
		position:absolute; top:0; right:0; bottom:0; left:0; z-index:auto;
		display:block;
		background:rgba(0,0,0,0.5);
		opacity:0;
		pointer-events:none;
		transition:opacity 0.3s cubic-bezier(0,0,0.3,1);
	}
	#navigation-sidebar {
		overflow:hidden;
		position:absolute; top:0; right:0; bottom:0; z-index:120;
		width:75%; max-width:440px;
		background-color: var(--color-background);
		box-shadow:0 2px 6px rgba(0, 0, 0, 0.4);
		-webkit-transform:translateX(105%);
				transform:translateX(105%);
		-webkit-backface-visibility:hidden;
		        backface-visibility:hidden;
		/*will-change:transform;*/		
	}


	#navigation-sidebar.animatable { transition:transform 330ms ease-out; }
	.nav-sidebar-visible { overflow:hidden; }
	.nav-sidebar-visible #navigation-overlay { touch-action:none; }
	.nav-sidebar-visible #navigation-overlay:before { opacity:1; pointer-events:auto; }
	.nav-sidebar-visible #navigation-sidebar { -webkit-transform:none; transform:none; pointer-events:auto; }

/* SEARCH */
	#menu-main div.search {
		padding:8px 0;
		background-color: #555;
	}
	#menu-main .search-form { position:relative; }
	#menu-main .search-field { 
		display:block; 
		position:relative; 
		width:100%; height:40px; 
		padding:0 56px 0 24px !important;	
		font-size:18px;
		color: white;	
		border:none;
		background-color: #555 !important;
		box-shadow:none;
		outline:none;	
	}
    #menu-main input::-webkit-input-placeholder { color:#FFF; opacity:0.7; }
    #menu-main input:-moz-placeholder { color:#FFF; opacity:0.7; }
    #menu-main input::-moz-placeholder { color:#FFF; opacity:0.7; }
    #menu-main input:-ms-input-placeholder { color:#FFF; opacity:0.7; }
	#menu-main .search-submit {
		position:absolute; top:0; right:0; 
		width:48px; height:40px;
        padding:0;
		text-align:center; 
		color: white;
		border:none;
		background-color:transparent;
		cursor:pointer; 
	}
	#menu-main .search-submit:before {
		font-family:'icon';
		font-size:22px; 
	}
	#menu-main .search-submit:hover { color: #303030; }
/* NAVIGATION META */
ul.nav-meta {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;

    border: 0px solid #F0F;
}

html:not(.nav-sticky) ul.nav-meta.blend-mode > li > a .icon,
html:not(.nav-sticky) ul.nav-meta.blend-mode li.language > a.language > .text {
    color: white;
}
html:not(.nav-sticky) ul.nav-meta.blend-mode a {
    /*transition: none;*/
}


ul.nav-meta > li {
    position: relative;
    margin-left: 14px;
}

ul.nav-meta > li > a {
    position: relative;
	display: flex;
    flex-flow: column nowrap;
	justify-content: center;
	align-items: center;  
    
    display: block;
    color:#FD6500;
    
    
    border: 0px solid #f0f;
    cursor: pointer;
}

ul.nav-meta > li > a .icon { 
    display: block;
    width: 32px;
    font-size: 32px;
    line-height: 1; 
    text-align: center; 
    color: #FD6500;
    color: white;
}

.nav-meta > li > a .icon:before {
    transition: all 0.3s ease-in-out;
}

ul.nav-meta > li > a:not(.language) .icon:hover:before {
    color: var(--color-primary);
}

ul.nav-meta li.language > a.language > .text {
    position: absolute; top: 10px; left: 0; z-index: 1;
    /*transform: translateY(-50%);*/
    display: block;
    width: 100%;
    font-weight: 400;
    font-size: 13px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    color: #808080;
    pointer-events: none;
}

ul.nav-meta li.language:after {
    content: '';
    position: absolute; z-index: 0;
    display: block;
    width: 100%;
    height: 24px;
}

ul.nav-meta li.language > ul {
    opacity: 0;
    pointer-events: none;
	/*
        overflow-x:hidden;
        overflow-y:auto;
    */
	position: absolute; top: 90%; left: 50%; z-index:1;  
	width: 100px; 
    max-height: 240px; 
    margin: 16px 0 0 -50px;
    border-radius: 8px;
    background-color: white;
    box-shadow: 0 5px 25px rgba(0,0,0,0.15);    
    transition: all 0.3s ease-in-out;
}

ul.nav-meta li.language:hover > ul {
    top: 105%;
    opacity: 1;
    pointer-events: auto;
}

ul.nav-meta li.language > ul:before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    z-index: 1;
    display: block;
    width: 0;
    height: 0;
    margin-left: -8px;
    border-width:0 8px 8px 8px;
    border-style:solid;
    border-color: white transparent;
}

ul.nav-meta li.language > ul li a {
    display: block;
    padding: 10px 4px 10px 4px;
	
    font-size: 16px;
    font-weight: 300;
    line-height: 1;
	text-align: center;
    text-decoration: none;
    color: #303030;
    
    background-color: white;
}

ul.nav-meta li.language > ul li:first-child a {
    padding-top: 12px;
    border-radius: 6px 6px 0 0;
}
ul.nav-meta li.language > ul li:last-child a {
    padding-bottom: 12px;
    border-radius: 0 0 6px 6px;
}
ul.nav-meta li.language > ul li:hover a {
    background: #FD6500;
    color: #FFF;
}

/* NAVIGATION OFF-CANVAS */
	#navigation-overlay { position:fixed; top:0; right:0; bottom:0; left:0; z-index:100; pointer-events:none; }
	#navigation-overlay:before {
		content:'';
		position:absolute; top:0; right:0; bottom:0; left:0; z-index:auto;
		display:block;
		background:rgba(0,0,0,0.5);
		opacity:0;
		pointer-events:none;
		transition:opacity 0.3s cubic-bezier(0,0,0.3,1);
	}
	#navigation-sidebar {
		overflow:hidden;
		position:absolute; top:0; right:0; bottom:0; z-index:120;
		width:75%; max-width:440px;
		background-color: var(--color-background);;
		box-shadow:0 2px 6px rgba(0, 0, 0, 0.4);
		-webkit-transform:translateX(105%);
				transform:translateX(105%);
		-webkit-backface-visibility:hidden;
		        backface-visibility:hidden;
		/*will-change:transform;*/		
	}
    #menu-close { position:relative; top:16px; left:20px; }
    #menu-close a { font-size:32px; line-height:32px; color: white; }
    #menu-close a:hover { color: var(--color-primary); }

	#navigation-sidebar.animatable { transition:transform 330ms ease-out; }
	.nav-sidebar-visible { overflow:hidden; }
	.nav-sidebar-visible #navigation-overlay { touch-action:none; }
	.nav-sidebar-visible #navigation-overlay:before { opacity:1; pointer-events:auto; }
	.nav-sidebar-visible #navigation-sidebar { -webkit-transform:none; transform:none; pointer-events:auto; }
	/**/
	#menu-main {
		overflow-x:hidden; overflow-y:auto;
		position:absolute; top:64px; right:0; bottom:0; left:0; z-index:110;
		border-top: 1px solid #555;
	}
	#menu-main > ul { padding:16px 0; border-top: 1px solid #555; }
	#menu-main > ul:first-of-type { border-top:none; }
	#menu-main > ul ul { display:none; }
	#menu-main > ul li { position:relative; }
	#menu-main a {
        position: relative;
        display: block;
        margin: 0 0 8px 0;
        padding:10px 56px 10px 40px;
		font-weight: 300;
		font-size: 20px;
		color: var(--color-nav-link);
		transition: all 0.01s ease-in;
	}
    #menu-main a:before {
        content:'\e900';
        position: absolute;
        top: 15px;
        left: 8px;
        display: block;
        width: 32px;
        height: 24px;
        font-family: icon; 
        font-size: 13px; 
        font-weight: normal;
        line-height: inherit;
        text-align: center; 
        color: #FD6500;
    }    
    
	#menu-main .state {
		position:absolute; top:0; right:0px;
		width:48px;
		height:40px;
		font-size:22px;
		line-height:40px;
		text-align:center;
		color:#808080;
		cursor:pointer;
	}
	#menu-main .state:before { content:'+'; }
	#menu-main .state.visible:before,
	#menu-main .selected-parent > .state:before,
	#menu-main .selected.parent > .state:before  { content:'-'; }
	#menu-main .state:hover { color: #FD6500; }
	#menu-main li:not(.selected) > a:hover + .state { color: var(--color-nav-link-hover); }
	#menu-main .level-1 a { background-color:rgba(0,0,0,0.15); border-bottom:1px solid rgba(0,0,0,0.15); color:#808080; }
	#menu-main .level-2 a { background-color:rgba(0,0,0,0.25); border-bottom:1px solid rgba(0,0,0,0.15); }
	#menu-main .level-3 a { background-color:rgba(0,0,0,0.45); }
	#menu-main li:not(.selected) > a:hover { color: white; }
	#menu-main .selected-parent > ul,
	#menu-main .selected.parent > ul { display:block; }
	#menu-main .selected > a,
	#menu-main .selected > a:hover { color: #FD6500; }
    
    
/* END */





    
    
    
    
    
    
        
/* STAGE */
#stage {
    overflow: hidden;
    position: relative;
    height: 0;
    padding-top: 56.25%; 
}
.home #stage:after {
    content: '';
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -55%);
    display: none;
    width: 50%; max-width: 400px;
    height: 50%; max-height: 400px;
    background-color: transparent;
    background-image: url('../image/icon.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    opacity: 0.9;
    
    /*display: none;*/
}

#stage-fx {
    display: none;
}

.home #stage-fx {
    display: block;
    position: absolute; top:0; right:0; bottom:0; left:0; z-index:10;
    width: 100%;
    height: 100%;
    /*pointer-events: none;*/
}

#stage .slider,
#stage .slide,
#stage .slide:before,
#stage .slide > picture,
#stage .slide > picture > img,
#stage .slide > .content { position:absolute; top:0; left:0; display:block; width:100%; height:100%; }
#stage .slider {
    max-width:none; margin:0 auto;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    will-change: transform;   
}
#stage .slides {
    position: relative;
    width: 100%;
    height: 100%;
}
#stage .slides:before {
	content:'';
	display:block;
	position:absolute; top:0; right:0; bottom:0; left:0; z-index:10;
	/*background:transparent url('../image/stage-overlay.png');*/
}
#stage .slide { overflow:hidden; }
#stage .slide:before { content:''; z-index:2; }
#stage .slide picture img { z-index:1; opacity: 0; }
#stage .slide:first-child picture img { opacity: 1; }

#stage .slide > .content { z-index:3; }




/*___*/

#stage .control-nav {
    display: none;
    opacity: 1;
    bottom: 24px;
    margin: 0;
    padding: 0;
    float: none;
    
     
    transition: all .3s; 
    
    -webkit-animation: fadein 1.3s;
            animation: fadein 1.3s;
}

#stage .control-nav li {
    display: inline-block;
    margin: 0 8px;
    padding: 0;
    float: none;
    
    
    
}


#stage .control-nav li a {
    display: inline-block;
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.8);
    padding:0;
    transition: all .2s;
}

#stage .control-nav li a:before,
#stage .control-nav li a:after {
    display: none;    
}

#stage .control-nav li a.active { background-color: #FD6500; width: 12px; height: 12px; }
#stage .control-nav li a:hover { background-color:#FD6500; }

#stage .mouse {
    display: none;
    opacity: 1;
    position: absolute; bottom: 70px; left: 50%; z-index: 999;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    transition: all .3s;
}

#stage .mouse .mouse-icon {
    position: absolute; top: 0; left: 50%;    
    width: 25px;
    height: 40px;
    margin-left: -12px;    
    border-radius: 12px;
    border: 2px solid white;
    -webkit-animation: mouse-icon 1s;
            animation: mouse-icon 1s;
}

#stage .mouse .mouse-wheel {
    opacity: 0;
    width: 3px;
    height: 6px;
    margin: 8px auto;
    border-radius: 50%;
    background-color: white;

    -webkit-animation: mouse-wheel 2s 1s infinite;
            animation: mouse-wheel 2s 1s infinite;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-webkit-keyframes mouse-icon {
    0% { opacity: 0; -webkit-transform: translateY(40px); transform: translateY(40px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes mouse-icon {
    0% { opacity: 0; -webkit-transform: translateY(40px); transform: translateY(40px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@-webkit-keyframes mouse-wheel {
    0% { opacity: 0; -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    40% { opacity: 1; }
    80% { opacity: 0; -webkit-transform: translate(0, 12px); transform: translate(0, 12px); }
    100% { opacity: 0; }
}
@keyframes mouse-wheel {
    0% { opacity: 0; -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    40% { opacity: 1; }
    80% { opacity: 0; -webkit-transform: translate(0, 12px); transform: translate(0, 12px); }
    100% { opacity: 0; }
}


@media only screen and (min-width:768px) { 
	#stage,
	#stage.minimized { height: 640px; height: 68vh; padding:0; }

    #stage {
        height:760px;
        height:65vh;
        padding:0;
    }
   
    .home #stage {
        height:760px;
        height:80vh;
        padding:0;
    }
}

/*---*/

/* CONTENT */
#content {
    /*background-color: white;*/
}

#content > .layout {
	display: flex;
    flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}




/* ASIDE */
#aside {
    padding: 24px 16px 24px 16px;
    border: 0px dotted #F0F;
}

#aside > section {
    margin-bottom: 24px;
    padding:32px 16px;
}

#aside section h2 {
    margin-bottom: 16px;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #E5E5E5;
}

/* ASIDE SECTION IMAGE */
#aside section.image {
    padding: 0;
}
#aside section.image header {
    position: relative;
    display: block;
    margin: 0;
}
#aside section.image header a {
    overflow: hidden;
    max-height: 220px;
 }
 #aside section.image header a,
 #aside section.image header a img {
     position: relative;
     display: block;
     border-radius: var(--border-radius, 0);
 }
#aside section.image header img {
    transition:transform .3s ease-in-out;
    transform:scale3d(1,1,1);
}
#aside section.image header h1 {
    overflow: hidden;
    position: absolute; bottom: 0; left: 0; z-index: 1;
    margin: 0;
    padding: 8px 24px 8px 24px;
    font-weight: 300;
    font-size: 24px;
    line-height: 32px;
    color: white;
    border-top-right-radius: 12px;
    background-color: #FD6500;
    pointer-events: none;
}
#aside section.image header img:hover {
    -webkit-transform:scale3d(1.05,1.05,1);
    transform:scale3d(1.05,1.05,1);
}

/* ASIDE SECTION SEARCH */
#aside section.search { padding:0; }
#aside .search-form { position:relative; }
#aside .search-field, 
#aside .search-submit {
    border-radius: var(--border-radius, 0);
}
#aside .search-field { -webkit-transition:border-color 0.20s ease-out; -moz-transition:border-color 0.20s ease-out; transition:border-color 0.20s ease-out; }
#aside .search-field { display:block; position:relative; width:100%; height:40px; padding:0 44px 0 23px; font-size:16px; color:#808080; border:1px solid #DDD; background-color:#FFF; box-shadow:none; outline:none; }
#aside .search-submit { position:absolute; top:1px; right:1px; width:38px; height:38px; font-family:Icon; font-size:18px; text-align:center; color:#CCC; border:1px solid #FFF; background-color:#FFF; cursor:pointer; }
#aside .search-submit:before { position:relative; right:4px; font-family:'icon'; font-size:18px; text-align:center; color:#CCC; }
#aside .search-submit:hover:before { color:#FD6500; }
/* ASIDE SECTION SERVICES */
#aside section.services { margin-bottom: 64px; padding:0; }
#aside section.services ul,
#aside section.services li,
#aside section.services li > a { display:block; position:relative; width:100%; margin:0; padding:0; background-color:transparent; }
#aside section.services ul { overflow:hidden; }
#aside section.services ul ul { display:none; padding-left:16px }
#aside section.services ul ul { padding-left:16px }
#aside section.services .content > ul > li:last-child { border-bottom:1px solid #353535; }
#aside section.services ul li:first-child { border-top:1px solid #353535; }
#aside section.services ul li { border-bottom:1px solid #353535; }
#aside section.services ul li:last-child { border-bottom: 1px solid #353535; border:none; }
#aside section.services li a { 
    display: block; 
    padding: 12px 0 12px 38px; 
    font-family:'exo';
    font-weight: 400; font-size:24px;
    line-height:1.3;
    color: var(--color-nav-link);
}
#aside section.services li a:before { content:'\e900'; position:absolute; top: 16px; left:8px; font-family:'Icon'; font-size: 18px; color:#FD6500; }
#aside section.services .level-1 { padding-left: 24px;  }
#aside section ul li a:hover span { color: var(--color-nav-link-hover); }
#aside section.services ul li a:hover { padding-left: 41px; color:#FD6500; }
#aside section.services ul li a:hover:before { left: 12px; }
#aside section.services li.selected > ul,
#aside section.services li.selected-parent > ul { display:block; }
#aside section.services li.selected > a span,
#aside section.services li.selected > a:hover span { color:#FD6500; }

/* ASIDE SECTION TAGCLOUD */
#aside section.tagcloud {
    margin-bottom: 48px;
    padding: 0;
}

ul.tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;    
    margin: 24px 0 0 0;
    padding: 0;
    list-style: none;
}

ul.tagcloud a {
    position: relative;
    display: inline-block;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    font-size: 1.8rem;
    
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    color: var(--color-nav-link);
    
    border-radius: 50px;
    border: 1px solid #404040;
}

ul.tagcloud a:hover {    
    color: var(--color-nav-link-hover);
    border-color: var(--color-nav-link-hover);
    transform: translateY(-2px);
    box-shadow: none;
}

ul.tagcloud a.selected, 
ul.tagcloud a.selected:hover {
    color: var(--color-white);
    border-color: var(--color-primary);
    transform: translateY(0);
}


/*ul.tagcloud a.size   { font-size:1em; }
ul.tagcloud a.size-1 { font-size:0.8em; }
ul.tagcloud a.size-2 { font-size:1.0em; }
ul.tagcloud a.size-3 { font-size:1.10em; }
ul.tagcloud a.size-4 { font-size:1.25em;  }
ul.tagcloud a.size-5 { font-size:1.40em; }
ul.tagcloud li:hover { border-color:#143968; }
ul.tagcloud li:hover a { color:#333; }*/


/* FOOTER */
#footer {
    position: relative;
    padding: 32px 0 16px 0;
    background-color: var(--color-background);   
}

/* FOOTER CONSULTATION */
#consultation {
    position: relative;
    padding: 120px 0 140px 0;
    background-color: #282828;  
    background-image: radial-gradient(circle at center, #333 0%, #282828  35%, #222 90%);
}
#consultation::before,
#consultation::after {
    content: '';
    position: absolute; left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 25%, #444 50%, transparent 75%);
    pointer-events: none;
}
#consultation::before { top: 0; }
#consultation::after { bottom: 0; }

#consultation > .layout {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
#consultation h2 {
    font-weight: 500;
    font-size: 48px;
}
#consultation p {
    padding: 0 16%;
    font-size: 28px;
    text-align: center;
}
#consultation a.sh-action {
    margin-top: 24px;
    padding: 0 24px;
    font-weight: 600;
    font-size: 20px;
    line-height: 56px;
    letter-spacing: 3px; 
    text-transform: uppercase;
    color: #E5E5E5; 
    border-radius: 50px;
    border-color: #FD6500;
    border: 1px solid #E5E5E5;
    background-color: transparent;
}
#consultation a.sh-action:hover {
    color: var(--color-white);
    border-color: var(--color-primary);
    /*box-shadow: 0 0 20px rgba(255, 102, 0, 0.4), inset 0 0 10px rgba(255, 102, 0, 0.1);*/
}

/* FOOTER QUICKLINKS */
#quicklinks {}
#quicklinks > .layout { padding:32px 0; overflow:hidden; }
#quicklinks > .layout > section { position:relative; padding:16px; border: 0 dotted #FF00FF; }
#quicklinks h2 {
    margin: 0;
    padding: 0;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #E5E5E5;
}
#quicklinks h2:after { content:''; display:block; height:0px; margin-top:8px; margin-bottom:20px; border-bottom: 0 solid #FD6500; background:linear-gradient(to right,#FD6500,#FD6500); }
#quicklinks ul {}
#quicklinks ul ul { display:none; }
#quicklinks ul li { position:relative; border-bottom: 0 solid rgba(255,255,255,0.10); }
#quicklinks ul li a { display: inline-block; padding: 8px 0 8px 26px; font-weight: 400; font-size: 18px; color: var(--color-nav-link); }
#quicklinks ul li a:before { content:'\e900'; /*content:'\2192';*/ position:absolute; top:9px; left:0; font-family:'Icon'; font-size:15px; color:rgba(255,255,255,0.50); color: #FD6500; }
#quicklinks ul li a:hover { padding-left: 28px; color: var(--color-nav-link-hover); }
#quicklinks ul li a:hover:before { left:3px; }
#quicklinks address { margin:0; padding-top:10px; font-weight: 400; font-style:normal; font-size:18px; color:#999; }
#quicklinks address p { position:relative; margin-bottom:20px; padding-left:32px; }
#quicklinks address p a { display:inline-block; color:#999; color: var(--color-nav-link); }
#quicklinks address p a:hover { color: var(--color-nav-link-hover); }
#quicklinks address .icon { display:block; position:absolute; top:-1px; left:0; width:28px; height:28px; font-size:18px; line-height:28px; text-align:center; color:#FD6500; color:rgba(255,255,255,0.30); color: #FD6500; border-radius: 50%; }

#quicklinks address p.social-media { padding-top: 16px; padding-left: 0; border: 0px solid #F0F; }
#quicklinks address p.social-media a {
    position:relative;
    display: inline-block;
    width: 48px;
    height: 48px;
    margin-right: 1.5rem;
    padding: 0;
    text-align: center;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.08);
}
#quicklinks address p.social-media a .icon {
    position: static;
    display: inline;
    font-size: 21px;
    line-height: 46px;
    color: white;
}
#quicklinks address p.social-media a:hover {
    background-color: var(--color-primary);
}
#quicklinks address p.social-media a:hover .icon {
    color: white;
}

/* FOOTER LEGAL */
#legal { font-size: 17px; color: #A0A0A0 }
#legal > .layout { position:relative; padding:16px; }




/* FOOTER LEGAL NAV-LEGAL */
#legal .nav-legal {
    margin-bottom: 16px;
}
#legal .nav-legal ul { display: none; }
#legal .nav-legal li {}
#legal .nav-legal li:first-child { border-top: 0px dotted #707070; }
#legal .nav-legal a { padding-left: 0px; font-weight: 300; font-size: inherit; color: var(--color-nav-link); }
#legal .nav-legal a:hover { color: var(--color-nav-link-hover); }
#__footer .nav-legal a:before { content:'\e900'; position:absolute; top:13px; left:8px; font-family:'Icon'; font-size:10px; color: #C0C0C0; }
/* FOOTER LEGAL COPYRIGHT */
#copyright {
    margin: auto;
    background-color: rgba(255,255,255,0.0);
}
#copyright a { font-size: inherit; color: inherit; cursor:auto; }
#copyright a:hover { color:inherit; }




@media only screen and (min-width: 640px)
{
    body {
        font-size: 1.8rem;
    }
    
    h1 {
        font-size: 4.5rem;
    }

    .heading-gray, h2, h3, h4, h5, h6 {
        font-size: 3.6rem;
    }

    h2.label,
    h3.label {
        font-size: 1.98rem;
    }
    
    h2.underline {
        font-size: 2.16rem;
    }   

    #navigation > .layout {
        padding: 0 24px;
    }
    
    #main,
    #aside {
        padding: 32px 24px;
    }
}

@media only screen and (min-width: 768px)
{
    body {
        font-size: 2rem;
    }
    
    #header {
        padding-top: 80px;        
    }

	#menu-main {
		top: 80px;
	}
    
    .home #stage .mouse,
    #stage .control-nav {
        display: block;    
    }   
    
    h1 {
        font-size: 5rem;
    }
    
    .heading-gray, h2, h3, h4, h5, h6 {
        font-size: 3.4rem;
    }
    
    h2.label,
    h3.label {
        font-size: 2.2rem;
    }
    
    h2.underline {
        font-size: 2.4rem;
    }   

    #logo  {
        width: 320px;
    }

    #navigation {
        height: 80px;    
    }

    #navigation > .layout {
        padding: 0 32px;    
    }
    
    ul.nav-meta > li {
        margin-left: 20px;
    }
    
    ul.nav-meta > li > a .icon {
        width: 40px;
        font-size: 40px;
    }
    
    ul.nav-meta li.language > a.language > .text {
        top: 13px;
        font-size: 16px;    
    }
    
    #main,
    #aside {
        padding: 48px 32px;
    }   
}

@media only screen and (min-width: 1024px)
{
    #legal {
        font-size: 18px; 
    }

    #legal > .layout {
        display: flex;
        flex-flow: row nowrap;
    }
    
    #legal .nav-legal {
        margin-bottom: 0;
    }    
    
    #legal #copyright {
        order: 1;
    }
    
    #legal .nav-legal {        
        display: flex;
        flex-flow: row nowrap;
        flex-grow: 1;
        order: 2;
        border: none;
    }
    #legal .nav-legal li {        
        
    }
    #legal .nav-legal a { padding-left: 24px; }
}

@media only screen and (min-width: 1280px)
{
    #header {
        __height: 640px;
        __height: 70vh;
        padding-top: 100px;
        max-height: none;
    }
    .home #header {
        __height: 100vh;
        __padding-top: 100px;
    }
        
	#menu-main {
		top: 100px;
	}

    #logo  {
       width: 380px;
    }
      
/*    .home #stage { height: 100%; padding: 0; }
	#stage, #stage.minimized { height: 640px; height: 68vh; padding:0; }
*/   
    #navigation {
        height: 100px;
    }
    .home #navigation { background-color: var(--color-background); }
    
    .nav-sticky #navigation {
        background-color: rgba(34,34,34,0.8);
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.3);
    }

    .nav-sticky #navigation:before {
        content: '';
        display: block;
        position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1;
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
    }

    #main {
        width: 66.66666667%;
        padding-right: 96px;
    }
    
    #aside {
        width: 33.33333333%;
    }
}

@media only screen and (min-width: 1600px)
{
    #main {
        padding-right: 144px;
    }    
}


/* test */
@media only screen and (max-width: 640px)
{
    .sh-title {
        font-size: 4rem !important;    
    }
    .sh-title small {
        font-size: 2.2rem !important;    
    }
    
    #section-intro .sh-title {
        font-size: 4rem !important;    
    }
    
    #section-intro .sh-title small {
        font-size: 1.2rem !important;    
    }
}








/* TEAMS */
#section-teams {}
#section-teams > .content { padding:0; }

/* JOBS */
#jobs-extern {
    padding: 16px 0;
}
#jobs-extern div.job {
    position: relative;
    padding: 10px 0 10px 24px;
    border-bottom: 1px solid var(--border-color, #E0E0E0);    
}
#jobs-extern div.job:first-child {
    border-top: 1px solid var(--border-color, #E0E0E0);    
}
#jobs-extern div.job:before {
    content: '\e900';
    position: absolute;
    top: 15px;
    left: 0;
    display: block;
    width: 16px;
    height: 24px;
    vertical-align: baseline;
    font-family: icon;
    font-size: 13px;
    font-weight: normal;
    line-height: inherit;
    text-align: center;
    color: #FD6500;
}






/* FORM */

form,
fieldset,
legend {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

fieldset {
    min-width: 0;
    min-inline-size: 0;
}

legend {
    width: 100%;
    max-width: 100%;
    font-size: 100%;
    line-height: inherit;
    text-align: start;
    -moz-text-align: left;
    white-space: normal;
    color: inherit;
}

legend::after {
    content: '';
    display: none;
    width: 100%;
    height: 3px;
    margin: 0 0 20px 0;
    background-color: #777;
}

input,
button,
textarea,
select {
    font-family: inherit;
    font-weight: normal;
    font-size: inherit;
    line-height: inherit;
}

.__select-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-muted);
    font-size: 1rem;
}

select {
    width: 100%;
    margin-bottom: 24px;
    padding: 16px;
    font-size: 16px;
    font-family: inherit;
    color: #EEE;
    border: none;
    border-radius: 5px;
    background-color: #303030;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23a0a0a0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 16px top 50%;
    background-size: 12px auto;
    outline: none;
    appearance: none;
    cursor: pointer;
    transition: border-color 0.3s;
}

select.form-select:focus {
    border-color: var(--accent);
}

form button.primary {
    display: block;
    
    margin: 32px 0 0 0;
    padding: 12px 24px;
    font-weight: 500;
	color: white;
    border: none;
    border-radius: 50px;
	background-color: #FD6500;
	white-space:nowrap;
	cursor:pointer;	
}

form button.primary:hover {
	background-color: rgba(234,89,6,0.90);
	border-color: rgba(234,89,6,0.90);
}

input,
textarea {
    background-color: #303030 !important;
}

label {
    font-weight: 400;
    line-height: 1.4;
}

label.legal {
    font-weight: 300;
    font-size: 18px;
}

label.checkbox,
label.radio {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 8px;
    border-radius: 5px;
    transition: background-color 0.2s;
    cursor: pointer;
    user-select: none;
}

label.checkbox:hover,
label.radio:hover {
    background-color: #303030;
}

label.checkbox {
    align-items: flex-start;
}

label.radio {
    align-items: center;
}




form .label-group {
    position: relative;
    margin-bottom: 24px;
}

form .label-group input,
form .label-group textarea {
    width: 100%;
    padding: 24px 16px 8px 16px;
    
    font-size: 18px;
    line-height: 1.5;
    color: #EEE;
    
    outline: none;
    border: 0px solid #555;
    border-radius: 5px;
    background-color: var(--bg-input);

    
    transition: border-color 0.3s, box-shadow 0.3s;
}

form .label-group label {
    
    position: absolute; top: 4px; left: 16px;
    font-size: 16px;
    color: #EEE;
    background-color: #303030;
    transition: 0.2s ease all; 
    transform-origin: left top;
    pointer-events: none;
    
}
        .label-group input + label {
            top: 50%;
            transform: translateY(-50%);
        }

        .label-group textarea + label {
            top: 24px; 
            transform: translateY(0);
        }

        .label-group input:focus,
        .label-group input:not(:placeholder-shown),
        .label-group textarea:focus,
        .label-group textarea:not(:placeholder-shown) {
            border-color: #FD6500;
        }

        .label-group input:focus + label,
        .label-group input:not(:placeholder-shown) + label,
        .label-group textarea:focus + label,
        .label-group textarea:not(:placeholder-shown) + label {
            top: 4px; 
            transform: translateY(0) scale(0.75); /* Skalierung angepasst für 18px Input */
            color: #FD6500;
            /*font-weight: 600;*/
        }

        .label-group input:not(:placeholder-shown):not(:focus) + label,
        .label-group textarea:not(:placeholder-shown):not(:focus) + label {
            color: var(--text-muted);
            font-weight: normal;
        }



#contact-form fieldset {
    padding: 16px 0 48px 0;
}
    
#contact-form legend {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #E5E5E5;
    __color: #FD6500;
}

form .description {
    font-style: italic;
}

form .required::after {
    content: '*';
    display: inline-block;
    margin-left: 5px;
    color: #FD6500;
}


form a.legal {
    color: #FD6500;
}



/* RADIO */

.radio-group {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.radio-label-title {
    display: block;
    margin-bottom: 10px;    
    font-weight: 500;
    font-size: 20px;
    color: var(--text-main);
}

.checkbox-label-title {
    display: block;
    margin-bottom: 10px;    
    font-weight: 500;
    font-size: 20px;
    color: var(--text-main);
}




input[type="radio"],
input[type="checkbox"] {
    flex-shrink: 0;
    accent-color: #FD6500;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #303030;
    cursor: pointer;
    border: 2px solid green;
}

input[type="radio"] {
    margin-top: -3px;
    top: 0 !important;
}

textarea {
    min-height: 120px;
    resize: vertical;
}

input[type="number"] {
    -moz-appearance: textfield;
}



/* CHECKBOX */

.checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0 12px;
    
}
        
.checkbox-group > * {
    width: 100%;
}







/* LAYOUT */

form .group {
    margin-bottom: 24px;
}

form .layout-group {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 0;
}
form .layout-group.column-gap {
    gap: 0;
}

form .layout-group > * {
    width: 100%;
}

@media (min-width: 600px) {
    form .layout-group.column-gap {
        column-gap: 24px;
    }
    
    form .layout-group.column-gap > * {
        width: calc(50% - 12px);
    }

    form .layout-group > * {
        width: calc(50%);
    }
    
    form .checkbox-group > * {
        width: calc(50% - 10px);
    }
}

#contact-form {
    margin: 48px 0;
}





/**/
#section-references { border-top: 0px solid #F0F; }
#section-references header { padding: 0; }
#section-references > .content { padding:0; }
ul.references {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none
}
ul.references li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 120px;    
}
ul.references a {
    opacity: 0.7;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 32px;
    border: 1px solid #666;
    border-radius: 8px;
    transition: all .3s ease-out;    
}
ul.references a img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

ul.references li a[href]:hover { opacity: 1; border-color: white; }


ul.references.teaser {
    align-items: flex-start;
}
ul.references.teaser li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    height: auto;
}
ul.references.teaser li a {
    display: block;
    height: auto;
    padding: 0;
    border: none;
    opacity: 1;
}
ul.references.teaser a img {
    display: block;
    border-radius: 8px;
}
ul.references.teaser a .title {
    display: block;
    margin-top: 12px;
    line-height: 1.4;
}

@media only screen and (min-width:0px) {
    ul.references li { width: calc((100% - 24px) / 2); }
}
@media only screen and (min-width:640px) {
    ul.references li { width: calc((100% - 48px) / 3); }
}




/*
ul.references { overflow:hidden; margin:0; padding:0; list-style:none; }
ul.references li { float:left; display:block; margin:0; padding:0; border-right:8px solid transparent; border-bottom:0px solid transparent; }
ul.references li a { display:block; margin-bottom:8px; color:#707070; border-radius:2px; }
ul.references li a img { border:1px solid #DDD; border-radius:3px; transition:border .2s ease-out; }
ul.references li a[href] img:hover { border-color:#18518A; }
@media only screen and (min-width:480px) { ul.references li { width:50%; } }
@media only screen and (min-width:1024px) { ul.references li { width:33.33%; } }

*/

