@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: 'Encode Sans', '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-family: 'Oswald';
    font-weight: 300;
    line-height: 1.2;
    color: var(--color-accent);
}

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: 400;
    font-size: 1.76rem;
    line-height: 1.5;
    color: #333;
}
h2.underline {
    padding-bottom: 4px;
    font-weight: 300;
    font-size: 24px;
    text-transform: uppercase;
    color: #A0A0A0;
    border-bottom: 1px solid #CCC;
}


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

strong, b { font-weight: 500; color: #333; }
em { font-style:italic; }

video {
  width: 100% !important;
  height:auto !important;
  margin-top:24px;
    border-radius: 12px;
}
.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);
}

p a:not([data-icon]) {
    color: var(--color-accent-primary);
}
p a:not([data-icon]):hover {
    opacity: 0.8;
}

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-accent-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: 180px;
}

#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 .search {
		padding:8px 0;
		background-color: var(--color-accent);
	}
	#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-family: inherit;
		font-size:18px;
		color: white;	
		border:none;
		background-color: var(--color-accent);
		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: #CCC; }
/* 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: var(--color-nav-link);
    
    
    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: inherit;
}

.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-accent-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: #006272;
    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: var(--color-nav-link); }
    #menu-close a:hover { color: var(--color-accent-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 var(--color-accent); }
	#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: var(--color-accent-primary);
    }    
    
	#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: var(--color-accent-primary); }
	#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: var(--color-accent-primary); }
	#menu-main .selected-parent > ul,
	#menu-main .selected.parent > ul { display:block; }
	#menu-main .selected > a,
	#menu-main .selected > a:hover { color: var(--color-accent-primary); }
    
    
/* END */





    
    
    
    
    
    
        
/* STAGE */
#stage {
    overflow: hidden;
    position: relative;
    height: 0;
    padding-top: 56.25%;
    background-color: #F6F6F6;
}
.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: #006272; width: 12px; height: 12px; }
#stage .control-nav li a:hover { background-color:#006272; }

#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: 70vh;
        padding:0;
    }
  
    .home #stage {
        height:760px;
        height:80vh;
    }
}

/*---*/

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

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

#main {
    padding: 32px 16px;
}


/* 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: var(--color-accent);
}

/* 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: #006272;
    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:#006272; }
/* 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 dashed var(--color-accent); }
#aside section.services ul li:first-child { border-top: 1px dashed var(--color-accent); }
#aside section.services ul li { border-bottom: 1px dashed var(--color-accent); }
#aside section.services ul li:last-child { border-bottom: 1px dashed #353535; border:none; }
#aside section.services li a { 
    display: block; 
    padding: 12px 0 12px 38px; 
    font-weight: 400;
    font-size: 21px;
    line-height:1.3;
    color: var(--color-nav-link);
}
#aside section.services li a:before { content:'\e900'; position:absolute; top: 14px; left:8px; font-family:'Icon'; font-size: 18px; color: var(--color-accent-primary); }
#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:#006272; }
#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: var(--color-accent-primary); }

/* 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 var(--color-nav-link);
}

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-accent-primary);
    border-color: var(--color-accent-primary);
    transform: translateY(0);
}

/* FOOTER */
#footer,
#footer * {
    border: 0px dotted #F0F;
}

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

#footer-divider {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background-color: var(--color-accent);
}

#footer-divider img {
    position: relative; bottom: -4px;
    display: block;
    max-height: 180px;
    margin: 0 auto;
    max-width: 1440px;
}


/* FOOTER CONSULTATION */
#consultation {
    position: relative;
    padding: 80px 0 32px 0;
    background-color: var(--color-accent);
}

#consultation > .layout {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
#consultation h2 {
    font-weight: 500;
    font-size: 48px;
    text-align: center;
    color: white;
}
#consultation p {
    padding: 0 16%;
    font-size: 28px;
    text-align: center;color: white;
}
#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: white; 
    border-radius: 50px;
    border: 2px solid white;
    background-color: transparent;
}
#consultation a.sh-action:hover {
    color: var(--color-accent-primary);
    border-color: white;
    background-color: white;
}

/* 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: var(--color-accent);
}
#quicklinks h2:after { content:''; display:block; height:0px; margin-top:8px; margin-bottom:20px; border-bottom: 0 solid #006272; background:linear-gradient(to right,#006272,#006272); }
#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:11px; left:0; font-family:'Icon'; font-size:15px; color: var(--color-accent-primary); }
#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:0px; left:0; width:28px; height:28px; font-size:18px; line-height:28px; text-align:center; color: var(--color-accent-primary); 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: var(--color-accent);
}
#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-accent-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 LEGAL COPYRIGHT */
#copyright {
    margin: auto;
    color: var(--color-nav-link);
}
#copyright a { font-weight: 300; 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: 220px;
    }

    #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: 300px;
    }
      
/*    .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(255,255,255,1.85);
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
    }

    .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: 100px;
    }    
}


/* 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;    
    }
}



/* FORM */
form button, 
form input, 
form optgroup, 
form select, 
form textarea {
    font-family:'exo';
    font-weight:300;
    font-size:inherit;
    line-height:inherit;
	-webkit-box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
	   -moz-box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
		    box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
}
form button, 
form input, 
form select, 
form textarea {
	border:none;
	outline:none;
	text-shadow:none;
   -webkit-appearance:none; -moz-appearance:none; appearance:none;
   -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none;
}
form button {
	overflow:visible;
	display:inline-block;
	vertical-align:middle;
	padding:8px 16px;
	font-weight:400;
	line-height:1.5;
	text-align:center;
	text-transform:none;
	border-radius: var(--border-radius, 0);
	border:1px solid #888;
	background-color:#FFF;
	white-space:nowrap;
	cursor:pointer;
	-webkit-user-select:none;
	   -moz-user-select:none;
	    -ms-user-select:none;
	        user-select:none;
	-webkit-transition:all .2s ease-in-out; 
	   -moz-transition:all .2s ease-in-out; 
	     -o-transition:all .2s ease-in-out; 
	    -ms-transition:all .2s ease-in-out; 
	        transition:all .2s ease-in-out; 
}
form button.primary {
    display:block;
    width:100%;
    padding:12px 16px;
	color:#FFF;
	background-color:#006272;
	border-color:#006272;
}
form button.primary:hover {
	background-color:rgba(234,89,6,0.90);
	border-color:rgba(234,89,6,0.90);
}
form button.recovery {
    display:block;
    width:100%;
    margin:32px 0;
    padding:12px 16px;
}
form button.recovery:hover {
	color:rgba(234,89,6,1);
	Xborder-color:rgba(234,89,6,1);
}




/* 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: #006272;
}

/* FORM */
.form button, 
.form input, 
.form optgroup, 
.form select, 
.form textarea {
    font-family: 'exo';
    font-weight:300;
    font-size:inherit;
    line-height:inherit;
	-webkit-box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
	   -moz-box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
		    box-shadow:1px 1px 2px 0 rgba(0, 0, 0, 0.04);
}
.form button, 
.form input, 
.form select, 
.form textarea {
	border:none;
	outline:none;
    font-family: inherit;
	text-shadow:none;
   -webkit-appearance:none; -moz-appearance:none; appearance:none;
   -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none;
}
.form button {
	overflow:visible;
	display:inline-block;
	vertical-align:middle;
	padding:8px 16px;
	font-weight:400;
	line-height:1.5;
	text-align:center;
	text-transform:none;
	border-radius:4px;
	border:1px solid #888;
	background-color:#FFF;
	white-space:nowrap;
	cursor:pointer;
	-webkit-user-select:none;
	   -moz-user-select:none;
	    -ms-user-select:none;
	        user-select:none;
	-webkit-transition:all .2s ease-in-out; 
	   -moz-transition:all .2s ease-in-out; 
	     -o-transition:all .2s ease-in-out; 
	    -ms-transition:all .2s ease-in-out; 
	        transition:all .2s ease-in-out; 
}
/* FORM CONTACT */
#form-contact { max-width:600px; }
.form label {
    display: block;
    padding:16px 0 4px 2px;
    font-weight:300;
    font-size: 18px;
    text-transform: uppercase;
    color: var(--color-accent);
}
.form .select-box {
    position:relative;
    background-color:white;    
}
.form .select-box select {
    display:block;
    width:100%;
    margin-bottom:16px;
    padding:8px 10px;
    font:inherit;
    line-height:1.5;
    border:1px solid var(--color-accent);
    border-radius:4px;
    background-color: white;
}
.form .select-box:before {
    content:'\e907';
    position:absolute; top:4px; right:4px; z-index:1;
    display:block;
    width:40px;
    height:40px;
    font-family: icon;
    font-size:16px;
    line-height:40px;
    text-align: center;
    color: var(--color-accent);
    border-radius:4px;
    background-color: white;
    transform: rotate(90deg);
    pointer-events:none;
}
.form input {
    overflow:visible;
    position:relative;
	display:block;
    margin-bottom:16px;
    width:100%;
	padding:8px 16px;
	border:1px solid var(--color-accent);
	border-radius:4px;
}
.form textarea {
    overflow: auto;
    outline: none;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom:16px;
    padding: 16px;
    border: 1px solid var(--color-accent);
    border-radius: 4px;
}
.form input[type="checkbox"] {
    display:none;
}
.form input[type="checkbox"] + label {
    position:relative;
    margin-top:24px;
    margin-bottom:24px;
    padding:0 0 0 32px;
    font-size:16px;
    line-height:1.4;
    text-transform:none;
    color: #808080;
}
.form input[type="checkbox"] + label::before {
    content: '';
    position:absolute;
    top: 2px; left:0;
    display: inline-block;
    margin-right: 8px;
    width: 18px;
    height: 18px;
    border: 1px solid var(--color-accent);
    border-radius:4px;
    background-color: white;
}
.form input[type="checkbox"] + label.invalid::before {
    border:1px solid red;
}
.form input[type="checkbox"]:checked + label::before {
    box-shadow:inset 0px 0px 0px 4px white;
    background-color: var(--color-accent);
}
.form button.primary {
    display:block;
    width:100%;
    padding:12px 16px;
	color:#FFF;
	background-color: var(--color-accent);
	border-color: var(--color-accent);
}
.form button.primary:hover {
	background-color: var(--color-accent-primary);
	border-color: var(--color-accent-primary);
}

/**/
#section-references { border-top:0px solid #EEE; }
#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 li 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 li 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; }

@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%; } }

*/



